aboutsummaryrefslogtreecommitdiff
path: root/engines/lure/disassembly/LURE.ASM
blob: 105bc1e4dd2ea5b8ea4f14278d012d4efa242ee4 (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
19199
19200
19201
19202
19203
19204
19205
19206
19207
19208
19209
19210
19211
19212
19213
19214
19215
19216
19217
19218
19219
19220
19221
19222
19223
19224
19225
19226
19227
19228
19229
19230
19231
19232
19233
19234
19235
19236
19237
19238
19239
19240
19241
19242
19243
19244
19245
19246
19247
19248
19249
19250
19251
19252
19253
19254
19255
19256
19257
19258
19259
19260
19261
19262
19263
19264
19265
19266
19267
19268
19269
19270
19271
19272
19273
19274
19275
19276
19277
19278
19279
19280
19281
19282
19283
19284
19285
19286
19287
19288
19289
19290
19291
19292
19293
19294
19295
19296
19297
19298
19299
19300
19301
19302
19303
19304
19305
19306
19307
19308
19309
19310
19311
19312
19313
19314
19315
19316
19317
19318
19319
19320
19321
19322
19323
19324
19325
19326
19327
19328
19329
19330
19331
19332
19333
19334
19335
19336
19337
19338
19339
19340
19341
19342
19343
19344
19345
19346
19347
19348
19349
19350
19351
19352
19353
19354
19355
19356
19357
19358
19359
19360
19361
19362
19363
19364
19365
19366
19367
19368
19369
19370
19371
19372
19373
19374
19375
19376
19377
19378
19379
19380
19381
19382
19383
19384
19385
19386
19387
19388
19389
19390
19391
19392
19393
19394
19395
19396
19397
19398
19399
19400
19401
19402
19403
19404
19405
19406
19407
19408
19409
19410
19411
19412
19413
19414
19415
19416
19417
19418
19419
19420
19421
19422
19423
19424
19425
19426
19427
19428
19429
19430
19431
19432
19433
19434
19435
19436
19437
19438
19439
19440
19441
19442
19443
19444
19445
19446
19447
19448
19449
19450
19451
19452
19453
19454
19455
19456
19457
19458
19459
19460
19461
19462
19463
19464
19465
19466
19467
19468
19469
19470
19471
19472
19473
19474
19475
19476
19477
19478
19479
19480
19481
19482
19483
19484
19485
19486
19487
19488
19489
19490
19491
19492
19493
19494
19495
19496
19497
19498
19499
19500
19501
19502
19503
19504
19505
19506
19507
19508
19509
19510
19511
19512
19513
19514
19515
19516
19517
19518
19519
19520
19521
19522
19523
19524
19525
19526
19527
19528
19529
19530
19531
19532
19533
19534
19535
19536
19537
19538
19539
19540
19541
19542
19543
19544
19545
19546
19547
19548
19549
19550
19551
19552
19553
19554
19555
19556
19557
19558
19559
19560
19561
19562
19563
19564
19565
19566
19567
19568
19569
19570
19571
19572
19573
19574
19575
19576
19577
19578
19579
19580
19581
19582
19583
19584
19585
19586
19587
19588
19589
19590
19591
19592
19593
19594
19595
19596
19597
19598
19599
19600
19601
19602
19603
19604
19605
19606
19607
19608
19609
19610
19611
19612
19613
19614
19615
19616
19617
19618
19619
19620
19621
19622
19623
19624
19625
19626
19627
19628
19629
19630
19631
19632
19633
19634
19635
19636
19637
19638
19639
19640
19641
19642
19643
19644
19645
19646
19647
19648
19649
19650
19651
19652
19653
19654
19655
19656
19657
19658
19659
19660
19661
19662
19663
19664
19665
19666
19667
19668
19669
19670
19671
19672
19673
19674
19675
19676
19677
19678
19679
19680
19681
19682
19683
19684
19685
19686
19687
19688
19689
19690
19691
19692
19693
19694
19695
19696
19697
19698
19699
19700
19701
19702
19703
19704
19705
19706
19707
19708
19709
19710
19711
19712
19713
19714
19715
19716
19717
19718
19719
19720
19721
19722
19723
19724
19725
19726
19727
19728
19729
19730
19731
19732
19733
19734
19735
19736
19737
19738
19739
19740
19741
19742
19743
19744
19745
19746
19747
19748
19749
19750
19751
19752
19753
19754
19755
19756
19757
19758
19759
19760
19761
19762
19763
19764
19765
19766
19767
19768
19769
19770
19771
19772
19773
19774
19775
19776
19777
19778
19779
19780
19781
19782
19783
19784
19785
19786
19787
19788
19789
19790
19791
19792
19793
19794
19795
19796
19797
19798
19799
19800
19801
19802
19803
19804
19805
19806
19807
19808
19809
19810
19811
19812
19813
19814
19815
19816
19817
19818
19819
19820
19821
19822
19823
19824
19825
19826
19827
19828
19829
19830
19831
19832
19833
19834
19835
19836
19837
19838
19839
19840
19841
19842
19843
19844
19845
19846
19847
19848
19849
19850
19851
19852
19853
19854
19855
19856
19857
19858
19859
19860
19861
19862
19863
19864
19865
19866
19867
19868
19869
19870
19871
19872
19873
19874
19875
19876
19877
19878
19879
19880
19881
19882
19883
19884
19885
19886
19887
19888
19889
19890
19891
19892
19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
19914
19915
19916
19917
19918
19919
19920
19921
19922
19923
19924
19925
19926
19927
19928
19929
19930
19931
19932
19933
19934
19935
19936
19937
19938
19939
19940
19941
19942
19943
19944
19945
19946
19947
19948
19949
19950
19951
19952
19953
19954
19955
19956
19957
19958
19959
19960
19961
19962
19963
19964
19965
19966
19967
19968
19969
19970
19971
19972
19973
19974
19975
19976
19977
19978
19979
19980
19981
19982
19983
19984
19985
19986
19987
19988
19989
19990
19991
19992
19993
19994
19995
19996
19997
19998
19999
20000
20001
20002
20003
20004
20005
20006
20007
20008
20009
20010
20011
20012
20013
20014
20015
20016
20017
20018
20019
20020
20021
20022
20023
20024
20025
20026
20027
20028
20029
20030
20031
20032
20033
20034
20035
20036
20037
20038
20039
20040
20041
20042
20043
20044
20045
20046
20047
20048
20049
20050
20051
20052
20053
20054
20055
20056
20057
20058
20059
20060
20061
20062
20063
20064
20065
20066
20067
20068
20069
20070
20071
20072
20073
20074
20075
20076
20077
20078
20079
20080
20081
20082
20083
20084
20085
20086
20087
20088
20089
20090
20091
20092
20093
20094
20095
20096
20097
20098
20099
20100
20101
20102
20103
20104
20105
20106
20107
20108
20109
20110
20111
20112
20113
20114
20115
20116
20117
20118
20119
20120
20121
20122
20123
20124
20125
20126
20127
20128
20129
20130
20131
20132
20133
20134
20135
20136
20137
20138
20139
20140
20141
20142
20143
20144
20145
20146
20147
20148
20149
20150
20151
20152
20153
20154
20155
20156
20157
20158
20159
20160
20161
20162
20163
20164
20165
20166
20167
20168
20169
20170
20171
20172
20173
20174
20175
20176
20177
20178
20179
20180
20181
20182
20183
20184
20185
20186
20187
20188
20189
20190
20191
20192
20193
20194
20195
20196
20197
20198
20199
20200
20201
20202
20203
20204
20205
20206
20207
20208
20209
20210
20211
20212
20213
20214
20215
20216
20217
20218
20219
20220
20221
20222
20223
20224
20225
20226
20227
20228
20229
20230
20231
20232
20233
20234
20235
20236
20237
20238
20239
20240
20241
20242
20243
20244
20245
20246
20247
20248
20249
20250
20251
20252
20253
20254
20255
20256
20257
20258
20259
20260
20261
20262
20263
20264
20265
20266
20267
20268
20269
20270
20271
20272
20273
20274
20275
20276
20277
20278
20279
20280
20281
20282
20283
20284
20285
20286
20287
20288
20289
20290
20291
20292
20293
20294
20295
20296
20297
20298
20299
20300
20301
20302
20303
20304
20305
20306
20307
20308
20309
20310
20311
20312
20313
20314
20315
20316
20317
20318
20319
20320
20321
20322
20323
20324
20325
20326
20327
20328
20329
20330
20331
20332
20333
20334
20335
20336
20337
20338
20339
20340
20341
20342
20343
20344
20345
20346
20347
20348
20349
20350
20351
20352
20353
20354
20355
20356
20357
20358
20359
20360
20361
20362
20363
20364
20365
20366
20367
20368
20369
20370
20371
20372
20373
20374
20375
20376
20377
20378
20379
20380
20381
20382
20383
20384
20385
20386
20387
20388
20389
20390
20391
20392
20393
20394
20395
20396
20397
20398
20399
20400
20401
20402
20403
20404
20405
20406
20407
20408
20409
20410
20411
20412
20413
20414
20415
20416
20417
20418
20419
20420
20421
20422
20423
20424
20425
20426
20427
20428
20429
20430
20431
20432
20433
20434
20435
20436
20437
20438
20439
20440
20441
20442
20443
20444
20445
20446
20447
20448
20449
20450
20451
20452
20453
20454
20455
20456
20457
20458
20459
20460
20461
20462
20463
20464
20465
20466
20467
20468
20469
20470
20471
20472
20473
20474
20475
20476
20477
20478
20479
20480
20481
20482
20483
20484
20485
20486
20487
20488
20489
20490
20491
20492
20493
20494
20495
20496
20497
20498
20499
20500
20501
20502
20503
20504
20505
20506
20507
20508
20509
20510
20511
20512
20513
20514
20515
20516
20517
20518
20519
20520
20521
20522
20523
20524
20525
20526
20527
20528
20529
20530
20531
20532
20533
20534
20535
20536
20537
20538
20539
20540
20541
20542
20543
20544
20545
20546
20547
20548
20549
20550
20551
20552
20553
20554
20555
20556
20557
20558
20559
20560
20561
20562
20563
20564
20565
20566
20567
20568
20569
20570
20571
20572
20573
20574
20575
20576
20577
20578
20579
20580
20581
20582
20583
20584
20585
20586
20587
20588
20589
20590
20591
20592
20593
20594
20595
20596
20597
20598
20599
20600
20601
20602
20603
20604
20605
20606
20607
20608
20609
20610
20611
20612
20613
20614
20615
20616
20617
20618
20619
20620
20621
20622
20623
20624
20625
20626
20627
20628
20629
20630
20631
20632
20633
20634
20635
20636
20637
20638
20639
20640
20641
20642
20643
20644
20645
20646
20647
20648
20649
20650
20651
20652
20653
20654
20655
20656
20657
20658
20659
20660
20661
20662
20663
20664
20665
20666
20667
20668
20669
20670
20671
20672
20673
20674
20675
20676
20677
20678
20679
20680
20681
20682
20683
20684
20685
20686
20687
20688
20689
20690
20691
20692
20693
20694
20695
20696
20697
20698
20699
20700
20701
20702
20703
20704
20705
20706
20707
20708
20709
20710
20711
20712
20713
20714
20715
20716
20717
20718
20719
20720
20721
20722
20723
20724
20725
20726
20727
20728
20729
20730
20731
20732
20733
20734
20735
20736
20737
20738
20739
20740
20741
20742
20743
20744
20745
20746
20747
20748
20749
20750
20751
20752
20753
20754
20755
20756
20757
20758
20759
20760
20761
20762
20763
20764
20765
20766
20767
20768
20769
20770
20771
20772
20773
20774
20775
20776
20777
20778
20779
20780
20781
20782
20783
20784
20785
20786
20787
20788
20789
20790
20791
20792
20793
20794
20795
20796
20797
20798
20799
20800
20801
20802
20803
20804
20805
20806
20807
20808
20809
20810
20811
20812
20813
20814
20815
20816
20817
20818
20819
20820
20821
20822
20823
20824
20825
20826
20827
20828
20829
20830
20831
20832
20833
20834
20835
20836
20837
20838
20839
20840
20841
20842
20843
20844
20845
20846
20847
20848
20849
20850
20851
20852
20853
20854
20855
20856
20857
20858
20859
20860
20861
20862
20863
20864
20865
20866
20867
20868
20869
20870
20871
20872
20873
20874
20875
20876
20877
20878
20879
20880
20881
20882
20883
20884
20885
20886
20887
20888
20889
20890
20891
20892
20893
20894
20895
20896
20897
20898
20899
20900
20901
20902
20903
20904
20905
20906
20907
20908
20909
20910
20911
20912
20913
20914
20915
20916
20917
20918
20919
20920
20921
20922
20923
20924
20925
20926
20927
20928
20929
20930
20931
20932
20933
20934
20935
20936
20937
20938
20939
20940
20941
20942
20943
20944
20945
20946
20947
20948
20949
20950
20951
20952
20953
20954
20955
20956
20957
20958
20959
20960
20961
20962
20963
20964
20965
20966
20967
20968
20969
20970
20971
20972
20973
20974
20975
20976
20977
20978
20979
20980
20981
20982
20983
20984
20985
20986
20987
20988
20989
20990
20991
20992
20993
20994
20995
20996
20997
20998
20999
21000
21001
21002
21003
21004
21005
21006
21007
21008
21009
21010
21011
21012
21013
21014
21015
21016
21017
21018
21019
21020
21021
21022
21023
21024
21025
21026
21027
21028
21029
21030
21031
21032
21033
21034
21035
21036
21037
21038
21039
21040
21041
21042
21043
21044
21045
21046
21047
21048
21049
21050
21051
21052
21053
21054
21055
21056
21057
21058
21059
21060
21061
21062
21063
21064
21065
21066
21067
21068
21069
21070
21071
21072
21073
21074
21075
21076
21077
21078
21079
21080
21081
21082
21083
21084
21085
21086
21087
21088
21089
21090
21091
21092
21093
21094
21095
21096
21097
21098
21099
21100
21101
21102
21103
21104
21105
21106
21107
21108
21109
21110
21111
21112
21113
21114
21115
21116
21117
21118
21119
21120
21121
21122
21123
21124
21125
21126
21127
21128
21129
21130
21131
21132
21133
21134
21135
21136
21137
21138
21139
21140
21141
21142
21143
21144
21145
21146
21147
21148
21149
21150
21151
21152
21153
21154
21155
21156
21157
21158
21159
21160
21161
21162
21163
21164
21165
21166
21167
21168
21169
21170
21171
21172
21173
21174
21175
21176
21177
21178
21179
21180
21181
21182
21183
21184
21185
21186
21187
21188
21189
21190
21191
21192
21193
21194
21195
21196
21197
21198
21199
21200
21201
21202
21203
21204
21205
21206
21207
21208
21209
21210
21211
21212
21213
21214
21215
21216
21217
21218
21219
21220
21221
21222
21223
21224
21225
21226
21227
21228
21229
21230
21231
21232
21233
21234
21235
21236
21237
21238
21239
21240
21241
21242
21243
21244
21245
21246
21247
21248
21249
21250
21251
21252
21253
21254
21255
21256
21257
21258
21259
21260
21261
21262
21263
21264
21265
21266
21267
21268
21269
21270
21271
21272
21273
21274
21275
21276
21277
21278
21279
21280
21281
21282
21283
21284
21285
21286
21287
21288
21289
21290
21291
21292
21293
21294
21295
21296
21297
21298
21299
21300
21301
21302
21303
21304
21305
21306
21307
21308
21309
21310
21311
21312
21313
21314
21315
21316
21317
21318
21319
21320
21321
21322
21323
21324
21325
21326
21327
21328
21329
21330
21331
21332
21333
21334
21335
21336
21337
21338
21339
21340
21341
21342
21343
21344
21345
21346
21347
21348
21349
21350
21351
21352
21353
21354
21355
21356
21357
21358
21359
21360
21361
21362
21363
21364
21365
21366
21367
21368
21369
21370
21371
21372
21373
21374
21375
21376
21377
21378
21379
21380
21381
21382
21383
21384
21385
21386
21387
21388
21389
21390
21391
21392
21393
21394
21395
21396
21397
21398
21399
21400
21401
21402
21403
21404
21405
21406
21407
21408
21409
21410
21411
21412
21413
21414
21415
21416
21417
21418
21419
21420
21421
21422
21423
21424
21425
21426
21427
21428
21429
21430
21431
21432
21433
21434
21435
21436
21437
21438
21439
21440
21441
21442
21443
21444
21445
21446
21447
21448
21449
21450
21451
21452
21453
21454
21455
21456
21457
21458
21459
21460
21461
21462
21463
21464
21465
21466
21467
21468
21469
21470
21471
21472
21473
21474
21475
21476
21477
21478
21479
21480
21481
21482
21483
21484
21485
21486
21487
21488
21489
21490
21491
21492
21493
21494
21495
21496
21497
21498
21499
21500
21501
21502
21503
21504
21505
21506
21507
21508
21509
21510
21511
21512
21513
21514
21515
21516
21517
21518
21519
21520
21521
21522
21523
21524
21525
21526
21527
21528
21529
21530
21531
21532
21533
21534
21535
21536
21537
21538
21539
21540
21541
21542
21543
21544
21545
21546
21547
21548
21549
21550
21551
21552
21553
21554
21555
21556
21557
21558
21559
21560
21561
21562
21563
21564
21565
21566
21567
21568
21569
21570
21571
21572
21573
21574
21575
21576
21577
21578
21579
21580
21581
21582
21583
21584
21585
21586
21587
21588
21589
21590
21591
21592
21593
21594
21595
21596
21597
21598
21599
21600
21601
21602
21603
21604
21605
21606
21607
21608
21609
21610
21611
21612
21613
21614
21615
21616
21617
21618
21619
21620
21621
21622
21623
21624
21625
21626
21627
21628
21629
21630
21631
21632
21633
21634
21635
21636
21637
21638
21639
21640
21641
21642
21643
21644
21645
21646
21647
21648
21649
21650
21651
21652
21653
21654
21655
21656
21657
21658
21659
21660
21661
21662
21663
21664
21665
21666
21667
21668
21669
21670
21671
21672
21673
21674
21675
21676
21677
21678
21679
21680
21681
21682
21683
21684
21685
21686
21687
21688
21689
21690
21691
21692
21693
21694
21695
21696
21697
21698
21699
21700
21701
21702
21703
21704
21705
21706
21707
21708
21709
21710
21711
21712
21713
21714
21715
21716
21717
21718
21719
21720
21721
21722
21723
21724
21725
21726
21727
21728
21729
21730
21731
21732
21733
21734
21735
21736
21737
21738
21739
21740
21741
21742
21743
21744
21745
21746
21747
21748
21749
21750
21751
21752
21753
21754
21755
21756
21757
21758
21759
21760
21761
21762
21763
21764
21765
21766
21767
21768
21769
21770
21771
21772
21773
21774
21775
21776
21777
21778
21779
21780
21781
21782
21783
21784
21785
21786
21787
21788
21789
21790
21791
21792
21793
21794
21795
21796
21797
21798
21799
21800
21801
21802
21803
21804
21805
21806
21807
21808
21809
21810
21811
21812
21813
21814
21815
21816
21817
21818
21819
21820
21821
21822
21823
21824
21825
21826
21827
21828
21829
21830
21831
21832
21833
21834
21835
21836
21837
21838
21839
21840
21841
21842
21843
21844
21845
21846
21847
21848
21849
21850
21851
21852
21853
21854
21855
21856
21857
21858
21859
21860
21861
21862
21863
21864
21865
21866
21867
21868
21869
21870
21871
21872
21873
21874
21875
21876
21877
21878
21879
21880
21881
21882
21883
21884
21885
21886
21887
21888
21889
21890
21891
21892
21893
21894
21895
21896
21897
21898
21899
21900
21901
21902
21903
21904
21905
21906
21907
21908
21909
21910
21911
21912
21913
21914
21915
21916
21917
21918
21919
21920
21921
21922
21923
21924
21925
21926
21927
21928
21929
21930
21931
21932
21933
21934
21935
21936
21937
21938
21939
21940
21941
21942
21943
21944
21945
21946
21947
21948
21949
21950
21951
21952
21953
21954
21955
21956
21957
21958
21959
21960
21961
21962
21963
21964
21965
21966
21967
21968
21969
21970
21971
21972
21973
21974
21975
21976
21977
21978
21979
21980
21981
21982
21983
21984
21985
21986
21987
21988
21989
21990
21991
21992
21993
21994
21995
21996
21997
21998
21999
22000
22001
22002
22003
22004
22005
22006
22007
22008
22009
22010
22011
22012
22013
22014
22015
22016
22017
22018
22019
22020
22021
22022
22023
22024
22025
22026
22027
22028
22029
22030
22031
22032
22033
22034
22035
22036
22037
22038
22039
22040
22041
22042
22043
22044
22045
22046
22047
22048
22049
22050
22051
22052
22053
22054
22055
22056
22057
22058
22059
22060
22061
22062
22063
22064
22065
22066
22067
22068
22069
22070
22071
22072
22073
22074
22075
22076
22077
22078
22079
22080
22081
22082
22083
22084
22085
22086
22087
22088
22089
22090
22091
22092
22093
22094
22095
22096
22097
22098
22099
22100
22101
22102
22103
22104
22105
22106
22107
22108
22109
22110
22111
22112
22113
22114
22115
22116
22117
22118
22119
22120
22121
22122
22123
22124
22125
22126
22127
22128
22129
22130
22131
22132
22133
22134
22135
22136
22137
22138
22139
22140
22141
22142
22143
22144
22145
22146
22147
22148
22149
22150
22151
22152
22153
22154
22155
22156
22157
22158
22159
22160
22161
22162
22163
22164
22165
22166
22167
22168
22169
22170
22171
22172
22173
22174
22175
22176
22177
22178
22179
22180
22181
22182
22183
22184
22185
22186
22187
22188
22189
22190
22191
22192
22193
22194
22195
22196
22197
22198
22199
22200
22201
22202
22203
22204
22205
22206
22207
22208
22209
22210
22211
22212
22213
22214
22215
22216
22217
22218
22219
22220
22221
22222
22223
22224
22225
22226
22227
22228
22229
22230
22231
22232
22233
22234
22235
22236
22237
22238
22239
22240
22241
22242
22243
22244
22245
22246
22247
22248
22249
22250
22251
22252
22253
22254
22255
22256
22257
22258
22259
22260
22261
22262
22263
22264
22265
22266
22267
22268
22269
22270
22271
22272
22273
22274
22275
22276
22277
22278
22279
22280
22281
22282
22283
22284
22285
22286
22287
22288
22289
22290
22291
22292
22293
22294
22295
22296
22297
22298
22299
22300
22301
22302
22303
22304
22305
22306
22307
22308
22309
22310
22311
22312
22313
22314
22315
22316
22317
22318
22319
22320
22321
22322
22323
22324
22325
22326
22327
22328
22329
22330
22331
22332
22333
22334
22335
22336
22337
22338
22339
22340
22341
22342
22343
22344
22345
22346
22347
22348
22349
22350
22351
22352
22353
22354
22355
22356
22357
22358
22359
22360
22361
22362
22363
22364
22365
22366
22367
22368
22369
22370
22371
22372
22373
22374
22375
22376
22377
22378
22379
22380
22381
22382
22383
22384
22385
22386
22387
22388
22389
22390
22391
22392
22393
22394
22395
22396
22397
22398
22399
22400
22401
22402
22403
22404
22405
22406
22407
22408
22409
22410
22411
22412
22413
22414
22415
22416
22417
22418
22419
22420
22421
22422
22423
22424
22425
22426
22427
22428
22429
22430
22431
22432
22433
22434
22435
22436
22437
22438
22439
22440
22441
22442
22443
22444
22445
22446
22447
22448
22449
22450
22451
22452
22453
22454
22455
22456
22457
22458
22459
22460
22461
22462
22463
22464
22465
22466
22467
22468
22469
22470
22471
22472
22473
22474
22475
22476
22477
22478
22479
22480
22481
22482
22483
22484
22485
22486
22487
22488
22489
22490
22491
22492
22493
22494
22495
22496
22497
22498
22499
22500
22501
22502
22503
22504
22505
22506
22507
22508
22509
22510
22511
22512
22513
22514
22515
22516
22517
22518
22519
22520
22521
22522
22523
22524
22525
22526
22527
22528
22529
22530
22531
22532
22533
22534
22535
22536
22537
22538
22539
22540
22541
22542
22543
22544
22545
22546
22547
22548
22549
22550
22551
22552
22553
22554
22555
22556
22557
22558
22559
22560
22561
22562
22563
22564
22565
22566
22567
22568
22569
22570
22571
22572
22573
22574
22575
22576
22577
22578
22579
22580
22581
22582
22583
22584
22585
22586
22587
22588
22589
22590
22591
22592
22593
22594
22595
22596
22597
22598
22599
22600
22601
22602
22603
22604
22605
22606
22607
22608
22609
22610
22611
22612
22613
22614
22615
22616
22617
22618
22619
22620
22621
22622
22623
22624
22625
22626
22627
22628
22629
22630
22631
22632
22633
22634
22635
22636
22637
22638
22639
22640
22641
22642
22643
22644
22645
22646
22647
22648
22649
22650
22651
22652
22653
22654
22655
22656
22657
22658
22659
22660
22661
22662
22663
22664
22665
22666
22667
22668
22669
22670
22671
22672
22673
22674
22675
22676
22677
22678
22679
22680
22681
22682
22683
22684
22685
22686
22687
22688
22689
22690
22691
22692
22693
22694
22695
22696
22697
22698
22699
22700
22701
22702
22703
22704
22705
22706
22707
22708
22709
22710
22711
22712
22713
22714
22715
22716
22717
22718
22719
22720
22721
22722
22723
22724
22725
22726
22727
22728
22729
22730
22731
22732
22733
22734
22735
22736
22737
22738
22739
22740
22741
22742
22743
22744
22745
22746
22747
22748
22749
22750
22751
22752
22753
22754
22755
22756
22757
22758
22759
22760
22761
22762
22763
22764
22765
22766
22767
22768
22769
22770
22771
22772
22773
22774
22775
22776
22777
22778
22779
22780
22781
22782
22783
22784
22785
22786
22787
22788
22789
22790
22791
22792
22793
22794
22795
22796
22797
22798
22799
22800
22801
22802
22803
22804
22805
22806
22807
22808
22809
22810
22811
22812
22813
22814
22815
22816
22817
22818
22819
22820
22821
22822
22823
22824
22825
22826
22827
22828
22829
22830
22831
22832
22833
22834
22835
22836
22837
22838
22839
22840
22841
22842
22843
22844
22845
22846
22847
22848
22849
22850
22851
22852
22853
22854
22855
22856
22857
22858
22859
22860
22861
22862
22863
22864
22865
22866
22867
22868
22869
22870
22871
22872
22873
22874
22875
22876
22877
22878
22879
22880
22881
22882
22883
22884
22885
22886
22887
22888
22889
22890
22891
22892
22893
22894
22895
22896
22897
22898
22899
22900
22901
22902
22903
22904
22905
22906
22907
22908
22909
22910
22911
22912
22913
22914
22915
22916
22917
22918
22919
22920
22921
22922
22923
22924
22925
22926
22927
22928
22929
22930
22931
22932
22933
22934
22935
22936
22937
22938
22939
22940
22941
22942
22943
22944
22945
22946
22947
22948
22949
22950
22951
22952
22953
22954
22955
22956
22957
22958
22959
22960
22961
22962
22963
22964
22965
22966
22967
22968
22969
22970
22971
22972
22973
22974
22975
22976
22977
22978
22979
22980
22981
22982
22983
22984
22985
22986
22987
22988
22989
22990
22991
22992
22993
22994
22995
22996
22997
22998
22999
23000
23001
23002
23003
23004
23005
23006
23007
23008
23009
23010
23011
23012
23013
23014
23015
23016
23017
23018
23019
23020
23021
23022
23023
23024
23025
23026
23027
23028
23029
23030
23031
23032
23033
23034
23035
23036
23037
23038
23039
23040
23041
23042
23043
23044
23045
23046
23047
23048
23049
23050
23051
23052
23053
23054
23055
23056
23057
23058
23059
23060
23061
23062
23063
23064
23065
23066
23067
23068
23069
23070
23071
23072
23073
23074
23075
23076
23077
23078
23079
23080
23081
23082
23083
23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
23100
23101
23102
23103
23104
23105
23106
23107
23108
23109
23110
23111
23112
23113
23114
23115
23116
23117
23118
23119
23120
23121
23122
23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
23139
23140
23141
23142
23143
23144
23145
23146
23147
23148
23149
23150
23151
23152
23153
23154
23155
23156
23157
23158
23159
23160
23161
23162
23163
23164
23165
23166
23167
23168
23169
23170
23171
23172
23173
23174
23175
23176
23177
23178
23179
23180
23181
23182
23183
23184
23185
23186
23187
23188
23189
23190
23191
23192
23193
23194
23195
23196
23197
23198
23199
23200
23201
23202
23203
23204
23205
23206
23207
23208
23209
23210
23211
23212
23213
23214
23215
23216
23217
23218
23219
23220
23221
23222
23223
23224
23225
23226
23227
23228
23229
23230
23231
23232
23233
23234
23235
23236
23237
23238
23239
23240
23241
23242
23243
23244
23245
23246
23247
23248
23249
23250
23251
23252
23253
23254
23255
23256
23257
23258
23259
23260
23261
23262
23263
23264
23265
23266
23267
23268
23269
23270
23271
23272
23273
23274
23275
23276
23277
23278
23279
23280
23281
23282
23283
23284
23285
23286
23287
23288
23289
23290
23291
23292
23293
23294
23295
23296
23297
23298
23299
23300
23301
23302
23303
23304
23305
23306
23307
23308
23309
23310
23311
23312
23313
23314
23315
23316
23317
23318
23319
23320
23321
23322
23323
23324
23325
23326
23327
23328
23329
23330
23331
23332
23333
23334
23335
23336
23337
23338
23339
23340
23341
23342
23343
23344
23345
23346
23347
23348
23349
23350
23351
23352
23353
23354
23355
23356
23357
23358
23359
23360
23361
23362
23363
23364
23365
23366
23367
23368
23369
23370
23371
23372
23373
23374
23375
23376
23377
23378
23379
23380
23381
23382
23383
23384
23385
23386
23387
23388
23389
23390
23391
23392
23393
23394
23395
23396
23397
23398
23399
23400
23401
23402
23403
23404
23405
23406
23407
23408
23409
23410
23411
23412
23413
23414
23415
23416
23417
23418
23419
23420
23421
23422
23423
23424
23425
23426
23427
23428
23429
23430
23431
23432
23433
23434
23435
23436
23437
23438
23439
23440
23441
23442
23443
23444
23445
23446
23447
23448
23449
23450
23451
23452
23453
23454
23455
23456
23457
23458
23459
23460
23461
23462
23463
23464
23465
23466
23467
23468
23469
23470
23471
23472
23473
23474
23475
23476
23477
23478
23479
23480
23481
23482
23483
23484
23485
23486
23487
23488
23489
23490
23491
23492
23493
23494
23495
23496
23497
23498
23499
23500
23501
23502
23503
23504
23505
23506
23507
23508
23509
23510
23511
23512
23513
23514
23515
23516
23517
23518
23519
23520
23521
23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
23545
23546
23547
23548
23549
23550
23551
23552
23553
23554
23555
23556
23557
23558
23559
23560
23561
23562
23563
23564
23565
23566
23567
23568
23569
23570
23571
23572
23573
23574
23575
23576
23577
23578
23579
23580
23581
23582
23583
23584
23585
23586
23587
23588
23589
23590
23591
23592
23593
23594
23595
23596
23597
23598
23599
23600
23601
23602
23603
23604
23605
23606
23607
23608
23609
23610
23611
23612
23613
23614
23615
23616
23617
23618
23619
23620
23621
23622
23623
23624
23625
23626
23627
23628
23629
23630
23631
23632
23633
23634
23635
23636
23637
23638
23639
23640
23641
23642
23643
23644
23645
23646
23647
23648
23649
23650
23651
23652
23653
23654
23655
23656
23657
23658
23659
23660
23661
23662
23663
23664
23665
23666
23667
23668
23669
23670
23671
23672
23673
23674
23675
23676
23677
23678
23679
23680
23681
23682
23683
23684
23685
23686
23687
23688
23689
23690
23691
23692
23693
23694
23695
23696
23697
23698
23699
23700
23701
23702
23703
23704
23705
23706
23707
23708
23709
23710
23711
23712
23713
23714
23715
23716
23717
23718
23719
23720
23721
23722
23723
23724
23725
23726
23727
23728
23729
23730
23731
23732
23733
23734
23735
23736
23737
23738
23739
23740
23741
23742
23743
23744
23745
23746
23747
23748
23749
23750
23751
23752
23753
23754
23755
23756
23757
23758
23759
23760
23761
23762
23763
23764
23765
23766
23767
23768
23769
23770
23771
23772
23773
23774
23775
23776
23777
23778
23779
23780
23781
23782
23783
23784
23785
23786
23787
23788
23789
23790
23791
23792
23793
23794
23795
23796
23797
23798
23799
23800
23801
23802
23803
23804
23805
23806
23807
23808
23809
23810
23811
23812
23813
23814
23815
23816
23817
23818
23819
23820
23821
23822
23823
23824
23825
23826
23827
23828
23829
23830
23831
23832
23833
23834
23835
23836
23837
23838
23839
23840
23841
23842
23843
23844
23845
23846
23847
23848
23849
23850
23851
23852
23853
23854
23855
23856
23857
23858
23859
23860
23861
23862
23863
23864
23865
23866
23867
23868
23869
23870
23871
23872
23873
23874
23875
23876
23877
23878
23879
23880
23881
23882
23883
23884
23885
23886
23887
23888
23889
23890
23891
23892
23893
23894
23895
23896
23897
23898
23899
23900
23901
23902
23903
23904
23905
23906
23907
23908
23909
23910
23911
23912
23913
23914
23915
23916
23917
23918
23919
23920
23921
23922
23923
23924
23925
23926
23927
23928
23929
23930
23931
23932
23933
23934
23935
23936
23937
23938
23939
23940
23941
23942
23943
23944
23945
23946
23947
23948
23949
23950
23951
23952
23953
23954
23955
23956
23957
23958
23959
23960
23961
23962
23963
23964
23965
23966
23967
23968
23969
23970
23971
23972
23973
23974
23975
23976
23977
23978
23979
23980
23981
23982
23983
23984
23985
23986
23987
23988
23989
23990
23991
23992
23993
23994
23995
23996
23997
23998
23999
24000
24001
24002
24003
24004
24005
24006
24007
24008
24009
24010
24011
24012
24013
24014
24015
24016
24017
24018
24019
24020
24021
24022
24023
24024
24025
24026
24027
24028
24029
24030
24031
24032
24033
24034
24035
24036
24037
24038
24039
24040
24041
24042
24043
24044
24045
24046
24047
24048
24049
24050
24051
24052
24053
24054
24055
24056
24057
24058
24059
24060
24061
24062
24063
24064
24065
24066
24067
24068
24069
24070
24071
24072
24073
24074
24075
24076
24077
24078
24079
24080
24081
24082
24083
24084
24085
24086
24087
24088
24089
24090
24091
24092
24093
24094
24095
24096
24097
24098
24099
24100
24101
24102
24103
24104
24105
24106
24107
24108
24109
24110
24111
24112
24113
24114
24115
24116
24117
24118
24119
24120
24121
24122
24123
24124
24125
24126
24127
24128
24129
24130
24131
24132
24133
24134
24135
24136
24137
24138
24139
24140
24141
24142
24143
24144
24145
24146
24147
24148
24149
24150
24151
24152
24153
24154
24155
24156
24157
24158
24159
24160
24161
24162
24163
24164
24165
24166
24167
24168
24169
24170
24171
24172
24173
24174
24175
24176
24177
24178
24179
24180
24181
24182
24183
24184
24185
24186
24187
24188
24189
24190
24191
24192
24193
24194
24195
24196
24197
24198
24199
24200
24201
24202
24203
24204
24205
24206
24207
24208
24209
24210
24211
24212
24213
24214
24215
24216
24217
24218
24219
24220
24221
24222
24223
24224
24225
24226
24227
24228
24229
24230
24231
24232
24233
24234
24235
24236
24237
24238
24239
24240
24241
24242
24243
24244
24245
24246
24247
24248
24249
24250
24251
24252
24253
24254
24255
24256
24257
24258
24259
24260
24261
24262
24263
24264
24265
24266
24267
24268
24269
24270
24271
24272
24273
24274
24275
24276
24277
24278
24279
24280
24281
24282
24283
24284
24285
24286
24287
24288
24289
24290
24291
24292
24293
24294
24295
24296
24297
24298
24299
24300
24301
24302
24303
24304
24305
24306
24307
24308
24309
24310
24311
24312
24313
24314
24315
24316
24317
24318
24319
24320
24321
24322
24323
24324
24325
24326
24327
24328
24329
24330
24331
24332
24333
24334
24335
24336
24337
24338
24339
24340
24341
24342
24343
24344
24345
24346
24347
24348
24349
24350
24351
24352
24353
24354
24355
24356
24357
24358
24359
24360
24361
24362
24363
24364
24365
24366
24367
24368
24369
24370
24371
24372
24373
24374
24375
24376
24377
24378
24379
24380
24381
24382
24383
24384
24385
24386
24387
24388
24389
24390
24391
24392
24393
24394
24395
24396
24397
24398
24399
24400
24401
24402
24403
24404
24405
24406
24407
24408
24409
24410
24411
24412
24413
24414
24415
24416
24417
24418
24419
24420
24421
24422
24423
24424
24425
24426
24427
24428
24429
24430
24431
24432
24433
24434
24435
24436
24437
24438
24439
24440
24441
24442
24443
24444
24445
24446
24447
24448
24449
24450
24451
24452
24453
24454
24455
24456
24457
24458
24459
24460
24461
24462
24463
24464
24465
24466
24467
24468
24469
24470
24471
24472
24473
24474
24475
24476
24477
24478
24479
24480
24481
24482
24483
24484
24485
24486
24487
24488
24489
24490
24491
24492
24493
24494
24495
24496
24497
24498
24499
24500
24501
24502
24503
24504
24505
24506
24507
24508
24509
24510
24511
24512
24513
24514
24515
24516
24517
24518
24519
24520
24521
24522
24523
24524
24525
24526
24527
24528
24529
24530
24531
24532
24533
24534
24535
24536
24537
24538
24539
24540
24541
24542
24543
24544
24545
24546
24547
24548
24549
24550
24551
24552
24553
24554
24555
24556
24557
24558
24559
24560
24561
24562
24563
24564
24565
24566
24567
24568
24569
24570
24571
24572
24573
24574
24575
24576
24577
24578
24579
24580
24581
24582
24583
24584
24585
24586
24587
24588
24589
24590
24591
24592
24593
24594
24595
24596
24597
24598
24599
24600
24601
24602
24603
24604
24605
24606
24607
24608
24609
24610
24611
24612
24613
24614
24615
24616
24617
24618
24619
24620
24621
24622
24623
24624
24625
24626
24627
24628
24629
24630
24631
24632
24633
24634
24635
24636
24637
24638
24639
24640
24641
24642
24643
24644
24645
24646
24647
24648
24649
24650
24651
24652
24653
24654
24655
24656
24657
24658
24659
24660
24661
24662
24663
24664
24665
24666
24667
24668
24669
24670
24671
24672
24673
24674
24675
24676
24677
24678
24679
24680
24681
24682
24683
24684
24685
24686
24687
24688
24689
24690
24691
24692
24693
24694
24695
24696
24697
24698
24699
24700
24701
24702
24703
24704
24705
24706
24707
24708
24709
24710
24711
24712
24713
24714
24715
24716
24717
24718
24719
24720
24721
24722
24723
24724
24725
24726
24727
24728
24729
24730
24731
24732
24733
24734
24735
24736
24737
24738
24739
24740
24741
24742
24743
24744
24745
24746
24747
24748
24749
24750
24751
24752
24753
24754
24755
24756
24757
24758
24759
24760
24761
24762
24763
24764
24765
24766
24767
24768
24769
24770
24771
24772
24773
24774
24775
24776
24777
24778
24779
24780
24781
24782
24783
24784
24785
24786
24787
24788
24789
24790
24791
24792
24793
24794
24795
24796
24797
24798
24799
24800
24801
24802
24803
24804
24805
24806
24807
24808
24809
24810
24811
24812
24813
24814
24815
24816
24817
24818
24819
24820
24821
24822
24823
24824
24825
24826
24827
24828
24829
24830
24831
24832
24833
24834
24835
24836
24837
24838
24839
24840
24841
24842
24843
24844
24845
24846
24847
24848
24849
24850
24851
24852
24853
24854
24855
24856
24857
24858
24859
24860
24861
24862
24863
24864
24865
24866
24867
24868
24869
24870
24871
24872
24873
24874
24875
24876
24877
24878
24879
24880
24881
24882
24883
24884
24885
24886
24887
24888
24889
24890
24891
24892
24893
24894
24895
24896
24897
24898
24899
24900
24901
24902
24903
24904
24905
24906
24907
24908
24909
24910
24911
24912
24913
24914
24915
24916
24917
24918
24919
24920
24921
24922
24923
24924
24925
24926
24927
24928
24929
24930
24931
24932
24933
24934
24935
24936
24937
24938
24939
24940
24941
24942
24943
24944
24945
24946
24947
24948
24949
24950
24951
24952
24953
24954
24955
24956
24957
24958
24959
24960
24961
24962
24963
24964
24965
24966
24967
24968
24969
24970
24971
24972
24973
24974
24975
24976
24977
24978
24979
24980
24981
24982
24983
24984
24985
24986
24987
24988
24989
24990
24991
24992
24993
24994
24995
24996
24997
24998
24999
25000
25001
25002
25003
25004
25005
25006
25007
25008
25009
25010
25011
25012
25013
25014
25015
25016
25017
25018
25019
25020
25021
25022
25023
25024
25025
25026
25027
25028
25029
25030
25031
25032
25033
25034
25035
25036
25037
25038
25039
25040
25041
25042
25043
25044
25045
25046
25047
25048
25049
25050
25051
25052
25053
25054
25055
25056
25057
25058
25059
25060
25061
25062
25063
25064
25065
25066
25067
25068
25069
25070
25071
25072
25073
25074
25075
25076
25077
25078
25079
25080
25081
25082
25083
25084
25085
25086
25087
25088
25089
25090
25091
25092
25093
25094
25095
25096
25097
25098
25099
25100
25101
25102
25103
25104
25105
25106
25107
25108
25109
25110
25111
25112
25113
25114
25115
25116
25117
25118
25119
25120
25121
25122
25123
25124
25125
25126
25127
25128
25129
25130
25131
25132
25133
25134
25135
25136
25137
25138
25139
25140
25141
25142
25143
25144
25145
25146
25147
25148
25149
25150
25151
25152
25153
25154
25155
25156
25157
25158
25159
25160
25161
25162
25163
25164
25165
25166
25167
25168
25169
25170
25171
25172
25173
25174
25175
25176
25177
25178
25179
25180
25181
25182
25183
25184
25185
25186
25187
25188
25189
25190
25191
25192
25193
25194
25195
25196
25197
25198
25199
25200
25201
25202
25203
25204
25205
25206
25207
25208
25209
25210
25211
25212
25213
25214
25215
25216
25217
25218
25219
25220
25221
25222
25223
25224
25225
25226
25227
25228
25229
25230
25231
25232
25233
25234
25235
25236
25237
25238
25239
25240
25241
25242
25243
25244
25245
25246
25247
25248
25249
25250
25251
25252
25253
25254
25255
25256
25257
25258
25259
25260
25261
25262
25263
25264
25265
25266
25267
25268
25269
25270
25271
25272
25273
25274
25275
25276
25277
25278
25279
25280
25281
25282
25283
25284
25285
25286
25287
25288
25289
25290
25291
25292
25293
25294
25295
25296
25297
25298
25299
25300
25301
25302
25303
25304
25305
25306
25307
25308
25309
25310
25311
25312
25313
25314
25315
25316
25317
25318
25319
25320
25321
25322
25323
25324
25325
25326
25327
25328
25329
25330
25331
25332
25333
25334
25335
25336
25337
25338
25339
25340
25341
25342
25343
25344
25345
25346
25347
25348
25349
25350
25351
25352
25353
25354
25355
25356
25357
25358
25359
25360
25361
25362
25363
25364
25365
25366
25367
25368
25369
25370
25371
25372
25373
25374
25375
25376
25377
25378
25379
25380
25381
25382
25383
25384
25385
25386
25387
25388
25389
25390
25391
25392
25393
25394
25395
25396
25397
25398
25399
25400
25401
25402
25403
25404
25405
25406
25407
25408
25409
25410
25411
25412
25413
25414
25415
25416
25417
25418
25419
25420
25421
25422
25423
25424
25425
25426
25427
25428
25429
25430
25431
25432
25433
25434
25435
25436
25437
25438
25439
25440
25441
25442
25443
25444
25445
25446
25447
25448
25449
25450
25451
25452
25453
25454
25455
25456
25457
25458
25459
25460
25461
25462
25463
25464
25465
25466
25467
25468
25469
25470
25471
25472
25473
25474
25475
25476
25477
25478
25479
25480
25481
25482
25483
25484
25485
25486
25487
25488
25489
25490
25491
25492
25493
25494
25495
25496
25497
25498
25499
25500
25501
25502
25503
25504
25505
25506
25507
25508
25509
25510
25511
25512
25513
25514
25515
25516
25517
25518
25519
25520
25521
25522
25523
25524
25525
25526
25527
25528
25529
25530
25531
25532
25533
25534
25535
25536
25537
25538
25539
25540
25541
25542
25543
25544
25545
25546
25547
25548
25549
25550
25551
25552
25553
25554
25555
25556
25557
25558
25559
25560
25561
25562
25563
25564
25565
25566
25567
25568
25569
25570
25571
25572
25573
25574
25575
25576
25577
25578
25579
25580
25581
25582
25583
25584
25585
25586
25587
25588
25589
25590
25591
25592
25593
25594
25595
25596
25597
25598
25599
25600
25601
25602
25603
25604
25605
25606
25607
25608
25609
25610
25611
25612
25613
25614
25615
25616
25617
25618
25619
25620
25621
25622
25623
25624
25625
25626
25627
25628
25629
25630
25631
25632
25633
25634
25635
25636
25637
25638
25639
25640
25641
25642
25643
25644
25645
25646
25647
25648
25649
25650
25651
25652
25653
25654
25655
25656
25657
25658
25659
25660
25661
25662
25663
25664
25665
25666
25667
25668
25669
25670
25671
25672
25673
25674
25675
25676
25677
25678
25679
25680
25681
25682
25683
25684
25685
25686
25687
25688
25689
25690
25691
25692
25693
25694
25695
25696
25697
25698
25699
25700
25701
25702
25703
25704
25705
25706
25707
25708
25709
25710
25711
25712
25713
25714
25715
25716
25717
25718
25719
25720
25721
25722
25723
25724
25725
25726
25727
25728
25729
25730
25731
25732
25733
25734
25735
25736
25737
25738
25739
25740
25741
25742
25743
25744
25745
25746
25747
25748
25749
25750
25751
25752
25753
25754
25755
25756
25757
25758
25759
25760
25761
25762
25763
25764
25765
25766
25767
25768
25769
25770
25771
25772
25773
25774
25775
25776
25777
25778
25779
25780
25781
25782
25783
25784
25785
25786
25787
25788
25789
25790
25791
25792
25793
25794
25795
25796
25797
25798
25799
25800
25801
25802
25803
25804
25805
25806
25807
25808
25809
25810
25811
25812
25813
25814
25815
25816
25817
25818
25819
25820
25821
25822
25823
25824
25825
25826
25827
25828
25829
25830
25831
25832
25833
25834
25835
25836
25837
25838
25839
25840
25841
25842
25843
25844
25845
25846
25847
25848
25849
25850
25851
25852
25853
25854
25855
25856
25857
25858
25859
25860
25861
25862
25863
25864
25865
25866
25867
25868
25869
25870
25871
25872
25873
25874
25875
25876
25877
25878
25879
25880
25881
25882
25883
25884
25885
25886
25887
25888
25889
25890
25891
25892
25893
25894
25895
25896
25897
25898
25899
25900
25901
25902
25903
25904
25905
25906
25907
25908
25909
25910
25911
25912
25913
25914
25915
25916
25917
25918
25919
25920
25921
25922
25923
25924
25925
25926
25927
25928
25929
25930
25931
25932
25933
25934
25935
25936
25937
25938
25939
25940
25941
25942
25943
25944
25945
25946
25947
25948
25949
25950
25951
25952
25953
25954
25955
25956
25957
25958
25959
25960
25961
25962
25963
25964
25965
25966
25967
25968
25969
25970
25971
25972
25973
25974
25975
25976
25977
25978
25979
25980
25981
25982
25983
25984
25985
25986
25987
25988
25989
25990
25991
25992
25993
25994
25995
25996
25997
25998
25999
26000
26001
26002
26003
26004
26005
26006
26007
26008
26009
26010
26011
26012
26013
26014
26015
26016
26017
26018
26019
26020
26021
26022
26023
26024
26025
26026
26027
26028
26029
26030
26031
26032
26033
26034
26035
26036
26037
26038
26039
26040
26041
26042
26043
26044
26045
26046
26047
26048
26049
26050
26051
26052
26053
26054
26055
26056
26057
26058
26059
26060
26061
26062
26063
26064
26065
26066
26067
26068
26069
26070
26071
26072
26073
26074
26075
26076
26077
26078
26079
26080
26081
26082
26083
26084
26085
26086
26087
26088
26089
26090
26091
26092
26093
26094
26095
26096
26097
26098
26099
26100
26101
26102
26103
26104
26105
26106
26107
26108
26109
26110
26111
26112
26113
26114
26115
26116
26117
26118
26119
26120
26121
26122
26123
26124
26125
26126
26127
26128
26129
26130
26131
26132
26133
26134
26135
26136
26137
26138
26139
26140
26141
26142
26143
26144
26145
26146
26147
26148
26149
26150
26151
26152
26153
26154
26155
26156
26157
26158
26159
26160
26161
26162
26163
26164
26165
26166
26167
26168
26169
26170
26171
26172
26173
26174
26175
26176
26177
26178
26179
26180
26181
26182
26183
26184
26185
26186
26187
26188
26189
26190
26191
26192
26193
26194
26195
26196
26197
26198
26199
26200
26201
26202
26203
26204
26205
26206
26207
26208
26209
26210
26211
26212
26213
26214
26215
26216
26217
26218
26219
26220
26221
26222
26223
26224
26225
26226
26227
26228
26229
26230
26231
26232
26233
26234
26235
26236
26237
26238
26239
26240
26241
26242
26243
26244
26245
26246
26247
26248
26249
26250
26251
26252
26253
26254
26255
26256
26257
26258
26259
26260
26261
26262
26263
26264
26265
26266
26267
26268
26269
26270
26271
26272
26273
26274
26275
26276
26277
26278
26279
26280
26281
26282
26283
26284
26285
26286
26287
26288
26289
26290
26291
26292
26293
26294
26295
26296
26297
26298
26299
26300
26301
26302
26303
26304
26305
26306
26307
26308
26309
26310
26311
26312
26313
26314
26315
26316
26317
26318
26319
26320
26321
26322
26323
26324
26325
26326
26327
26328
26329
26330
26331
26332
26333
26334
26335
26336
26337
26338
26339
26340
26341
26342
26343
26344
26345
26346
26347
26348
26349
26350
26351
26352
26353
26354
26355
26356
26357
26358
26359
26360
26361
26362
26363
26364
26365
26366
26367
26368
26369
26370
26371
26372
26373
26374
26375
26376
26377
26378
26379
26380
26381
26382
26383
26384
26385
26386
26387
26388
26389
26390
26391
26392
26393
26394
26395
26396
26397
26398
26399
26400
26401
26402
26403
26404
26405
26406
26407
26408
26409
26410
26411
26412
26413
26414
26415
26416
26417
26418
26419
26420
26421
26422
26423
26424
26425
26426
26427
26428
26429
26430
26431
26432
26433
26434
26435
26436
26437
26438
26439
26440
26441
26442
26443
26444
26445
26446
26447
26448
26449
26450
26451
26452
26453
26454
26455
26456
26457
26458
26459
26460
26461
26462
26463
26464
26465
26466
26467
26468
26469
26470
26471
26472
26473
26474
26475
26476
26477
26478
26479
26480
26481
26482
26483
26484
26485
26486
26487
26488
26489
26490
26491
26492
26493
26494
26495
26496
26497
26498
26499
26500
26501
26502
26503
26504
26505
26506
26507
26508
26509
26510
26511
26512
26513
26514
26515
26516
26517
26518
26519
26520
26521
26522
26523
26524
26525
26526
26527
26528
26529
26530
26531
26532
26533
26534
26535
26536
26537
26538
26539
26540
26541
26542
26543
26544
26545
26546
26547
26548
26549
26550
26551
26552
26553
26554
26555
26556
26557
26558
26559
26560
26561
26562
26563
26564
26565
26566
26567
26568
26569
26570
26571
26572
26573
26574
26575
26576
26577
26578
26579
26580
26581
26582
26583
26584
26585
26586
26587
26588
26589
26590
26591
26592
26593
26594
26595
26596
26597
26598
26599
26600
26601
26602
26603
26604
26605
26606
26607
26608
26609
26610
26611
26612
26613
26614
26615
26616
26617
26618
26619
26620
26621
26622
26623
26624
26625
26626
26627
26628
26629
26630
26631
26632
26633
26634
26635
26636
26637
26638
26639
26640
26641
26642
26643
26644
26645
26646
26647
26648
26649
26650
26651
26652
26653
26654
26655
26656
26657
26658
26659
26660
26661
26662
26663
26664
26665
26666
26667
26668
26669
26670
26671
26672
26673
26674
26675
26676
26677
26678
26679
26680
26681
26682
26683
26684
26685
26686
26687
26688
26689
26690
26691
26692
26693
26694
26695
26696
26697
26698
26699
26700
26701
26702
26703
26704
26705
26706
26707
26708
26709
26710
26711
26712
26713
26714
26715
26716
26717
26718
26719
26720
26721
26722
26723
26724
26725
26726
26727
26728
26729
26730
26731
26732
26733
26734
26735
26736
26737
26738
26739
26740
26741
26742
26743
26744
26745
26746
26747
26748
26749
26750
26751
26752
26753
26754
26755
26756
26757
26758
26759
26760
26761
26762
26763
26764
26765
26766
26767
26768
26769
26770
26771
26772
26773
26774
26775
26776
26777
26778
26779
26780
26781
26782
26783
26784
26785
26786
26787
26788
26789
26790
26791
26792
26793
26794
26795
26796
26797
26798
26799
26800
26801
26802
26803
26804
26805
26806
26807
26808
26809
26810
26811
26812
26813
26814
26815
26816
26817
26818
26819
26820
26821
26822
26823
26824
26825
26826
26827
26828
26829
26830
26831
26832
26833
26834
26835
26836
26837
26838
26839
26840
26841
26842
26843
26844
26845
26846
26847
26848
26849
26850
26851
26852
26853
26854
26855
26856
26857
26858
26859
26860
26861
26862
26863
26864
26865
26866
26867
26868
26869
26870
26871
26872
26873
26874
26875
26876
26877
26878
26879
26880
26881
26882
26883
26884
26885
26886
26887
26888
26889
26890
26891
26892
26893
26894
26895
26896
26897
26898
26899
26900
26901
26902
26903
26904
26905
26906
26907
26908
26909
26910
26911
26912
26913
26914
26915
26916
26917
26918
26919
26920
26921
26922
26923
26924
26925
26926
26927
26928
26929
26930
26931
26932
26933
26934
26935
26936
26937
26938
26939
26940
26941
26942
26943
26944
26945
26946
26947
26948
26949
26950
26951
26952
26953
26954
26955
26956
26957
26958
26959
26960
26961
26962
26963
26964
26965
26966
26967
26968
26969
26970
26971
26972
26973
26974
26975
26976
26977
26978
26979
26980
26981
26982
26983
26984
26985
26986
26987
26988
26989
26990
26991
26992
26993
26994
26995
26996
26997
26998
26999
27000
27001
27002
27003
27004
27005
27006
27007
27008
27009
27010
27011
27012
27013
27014
27015
27016
27017
27018
27019
27020
27021
27022
27023
27024
27025
27026
27027
27028
27029
27030
27031
27032
27033
27034
27035
27036
27037
27038
27039
27040
27041
27042
27043
27044
27045
27046
27047
27048
27049
27050
27051
27052
27053
27054
27055
27056
27057
27058
27059
27060
27061
27062
27063
27064
27065
27066
27067
27068
27069
27070
27071
27072
27073
27074
27075
27076
27077
27078
27079
27080
27081
27082
27083
27084
27085
27086
27087
27088
27089
27090
27091
27092
27093
27094
27095
27096
27097
27098
27099
27100
27101
27102
27103
27104
27105
27106
27107
27108
27109
27110
27111
27112
27113
27114
27115
27116
27117
27118
27119
27120
27121
27122
27123
27124
27125
27126
27127
27128
27129
27130
27131
27132
27133
27134
27135
27136
27137
27138
27139
27140
27141
27142
27143
27144
27145
27146
27147
27148
27149
27150
27151
27152
27153
27154
27155
27156
27157
27158
27159
27160
27161
27162
27163
27164
27165
27166
27167
27168
27169
27170
27171
27172
27173
27174
27175
27176
27177
27178
27179
27180
27181
27182
27183
27184
27185
27186
27187
27188
27189
27190
27191
27192
27193
27194
27195
27196
27197
27198
27199
27200
27201
27202
27203
27204
27205
27206
27207
27208
27209
27210
27211
27212
27213
27214
27215
27216
27217
27218
27219
27220
27221
27222
27223
27224
27225
27226
27227
27228
27229
27230
27231
27232
27233
27234
27235
27236
27237
27238
27239
27240
27241
27242
27243
27244
27245
27246
27247
27248
27249
27250
27251
27252
27253
27254
27255
27256
27257
27258
27259
27260
27261
27262
27263
27264
27265
27266
27267
27268
27269
27270
27271
27272
27273
27274
27275
27276
27277
27278
27279
27280
27281
27282
27283
27284
27285
27286
27287
27288
27289
27290
27291
27292
27293
27294
27295
27296
27297
27298
27299
27300
27301
27302
27303
27304
27305
27306
27307
27308
27309
27310
27311
27312
27313
27314
27315
27316
27317
27318
27319
27320
27321
27322
27323
27324
27325
27326
27327
27328
27329
27330
27331
27332
27333
27334
27335
27336
27337
27338
27339
27340
27341
27342
27343
27344
27345
27346
27347
27348
27349
27350
27351
27352
27353
27354
27355
27356
27357
27358
27359
27360
27361
27362
27363
27364
27365
27366
27367
27368
27369
27370
27371
27372
27373
27374
27375
27376
27377
27378
27379
27380
27381
27382
27383
27384
27385
27386
27387
27388
27389
27390
27391
27392
27393
27394
27395
27396
27397
27398
27399
27400
27401
27402
27403
27404
27405
27406
27407
27408
27409
27410
27411
27412
27413
27414
27415
27416
27417
27418
27419
27420
27421
27422
27423
27424
27425
27426
27427
27428
27429
27430
27431
27432
27433
27434
27435
27436
27437
27438
27439
27440
27441
27442
27443
27444
27445
27446
27447
27448
27449
27450
27451
27452
27453
27454
27455
27456
27457
27458
27459
27460
27461
27462
27463
27464
27465
27466
27467
27468
27469
27470
27471
27472
27473
27474
27475
27476
27477
27478
27479
27480
27481
27482
27483
27484
27485
27486
27487
27488
27489
27490
27491
27492
27493
27494
27495
27496
27497
27498
27499
27500
27501
27502
27503
27504
27505
27506
27507
27508
27509
27510
27511
27512
27513
27514
27515
27516
27517
27518
27519
27520
27521
27522
27523
27524
27525
27526
27527
27528
27529
27530
27531
27532
27533
27534
27535
27536
27537
27538
27539
27540
27541
27542
27543
27544
27545
27546
27547
27548
27549
27550
27551
27552
27553
27554
27555
27556
27557
27558
27559
27560
27561
27562
27563
27564
27565
27566
27567
27568
27569
27570
27571
27572
27573
27574
27575
27576
27577
27578
27579
27580
27581
27582
27583
27584
27585
27586
27587
27588
27589
27590
27591
27592
27593
27594
27595
27596
27597
27598
27599
27600
27601
27602
27603
27604
27605
27606
27607
27608
27609
27610
27611
27612
27613
27614
27615
27616
27617
27618
27619
27620
27621
27622
27623
27624
27625
27626
27627
27628
27629
27630
27631
27632
27633
27634
27635
27636
27637
27638
27639
27640
27641
27642
27643
27644
27645
27646
27647
27648
27649
27650
27651
27652
27653
27654
27655
27656
27657
27658
27659
27660
27661
27662
27663
27664
27665
27666
27667
27668
27669
27670
27671
27672
27673
27674
27675
27676
27677
27678
27679
27680
27681
27682
27683
27684
27685
27686
27687
27688
27689
27690
27691
27692
27693
27694
27695
27696
27697
27698
27699
27700
27701
27702
27703
27704
27705
27706
27707
27708
27709
27710
27711
27712
27713
27714
27715
27716
27717
27718
27719
27720
27721
27722
27723
27724
27725
27726
27727
27728
27729
27730
27731
27732
27733
27734
27735
27736
27737
27738
27739
27740
27741
27742
27743
27744
27745
27746
27747
27748
27749
27750
27751
27752
27753
27754
27755
27756
27757
27758
27759
27760
27761
27762
27763
27764
27765
27766
27767
27768
27769
27770
27771
27772
27773
27774
27775
27776
27777
27778
27779
27780
27781
27782
27783
27784
27785
27786
27787
27788
27789
27790
27791
27792
27793
27794
27795
27796
27797
27798
27799
27800
27801
27802
27803
27804
27805
27806
27807
27808
27809
27810
27811
27812
27813
27814
27815
27816
27817
27818
27819
27820
27821
27822
27823
27824
27825
27826
27827
27828
27829
27830
27831
27832
27833
27834
27835
27836
27837
27838
27839
27840
27841
27842
27843
27844
27845
27846
27847
27848
27849
27850
27851
27852
27853
27854
27855
27856
27857
27858
27859
27860
27861
27862
27863
27864
27865
27866
27867
27868
27869
27870
27871
27872
27873
27874
27875
27876
27877
27878
27879
27880
27881
27882
27883
27884
27885
27886
27887
27888
27889
27890
27891
27892
27893
27894
27895
27896
27897
27898
27899
27900
27901
27902
27903
27904
27905
27906
27907
27908
27909
27910
27911
27912
27913
27914
27915
27916
27917
27918
27919
27920
27921
27922
27923
27924
27925
27926
27927
27928
27929
27930
27931
27932
27933
27934
27935
27936
27937
27938
27939
27940
27941
27942
27943
27944
27945
27946
27947
27948
27949
27950
27951
27952
27953
27954
27955
27956
27957
27958
27959
27960
27961
27962
27963
27964
27965
27966
27967
27968
27969
27970
27971
27972
27973
27974
27975
27976
27977
27978
27979
27980
27981
27982
27983
27984
27985
27986
27987
27988
27989
27990
27991
27992
27993
27994
27995
27996
27997
27998
27999
28000
28001
28002
28003
28004
28005
28006
28007
28008
28009
28010
28011
28012
28013
28014
28015
28016
28017
28018
28019
28020
28021
28022
28023
28024
28025
28026
28027
28028
28029
28030
28031
28032
28033
28034
28035
28036
28037
28038
28039
28040
28041
28042
28043
28044
28045
28046
28047
28048
28049
28050
28051
28052
28053
28054
28055
28056
28057
28058
28059
28060
28061
28062
28063
28064
28065
28066
28067
28068
28069
28070
28071
28072
28073
28074
28075
28076
28077
28078
28079
28080
28081
28082
28083
28084
28085
28086
28087
28088
28089
28090
28091
28092
28093
28094
28095
28096
28097
28098
28099
28100
28101
28102
28103
28104
28105
28106
28107
28108
28109
28110
28111
28112
28113
28114
28115
28116
28117
28118
28119
28120
28121
28122
28123
28124
28125
28126
28127
28128
28129
28130
28131
28132
28133
28134
28135
28136
28137
28138
28139
28140
28141
28142
28143
28144
28145
28146
28147
28148
28149
28150
28151
28152
28153
28154
28155
28156
28157
28158
28159
28160
28161
28162
28163
28164
28165
28166
28167
28168
28169
28170
28171
28172
28173
28174
28175
28176
28177
28178
28179
28180
28181
28182
28183
28184
28185
28186
28187
28188
28189
28190
28191
28192
28193
28194
28195
28196
28197
28198
28199
28200
28201
28202
28203
28204
28205
28206
28207
28208
28209
28210
28211
28212
28213
28214
28215
28216
28217
28218
28219
28220
28221
28222
28223
28224
28225
28226
28227
28228
28229
28230
28231
28232
28233
28234
28235
28236
28237
28238
28239
28240
28241
28242
28243
28244
28245
28246
28247
28248
28249
28250
28251
28252
28253
28254
28255
28256
28257
28258
28259
28260
28261
28262
28263
28264
28265
28266
28267
28268
28269
28270
28271
28272
28273
28274
28275
28276
28277
28278
28279
28280
28281
28282
28283
28284
28285
28286
28287
28288
28289
28290
28291
28292
28293
28294
28295
28296
28297
28298
28299
28300
28301
28302
28303
28304
28305
28306
28307
28308
28309
28310
28311
28312
28313
28314
28315
28316
28317
28318
28319
28320
28321
28322
28323
28324
28325
28326
28327
28328
28329
28330
28331
28332
28333
28334
28335
28336
28337
28338
28339
28340
28341
28342
28343
28344
28345
28346
28347
28348
28349
28350
28351
28352
28353
28354
28355
28356
28357
28358
28359
28360
28361
28362
28363
28364
28365
28366
28367
28368
28369
28370
28371
28372
28373
28374
28375
28376
28377
28378
28379
28380
28381
28382
28383
28384
28385
28386
28387
28388
28389
28390
28391
28392
28393
28394
28395
28396
28397
28398
28399
28400
28401
28402
28403
28404
28405
28406
28407
28408
28409
28410
28411
28412
28413
28414
28415
28416
28417
28418
28419
28420
28421
28422
28423
28424
28425
28426
28427
28428
28429
28430
28431
28432
28433
28434
28435
28436
28437
28438
28439
28440
28441
28442
28443
28444
28445
28446
28447
28448
28449
28450
28451
28452
28453
28454
28455
28456
28457
28458
28459
28460
28461
28462
28463
28464
28465
28466
28467
28468
28469
28470
28471
28472
28473
28474
28475
28476
28477
28478
28479
28480
28481
28482
28483
28484
28485
28486
28487
28488
28489
28490
28491
28492
28493
28494
28495
28496
28497
28498
28499
28500
28501
28502
28503
28504
28505
28506
28507
28508
28509
28510
28511
28512
28513
28514
28515
28516
28517
28518
28519
28520
28521
28522
28523
28524
28525
28526
28527
28528
28529
28530
28531
28532
28533
28534
28535
28536
28537
28538
28539
28540
28541
28542
28543
28544
28545
28546
28547
28548
28549
28550
28551
28552
28553
28554
28555
28556
28557
28558
28559
28560
28561
28562
28563
28564
28565
28566
28567
28568
28569
28570
28571
28572
28573
28574
28575
28576
28577
28578
28579
28580
28581
28582
28583
28584
28585
28586
28587
28588
28589
28590
28591
28592
28593
28594
28595
28596
28597
28598
28599
28600
28601
28602
28603
28604
28605
28606
28607
28608
28609
28610
28611
28612
28613
28614
28615
28616
28617
28618
28619
28620
28621
28622
28623
28624
28625
28626
28627
28628
28629
28630
28631
28632
28633
28634
28635
28636
28637
28638
28639
28640
28641
28642
28643
28644
28645
28646
28647
28648
28649
28650
28651
28652
28653
28654
28655
28656
28657
28658
28659
28660
28661
28662
28663
28664
28665
28666
28667
28668
28669
28670
28671
28672
28673
28674
28675
28676
28677
28678
28679
28680
28681
28682
28683
28684
28685
28686
28687
28688
28689
28690
28691
28692
28693
28694
28695
28696
28697
28698
28699
28700
28701
28702
28703
28704
28705
28706
28707
28708
28709
28710
28711
28712
28713
28714
28715
28716
28717
28718
28719
28720
28721
28722
28723
28724
28725
28726
28727
28728
28729
28730
28731
28732
28733
28734
28735
28736
28737
28738
28739
28740
28741
28742
28743
28744
28745
28746
28747
28748
28749
28750
28751
28752
28753
28754
28755
28756
28757
28758
28759
28760
28761
28762
28763
28764
28765
28766
28767
28768
28769
28770
28771
28772
28773
28774
28775
28776
28777
28778
28779
28780
28781
28782
28783
28784
28785
28786
28787
28788
28789
28790
28791
28792
28793
28794
28795
28796
28797
28798
28799
28800
28801
28802
28803
28804
28805
28806
28807
28808
28809
28810
28811
28812
28813
28814
28815
28816
28817
28818
28819
28820
28821
28822
28823
28824
28825
28826
28827
28828
28829
28830
28831
28832
28833
28834
28835
28836
28837
28838
28839
28840
28841
28842
28843
28844
28845
28846
28847
28848
28849
28850
28851
28852
28853
28854
28855
28856
28857
28858
28859
28860
28861
28862
28863
28864
28865
28866
28867
28868
28869
28870
28871
28872
28873
28874
28875
28876
28877
28878
28879
28880
28881
28882
28883
28884
28885
28886
28887
28888
28889
28890
28891
28892
28893
28894
28895
28896
28897
28898
28899
28900
28901
28902
28903
28904
28905
28906
28907
28908
28909
28910
28911
28912
28913
28914
28915
28916
28917
28918
28919
28920
28921
28922
28923
28924
28925
28926
28927
28928
28929
28930
28931
28932
28933
28934
28935
28936
28937
28938
28939
28940
28941
28942
28943
28944
28945
28946
28947
28948
28949
28950
28951
28952
28953
28954
28955
28956
28957
28958
28959
28960
28961
28962
28963
28964
28965
28966
28967
28968
28969
28970
28971
28972
28973
28974
28975
28976
28977
28978
28979
28980
28981
28982
28983
28984
28985
28986
28987
28988
28989
28990
28991
28992
28993
28994
28995
28996
28997
28998
28999
29000
29001
29002
29003
29004
29005
29006
29007
29008
29009
29010
29011
29012
29013
29014
29015
29016
29017
29018
29019
29020
29021
29022
29023
29024
29025
29026
29027
29028
29029
29030
29031
29032
29033
29034
29035
29036
29037
29038
29039
29040
29041
29042
29043
29044
29045
29046
29047
29048
29049
29050
29051
29052
29053
29054
29055
29056
29057
29058
29059
29060
29061
29062
29063
29064
29065
29066
29067
29068
29069
29070
29071
29072
29073
29074
29075
29076
29077
29078
29079
29080
29081
29082
29083
29084
29085
29086
29087
29088
29089
29090
29091
29092
29093
29094
29095
29096
29097
29098
29099
29100
29101
29102
29103
29104
29105
29106
29107
29108
29109
29110
29111
29112
29113
29114
29115
29116
29117
29118
29119
29120
29121
29122
29123
29124
29125
29126
29127
29128
29129
29130
29131
29132
29133
29134
29135
29136
29137
29138
29139
29140
29141
29142
29143
29144
29145
29146
29147
29148
29149
29150
29151
29152
29153
29154
29155
29156
29157
29158
29159
29160
29161
29162
29163
29164
29165
29166
29167
29168
29169
29170
29171
29172
29173
29174
29175
29176
29177
29178
29179
29180
29181
29182
29183
29184
29185
29186
29187
29188
29189
29190
29191
29192
29193
29194
29195
29196
29197
29198
29199
29200
29201
29202
29203
29204
29205
29206
29207
29208
29209
29210
29211
29212
29213
29214
29215
29216
29217
29218
29219
29220
29221
29222
29223
29224
29225
29226
29227
29228
29229
29230
29231
29232
29233
29234
29235
29236
29237
29238
29239
29240
29241
29242
29243
29244
29245
29246
29247
29248
29249
29250
29251
29252
29253
29254
29255
29256
29257
29258
29259
29260
29261
29262
29263
29264
29265
29266
29267
29268
29269
29270
29271
29272
29273
29274
29275
29276
29277
29278
29279
29280
29281
29282
29283
29284
29285
29286
29287
29288
29289
29290
29291
29292
29293
29294
29295
29296
29297
29298
29299
29300
29301
29302
29303
29304
29305
29306
29307
29308
29309
29310
29311
29312
29313
29314
29315
29316
29317
29318
29319
29320
29321
29322
29323
29324
29325
29326
29327
29328
29329
29330
29331
29332
29333
29334
29335
29336
29337
29338
29339
29340
29341
29342
29343
29344
29345
29346
29347
29348
29349
29350
29351
29352
29353
29354
29355
29356
29357
29358
29359
29360
29361
29362
29363
29364
29365
29366
29367
29368
29369
29370
29371
29372
29373
29374
29375
29376
29377
29378
29379
29380
29381
29382
29383
29384
29385
29386
29387
29388
29389
29390
29391
29392
29393
29394
29395
29396
29397
29398
29399
29400
29401
29402
29403
29404
29405
29406
29407
29408
29409
29410
29411
29412
29413
29414
29415
29416
29417
29418
29419
29420
29421
29422
29423
29424
29425
29426
29427
29428
29429
29430
29431
29432
29433
29434
29435
29436
29437
29438
29439
29440
29441
29442
29443
29444
29445
29446
29447
29448
29449
29450
29451
29452
29453
29454
29455
29456
29457
29458
29459
29460
29461
29462
29463
29464
29465
29466
29467
29468
29469
29470
29471
29472
29473
29474
29475
29476
29477
29478
29479
29480
29481
29482
29483
29484
29485
29486
29487
29488
29489
29490
29491
29492
29493
29494
29495
29496
29497
29498
29499
29500
29501
29502
29503
29504
29505
29506
29507
29508
29509
29510
29511
29512
29513
29514
29515
29516
29517
29518
29519
29520
29521
29522
29523
29524
29525
29526
29527
29528
29529
29530
29531
29532
29533
29534
29535
29536
29537
29538
29539
29540
29541
29542
29543
29544
29545
29546
29547
29548
29549
29550
29551
29552
29553
29554
29555
29556
29557
29558
29559
29560
29561
29562
29563
29564
29565
29566
29567
29568
29569
29570
29571
29572
29573
29574
29575
29576
29577
29578
29579
29580
29581
29582
29583
29584
29585
29586
29587
29588
29589
29590
29591
29592
29593
29594
29595
29596
29597
29598
29599
29600
29601
29602
29603
29604
29605
29606
29607
29608
29609
29610
29611
29612
29613
29614
29615
29616
29617
29618
29619
29620
29621
29622
29623
29624
29625
29626
29627
29628
29629
29630
29631
29632
29633
29634
29635
29636
29637
29638
29639
29640
29641
29642
29643
29644
29645
29646
29647
29648
29649
29650
29651
29652
29653
29654
29655
29656
29657
29658
29659
29660
29661
29662
29663
29664
29665
29666
29667
29668
29669
29670
29671
29672
29673
29674
29675
29676
29677
29678
29679
29680
29681
29682
29683
29684
29685
29686
29687
29688
29689
29690
29691
29692
29693
29694
29695
29696
29697
29698
29699
29700
29701
29702
29703
29704
29705
29706
29707
29708
29709
29710
29711
29712
29713
29714
29715
29716
29717
29718
29719
29720
29721
29722
29723
29724
29725
29726
29727
29728
29729
29730
29731
29732
29733
29734
29735
29736
29737
29738
29739
29740
29741
29742
29743
29744
29745
29746
29747
29748
29749
29750
29751
29752
29753
29754
29755
29756
29757
29758
29759
29760
29761
29762
29763
29764
29765
29766
29767
29768
29769
29770
29771
29772
29773
29774
29775
29776
29777
29778
29779
29780
29781
29782
29783
29784
29785
29786
29787
29788
29789
29790
29791
29792
29793
29794
29795
29796
29797
29798
29799
29800
29801
29802
29803
29804
29805
29806
29807
29808
29809
29810
29811
29812
29813
29814
29815
29816
29817
29818
29819
29820
29821
29822
29823
29824
29825
29826
29827
29828
29829
29830
29831
29832
29833
29834
29835
29836
29837
29838
29839
29840
29841
29842
29843
29844
29845
29846
29847
29848
29849
29850
29851
29852
29853
29854
29855
29856
29857
29858
29859
29860
29861
29862
29863
29864
29865
29866
29867
29868
29869
29870
29871
29872
29873
29874
29875
29876
29877
29878
29879
29880
29881
29882
29883
29884
29885
29886
29887
29888
29889
29890
29891
29892
29893
29894
29895
29896
29897
29898
29899
29900
29901
29902
29903
29904
29905
29906
29907
29908
29909
29910
29911
29912
29913
29914
29915
29916
29917
29918
29919
29920
29921
29922
29923
29924
29925
29926
29927
29928
29929
29930
29931
29932
29933
29934
29935
29936
29937
29938
29939
29940
29941
29942
29943
29944
29945
29946
29947
29948
29949
29950
29951
29952
29953
29954
29955
29956
29957
29958
29959
29960
29961
29962
29963
29964
29965
29966
29967
29968
29969
29970
29971
29972
29973
29974
29975
29976
29977
29978
29979
29980
29981
29982
29983
29984
29985
29986
29987
29988
29989
29990
29991
29992
29993
29994
29995
29996
29997
29998
29999
30000
30001
30002
30003
30004
30005
30006
30007
30008
30009
30010
30011
30012
30013
30014
30015
30016
30017
30018
30019
30020
30021
30022
30023
30024
30025
30026
30027
30028
30029
30030
30031
30032
30033
30034
30035
30036
30037
30038
30039
30040
30041
30042
30043
30044
30045
30046
30047
30048
30049
30050
30051
30052
30053
30054
30055
30056
30057
30058
30059
30060
30061
30062
30063
30064
30065
30066
30067
30068
30069
30070
30071
30072
30073
30074
30075
30076
30077
30078
30079
30080
30081
30082
30083
30084
30085
30086
30087
30088
30089
30090
30091
30092
30093
30094
30095
30096
30097
30098
30099
30100
30101
30102
30103
30104
30105
30106
30107
30108
30109
30110
30111
30112
30113
30114
30115
30116
30117
30118
30119
30120
30121
30122
30123
30124
30125
30126
30127
30128
30129
30130
30131
30132
30133
30134
30135
30136
30137
30138
30139
30140
30141
30142
30143
30144
30145
30146
30147
30148
30149
30150
30151
30152
30153
30154
30155
30156
30157
30158
30159
30160
30161
30162
30163
30164
30165
30166
30167
30168
30169
30170
30171
30172
30173
30174
30175
30176
30177
30178
30179
30180
30181
30182
30183
30184
30185
30186
30187
30188
30189
30190
30191
30192
30193
30194
30195
30196
30197
30198
30199
30200
30201
30202
30203
30204
30205
30206
30207
30208
30209
30210
30211
30212
30213
30214
30215
30216
30217
30218
30219
30220
30221
30222
30223
30224
30225
30226
30227
30228
30229
30230
30231
30232
30233
30234
30235
30236
30237
30238
30239
30240
30241
30242
30243
30244
30245
30246
30247
30248
30249
30250
30251
30252
30253
30254
30255
30256
30257
30258
30259
30260
30261
30262
30263
30264
30265
30266
30267
30268
30269
30270
30271
30272
30273
30274
30275
30276
30277
30278
30279
30280
30281
30282
30283
30284
30285
30286
30287
30288
30289
30290
30291
30292
30293
30294
30295
30296
30297
30298
30299
30300
30301
30302
30303
30304
30305
30306
30307
30308
30309
30310
30311
30312
30313
30314
30315
30316
30317
30318
30319
30320
30321
30322
30323
30324
30325
30326
30327
30328
30329
30330
30331
30332
30333
30334
30335
30336
30337
30338
30339
30340
30341
30342
30343
30344
30345
30346
30347
30348
30349
30350
30351
30352
30353
30354
30355
30356
30357
30358
30359
30360
30361
30362
30363
30364
30365
30366
30367
30368
30369
30370
30371
30372
30373
30374
30375
30376
30377
30378
30379
30380
30381
30382
30383
30384
30385
30386
30387
30388
30389
30390
30391
30392
30393
30394
30395
30396
30397
30398
30399
30400
30401
30402
30403
30404
30405
30406
30407
30408
30409
30410
30411
30412
30413
30414
30415
30416
30417
30418
30419
30420
30421
30422
30423
30424
30425
30426
30427
30428
30429
30430
30431
30432
30433
30434
30435
30436
30437
30438
30439
30440
30441
30442
30443
30444
30445
30446
30447
30448
30449
30450
30451
30452
30453
30454
30455
30456
30457
30458
30459
30460
30461
30462
30463
30464
30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
30484
30485
30486
30487
30488
30489
30490
30491
30492
30493
30494
30495
30496
30497
30498
30499
30500
30501
30502
30503
30504
30505
30506
30507
30508
30509
30510
30511
30512
30513
30514
30515
30516
30517
30518
30519
30520
30521
30522
30523
30524
30525
30526
30527
30528
30529
30530
30531
30532
30533
30534
30535
30536
30537
30538
30539
30540
30541
30542
30543
30544
30545
30546
30547
30548
30549
30550
30551
30552
30553
30554
30555
30556
30557
30558
30559
30560
30561
30562
30563
30564
30565
30566
30567
30568
30569
30570
30571
30572
30573
30574
30575
30576
30577
30578
30579
30580
30581
30582
30583
30584
30585
30586
30587
30588
30589
30590
30591
30592
30593
30594
30595
30596
30597
30598
30599
30600
30601
30602
30603
30604
30605
30606
30607
30608
30609
30610
30611
30612
30613
30614
30615
30616
30617
30618
30619
30620
30621
30622
30623
30624
30625
30626
30627
30628
30629
30630
30631
30632
30633
30634
30635
30636
30637
30638
30639
30640
30641
30642
30643
30644
30645
30646
30647
30648
30649
30650
30651
30652
30653
30654
30655
30656
30657
30658
30659
30660
30661
30662
30663
30664
30665
30666
30667
30668
30669
30670
30671
30672
30673
30674
30675
30676
30677
30678
30679
30680
30681
30682
30683
30684
30685
30686
30687
30688
30689
30690
30691
30692
30693
30694
30695
30696
30697
30698
30699
30700
30701
30702
30703
30704
30705
30706
30707
30708
30709
30710
30711
30712
30713
30714
30715
30716
30717
30718
30719
30720
30721
30722
30723
30724
30725
30726
30727
30728
30729
30730
30731
30732
30733
30734
30735
30736
30737
30738
30739
30740
30741
30742
30743
30744
30745
30746
30747
30748
30749
30750
30751
30752
30753
30754
30755
30756
30757
30758
30759
30760
30761
30762
30763
30764
30765
30766
30767
30768
30769
30770
30771
30772
30773
30774
30775
30776
30777
30778
30779
30780
30781
30782
30783
30784
30785
30786
30787
30788
30789
30790
30791
30792
30793
30794
30795
30796
30797
30798
30799
30800
30801
30802
30803
30804
30805
30806
30807
30808
30809
30810
30811
30812
30813
30814
30815
30816
30817
30818
30819
30820
30821
30822
30823
30824
30825
30826
30827
30828
30829
30830
30831
30832
30833
30834
30835
30836
30837
30838
30839
30840
30841
30842
30843
30844
30845
30846
30847
30848
30849
30850
30851
30852
30853
30854
30855
30856
30857
30858
30859
30860
30861
30862
30863
30864
30865
30866
30867
30868
30869
30870
30871
30872
30873
30874
30875
30876
30877
30878
30879
30880
30881
30882
30883
30884
30885
30886
30887
30888
30889
30890
30891
30892
30893
30894
30895
30896
30897
30898
30899
30900
30901
30902
30903
30904
30905
30906
30907
30908
30909
30910
30911
30912
30913
30914
30915
30916
30917
30918
30919
30920
30921
30922
30923
30924
30925
30926
30927
30928
30929
30930
30931
30932
30933
30934
30935
30936
30937
30938
30939
30940
30941
30942
30943
30944
30945
30946
30947
30948
30949
30950
30951
30952
30953
30954
30955
30956
30957
30958
30959
30960
30961
30962
30963
30964
30965
30966
30967
30968
30969
30970
30971
30972
30973
30974
30975
30976
30977
30978
30979
30980
30981
30982
30983
30984
30985
30986
30987
30988
30989
30990
30991
30992
30993
30994
30995
30996
30997
30998
30999
31000
31001
31002
31003
31004
31005
31006
31007
31008
31009
31010
31011
31012
31013
31014
31015
31016
31017
31018
31019
31020
31021
31022
31023
31024
31025
31026
31027
31028
31029
31030
31031
31032
31033
31034
31035
31036
31037
31038
31039
31040
31041
31042
31043
31044
31045
31046
31047
31048
31049
31050
31051
31052
31053
31054
31055
31056
31057
31058
31059
31060
31061
31062
31063
31064
31065
31066
31067
31068
31069
31070
31071
31072
31073
31074
31075
31076
31077
31078
31079
31080
31081
31082
31083
31084
31085
31086
31087
31088
31089
31090
31091
31092
31093
31094
31095
31096
31097
31098
31099
31100
31101
31102
31103
31104
31105
31106
31107
31108
31109
31110
31111
31112
31113
31114
31115
31116
31117
31118
31119
31120
31121
31122
31123
31124
31125
31126
31127
31128
31129
31130
31131
31132
31133
31134
31135
31136
31137
31138
31139
31140
31141
31142
31143
31144
31145
31146
31147
31148
31149
31150
31151
31152
31153
31154
31155
31156
31157
31158
31159
31160
31161
31162
31163
31164
31165
31166
31167
31168
31169
31170
31171
31172
31173
31174
31175
31176
31177
31178
31179
31180
31181
31182
31183
31184
31185
31186
31187
31188
31189
31190
31191
31192
31193
31194
31195
31196
31197
31198
31199
31200
31201
31202
31203
31204
31205
31206
31207
31208
31209
31210
31211
31212
31213
31214
31215
31216
31217
31218
31219
31220
31221
31222
31223
31224
31225
31226
31227
31228
31229
31230
31231
31232
31233
31234
31235
31236
31237
31238
31239
31240
31241
31242
31243
31244
31245
31246
31247
31248
31249
31250
31251
31252
31253
31254
31255
31256
31257
31258
31259
31260
31261
31262
31263
31264
31265
31266
31267
31268
31269
31270
31271
31272
31273
31274
31275
31276
31277
31278
31279
31280
31281
31282
31283
31284
31285
31286
31287
31288
31289
31290
31291
31292
31293
31294
31295
31296
31297
31298
31299
31300
31301
31302
31303
31304
31305
31306
31307
31308
31309
31310
31311
31312
31313
31314
31315
31316
31317
31318
31319
31320
31321
31322
31323
31324
31325
31326
31327
31328
31329
31330
31331
31332
31333
31334
31335
31336
31337
31338
31339
31340
31341
31342
31343
31344
31345
31346
31347
31348
31349
31350
31351
31352
31353
31354
31355
31356
31357
31358
31359
31360
31361
31362
31363
31364
31365
31366
31367
31368
31369
31370
31371
31372
31373
31374
31375
31376
31377
31378
31379
31380
31381
31382
31383
31384
31385
31386
31387
31388
31389
31390
31391
31392
31393
31394
31395
31396
31397
31398
31399
31400
31401
31402
31403
31404
31405
31406
31407
31408
31409
31410
31411
31412
31413
31414
31415
31416
31417
31418
31419
31420
31421
31422
31423
31424
31425
31426
31427
31428
31429
31430
31431
31432
31433
31434
31435
31436
31437
31438
31439
31440
31441
31442
31443
31444
31445
31446
31447
31448
31449
31450
31451
31452
31453
31454
31455
31456
31457
31458
31459
31460
31461
31462
31463
31464
31465
31466
31467
31468
31469
31470
31471
31472
31473
31474
31475
31476
31477
31478
31479
31480
31481
31482
31483
31484
31485
31486
31487
31488
31489
31490
31491
31492
31493
31494
31495
31496
31497
31498
31499
31500
31501
31502
31503
31504
31505
31506
31507
31508
31509
31510
31511
31512
31513
31514
31515
31516
31517
31518
31519
31520
31521
31522
31523
31524
31525
31526
31527
31528
31529
31530
31531
31532
31533
31534
31535
31536
31537
31538
31539
31540
31541
31542
31543
31544
31545
31546
31547
31548
31549
31550
31551
31552
31553
31554
31555
31556
31557
31558
31559
31560
31561
31562
31563
31564
31565
31566
31567
31568
31569
31570
31571
31572
31573
31574
31575
31576
31577
31578
31579
31580
31581
31582
31583
31584
31585
31586
31587
31588
31589
31590
31591
31592
31593
31594
31595
31596
31597
31598
31599
31600
31601
31602
31603
31604
31605
31606
31607
31608
31609
31610
31611
31612
31613
31614
31615
31616
31617
31618
31619
31620
31621
31622
31623
31624
31625
31626
31627
31628
31629
31630
31631
31632
31633
31634
31635
31636
31637
31638
31639
31640
31641
31642
31643
31644
31645
31646
31647
31648
31649
31650
31651
31652
31653
31654
31655
31656
31657
31658
31659
31660
31661
31662
31663
31664
31665
31666
31667
31668
31669
31670
31671
31672
31673
31674
31675
31676
31677
31678
31679
31680
31681
31682
31683
31684
31685
31686
31687
31688
31689
31690
31691
31692
31693
31694
31695
31696
31697
31698
31699
31700
31701
31702
31703
31704
31705
31706
31707
31708
31709
31710
31711
31712
31713
31714
31715
31716
31717
31718
31719
31720
31721
31722
31723
31724
31725
31726
31727
31728
31729
31730
31731
31732
31733
31734
31735
31736
31737
31738
31739
31740
31741
31742
31743
31744
31745
31746
31747
31748
31749
31750
31751
31752
31753
31754
31755
31756
31757
31758
31759
31760
31761
31762
31763
31764
31765
31766
31767
31768
31769
31770
31771
31772
31773
31774
31775
31776
31777
31778
31779
31780
31781
31782
31783
31784
31785
31786
31787
31788
31789
31790
31791
31792
31793
31794
31795
31796
31797
31798
31799
31800
31801
31802
31803
31804
31805
31806
31807
31808
31809
31810
31811
31812
31813
31814
31815
31816
31817
31818
31819
31820
31821
31822
31823
31824
31825
31826
31827
31828
31829
31830
31831
31832
31833
31834
31835
31836
31837
31838
31839
31840
31841
31842
31843
31844
31845
31846
31847
31848
31849
31850
31851
31852
31853
31854
31855
31856
31857
31858
31859
31860
31861
31862
31863
31864
31865
31866
31867
31868
31869
31870
31871
31872
31873
31874
31875
31876
31877
31878
31879
31880
31881
31882
31883
31884
31885
31886
31887
31888
31889
31890
31891
31892
31893
31894
31895
31896
31897
31898
31899
31900
31901
31902
31903
31904
31905
31906
31907
31908
31909
31910
31911
31912
31913
31914
31915
31916
31917
31918
31919
31920
31921
31922
31923
31924
31925
31926
31927
31928
31929
31930
31931
31932
31933
31934
31935
31936
31937
31938
31939
31940
31941
31942
31943
31944
31945
31946
31947
31948
31949
31950
31951
31952
31953
31954
31955
31956
31957
31958
31959
31960
31961
31962
31963
31964
31965
31966
31967
31968
31969
31970
31971
31972
31973
31974
31975
31976
31977
31978
31979
31980
31981
31982
31983
31984
31985
31986
31987
31988
31989
31990
31991
31992
31993
31994
31995
31996
31997
31998
31999
32000
32001
32002
32003
32004
32005
32006
32007
32008
32009
32010
32011
32012
32013
32014
32015
32016
32017
32018
32019
32020
32021
32022
32023
32024
32025
32026
32027
32028
32029
32030
32031
32032
32033
32034
32035
32036
32037
32038
32039
32040
32041
32042
32043
32044
32045
32046
32047
32048
32049
32050
32051
32052
32053
32054
32055
32056
32057
32058
32059
32060
32061
32062
32063
32064
32065
32066
32067
32068
32069
32070
32071
32072
32073
32074
32075
32076
32077
32078
32079
32080
32081
32082
32083
32084
32085
32086
32087
32088
32089
32090
32091
32092
32093
32094
32095
32096
32097
32098
32099
32100
32101
32102
32103
32104
32105
32106
32107
32108
32109
32110
32111
32112
32113
32114
32115
32116
32117
32118
32119
32120
32121
32122
32123
32124
32125
32126
32127
32128
32129
32130
32131
32132
32133
32134
32135
32136
32137
32138
32139
32140
32141
32142
32143
32144
32145
32146
32147
32148
32149
32150
32151
32152
32153
32154
32155
32156
32157
32158
32159
32160
32161
32162
32163
32164
32165
32166
32167
32168
32169
32170
32171
32172
32173
32174
32175
32176
32177
32178
32179
32180
32181
32182
32183
32184
32185
32186
32187
32188
32189
32190
32191
32192
32193
32194
32195
32196
32197
32198
32199
32200
32201
32202
32203
32204
32205
32206
32207
32208
32209
32210
32211
32212
32213
32214
32215
32216
32217
32218
32219
32220
32221
32222
32223
32224
32225
32226
32227
32228
32229
32230
32231
32232
32233
32234
32235
32236
32237
32238
32239
32240
32241
32242
32243
32244
32245
32246
32247
32248
32249
32250
32251
32252
32253
32254
32255
32256
32257
32258
32259
32260
32261
32262
32263
32264
32265
32266
32267
32268
32269
32270
32271
32272
32273
32274
32275
32276
32277
32278
32279
32280
32281
32282
32283
32284
32285
32286
32287
32288
32289
32290
32291
32292
32293
32294
32295
32296
32297
32298
32299
32300
32301
32302
32303
32304
32305
32306
32307
32308
32309
32310
32311
32312
32313
32314
32315
32316
32317
32318
32319
32320
32321
32322
32323
32324
32325
32326
32327
32328
32329
32330
32331
32332
32333
32334
32335
32336
32337
32338
32339
32340
32341
32342
32343
32344
32345
32346
32347
32348
32349
32350
32351
32352
32353
32354
32355
32356
32357
32358
32359
32360
32361
32362
32363
32364
32365
32366
32367
32368
32369
32370
32371
32372
32373
32374
32375
32376
32377
32378
32379
32380
32381
32382
32383
32384
32385
32386
32387
32388
32389
32390
32391
32392
32393
32394
32395
32396
32397
32398
32399
32400
32401
32402
32403
32404
32405
32406
32407
32408
32409
32410
32411
32412
32413
32414
32415
32416
32417
32418
32419
32420
32421
32422
32423
32424
32425
32426
32427
32428
32429
32430
32431
32432
32433
32434
32435
32436
32437
32438
32439
32440
32441
32442
32443
32444
32445
32446
32447
32448
32449
32450
32451
32452
32453
32454
32455
32456
32457
32458
32459
32460
32461
32462
32463
32464
32465
32466
32467
32468
32469
32470
32471
32472
32473
32474
32475
32476
32477
32478
32479
32480
32481
32482
32483
32484
32485
32486
32487
32488
32489
32490
32491
32492
32493
32494
32495
32496
32497
32498
32499
32500
32501
32502
32503
32504
32505
32506
32507
32508
32509
32510
32511
32512
32513
32514
32515
32516
32517
32518
32519
32520
32521
32522
32523
32524
32525
32526
32527
32528
32529
32530
32531
32532
32533
32534
32535
32536
32537
32538
32539
32540
32541
32542
32543
32544
32545
32546
32547
32548
32549
32550
32551
32552
32553
32554
32555
32556
32557
32558
32559
32560
32561
32562
32563
32564
32565
32566
32567
32568
32569
32570
32571
32572
32573
32574
32575
32576
32577
32578
32579
32580
32581
32582
32583
32584
32585
32586
32587
32588
32589
32590
32591
32592
32593
32594
32595
32596
32597
32598
32599
32600
32601
32602
32603
32604
32605
32606
32607
32608
32609
32610
32611
32612
32613
32614
32615
32616
32617
32618
32619
32620
32621
32622
32623
32624
32625
32626
32627
32628
32629
32630
32631
32632
32633
32634
32635
32636
32637
32638
32639
32640
32641
32642
32643
32644
32645
32646
32647
32648
32649
32650
32651
32652
32653
32654
32655
32656
32657
32658
32659
32660
32661
32662
32663
32664
32665
32666
32667
32668
32669
32670
32671
32672
32673
32674
32675
32676
32677
32678
32679
32680
32681
32682
32683
32684
32685
32686
32687
32688
32689
32690
32691
32692
32693
32694
32695
32696
32697
32698
32699
32700
32701
32702
32703
32704
32705
32706
32707
32708
32709
32710
32711
32712
32713
32714
32715
32716
32717
32718
32719
32720
32721
32722
32723
32724
32725
32726
32727
32728
32729
32730
32731
32732
32733
32734
32735
32736
32737
32738
32739
32740
32741
32742
32743
32744
32745
32746
32747
32748
32749
32750
32751
32752
32753
32754
32755
32756
32757
32758
32759
32760
32761
32762
32763
32764
32765
32766
32767
32768
32769
32770
32771
32772
32773
32774
32775
32776
32777
32778
32779
32780
32781
32782
32783
32784
32785
32786
32787
32788
32789
32790
32791
32792
32793
32794
32795
32796
32797
32798
32799
32800
32801
32802
32803
32804
32805
32806
32807
32808
32809
32810
32811
32812
32813
32814
32815
32816
32817
32818
32819
32820
32821
32822
32823
32824
32825
32826
32827
32828
32829
32830
32831
32832
32833
32834
32835
32836
32837
32838
32839
32840
32841
32842
32843
32844
32845
32846
32847
32848
32849
32850
32851
32852
32853
32854
32855
32856
32857
32858
32859
32860
32861
32862
32863
32864
32865
32866
32867
32868
32869
32870
32871
32872
32873
32874
32875
32876
32877
32878
32879
32880
32881
32882
32883
32884
32885
32886
32887
32888
32889
32890
32891
32892
32893
32894
32895
32896
32897
32898
32899
32900
32901
32902
32903
32904
32905
32906
32907
32908
32909
32910
32911
32912
32913
32914
32915
32916
32917
32918
32919
32920
32921
32922
32923
32924
32925
32926
32927
32928
32929
32930
32931
32932
32933
32934
32935
32936
32937
32938
32939
32940
32941
32942
32943
32944
32945
32946
32947
32948
32949
32950
32951
32952
32953
32954
32955
32956
32957
32958
32959
32960
32961
32962
32963
32964
32965
32966
32967
32968
32969
32970
32971
32972
32973
32974
32975
32976
32977
32978
32979
32980
32981
32982
32983
32984
32985
32986
32987
32988
32989
32990
32991
32992
32993
32994
32995
32996
32997
32998
32999
33000
33001
33002
33003
33004
33005
33006
33007
33008
33009
33010
33011
33012
33013
33014
33015
33016
33017
33018
33019
33020
33021
33022
33023
33024
33025
33026
33027
33028
33029
33030
33031
33032
33033
33034
33035
33036
33037
33038
33039
33040
33041
33042
33043
33044
33045
33046
33047
33048
33049
33050
33051
33052
33053
33054
33055
33056
33057
33058
33059
33060
33061
33062
33063
33064
33065
33066
33067
33068
33069
33070
33071
33072
33073
33074
33075
33076
33077
33078
33079
33080
33081
33082
33083
33084
33085
33086
33087
33088
33089
33090
33091
33092
33093
33094
33095
33096
33097
33098
33099
33100
33101
33102
33103
33104
33105
33106
33107
33108
33109
33110
33111
33112
33113
33114
33115
33116
33117
33118
33119
33120
33121
33122
33123
33124
33125
33126
33127
33128
33129
33130
33131
33132
33133
33134
33135
33136
33137
33138
33139
33140
33141
33142
33143
33144
33145
33146
33147
33148
33149
33150
33151
33152
33153
33154
33155
33156
33157
33158
33159
33160
33161
33162
33163
33164
33165
33166
33167
33168
33169
33170
33171
33172
33173
33174
33175
33176
33177
33178
33179
33180
33181
33182
33183
33184
33185
33186
33187
33188
33189
33190
33191
33192
33193
33194
33195
33196
33197
33198
33199
33200
33201
33202
33203
33204
33205
33206
33207
33208
33209
33210
33211
33212
33213
33214
33215
33216
33217
33218
33219
33220
33221
33222
33223
33224
33225
33226
33227
33228
33229
33230
33231
33232
33233
33234
33235
33236
33237
33238
33239
33240
33241
33242
33243
33244
33245
33246
33247
33248
33249
33250
33251
33252
33253
33254
33255
33256
33257
33258
33259
33260
33261
33262
33263
33264
33265
33266
33267
33268
33269
33270
33271
33272
33273
33274
33275
33276
33277
33278
33279
33280
33281
33282
33283
33284
33285
33286
33287
33288
33289
33290
33291
33292
33293
33294
33295
33296
33297
33298
33299
33300
33301
33302
33303
33304
33305
33306
33307
33308
33309
33310
33311
33312
33313
33314
33315
33316
33317
33318
33319
33320
33321
33322
33323
33324
33325
33326
33327
33328
33329
33330
33331
33332
33333
33334
33335
33336
33337
33338
33339
33340
33341
33342
33343
33344
33345
33346
33347
33348
33349
33350
33351
33352
33353
33354
33355
33356
33357
33358
33359
33360
33361
33362
33363
33364
33365
33366
33367
33368
33369
33370
33371
33372
33373
33374
33375
33376
33377
33378
33379
33380
33381
33382
33383
33384
33385
33386
33387
33388
33389
33390
33391
33392
33393
33394
33395
33396
33397
33398
33399
33400
33401
33402
33403
33404
33405
33406
33407
33408
33409
33410
33411
33412
33413
33414
33415
33416
33417
33418
33419
33420
33421
33422
33423
33424
33425
33426
33427
33428
33429
33430
33431
33432
33433
33434
33435
33436
33437
33438
33439
33440
33441
33442
33443
33444
33445
33446
33447
33448
33449
33450
33451
33452
33453
33454
33455
33456
33457
33458
33459
33460
33461
33462
33463
33464
33465
33466
33467
33468
33469
33470
33471
33472
33473
33474
33475
33476
33477
33478
33479
33480
33481
33482
33483
33484
33485
33486
33487
33488
33489
33490
33491
33492
33493
33494
33495
33496
33497
33498
33499
33500
33501
33502
33503
33504
33505
33506
33507
33508
33509
33510
33511
33512
33513
33514
33515
33516
33517
33518
33519
33520
33521
33522
33523
33524
33525
33526
33527
33528
33529
33530
33531
33532
33533
33534
33535
33536
33537
33538
33539
33540
33541
33542
33543
33544
33545
33546
33547
33548
33549
33550
33551
33552
33553
33554
33555
33556
33557
33558
33559
33560
33561
33562
33563
33564
33565
33566
33567
33568
33569
33570
33571
33572
33573
33574
33575
33576
33577
33578
33579
33580
33581
33582
33583
33584
33585
33586
33587
33588
33589
33590
33591
33592
33593
33594
33595
33596
33597
33598
33599
33600
33601
33602
33603
33604
33605
33606
33607
33608
33609
33610
33611
33612
33613
33614
33615
33616
33617
33618
33619
33620
33621
33622
33623
33624
33625
33626
33627
33628
33629
33630
33631
33632
33633
33634
33635
33636
33637
33638
33639
33640
33641
33642
33643
33644
33645
33646
33647
33648
33649
33650
33651
33652
33653
33654
33655
33656
33657
33658
33659
33660
33661
33662
33663
33664
33665
33666
33667
33668
33669
33670
33671
33672
33673
33674
33675
33676
33677
33678
33679
33680
33681
33682
33683
33684
33685
33686
33687
33688
33689
33690
33691
33692
33693
33694
33695
33696
33697
33698
33699
33700
33701
33702
33703
33704
33705
33706
33707
33708
33709
33710
33711
33712
33713
33714
33715
33716
33717
33718
33719
33720
33721
33722
33723
33724
33725
33726
33727
33728
33729
33730
33731
33732
33733
33734
33735
33736
33737
33738
33739
33740
33741
33742
33743
33744
33745
33746
33747
33748
33749
33750
33751
33752
33753
33754
33755
33756
33757
33758
33759
33760
33761
33762
33763
33764
33765
33766
33767
33768
33769
33770
33771
33772
33773
33774
33775
33776
33777
33778
33779
33780
33781
33782
33783
33784
33785
33786
33787
33788
33789
33790
33791
33792
33793
33794
33795
33796
33797
33798
33799
33800
33801
33802
33803
33804
33805
33806
33807
33808
33809
33810
33811
33812
33813
33814
33815
33816
33817
33818
33819
33820
33821
33822
33823
33824
33825
33826
33827
33828
33829
33830
33831
33832
33833
33834
33835
33836
33837
33838
33839
33840
33841
33842
33843
33844
33845
33846
33847
33848
33849
33850
33851
33852
33853
33854
33855
33856
33857
33858
33859
33860
33861
33862
33863
33864
33865
33866
33867
33868
33869
33870
33871
33872
33873
33874
33875
33876
33877
33878
33879
33880
33881
33882
33883
33884
33885
33886
33887
33888
33889
33890
33891
33892
33893
33894
33895
33896
33897
33898
33899
33900
33901
33902
33903
33904
33905
33906
33907
33908
33909
33910
33911
33912
33913
33914
33915
33916
33917
33918
33919
33920
33921
33922
33923
33924
33925
33926
33927
33928
33929
33930
33931
33932
33933
33934
33935
33936
33937
33938
33939
33940
33941
33942
33943
33944
33945
33946
33947
33948
33949
33950
33951
33952
33953
33954
33955
33956
33957
33958
33959
33960
33961
33962
33963
33964
33965
33966
33967
33968
33969
33970
33971
33972
33973
33974
33975
33976
33977
33978
33979
33980
33981
33982
33983
33984
33985
33986
33987
33988
33989
33990
33991
33992
33993
33994
33995
33996
33997
33998
33999
34000
34001
34002
34003
34004
34005
34006
34007
34008
34009
34010
34011
34012
34013
34014
34015
34016
34017
34018
34019
34020
34021
34022
34023
34024
34025
34026
34027
34028
34029
34030
34031
34032
34033
34034
34035
34036
34037
34038
34039
34040
34041
34042
34043
34044
34045
34046
34047
34048
34049
34050
34051
34052
34053
34054
34055
34056
34057
34058
34059
34060
34061
34062
34063
34064
34065
34066
34067
34068
34069
34070
34071
34072
34073
34074
34075
34076
34077
34078
34079
34080
34081
34082
34083
34084
34085
34086
34087
34088
34089
34090
34091
34092
34093
34094
34095
34096
34097
34098
34099
34100
34101
34102
34103
34104
34105
34106
34107
34108
34109
34110
34111
34112
34113
34114
34115
34116
34117
34118
34119
34120
34121
34122
34123
34124
34125
34126
34127
34128
34129
34130
34131
34132
34133
34134
34135
34136
34137
34138
34139
34140
34141
34142
34143
34144
34145
34146
34147
34148
34149
34150
34151
34152
34153
34154
34155
34156
34157
34158
34159
34160
34161
34162
34163
34164
34165
34166
34167
34168
34169
34170
34171
34172
34173
34174
34175
34176
34177
34178
34179
34180
34181
34182
34183
34184
34185
34186
34187
34188
34189
34190
34191
34192
34193
34194
34195
34196
34197
34198
34199
34200
34201
34202
34203
34204
34205
34206
34207
34208
34209
34210
34211
34212
34213
34214
34215
34216
34217
34218
34219
34220
34221
34222
34223
34224
34225
34226
34227
34228
34229
34230
34231
34232
34233
34234
34235
34236
34237
34238
34239
34240
34241
34242
34243
34244
34245
34246
34247
34248
34249
34250
34251
34252
34253
34254
34255
34256
34257
34258
34259
34260
34261
34262
34263
34264
34265
34266
34267
34268
34269
34270
34271
34272
34273
34274
34275
34276
34277
34278
34279
34280
34281
34282
34283
34284
34285
34286
34287
34288
34289
34290
34291
34292
34293
34294
34295
34296
34297
34298
34299
34300
34301
34302
34303
34304
34305
34306
34307
34308
34309
34310
34311
34312
34313
34314
34315
34316
34317
34318
34319
34320
34321
34322
34323
34324
34325
34326
34327
34328
34329
34330
34331
34332
34333
34334
34335
34336
34337
34338
34339
34340
34341
34342
34343
34344
34345
34346
34347
34348
34349
34350
34351
34352
34353
34354
34355
34356
34357
34358
34359
34360
34361
34362
34363
34364
34365
34366
34367
34368
34369
34370
34371
34372
34373
34374
34375
34376
34377
34378
34379
34380
34381
34382
34383
34384
34385
34386
34387
34388
34389
34390
34391
34392
34393
34394
34395
34396
34397
34398
34399
34400
34401
34402
34403
34404
34405
34406
34407
34408
34409
34410
34411
34412
34413
34414
34415
34416
34417
34418
34419
34420
34421
34422
34423
34424
34425
34426
34427
34428
34429
34430
34431
34432
34433
34434
34435
34436
34437
34438
34439
34440
34441
34442
34443
34444
34445
34446
34447
34448
34449
34450
34451
34452
34453
34454
34455
34456
34457
34458
34459
34460
34461
34462
34463
34464
34465
34466
34467
34468
34469
34470
34471
34472
34473
34474
34475
34476
34477
34478
34479
34480
34481
34482
34483
34484
34485
34486
34487
34488
34489
34490
34491
34492
34493
34494
34495
34496
34497
34498
34499
34500
34501
34502
34503
34504
34505
34506
34507
34508
34509
34510
34511
34512
34513
34514
34515
34516
34517
34518
34519
34520
34521
34522
34523
34524
34525
34526
34527
34528
34529
34530
34531
34532
34533
34534
34535
34536
34537
34538
34539
34540
34541
34542
34543
34544
34545
34546
34547
34548
34549
34550
34551
34552
34553
34554
34555
34556
34557
34558
34559
34560
34561
34562
34563
34564
34565
34566
34567
34568
34569
34570
34571
34572
34573
34574
34575
34576
34577
34578
34579
34580
34581
34582
34583
34584
34585
34586
34587
34588
34589
34590
34591
34592
34593
34594
34595
34596
34597
34598
34599
34600
34601
34602
34603
34604
34605
34606
34607
34608
34609
34610
34611
34612
34613
34614
34615
34616
34617
34618
34619
34620
34621
34622
34623
34624
34625
34626
34627
34628
34629
34630
34631
34632
34633
34634
34635
34636
34637
34638
34639
34640
34641
34642
34643
34644
34645
34646
34647
34648
34649
34650
34651
34652
34653
34654
34655
34656
34657
34658
34659
34660
34661
34662
34663
34664
34665
34666
34667
34668
34669
34670
34671
34672
34673
34674
34675
34676
34677
34678
34679
34680
34681
34682
34683
34684
34685
34686
34687
34688
34689
34690
34691
34692
34693
34694
34695
34696
34697
34698
34699
34700
34701
34702
34703
34704
34705
34706
34707
34708
34709
34710
34711
34712
34713
34714
34715
34716
34717
34718
34719
34720
34721
34722
34723
34724
34725
34726
34727
34728
34729
34730
34731
34732
34733
34734
34735
34736
34737
34738
34739
34740
34741
34742
34743
34744
34745
34746
34747
34748
34749
34750
34751
34752
34753
34754
34755
34756
34757
34758
34759
34760
34761
34762
34763
34764
34765
34766
34767
34768
34769
34770
34771
34772
34773
34774
34775
34776
34777
34778
34779
34780
34781
34782
34783
34784
34785
34786
34787
34788
34789
34790
34791
34792
34793
34794
34795
34796
34797
34798
34799
34800
34801
34802
34803
34804
34805
34806
34807
34808
34809
34810
34811
34812
34813
34814
34815
34816
34817
34818
34819
34820
34821
34822
34823
34824
34825
34826
34827
34828
34829
34830
34831
34832
34833
34834
34835
34836
34837
34838
34839
34840
34841
34842
34843
34844
34845
34846
34847
34848
34849
34850
34851
34852
34853
34854
34855
34856
34857
34858
34859
34860
34861
34862
34863
34864
34865
34866
34867
34868
34869
34870
34871
34872
34873
34874
34875
34876
34877
34878
34879
34880
34881
34882
34883
34884
34885
34886
34887
34888
34889
34890
34891
34892
34893
34894
34895
34896
34897
34898
34899
34900
34901
34902
34903
34904
34905
34906
34907
34908
34909
34910
34911
34912
34913
34914
34915
34916
34917
34918
34919
34920
34921
34922
34923
34924
34925
34926
34927
34928
34929
34930
34931
34932
34933
34934
34935
34936
34937
34938
34939
34940
34941
34942
34943
34944
34945
34946
34947
34948
34949
34950
34951
34952
34953
34954
34955
34956
34957
34958
34959
34960
34961
34962
34963
34964
34965
34966
34967
34968
34969
34970
34971
34972
34973
34974
34975
34976
34977
34978
34979
34980
34981
34982
34983
34984
34985
34986
34987
34988
34989
34990
34991
34992
34993
34994
34995
34996
34997
34998
34999
35000
35001
35002
35003
35004
35005
35006
35007
35008
35009
35010
35011
35012
35013
35014
35015
35016
35017
35018
35019
35020
35021
35022
35023
35024
35025
35026
35027
35028
35029
35030
35031
35032
35033
35034
35035
35036
35037
35038
35039
35040
35041
35042
35043
35044
35045
35046
35047
35048
35049
35050
35051
35052
35053
35054
35055
35056
35057
35058
35059
35060
35061
35062
35063
35064
35065
35066
35067
35068
35069
35070
35071
35072
35073
35074
35075
35076
35077
35078
35079
35080
35081
35082
35083
35084
35085
35086
35087
35088
35089
35090
35091
35092
35093
35094
35095
35096
35097
35098
35099
35100
35101
35102
35103
35104
35105
35106
35107
35108
35109
35110
35111
35112
35113
35114
35115
35116
35117
35118
35119
35120
35121
35122
35123
35124
35125
35126
35127
35128
35129
35130
35131
35132
35133
35134
35135
35136
35137
35138
35139
35140
35141
35142
35143
35144
35145
35146
35147
35148
35149
35150
35151
35152
35153
35154
35155
35156
35157
35158
35159
35160
35161
35162
35163
35164
35165
35166
35167
35168
35169
35170
35171
35172
35173
35174
35175
35176
35177
35178
35179
35180
35181
35182
35183
35184
35185
35186
35187
35188
35189
35190
35191
35192
35193
35194
35195
35196
35197
35198
35199
35200
35201
35202
35203
35204
35205
35206
35207
35208
35209
35210
35211
35212
35213
35214
35215
35216
35217
35218
35219
35220
35221
35222
35223
35224
35225
35226
35227
35228
35229
35230
35231
35232
35233
35234
35235
35236
35237
35238
35239
35240
35241
35242
35243
35244
35245
35246
35247
35248
35249
35250
35251
35252
35253
35254
35255
35256
35257
35258
35259
35260
35261
35262
35263
35264
35265
35266
35267
35268
35269
35270
35271
35272
35273
35274
35275
35276
35277
35278
35279
35280
35281
35282
35283
35284
35285
35286
35287
35288
35289
35290
35291
35292
35293
35294
35295
35296
35297
35298
35299
35300
35301
35302
35303
35304
35305
35306
35307
35308
35309
35310
35311
35312
35313
35314
35315
35316
35317
35318
35319
35320
35321
35322
35323
35324
35325
35326
35327
35328
35329
35330
35331
35332
35333
35334
35335
35336
35337
35338
35339
35340
35341
35342
35343
35344
35345
35346
35347
35348
35349
35350
35351
35352
35353
35354
35355
35356
35357
35358
35359
35360
35361
35362
35363
35364
35365
35366
35367
35368
35369
35370
35371
35372
35373
35374
35375
35376
35377
35378
35379
35380
35381
35382
35383
35384
35385
35386
35387
35388
35389
35390
35391
35392
35393
35394
35395
35396
35397
35398
35399
35400
35401
35402
35403
35404
35405
35406
35407
35408
35409
35410
35411
35412
35413
35414
35415
35416
35417
35418
35419
35420
35421
35422
35423
35424
35425
35426
35427
35428
35429
35430
35431
35432
35433
35434
35435
35436
35437
35438
35439
35440
35441
35442
35443
35444
35445
35446
35447
35448
35449
35450
35451
35452
35453
35454
35455
35456
35457
35458
35459
35460
35461
35462
35463
35464
35465
35466
35467
35468
35469
35470
35471
35472
35473
35474
35475
35476
35477
35478
35479
35480
35481
35482
35483
35484
35485
35486
35487
35488
35489
35490
35491
35492
35493
35494
35495
35496
35497
35498
35499
35500
35501
35502
35503
35504
35505
35506
35507
35508
35509
35510
35511
35512
35513
35514
35515
35516
35517
35518
35519
35520
35521
35522
35523
35524
35525
35526
35527
35528
35529
35530
35531
35532
35533
35534
35535
35536
35537
35538
35539
35540
35541
35542
35543
35544
35545
35546
35547
35548
35549
35550
35551
35552
35553
35554
35555
35556
35557
35558
35559
35560
35561
35562
35563
35564
35565
35566
35567
35568
35569
35570
35571
35572
35573
35574
35575
35576
35577
35578
35579
35580
35581
35582
35583
35584
35585
35586
35587
35588
35589
35590
35591
35592
35593
35594
35595
35596
35597
35598
35599
35600
35601
35602
35603
35604
35605
35606
35607
35608
35609
35610
35611
35612
35613
35614
35615
35616
35617
35618
35619
35620
35621
35622
35623
35624
35625
35626
35627
35628
35629
35630
35631
35632
35633
35634
35635
35636
35637
35638
35639
35640
35641
35642
35643
35644
35645
35646
35647
35648
35649
35650
35651
35652
35653
35654
35655
35656
35657
35658
35659
35660
35661
35662
35663
35664
35665
35666
35667
35668
35669
35670
35671
35672
35673
35674
35675
35676
35677
35678
35679
35680
35681
35682
35683
35684
35685
35686
35687
35688
35689
35690
35691
35692
35693
35694
35695
35696
35697
35698
35699
35700
35701
35702
35703
35704
35705
35706
35707
35708
35709
35710
35711
35712
35713
35714
35715
35716
35717
35718
35719
35720
35721
35722
35723
35724
35725
35726
35727
35728
35729
35730
35731
35732
35733
35734
35735
35736
35737
35738
35739
35740
35741
35742
35743
35744
35745
35746
35747
35748
35749
35750
35751
35752
35753
35754
35755
35756
35757
35758
35759
35760
35761
35762
35763
35764
35765
35766
35767
35768
35769
35770
35771
35772
35773
35774
35775
35776
35777
35778
35779
35780
35781
35782
35783
35784
35785
35786
35787
35788
35789
35790
35791
35792
35793
35794
35795
35796
35797
35798
35799
35800
35801
35802
35803
35804
35805
35806
35807
35808
35809
35810
35811
35812
35813
35814
35815
35816
35817
35818
35819
35820
35821
35822
35823
35824
35825
35826
35827
35828
35829
35830
35831
35832
35833
35834
35835
35836
35837
35838
35839
35840
35841
35842
35843
35844
35845
35846
35847
35848
35849
35850
35851
35852
35853
35854
35855
35856
35857
35858
35859
35860
35861
35862
35863
35864
35865
35866
35867
35868
35869
35870
35871
35872
35873
35874
35875
35876
35877
35878
35879
35880
35881
35882
35883
35884
35885
35886
35887
35888
35889
35890
35891
35892
35893
35894
35895
35896
35897
35898
35899
35900
35901
35902
35903
35904
35905
35906
35907
35908
35909
35910
35911
35912
35913
35914
35915
35916
35917
35918
35919
35920
35921
35922
35923
35924
35925
35926
35927
35928
35929
35930
35931
35932
35933
35934
35935
35936
35937
35938
35939
35940
35941
35942
35943
35944
35945
35946
35947
35948
35949
35950
35951
35952
35953
35954
35955
35956
35957
35958
35959
35960
35961
35962
35963
35964
35965
35966
35967
35968
35969
35970
35971
35972
35973
35974
35975
35976
35977
35978
35979
35980
35981
35982
35983
35984
35985
35986
35987
35988
35989
35990
35991
35992
35993
35994
35995
35996
35997
35998
35999
36000
36001
36002
36003
36004
36005
36006
36007
36008
36009
36010
36011
36012
36013
36014
36015
36016
36017
36018
36019
36020
36021
36022
36023
36024
36025
36026
36027
36028
36029
36030
36031
36032
36033
36034
36035
36036
36037
36038
36039
36040
36041
36042
36043
36044
36045
36046
36047
36048
36049
36050
36051
36052
36053
36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
36075
36076
36077
36078
36079
36080
36081
36082
36083
36084
36085
36086
36087
36088
36089
36090
36091
36092
36093
36094
36095
36096
36097
36098
36099
36100
36101
36102
36103
36104
36105
36106
36107
36108
36109
36110
36111
36112
36113
36114
36115
36116
36117
36118
36119
36120
36121
36122
36123
36124
36125
36126
36127
36128
36129
36130
36131
36132
36133
36134
36135
36136
36137
36138
36139
36140
36141
36142
36143
36144
36145
36146
36147
36148
36149
36150
36151
36152
36153
36154
36155
36156
36157
36158
36159
36160
36161
36162
36163
36164
36165
36166
36167
36168
36169
36170
36171
36172
36173
36174
36175
36176
36177
36178
36179
36180
36181
36182
36183
36184
36185
36186
36187
36188
36189
36190
36191
36192
36193
36194
36195
36196
36197
36198
36199
36200
36201
36202
36203
36204
36205
36206
36207
36208
36209
36210
36211
36212
36213
36214
36215
36216
36217
36218
36219
36220
36221
36222
36223
36224
36225
36226
36227
36228
36229
36230
36231
36232
36233
36234
36235
36236
36237
36238
36239
36240
36241
36242
36243
36244
36245
36246
36247
36248
36249
36250
36251
36252
36253
36254
36255
36256
36257
36258
36259
36260
36261
36262
36263
36264
36265
36266
36267
36268
36269
36270
36271
36272
36273
36274
36275
36276
36277
36278
36279
36280
36281
36282
36283
36284
36285
36286
36287
36288
36289
36290
36291
36292
36293
36294
36295
36296
36297
36298
36299
36300
36301
36302
36303
36304
36305
36306
36307
36308
36309
36310
36311
36312
36313
36314
36315
36316
36317
36318
36319
36320
36321
36322
36323
36324
36325
36326
36327
36328
36329
36330
36331
36332
36333
36334
36335
36336
36337
36338
36339
36340
36341
36342
36343
36344
36345
36346
36347
36348
36349
36350
36351
36352
36353
36354
36355
36356
36357
36358
36359
36360
36361
36362
36363
36364
36365
36366
36367
36368
36369
36370
36371
36372
36373
36374
36375
36376
36377
36378
36379
36380
36381
36382
36383
36384
36385
36386
36387
36388
36389
36390
36391
36392
36393
36394
36395
36396
36397
36398
36399
36400
36401
36402
36403
36404
36405
36406
36407
36408
36409
36410
36411
36412
36413
36414
36415
36416
36417
36418
36419
36420
36421
36422
36423
36424
36425
36426
36427
36428
36429
36430
36431
36432
36433
36434
36435
36436
36437
36438
36439
36440
36441
36442
36443
36444
36445
36446
36447
36448
36449
36450
36451
36452
36453
36454
36455
36456
36457
36458
36459
36460
36461
36462
36463
36464
36465
36466
36467
36468
36469
36470
36471
36472
36473
36474
36475
36476
36477
36478
36479
36480
36481
36482
36483
36484
36485
36486
36487
36488
36489
36490
36491
36492
36493
36494
36495
36496
36497
36498
36499
36500
36501
36502
36503
36504
36505
36506
36507
36508
36509
36510
36511
36512
36513
36514
36515
36516
36517
36518
36519
36520
36521
36522
36523
36524
36525
36526
36527
36528
36529
36530
36531
36532
36533
36534
36535
36536
36537
36538
36539
36540
36541
36542
36543
36544
36545
36546
36547
36548
36549
36550
36551
36552
36553
36554
36555
36556
36557
36558
36559
36560
36561
36562
36563
36564
36565
36566
36567
36568
36569
36570
36571
36572
36573
36574
36575
36576
36577
36578
36579
36580
36581
36582
36583
36584
36585
36586
36587
36588
36589
36590
36591
36592
36593
36594
36595
36596
36597
36598
36599
36600
36601
36602
36603
36604
36605
36606
36607
36608
36609
36610
36611
36612
36613
36614
36615
36616
36617
36618
36619
36620
36621
36622
36623
36624
36625
36626
36627
36628
36629
36630
36631
36632
36633
36634
36635
36636
36637
36638
36639
36640
36641
36642
36643
36644
36645
36646
36647
36648
36649
36650
36651
36652
36653
36654
36655
36656
36657
36658
36659
36660
36661
36662
36663
36664
36665
36666
36667
36668
36669
36670
36671
36672
36673
36674
36675
36676
36677
36678
36679
36680
36681
36682
36683
36684
36685
36686
36687
36688
36689
36690
36691
36692
36693
36694
36695
36696
36697
36698
36699
36700
36701
36702
36703
36704
36705
36706
36707
36708
36709
36710
36711
36712
36713
36714
36715
36716
36717
36718
36719
36720
36721
36722
36723
36724
36725
36726
36727
36728
36729
36730
36731
36732
36733
36734
36735
36736
36737
36738
36739
36740
36741
36742
36743
36744
36745
36746
36747
36748
36749
36750
36751
36752
36753
36754
36755
36756
36757
36758
36759
36760
36761
36762
36763
36764
36765
36766
36767
36768
36769
36770
36771
36772
36773
36774
36775
36776
36777
36778
36779
36780
36781
36782
36783
36784
36785
36786
36787
36788
36789
36790
36791
36792
36793
36794
36795
36796
36797
36798
36799
36800
36801
36802
36803
36804
36805
36806
36807
36808
36809
36810
36811
36812
36813
36814
36815
36816
36817
36818
36819
36820
36821
36822
36823
36824
36825
36826
36827
36828
36829
36830
36831
36832
36833
36834
36835
36836
36837
36838
36839
36840
36841
36842
36843
36844
36845
36846
36847
36848
36849
36850
36851
36852
36853
36854
36855
36856
36857
36858
36859
36860
36861
36862
36863
36864
36865
36866
36867
36868
36869
36870
36871
36872
36873
36874
36875
36876
36877
36878
36879
36880
36881
36882
36883
36884
36885
36886
36887
36888
36889
36890
36891
36892
36893
36894
36895
36896
36897
36898
36899
36900
36901
36902
36903
36904
36905
36906
36907
36908
36909
36910
36911
36912
36913
36914
36915
36916
36917
36918
36919
36920
36921
36922
36923
36924
36925
36926
36927
36928
36929
36930
36931
36932
36933
36934
36935
36936
36937
36938
36939
36940
36941
36942
36943
36944
36945
36946
36947
36948
36949
36950
36951
36952
36953
36954
36955
36956
36957
36958
36959
36960
36961
36962
36963
36964
36965
36966
36967
36968
36969
36970
36971
36972
36973
36974
36975
36976
36977
36978
36979
36980
36981
36982
36983
36984
36985
36986
36987
36988
36989
36990
36991
36992
36993
36994
36995
36996
36997
36998
36999
37000
37001
37002
37003
37004
37005
37006
37007
37008
37009
37010
37011
37012
37013
37014
37015
37016
37017
37018
37019
37020
37021
37022
37023
37024
37025
37026
37027
37028
37029
37030
37031
37032
37033
37034
37035
37036
37037
37038
37039
37040
37041
37042
37043
37044
37045
37046
37047
37048
37049
37050
37051
37052
37053
37054
37055
37056
37057
37058
37059
37060
37061
37062
37063
37064
37065
37066
37067
37068
37069
37070
37071
37072
37073
37074
37075
37076
37077
37078
37079
37080
37081
37082
37083
37084
37085
37086
37087
37088
37089
37090
37091
37092
37093
37094
37095
37096
37097
37098
37099
37100
37101
37102
37103
37104
37105
37106
37107
37108
37109
37110
37111
37112
37113
37114
37115
37116
37117
37118
37119
37120
37121
37122
37123
37124
37125
37126
37127
37128
37129
37130
37131
37132
37133
37134
37135
37136
37137
37138
37139
37140
37141
37142
37143
37144
37145
37146
37147
37148
37149
37150
37151
37152
37153
37154
37155
37156
37157
37158
37159
37160
37161
37162
37163
37164
37165
37166
37167
37168
37169
37170
37171
37172
37173
37174
37175
37176
37177
37178
37179
37180
37181
37182
37183
37184
37185
37186
37187
37188
37189
37190
37191
37192
37193
37194
37195
37196
37197
37198
37199
37200
37201
37202
37203
37204
37205
37206
37207
37208
37209
37210
37211
37212
37213
37214
37215
37216
37217
37218
37219
37220
37221
37222
37223
37224
37225
37226
37227
37228
37229
37230
37231
37232
37233
37234
37235
37236
37237
37238
37239
37240
37241
37242
37243
37244
37245
37246
37247
37248
37249
37250
37251
37252
37253
37254
37255
37256
37257
37258
37259
37260
37261
37262
37263
37264
37265
37266
37267
37268
37269
37270
37271
37272
37273
37274
37275
37276
37277
37278
37279
37280
37281
37282
37283
37284
37285
37286
37287
37288
37289
37290
37291
37292
37293
37294
37295
37296
37297
37298
37299
37300
37301
37302
37303
37304
37305
37306
37307
37308
37309
37310
37311
37312
37313
37314
37315
37316
37317
37318
37319
37320
37321
37322
37323
37324
37325
37326
37327
37328
37329
37330
37331
37332
37333
37334
37335
37336
37337
37338
37339
37340
37341
37342
37343
37344
37345
37346
37347
37348
37349
37350
37351
37352
37353
37354
37355
37356
37357
37358
37359
37360
37361
37362
37363
37364
37365
37366
37367
37368
37369
37370
37371
37372
37373
37374
37375
37376
37377
37378
37379
37380
37381
37382
37383
37384
37385
37386
37387
37388
37389
37390
37391
37392
37393
37394
37395
37396
37397
37398
37399
37400
37401
37402
37403
37404
37405
37406
37407
37408
37409
37410
37411
37412
37413
37414
37415
37416
37417
37418
37419
37420
37421
37422
37423
37424
37425
37426
37427
37428
37429
37430
37431
37432
37433
37434
37435
37436
37437
37438
37439
37440
37441
37442
37443
37444
37445
37446
37447
37448
37449
37450
37451
37452
37453
37454
37455
37456
37457
37458
37459
37460
37461
37462
37463
37464
37465
37466
37467
37468
37469
37470
37471
37472
37473
37474
37475
37476
37477
37478
37479
37480
37481
37482
37483
37484
37485
37486
37487
37488
37489
37490
37491
37492
37493
37494
37495
37496
37497
37498
37499
37500
37501
37502
37503
37504
37505
37506
37507
37508
37509
37510
37511
37512
37513
37514
37515
37516
37517
37518
37519
37520
37521
37522
37523
37524
37525
37526
37527
37528
37529
37530
37531
37532
37533
37534
37535
37536
37537
37538
37539
37540
37541
37542
37543
37544
37545
37546
37547
37548
37549
37550
37551
37552
37553
37554
37555
37556
37557
37558
37559
37560
37561
37562
37563
37564
37565
37566
37567
37568
37569
37570
37571
37572
37573
37574
37575
37576
37577
37578
37579
37580
37581
37582
37583
37584
37585
37586
37587
37588
37589
37590
37591
37592
37593
37594
37595
37596
37597
37598
37599
37600
37601
37602
37603
37604
37605
37606
37607
37608
37609
37610
37611
37612
37613
37614
37615
37616
37617
37618
37619
37620
37621
37622
37623
37624
37625
37626
37627
37628
37629
37630
37631
37632
37633
37634
37635
37636
37637
37638
37639
37640
37641
37642
37643
37644
37645
37646
37647
37648
37649
37650
37651
37652
37653
37654
37655
37656
37657
37658
37659
37660
37661
37662
37663
37664
37665
37666
37667
37668
37669
37670
37671
37672
37673
37674
37675
37676
37677
37678
37679
37680
37681
37682
37683
37684
37685
37686
37687
37688
37689
37690
37691
37692
37693
37694
37695
37696
37697
37698
37699
37700
37701
37702
37703
37704
37705
37706
37707
37708
37709
37710
37711
37712
37713
37714
37715
37716
37717
37718
37719
37720
37721
37722
37723
37724
37725
37726
37727
37728
37729
37730
37731
37732
37733
37734
37735
37736
37737
37738
37739
37740
37741
37742
37743
37744
37745
37746
37747
37748
37749
37750
37751
37752
37753
37754
37755
37756
37757
37758
37759
37760
37761
37762
37763
37764
37765
37766
37767
37768
37769
37770
37771
37772
37773
37774
37775
37776
37777
37778
37779
37780
37781
37782
37783
37784
37785
37786
37787
37788
37789
37790
37791
37792
37793
37794
37795
37796
37797
37798
37799
37800
37801
37802
37803
37804
37805
37806
37807
37808
37809
37810
37811
37812
37813
37814
37815
37816
37817
37818
37819
37820
37821
37822
37823
37824
37825
37826
37827
37828
37829
37830
37831
37832
37833
37834
37835
37836
37837
37838
37839
37840
37841
37842
37843
37844
37845
37846
37847
37848
37849
37850
37851
37852
37853
37854
37855
37856
37857
37858
37859
37860
37861
37862
37863
37864
37865
37866
37867
37868
37869
37870
37871
37872
37873
37874
37875
37876
37877
37878
37879
37880
37881
37882
37883
37884
37885
37886
37887
37888
37889
37890
37891
37892
37893
37894
37895
37896
37897
37898
37899
37900
37901
37902
37903
37904
37905
37906
37907
37908
37909
37910
37911
37912
37913
37914
37915
37916
37917
37918
37919
37920
37921
37922
37923
37924
37925
37926
37927
37928
37929
37930
37931
37932
37933
37934
37935
37936
37937
37938
37939
37940
37941
37942
37943
37944
37945
37946
37947
37948
37949
37950
37951
37952
37953
37954
37955
37956
37957
37958
37959
37960
37961
37962
37963
37964
37965
37966
37967
37968
37969
37970
37971
37972
37973
37974
37975
37976
37977
37978
37979
37980
37981
37982
37983
37984
37985
37986
37987
37988
37989
37990
37991
37992
37993
37994
37995
37996
37997
37998
37999
38000
38001
38002
38003
38004
38005
38006
38007
38008
38009
38010
38011
38012
38013
38014
38015
38016
38017
38018
38019
38020
38021
38022
38023
38024
38025
38026
38027
38028
38029
38030
38031
38032
38033
38034
38035
38036
38037
38038
38039
38040
38041
38042
38043
38044
38045
38046
38047
38048
38049
38050
38051
38052
38053
38054
38055
38056
38057
38058
38059
38060
38061
38062
38063
38064
38065
38066
38067
38068
38069
38070
38071
38072
38073
38074
38075
38076
38077
38078
38079
38080
38081
38082
38083
38084
38085
38086
38087
38088
38089
38090
38091
38092
38093
38094
38095
38096
38097
38098
38099
38100
38101
38102
38103
38104
38105
38106
38107
38108
38109
38110
38111
38112
38113
38114
38115
38116
38117
38118
38119
38120
38121
38122
38123
38124
38125
38126
38127
38128
38129
38130
38131
38132
38133
38134
38135
38136
38137
38138
38139
38140
38141
38142
38143
38144
38145
38146
38147
38148
38149
38150
38151
38152
38153
38154
38155
38156
38157
38158
38159
38160
38161
38162
38163
38164
38165
38166
38167
38168
38169
38170
38171
38172
38173
38174
38175
38176
38177
38178
38179
38180
38181
38182
38183
38184
38185
38186
38187
38188
38189
38190
38191
38192
38193
38194
38195
38196
38197
38198
38199
38200
38201
38202
38203
38204
38205
38206
38207
38208
38209
38210
38211
38212
38213
38214
38215
38216
38217
38218
38219
38220
38221
38222
38223
38224
38225
38226
38227
38228
38229
38230
38231
38232
38233
38234
38235
38236
38237
38238
38239
38240
38241
38242
38243
38244
38245
38246
38247
38248
38249
38250
38251
38252
38253
38254
38255
38256
38257
38258
38259
38260
38261
38262
38263
38264
38265
38266
38267
38268
38269
38270
38271
38272
38273
38274
38275
38276
38277
38278
38279
38280
38281
38282
38283
38284
38285
38286
38287
38288
38289
38290
38291
38292
38293
38294
38295
38296
38297
38298
38299
38300
38301
38302
38303
38304
38305
38306
38307
38308
38309
38310
38311
38312
38313
38314
38315
38316
38317
38318
38319
38320
38321
38322
38323
38324
38325
38326
38327
38328
38329
38330
38331
38332
38333
38334
38335
38336
38337
38338
38339
38340
38341
38342
38343
38344
38345
38346
38347
38348
38349
38350
38351
38352
38353
38354
38355
38356
38357
38358
38359
38360
38361
38362
38363
38364
38365
38366
38367
38368
38369
38370
38371
38372
38373
38374
38375
38376
38377
38378
38379
38380
38381
38382
38383
38384
38385
38386
38387
38388
38389
38390
38391
38392
38393
38394
38395
38396
38397
38398
38399
38400
38401
38402
38403
38404
38405
38406
38407
38408
38409
38410
38411
38412
38413
38414
38415
38416
38417
38418
38419
38420
38421
38422
38423
38424
38425
38426
38427
38428
38429
38430
38431
38432
38433
38434
38435
38436
38437
38438
38439
38440
38441
38442
38443
38444
38445
38446
38447
38448
38449
38450
38451
38452
38453
38454
38455
38456
38457
38458
38459
38460
38461
38462
38463
38464
38465
38466
38467
38468
38469
38470
38471
38472
38473
38474
38475
38476
38477
38478
38479
38480
38481
38482
38483
38484
38485
38486
38487
38488
38489
38490
38491
38492
38493
38494
38495
38496
38497
38498
38499
38500
38501
38502
38503
38504
38505
38506
38507
38508
38509
38510
38511
38512
38513
38514
38515
38516
38517
38518
38519
38520
38521
38522
38523
38524
38525
38526
38527
38528
38529
38530
38531
38532
38533
38534
38535
38536
38537
38538
38539
38540
38541
38542
38543
38544
38545
38546
38547
38548
38549
38550
38551
38552
38553
38554
38555
38556
38557
38558
38559
38560
38561
38562
38563
38564
38565
38566
38567
38568
38569
38570
38571
38572
38573
38574
38575
38576
38577
38578
38579
38580
38581
38582
38583
38584
38585
38586
38587
38588
38589
38590
38591
38592
38593
38594
38595
38596
38597
38598
38599
38600
38601
38602
38603
38604
38605
38606
38607
38608
38609
38610
38611
38612
38613
38614
38615
38616
38617
38618
38619
38620
38621
38622
38623
38624
38625
38626
38627
38628
38629
38630
38631
38632
38633
38634
38635
38636
38637
38638
38639
38640
38641
38642
38643
38644
38645
38646
38647
38648
38649
38650
38651
38652
38653
38654
38655
38656
38657
38658
38659
38660
38661
38662
38663
38664
38665
38666
38667
38668
38669
38670
38671
38672
38673
38674
38675
38676
38677
38678
38679
38680
38681
38682
38683
38684
38685
38686
38687
38688
38689
38690
38691
38692
38693
38694
38695
38696
38697
38698
38699
38700
38701
38702
38703
38704
38705
38706
38707
38708
38709
38710
38711
38712
38713
38714
38715
38716
38717
38718
38719
38720
38721
38722
38723
38724
38725
38726
38727
38728
38729
38730
38731
38732
38733
38734
38735
38736
38737
38738
38739
38740
38741
38742
38743
38744
38745
38746
38747
38748
38749
38750
38751
38752
38753
38754
38755
38756
38757
38758
38759
38760
38761
38762
38763
38764
38765
38766
38767
38768
38769
38770
38771
38772
38773
38774
38775
38776
38777
38778
38779
38780
38781
38782
38783
38784
38785
38786
38787
38788
38789
38790
38791
38792
38793
38794
38795
38796
38797
38798
38799
38800
38801
38802
38803
38804
38805
38806
38807
38808
38809
38810
38811
38812
38813
38814
38815
38816
38817
38818
38819
38820
38821
38822
38823
38824
38825
38826
38827
38828
38829
38830
38831
38832
38833
38834
38835
38836
38837
38838
38839
38840
38841
38842
38843
38844
38845
38846
38847
38848
38849
38850
38851
38852
38853
38854
38855
38856
38857
38858
38859
38860
38861
38862
38863
38864
38865
38866
38867
38868
38869
38870
38871
38872
38873
38874
38875
38876
38877
38878
38879
38880
38881
38882
38883
38884
38885
38886
38887
38888
38889
38890
38891
38892
38893
38894
38895
38896
38897
38898
38899
38900
38901
38902
38903
38904
38905
38906
38907
38908
38909
38910
38911
38912
38913
38914
38915
38916
38917
38918
38919
38920
38921
38922
38923
38924
38925
38926
38927
38928
38929
38930
38931
38932
38933
38934
38935
38936
38937
38938
38939
38940
38941
38942
38943
38944
38945
38946
38947
38948
38949
38950
38951
38952
38953
38954
38955
38956
38957
38958
38959
38960
38961
38962
38963
38964
38965
38966
38967
38968
38969
38970
38971
38972
38973
38974
38975
38976
38977
38978
38979
38980
38981
38982
38983
38984
38985
38986
38987
38988
38989
38990
38991
38992
38993
38994
38995
38996
38997
38998
38999
39000
39001
39002
39003
39004
39005
39006
39007
39008
39009
39010
39011
39012
39013
39014
39015
39016
39017
39018
39019
39020
39021
39022
39023
39024
39025
39026
39027
39028
39029
39030
39031
39032
39033
39034
39035
39036
39037
39038
39039
39040
39041
39042
39043
39044
39045
39046
39047
39048
39049
39050
39051
39052
39053
39054
39055
39056
39057
39058
39059
39060
39061
39062
39063
39064
39065
39066
39067
39068
39069
39070
39071
39072
39073
39074
39075
39076
39077
39078
39079
39080
39081
39082
39083
39084
39085
39086
39087
39088
39089
39090
39091
39092
39093
39094
39095
39096
39097
39098
39099
39100
39101
39102
39103
39104
39105
39106
39107
39108
39109
39110
39111
39112
39113
39114
39115
39116
39117
39118
39119
39120
39121
39122
39123
39124
39125
39126
39127
39128
39129
39130
39131
39132
39133
39134
39135
39136
39137
39138
39139
39140
39141
39142
39143
39144
39145
39146
39147
39148
39149
39150
39151
39152
39153
39154
39155
39156
39157
39158
39159
39160
39161
39162
39163
39164
39165
39166
39167
39168
39169
39170
39171
39172
39173
39174
39175
39176
39177
39178
39179
39180
39181
39182
39183
39184
39185
39186
39187
39188
39189
39190
39191
39192
39193
39194
39195
39196
39197
39198
39199
39200
39201
39202
39203
39204
39205
39206
39207
39208
39209
39210
39211
39212
39213
39214
39215
39216
39217
39218
39219
39220
39221
39222
39223
39224
39225
39226
39227
39228
39229
39230
39231
39232
39233
39234
39235
39236
39237
39238
39239
39240
39241
39242
39243
39244
39245
39246
39247
39248
39249
39250
39251
39252
39253
39254
39255
39256
39257
39258
39259
39260
39261
39262
39263
39264
39265
39266
39267
39268
39269
39270
39271
39272
39273
39274
39275
39276
39277
39278
39279
39280
39281
39282
39283
39284
39285
39286
39287
39288
39289
39290
39291
39292
39293
39294
39295
39296
39297
39298
39299
39300
39301
39302
39303
39304
39305
39306
39307
39308
39309
39310
39311
39312
39313
39314
39315
39316
39317
39318
39319
39320
39321
39322
39323
39324
39325
39326
39327
39328
39329
39330
39331
39332
39333
39334
39335
39336
39337
39338
39339
39340
39341
39342
39343
39344
39345
39346
39347
39348
39349
39350
39351
39352
39353
39354
39355
39356
39357
39358
39359
39360
39361
39362
39363
39364
39365
39366
39367
39368
39369
39370
39371
39372
39373
39374
39375
39376
39377
39378
39379
39380
39381
39382
39383
39384
39385
39386
39387
39388
39389
39390
39391
39392
39393
39394
39395
39396
39397
39398
39399
39400
39401
39402
39403
39404
39405
39406
39407
39408
39409
39410
39411
39412
39413
39414
39415
39416
39417
39418
39419
39420
39421
39422
39423
39424
39425
39426
39427
39428
39429
39430
39431
39432
39433
39434
39435
39436
39437
39438
39439
39440
39441
39442
39443
39444
39445
39446
39447
39448
39449
39450
39451
39452
39453
39454
39455
39456
39457
39458
39459
39460
39461
39462
39463
39464
39465
39466
39467
39468
39469
39470
39471
39472
39473
39474
39475
39476
39477
39478
39479
39480
39481
39482
39483
39484
39485
39486
39487
39488
39489
39490
39491
39492
39493
39494
39495
39496
39497
39498
39499
39500
39501
39502
39503
39504
39505
39506
39507
39508
39509
39510
39511
39512
39513
39514
39515
39516
39517
39518
39519
39520
39521
39522
39523
39524
39525
39526
39527
39528
39529
39530
39531
39532
39533
39534
39535
39536
39537
39538
39539
39540
39541
39542
39543
39544
39545
39546
39547
39548
39549
39550
39551
39552
39553
39554
39555
39556
39557
39558
39559
39560
39561
39562
39563
39564
39565
39566
39567
39568
39569
39570
39571
39572
39573
39574
39575
39576
39577
39578
39579
39580
39581
39582
39583
39584
39585
39586
39587
39588
39589
39590
39591
39592
39593
39594
39595
39596
39597
39598
39599
39600
39601
39602
39603
39604
39605
39606
39607
39608
39609
39610
39611
39612
39613
39614
39615
39616
39617
39618
39619
39620
39621
39622
39623
39624
39625
39626
39627
39628
39629
39630
39631
39632
39633
39634
39635
39636
39637
39638
39639
39640
39641
39642
39643
39644
39645
39646
39647
39648
39649
39650
39651
39652
39653
39654
39655
39656
39657
39658
39659
39660
39661
39662
39663
39664
39665
39666
39667
39668
39669
39670
39671
39672
39673
39674
39675
39676
39677
39678
39679
39680
39681
39682
39683
39684
39685
39686
39687
39688
39689
39690
39691
39692
39693
39694
39695
39696
39697
39698
39699
39700
39701
39702
39703
39704
39705
39706
39707
39708
39709
39710
39711
39712
39713
39714
39715
39716
39717
39718
lure.asm                                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 1


                                PAGE  59,132

                                ;��������������������������������������������������������������������������
                                ;��                                                                      ��
                                ;��                             LURE                                     ��
                                ;��                                                                      ��
                                ;��      Created:   23-Jun-95                                            ��
                                ;��      Passes:    9          Analysis Options on: QRSX                 ��
                                ;��      Copyright Revolution Software 1990-1992                         ��
                                ;��                                                                      ��
                                ;��������������������������������������������������������������������������

                                .err     Target Assembler set to NONE, re-assembly not recommended


VGA_SEGMENT        equ  0a000h
SCREEN_WIDTH       equ  320
SCREEN_HEIGHT      equ  200

RECT_SIZE          equ  32
RECTANGLE_SIZE     equ  32*32
NUM_HORIZ_RECTS    equ  10
NUM_VERT_RECTS     equ   6
FULL_HORIZ_RECTS   equ  18
FULL_VERT_RECTS    equ  14

ROOM_PATHS_WIDTH      equ  40
ROOM_PATHS_HEIGHT     equ  24
DECODED_PATHS_WIDTH   equ  42
DECODED_PATHS_HEIGHT  equ  26

WRITE_BUFFER_SIZE  equ  0f010h
FILE_BUFFER_SIZE   equ  0600h
ENTRY_READ_BUFFER  equ  80h
VIDEO_STYLE_VGA    equ  1
VIDEO_STYLE_EGA    equ  2
TIMER_TICKS_MAX    equ  2EE0h
MUSIC_NOTE         equ  80h
MUSIC_NOTE_OFF     equ  7fh
MUSIC_NOTE_VISIBLE equ  40h
NOTE_DISPLAY_ADDR  equ  185*SCREEN_WIDTH     ; (A000:E740) line #186 on screen
NOTE_IMAGE_WIDTH   equ  14
NOTE_IMAGE_HEIGHT  equ  14

MENUBAR_Y_SIZE      equ  8
MENUBAR_BLOCK_SIZE  equ  MENUBAR_Y_SIZE*SCREEN_WIDTH
MENUITEM_NUM_MENUS  equ  4

STATUS_VIDEO_MODE_SET     equ  1
STATUS_UNKNOWN            equ  2
STATUS_TIMER_SET          equ  4
STATUS_CTRL_BREAK_SET     equ  8
STATUS_CRITICAL_SET       equ  10h
STATUS_UNKNOWN2           equ  20h
STATUS_KEYBOARD_SET       equ  40h
STATUS_MOUSE_HANDLER_SET  equ  80h

SYS_HAS_FLOPPY_DRIVE      equ  80h

CURSOR_ARROW              equ  0
CURSOR_DISK               equ  1
CURSOR_TIME_UP            equ  2
CURSOR_TIME_UP_RIGHT      equ  3
CURSOR_TIME_RIGHT         equ  4
CURSOR_TIME_DOWN_RIGHT    equ  5
CURSOR_TIME_DOWN          equ  6
CURSOR_TIME_DOWN_LEFT     equ  7
CURSOR_TIME_LEFT          equ  8
CURSOR_TIME_UP_LEFT       equ  9
CURSOR_CROSS              equ  10
CURSOR_ARROW_UP           equ  11
CURSOR_ARROW_DOWN         equ  12
CURSOR_ARROW_LEFT         equ  13
CURSOR_ARROW_RIGHT        equ  14
CURSOR_CAMERA             equ  15
CURSOR_TALK               equ  16
CURSOR_MENUBAR_AREA       equ  17
CURSOR_ARROW_UP2          equ  18
CURSOR_ARROW_DOWN2        equ  19
CURSOR_ARROW_LEFT2        equ  20
CURSOR_ARROW_RIGHT2       equ  21
CURSOR_VOICE              equ  22
CURSOR_AXE_1              equ  23
CURSOR_AXE_2              equ  24
CURSOR_AXE_3              equ  25

NUM_ACTIONS               equ  25

NUM_ANIMATION_SLOTS       equ  2dh
ANIMATION_SLOT_SIZE       equ  29h

NUM_PAUSED_CHARS_SLOTS    equ  14h
PAUSED_CHAR_SLOT_SIZE     equ   8
PC_SRC_CHAR_ID            equ   0
PC_DEST_CHAR_ID           equ   2
PC_COUNTER                equ   4
PC_HOTSPOT_PTR            equ   6

ACTION_GET                equ   1
ACTION_PUSH               equ   3
ACTION_PULL               equ   4
ACTION_OPERATE            equ   5
ACTION_OPEN               equ   6
ACTION_CLOSE              equ   7
ACTION_LOCK               equ   8
ACTION_UNLOCK             equ   9
ACTION_USE                equ  10
ACTION_GIVE               equ  11
ACTION_TALK_TO            equ  12
ACTION_TELL               equ  13
ACTION_BUY                equ  14
ACTION_LOOK               equ  15
ACTION_LOOK_AT            equ  16
ACTION_LOOK_THROUGH       equ  17
ACTION_ASK                equ  18
ACTION_EAT                equ  19
ACTION_DRINK              equ  20
ACTION_STATUS             equ  21
ACTION_GO_TO              equ  22
ACTION_RETURN             equ  23
ACTION_BRIBE              equ  24
ACTION_EXAMINE            equ  25

FLAG_RESTART              equ  10h
FLAG_CAUGHT               equ  20h
FLAG_RESTORERESTART       equ  40h
FLAG_HAS_FLOPPY_DRIVE     equ  80h


; Animation slot record constants
ANIM_X                    equ   0
ANIM_Y                    equ   2
ANIM_WIDTH                equ   4
ANIM_HEIGHT               equ   6
ANIM_FRAME_OFFSET         equ   8
ANIM_SEGMENT              equ  0Ah
ANIM_LAYER                equ  0Ch
ANIM_FLAGS                equ  0Dh
ANIM_ROOM_NUM             equ  0Eh
ANIM_CAN_UNLOAD           equ  10h
ANIM_TICK_PROC            equ  11h
ANIM_WIDTH_COPY           equ  13h
ANIM_HEIGHT_COPY          equ  15h
ANIM_Y_CORRECTION         equ  17h
ANIM_HOTSPOT_OFFSET       equ  19h
ANIM_HOTSPOT_ID           equ  1Bh
ANIM_SKIP                 equ  1Dh
ANIM_VOICE_CHAR_ID        equ  1Eh
ANIM_CTR                  equ  20h
ANIM_CHAR_RECT_Y          equ  22h
ANIM_VOICE_CTR            equ  24h
ANIM_DIRECTION            equ  26h
ANIM_WALK_FLAG            equ  27h
ANIM_START_COLOUR         equ  28h

; Hotspot header record constants
HOTSPOT_TABLE_ENTRY_SIZE  equ   9
HSH_NAME                  equ   2
HSH_DESC                  equ   4
HSH_DESC_2                equ   6

; Hotspot record constants

HS_DEST2_SET              equ   -1
HS_DEST2_X                equ   -5
HS_DEST2_Y                equ   -3
HS_ACTIONS                equ   0
HS_FLAGS                  equ   3
HS_ACTIONS_OFFSET         equ  04h
HS_ROOM_NUM               equ  06h
HS_LOAD_FLAG              equ  08h
HS_LOAD_OFFSET            equ  09h
HS_ANIM_OFFSET            equ  0Bh
HS_X                      equ  0Dh
HS_Y                      equ  0Fh
HS_WIDTH                  equ  11h
HS_HEIGHT                 equ  13h
HS_LAYER                  equ  15h
HS_TICK_PROC              equ  17h
HS_WIDTH_COPY             equ  19h
HS_HEIGHT_COPY            equ  1Bh
HS_Y_CORRECTION           equ  1Dh
HS_FRAME_CTR              equ  1Fh
HS_PIXEL_OFFSET           equ  21h
HS_START_COLOUR           equ  23h
HS_SCRIPT_OFFSET          equ  24h
HS_MOVEMENT_OFFSET        equ  24h
HS_STEP_CTR               equ  26h
HS_FRAME_OFFSET           equ  28h
HS_ACTION_CTR             equ  2Ah
HS_V2B                    equ  2Bh
HS_HOTSPOT_SCRIPT_ID      equ  2Dh
HS_USE_HOTSPOT_ID         equ  2Fh
HS_V33                    equ  33h
HS_TALK_X                 equ  35h
HS_TALK_Y                 equ  36h
HS_TALK_COUNTDOWN         equ  37h
HS_TALK_CHAR_ID           equ  39h
HS_RESPONSE_ID            equ  3Ch
HS_V3E                    equ  3Eh
HS_V40                    equ  40h
HS_DELAY_CTR              equ  42h
HS_CHAR_MODE              equ  44h
HS_TICK_SCRIPT_OFFSET     equ  45h
SCRIPT_HOTSPOT_ID         equ  47h
HS_PATHFIND_COVERED       equ  49h
HS_PAUSE_CTR              equ  4Ah
HS_BLOCKED_FLAG           equ  4Ch
HS_V4D                    equ  4Dh
HS_V4E                    equ  4Eh
HS_DIRECTION              equ  50h
HS_DEST_HOTSPOT           equ  52h
HS_DEST_X                 equ  54h
HS_DEST_Y                 equ  56h
HS_V58                    equ  58h
HS_MOVEMENT_SRC_OFFSET    equ  5Ah
HS_BLOCKED_SUPPORT_OFFSET equ  5Eh
HS_EXIT_CTR               equ  60h
HS_ACTION_OFFSET          equ  61h
HS_FIRST_ACTION_OFFSET    equ  63h

; Pixel record constants
PIXEL_DISK_ID             equ   0
PIXEL_FLAGS               equ   2
PIXEL_DATA_SEGMENT        equ   3
PIXEL_DATA_SIZE           equ   5
PIXEL_FRAME_SIZE          equ   7
PIXEL_MOVEREC_UP          equ   9
PIXEL_MOVEREC_DOWN        equ   0Bh
PIXEL_MOVEREC_LEFT        equ   0Dh
PIXEL_MOVEREC_RIGHT       equ   0Fh
PIXEL_FRAMENUM_UP         equ   11h
PIXEL_FRAMENUM_DOWN       equ   12h
PIXEL_FRAMENUM_LEFT       equ   13h
PIXEL_FRAMENUM_RIGHT      equ   14h

PIXELFLAG_HAS_TABLE       equ   4

NOONE_HOTSPOT_ID          equ  3E7h
PLAYER_HOTSPOT_ID         equ  3E8h
RATPOUCH_HOTSPOT_ID       equ  3E9h
SKORL_HOTSPOT_ID          equ  3EAh
GOEWIN_HOTSPOT_ID         equ  3EFh
FIRST_OBJECT_HOTSPOT_ID   equ  408h
START_EXIT_HOTSPOT_ID     equ  2710h
BOTTLE_HOTSPOT_ID         equ  2710h


; Room exit record constants
ROOMEXIT_RECORD_SIZE      equ  14
ROOMEXIT_X_START          equ  0
ROOMEXIT_X_END            equ  2
ROOMEXIT_Y_START          equ  4
ROOMEXIT_Y_END            equ  6
ROOMEXIT_CURSOR_NUM       equ  8
ROOMEXIT_HOTSPOT_ID       equ  10
ROOMEXIT_DEST_ROOM        equ  12

; Room exit hotspot record constants
REHS_RECORD_SIZE          equ  11h
REHS_HOTSPOT1_ID            equ  0
REHS_HOTSPOT1_CURRENT_FRAME equ  2
REHS_HOTSPOT1_DEST_FRAME    equ  3
REHS_HOTSPOT2_ID            equ  6
REHS_HOTSPOT2_CURRENT_FRAME equ  8
REHS_HOTSPOT2_DEST_FRAME    equ  9
REHS_EXIT_BLOCKED           equ  0Ch
REHS_HOTSPOT1_OFFSET        equ  0Dh
REHS_HOTSPOT2_OFFSET        equ  0Fh

; Room header record constants
RH_ROOM_NUM               equ  2
RH_DESC_ID                equ  4
RH_TABLE_ENTRY_SIZE       equ  9

; Room record constants
ROOM_NUM_LAYERS           equ  8
ROOM_FIRST_LAYER          equ  9
ROOM_SEQUENCE_OFFSET      equ  11h
ROOM_ENTRY_TIME           equ  13h
ROOM_V17                  equ  17h
ROOM_BOUNDS_INDEX         equ  18h
ROOM_X_START              equ  19h
ROOM_X_END                equ  1Bh
ROOM_EXITS_START          equ  1Dh

; Room exit constants for room exit list within room records
ROOMREC_EXIT_X_START          equ  0
ROOMREC_EXIT_X_END            equ  2
ROOMREC_EXIT_Y_START          equ  4
ROOMREC_EXIT_Y_END            equ  6
ROOMREC_EXIT_SEQUENCE         equ  8
ROOMREC_EXIT_ROOM_NUM         equ  10
ROOMREC_EXIT_NEW_X            equ  12
ROOMREC_EXIT_NEW_Y            equ  14

; Room number constants
ROOMNUM_TOWN_HALL         equ  1fh
ROOMNUM_MIDDLE_STREET     equ  0Eh
ROOMNUM_VILLAGE_SHOP      equ  23h
ROOMNUM_WINE_CELLAR       equ  2Ah
ROOMNUM_DINING_HALL       equ  2Dh

NUM_DELAY_ENTRIES         equ  28h
DELAY_ENTRY_SIZE          equ  7

DIR_UP       equ  80h
DIR_DOWN     equ  40h
DIR_LEFT     equ  20h
DIR_RIGHT    equ  10h

FACING_UP     equ   0
FACING_DOWN   equ   1
FACING_LEFT   equ   2
FACING_RIGHT  equ   3

FACING2_LEFT  equ   1
FACING2_RIGHT equ   2
FACING2_UP    equ   4
FACING2_DOWN  equ   8

; Movement record constants
MOVEMENT_FRAME_NUM  equ  0
MOVEMENT_X_CHANGE   equ  2
MOVEMENT_Y_CHANGE   equ  4
MOVEMENT_REC_SIZE   equ  6

; Talk constants
TALK_PRE_SEQUENCE   equ  0
TALK_DESC_ID        equ  2
TALK_POST_SEQUENCE  equ  4

; Talk state constants
TALK_START        equ  0ffh
TALK_SELECT       equ  2
TALK_UNKNOWN      equ  3
TALK_MAGIC_ID     equ  424h

TALK_DIALOG_WIDTH   equ  128

; Player actions used in player_tick_proc
CURRENT_ACTION_RECORD_SIZE   equ  5
CURRENT_ACTION_SUPPORT_TABLE equ  1
CURRENT_ACTION_ROOM_NUM      equ  3

CHAR_ACTION_NONE             equ  0
CHAR_ACTION_START_WALK       equ  1
CHAR_ACTION_DISPATCH_ACTION  equ  2
CHAR_ACTION_EXEC_SCRIPT      equ  3
CHAR_ACTION_PROCESSING_PATH  equ  4
CHAR_ACTION_CONTINUE_WALK    equ  5

PATHFIND_CHARACTER_ID   equ   2
PATHFIND_HS4C           equ   4
PATHFIND_DEST_STATE     equ   5
PATHFIND_DEST_X         equ   6
PATHFIND_DEST_Y         equ   8
PATHFIND_X              equ  0Ch
PATHFIND_Y              equ  0Ah
PATHFIND_0E             equ  0Eh
PATHFIND_DEST_X2        equ  10h
PATHFIND_DEST_OCCUPIED  equ  12h
PATHFIND_CELL_POPULATED equ  13h
PATHFIND_X_CHANGE1      equ  14h
PATHFIND_Y_CHANGE1      equ  16h
PATHFIND_X_CHANGE2      equ  18h
PATHFIND_Y_CHANGE2      equ  1Ah

WALKTO_RECORD_SIZE      equ  6
WALKTO_HOTSPOT_ID       equ  0
WALKTO_X                equ  2
WALKTO_Y                equ  4

; State values for the cursor_state variable
CURSORSTATE_NONE        equ  0
CURSORSTATE_ACTION      equ  1
CURSORSTATE_SEQUENCE    equ  2
CURSORSTATE_TALK        equ  3
CURSORSTATE_BUMPED      equ  4

; Character modes
CHARMODE_NONE           equ  0
CHARMODE_1              equ  1
CHARMODE_IDLE           equ  2
CHARMODE_PAUSED         equ  3
CHARMODE_4              equ  4
CHARMODE_CONVERSING     equ  5
CHARMODE_6              equ  6
CHARMODE_7              equ  7
CHARMODE_8              equ  8

; Pathfinder results
PF_OK                   equ  1
PF_DEST_OCCUPIED        equ  2

; HS_BLOCKED_FLAG states
BS_NONE                 equ  0
BS_INITIAL              equ  1
BS_FINAL                equ  2

; Miscellaneous constants
TALK_COUNTDOWN_MAX      equ  40

                                ;------------------------------------------------------------  seg_code   ----

                                seg_code        segment byte public
                                                assume cs:seg_code  , ds:seg_code , ss:stack_seg_k


                                ;��������������������������������������������������������������������������
                                ;
                                ;                       Program Entry Point
                                ;
                                ;��������������������������������������������������������������������������


                                lure            proc    far

273F:0000                       start:

273F:0000  B8 31E4                              mov     ax, data_seg
273F:0003  8E D8                                mov     ds, ax
273F:0005  E8 04AE                              call    initialise              ; (04B6)
273F:0008                       loc_5:                                          ;  xref 273F:0171
273F:0008 B8 23FC                              mov     ax, offset startup_sequence
273F:000B  E8 3E26                              call    sequence_execute
273F:000E  80 26 11D0 FE                        and     menubar_state, 0FEh ; (273F:11D0=56h)
273F:0013  E8 1F49                              call    show_disk_cursor
273F:0016  EB 59                                jmp     short loc_10            ; (0071)

; The following code is jumped to if the game is to be restarted or the room changes

273F:0018                       loc_6:                                          ;  xref 273F:0135, 0149
273F:0018 C6 06 38B0 01                        mov     data_781, 1 
273F:001D  E8 1F3F                              call    show_disk_cursor
273F:0020  FF 16 0766                           call    word ptr ds:[fade_out_proc]
273F:0024  E8 4818                              call    clear_sequence_delay_table
273F:0027  E8 10BE                              call    hotspots_unload         ; Disable unneeded hotspots
273F:002A  83 3E BAAD 01                        cmp     room_exit_animation_flag, 1
273F:002F  72 0A                                jb      loc_8                   ; Jump if below
273F:0031  75 05                                jnz     loc_7                   ; Jump if not zero
273F:0033  E8 A576                              call    display_chute_animation
273F:0036  EB 03                                jmp     short loc_8             ; (003B)
273F:0038                       loc_7:                                          ;  xref 273F:0031
273F:0038  E8 A680                              call    display_barrel_animation
273F:003B                       loc_8:                                          ;  xref 273F:002F, 0036
273F:003B  C7 06 BAAD 0000                      mov     room_exit_animation_flag, 0
273F:0041  C6 06 9837 00                        mov     talk_dialog_active, 0
273F:0046  C7 06 9838 0000                      mov     data_431,0              ; (273F:9838=5C8Bh)
273F:004C  A1 9832                              mov     ax, room_number
273F:004F  E8 0C98                              call    get_room_resource_pointer2
273F:0052  A1 B0AA                              mov     ax, game_time_ctr
273F:0055  89 44 13                             mov     [si+ROOM_EXIT_TIME], ax
273F:0058  F7 06 BA23 FFFF                      test    new_room_number, 0FFFFh
273F:005E  74 08                                jz      loc_9                   ; Jump if zero
273F:0060  A1 BA23                              mov     ax, new_room_number
273F:0063  A3 9832                              mov     room_number, ax
273F:0066  EB 09                                jmp     short loc_10            ; (0071)
273F:0068                       loc_9:                                          ;  xref 273F:005E
273F:0068  A1 982C                              mov     ax, new_room_number_2
273F:006B  A3 9832                              mov     room_number, ax
273F:006E  E8 6004                              call    player_change_room      ; Position player in new room

273F:0071                       loc_10:                                         ;  xref 273F:0016, 0066
273F:0071  E8 A046                              call    sub_249                 ; (A0BA)
273F:0074  E8 08D7                              call    clear_layer_rects
273F:0077  E8 08F5                              call    room_load_layers
273F:007A  E8 760F                              call    sub_189                 ; (768C)
273F:007D  FF 16 074E                           call    word ptr ds:[74Eh]      ; (273F:074E=8010h)
273F:0081  E8 0963                              call    sub_16                  ; (09E7)
273F:0084  E8 0A77                              call    sub_19                  ; (0AFE)
273F:0087  E8 6F7B                              call    menubar_clear_image
273F:008A  8B 1E 9832                           mov     bx, room_number
273F:008E  89 1E BA15                           mov     room_number_2, bx
273F:0092  E8 0C53                              call    get_room_resource_pointer
273F:0095  8B 44 11                             mov     ax, [si+ROOM_SEQUENCE_OFFSET] ; Get sequence offset
273F:0098  3D FFFF                              cmp     ax, 0FFFFh              ; Is one defined?
273F:009B  74 03                                je      loc_11                  ; If no, skip execution
273F:009D  E8 3D94                              call    sequence_execute        ; Exeecute room script

273F:00A0  E8 0BDF              loc_11:         call    hotspots_load
273F:00A3  E8 4738                              call    sub_113                 ; (47DE)
273F:00A6  E8 6038                              call    sub_138                 ; (60E1)
273F:00A9  E8 1462                              call    room_add_animations
273F:00AC  E8 08B2                              call    clear_info_table
273F:00AF  E8 40E4                              call    animation_tick

273F:00B2                       loc_12:                                         ;  xref 273F:00C3
273F:00B2  80 26 11D0 F7                        and     menubar_state, 0F7h
273F:00B7  FF 16 0752                           call    [menubar_restore_area]
273F:00BB  E8 1450                              call    room_add_animations
273F:00BE  F6 06 11D0 08                        test    menubar_state, 8
273F:00C3  75 ED                                jnz     loc_12                  ; Jump if not zero

; Copy the completed room from the off-screen buffer data_segment2 to the screen

273F:00C5  FF 16 0744                           call    [show_screen_proc]      ; Copy screen over
273F:00C9  E8 39E2                              call    replace_vga_palette     ; Reset palette
273F:00CC  FF 16 0760                           call    word ptr [fade_in_proc] ; Fade in the screen
273F:00D0  E8 1EA2                              call    show_arrow_cursor

273F:00D3  33 C0                                xor     ax, ax                  ; Zero register
273F:00D5  A3 BA23                              mov     new_room_number, ax     ; Clear room change variable
273F:00D8  A2 38B0                              mov     data_781, al
273F:00DB  A2 11DA                              mov     mouse_buttons2, al
273F:00DE  A3 983F                              mov     data_1090, ax
273F:00E1  A3 9841                              mov     data_1091, ax
273F:00E4  A2 983A                              mov     data_432, al
273F:00E7  E8 1F1A                              call    sub_61             
273F:00EA  F7 06 6CE4 FFFF                      test    word ptr ds:[6CE4h],0FFFFh ; (273F:6CE4=0C18Bh)
273F:00F0  75 03                                jnz     loc_13                  ; Jump if not zero
273F:00F2  E9 9667                              jmp     loc_1855                ; (975C)

; Main in game loop

273F:00F5                       loc_13:                                         ;  xref 273F:00F0, 0147, 0167, 9782
273F:00F5 83 06 B0AA 01                        add     game_time_ctr, 1
273F:00FA  83 16 B0AC 00                        adc     game_time_ctr_2, 0
273F:00FF  C6 06 00B0 00                        mov     data_525, 0
273F:0104  E8 92C1                              call    room_check_keypresses
273F:0107  E8 4306                              call    character_paused_list_countdown
273F:010A  E8 1B05                              call    room_check_cursors
273F:010D  E8 1189                              call    room_handle_click
273F:0110  E8 4083                              call    animation_tick
273F:0113  E8 618B                              call    handle_talking
273F:0116  E8 4741                              call    sequence_delay_check
273F:0119  FF 16 0752                           call    [menubar_restore_area]
273F:011D  E8 13EE                              call    room_add_animations
273F:0120  FF 16 0744                           call    [show_screen_proc]
273F:0124  B8 0004                              mov     ax, 4                   ; Wait for four cycles
273F:0127  E8 4892                              call    room_sleep
273F:012A  E8 138B                              call    set_vga_palette
273F:012D  F7 06 BA23 FFFF                      test    new_room_number, 0FFFFh ; Need to change room?
273F:0133  74 03                                jz      loc_14
273F:0135  E9 FEE0                              jmp     loc_6                   ; Yes, so go do so
273F:0138                       loc_14:
273F:0138  F6 06 073D 10                        test    status_flags2, FLAG_RESTART ; Need to restart?
273F:013D  75 0D                                jnz     loc_16                      ; Yes, so do so
273F:013F  F7 06 982C FFFF                      test    new_room_number_2, 0FFFFh
273F:0145  75 02                                jnz     loc_15                  ; Jump if not zero
273F:0147  EB AC                                jmp     short loc_13            ; Normal in-game loop

273F:0149                       loc_15:
273F:0149  E9 FECC                              jmp     loc_6                   ; Jump to restart
273F:014C                       loc_16:
273F:014C  F6 06 073D 20                        test    status_flags2, FLAG_CAUGHT
273F:0151  74 03                                jz      loc_17                  ; Jump if zero
273F:0153  E8 A507                              call    skorl_knockout
273F:0156                       loc_17:                                         ;  xref 273F:0151
273F:0156  F6 06 073D 40                        test    status_flags2, FLAG_RESTORERESTART
273F:015B  74 0C                                jz      loc_18                  ; Jump if zero
273F:015D  E8 91D6                              call    sub_228                 ; Show restore/restart dialog
273F:0160  75 0A                                jnz     loc_19                  ; Jump if not zero
273F:0162  80 26 073D 8F                        and     status_flags2, 8Fh
273F:0167  EB 8C                                jmp     short loc_13            ; (00F5)
273F:0169                       loc_18:                                         ;  xref 273F:015B
273F:0169  E8 921F                              call    sub_229                 ; (938B)
273F:016C                       loc_19:                                         ;  xref 273F:0160
273F:016C  80 26 073D 8F                        and     status_flags2, 8Fh      ; Clear status flags
273F:0171  E9 FE94                              jmp     loc_5

                                lure            endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:024F, 030A
                                ;��������������������������������������������������������������������������

273F:0174                       open_file       proc    near
273F:0174  F6 06 00B5 80                        test    byte ptr ds:[file_handle+1],80h  ; (273F:00B5=11h)
273F:0179  75 0D                                jnz     loc_20                           ; Jump if not zero
273F:017B  8B 1E 00B4                           mov     bx,word ptr ds:[file_handle]     ; (273F:00B4=11D0h)
273F:017F  B4 3E                                mov     ah,3Eh
273F:0181  CD 21                                int     21h                     ; DOS Services  ah=function 3Eh
                                                                                ;  close file, bx=file handle
273F:0183  C6 06 00B5 80                        mov     byte ptr ds:[file_handle+1],80h  ; (273F:00B5=11h)
273F:0188                       loc_20:                                                  ;  xref 273F:0179
273F:0188  8A 1E 00B1                           mov     bl,byte ptr ds:[file_number]     ; (273F:00B1=40h)
273F:018C  32 FF                                xor     bh,bh                   ; Zero register
273F:018E  D0 E3                                shl     bl,1                    ; Shift w/zeros fill
273F:0190  8B 97 00B6                           mov     dx,word ptr ds:[file_offset_table][bx] 
273F:0194  B8 3D00                              mov     ax,3D00h
273F:0197  CD 21                                int     21h                     ; DOS Services  ah=function 3Dh
                                                                                ;  open file, al=mode,name@ds:dx
273F:0199  72 58                                jc      loc_22                  ; Jump if carry Set
273F:019B  2E: F6 06 0943 FF                    test    byte ptr cs:critical_error,0FFh      ; (273F:0943=0)
273F:01A1  75 50                                jnz     loc_22                         ; Jump if not zero
273F:01A3  A3 00B4                              mov     word ptr ds:[file_handle],ax   ; (273F:00B4=11D0h)
273F:01A6  8B D8                                mov     bx,ax
273F:01A8  B9 0008                              mov     cx,8
273F:01AB BA 0119                              mov     dx, offset file_buffer  ; 273F:0119
273F:01AE  B4 3F                                mov     ah,3Fh
273F:01B0  CD 21                                int     21h                     ; DOS Services  ah=function 3Fh
                                                                                ;  read file, bx=file handle
                                                                                ;   cx=bytes to ds:dx buffer
273F:01B2  2E: F6 06 0943 FF                    test    byte ptr cs:critical_error,0FFh   ; (273F:0943=0)
273F:01B8  75 35                                jnz     loc_21                            ; Validate file ident string
273F:01BA  81 3E 0119 6568                      cmp     word ptr ds:[file_buffer],6568h   ; 'he'
273F:01C0  75 2D                                jne     loc_21                            ; Jump if not equal
273F:01C2  81 3E 011B 7779                      cmp     word ptr ds:[file_buffer+2],7779h ; 'yw'
273F:01C8  75 25                                jne     loc_21                            ; Jump if not equal
273F:01CA  81 3E 011D 776F                      cmp     word ptr ds:[file_buffer+4],776Fh ; 'ow'
273F:01D0  75 1D                                jne     loc_21                            ; Jump if not equal
273F:01D2  A1 011F                              mov     ax,word ptr ds:[file_filenum]     ; Get in the file number
273F:01D5  3A 26 00B1                           cmp     ah,byte ptr ds:[file_number]   ; (273F:00B1=40h)
273F:01D9  75 14                                jne     loc_21                         ; Jump if not equal

273F:01DB  B9 05F8                              mov     cx, sizeof file_entries
273F:01DE BA 0121                              mov     dx, offset file_entries
273F:01E1  B4 3F                                mov     ah,3Fh
273F:01E3  CD 21                                int     21h                     ; DOS Services  ah=function 3Fh
                                                                                ;  read file, bx=file handle
                                                                                ;   cx=bytes to ds:dx buffer
273F:01E5  2E: F6 06 0943 FF                    test    byte ptr cs:critical_error,0FFh ; (273F:0943=0)
273F:01EB  75 02                                jnz     loc_21                  ; Jump if not zero
273F:01ED  F8                                   clc                             ; Clear carry flag
273F:01EE  C3                                   retn
273F:01EF                       loc_21:                                         ;  xref 273F:01B8, 01C0, 01C8, 01D0
                                                                                ;            01D9, 01EB
273F:01EF  B4 3E                                mov     ah,3Eh
273F:01F1  CD 21                                int     21h                     ; DOS Services  ah=function 3Eh
                                                                                ;  close file, bx=file handle
273F:01F3                       loc_22:                                         ;  xref 273F:0199, 01A1
273F:01F3  2E: C6 06 0943 00                    mov     byte ptr cs:critical_error,0  ; (273F:0943=0)
273F:01F9  F9                                   stc                             ; Set carry flag
273F:01FA  C3                                   retn
                                open_file       endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0974, 768C
                                ;��������������������������������������������������������������������������

273F:01FB            read_and_validate_header   proc    near
273F:01FB                       loc_23:                                         ;  xref 273F:02B1, 02DC
273F:01FB C6 06 00B0 01                        mov     data_525, 1
273F:0200  F6 06 00B5 80                        test    byte ptr ds:[file_handle+1],80h  ; (273F:00B5=11h)
273F:0205  75 42                                jnz     loc_24                           ; Jump if not zero
273F:0207  C7 06 0119 0000                      mov     word ptr ds:[file_buffer],0      ; (273F:0119=16FFh)

; Read in the file header, that includes the ident string, file number, and entries table

273F:020D  1E                                   push    ds
273F:020E  07                                   pop     es
273F:020F  BA 0119                              mov     dx, offset file_buffer
273F:0212  BB 0000                              mov     bx,0
273F:0215  B9 0600                              mov     cx, FILE_BUFFER_SIZE
273F:0218  33 ED                                xor     bp,bp                           ; Zero register
273F:021A  E8 022D                              call    read_file_entry                 ; (044A)
273F:021D  72 2A                                jc      loc_24                          ; Jump if carry Set
273F:021F  2E: F6 06 0943 FF                    test    byte ptr cs:critical_error,0FFh ; Check if any error occurred
273F:0225  75 22                                jnz     loc_24                          ; Jump if not zero

; Validate that the file starts with the correct identifier string

273F:0227  A1 0119                              mov     ax,word ptr ds:[file_buffer]    ; Validate file ident string
273F:022A  3D 6568                              cmp     ax,6568h                        ; 'he'
273F:022D  75 1A                                jne     loc_24
273F:022F  A1 011B                              mov     ax,word ptr ds:[file_buffer+2]
273F:0232  3D 7779                              cmp     ax,7779h                        ; 'yw'
273F:0235  75 12                                jne     loc_24
273F:0237  A1 011D                              mov     ax,word ptr ds:[file_buffer+4]
273F:023A  3D 776F                              cmp     ax,776Fh                        ; 'ow'
273F:023D  75 0A                                jne     loc_24                  ; Jump if not equal
273F:023F  A1 011F                              mov     ax,word ptr ds:[11Fh]   ; (273F:011F=0FF13h)

273F:0242  3A 26 00B1                           cmp     ah,byte ptr ds:[file_number]   ; (273F:00B1=40h)
273F:0246  75 01                                jne     loc_24                  ; Jump if not equal
273F:0248  C3                                   retn

; If execution reaches this point, then some sort of error occurred

273F:0249                       loc_24:                                         ;  xref 273F:0205, 021D, 0225, 022D
                                                                                ;            0235, 023D, 0246, 0301
273F:0249 �2E: C6 06 0943 00                    mov     byte ptr cs:critical_error,0
273F:024F  E8 FF22                              call    open_file                      ; Try to reopen file
273F:0252  73 68                                jnc     loc_ret_30                     ; Jump if no error occurred

273F:0254  80 3E 0786 02                        cmp     byte ptr ds:[drive_number],2   ; Is current drive C?
273F:0259  72 19                                jb      loc_25                         ; Jump if it's a floppy drive

273F:025B  A1 00B2                              mov     ax,word ptr ds:[drive_num]     ; (273F:00B2=2680h)
273F:025E  E8 00A3                              call    open_file2
273F:0261  73 51                                jnc     loc_29
273F:0263  F6 06 073D 80                        test    status_flags2, FLAG_HAS_FLOPPY_DRIVE
273F:0268  75 1B                                jnz     loc_27
273F:026A  83 36 00B2 01                        xor     word ptr ds:[drive_num], 1
273F:026F  A1 00B2                              mov     ax,word ptr ds:[drive_num]
273F:0272  EB 0C                                jmp     short loc_26              

; At this point, we know that the current drive is either A or B (ie. a floppy drive)
273F:0274                       loc_25:
273F:0274  F6 06 073D 80                        test    status_flags2, FLAG_HAS_FLOPPY_DRIVE
273F:0279  75 0A                                jnz     loc_27                  
273F:027B  A0 0786                              mov     al,byte ptr ds:[drive_number]
273F:027E  34 01                                xor     al,1
273F:0280                       loc_26:                                         ;  xref 273F:0272
273F:0280  E8 0081                              call    open_file2              ; (0304)
273F:0283  73 2F                                jnc     loc_29                  ; Jump if carry=0
273F:0285                       loc_27:                                         ;  xref 273F:0268, 0279
273F:0285  8A 16 0786                           mov     dl,byte ptr ds:[drive_number]   ; (273F:0786=0E8h)
273F:0289  B4 0E                                mov     ah,0Eh
273F:028B  CD 21                                int     21h                     ; DOS Services  ah=function 0Eh
                                                                                ;  set default drive dl  (0=a:)
; Display a message to insert the correct disk in the floppy drive
273F:028D  A0 00B1                              mov     al,byte ptr ds:[file_number]   ; (273F:00B1=40h)
273F:0290  2C 01                                sub     al,1
273F:0292  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:0294  04 04                                add     al,4
273F:0296  32 E4                                xor     ah,ah                   ; Zero register
273F:0298  B6 00                                mov     dh,0
273F:029A  E8 3D07                              call    display_message         ; (3FA4)
273F:029D  3C 1B                                cmp     al,1Bh
273F:029F  75 08                                jne     loc_28                  ; Jump if not equal
273F:02A1  B8 0000                              mov     ax,0
273F:02A4  B6 01                                mov     dh,1
273F:02A6  E8 3CFB                              call    display_message         ; (3FA4)
273F:02A9                       loc_28:                                         ;  xref 273F:029F
273F:02A9  8A 16 0786                           mov     dl,byte ptr ds:[drive_number]  ; (273F:0786=0E8h)
273F:02AD  B4 0E                                mov     ah,0Eh
273F:02AF  CD 21                                int     21h                     ; DOS Services  ah=function 0Eh
                                                                                ;  set default drive dl  (0=a:)
273F:02B1  E9 FF47                              jmp     loc_23                  ; (01FB)
273F:02B4                       loc_29:                                         ;  xref 273F:0261, 0283
273F:02B4  8A 16 0786                           mov     dl,byte ptr ds:[drive_number]   ; (273F:0786=0E8h)
273F:02B8  B4 0E                                mov     ah,0Eh
273F:02BA  CD 21                                int     21h                     ; DOS Services  ah=function 0Eh
                                                                                ;  set default drive dl  (0=a:)

273F:02BC                       loc_ret_30:                                     ;  xref 273F:0252
273F:02BC  C3                                   retn
                     read_and_validate_header   endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:034C, 040E, 757C
                                ;��������������������������������������������������������������������������

273F:02BD                   validate_header     proc    near
273F:02BD  B1 06                                mov     cl,6
273F:02BF  D2 EC                                shr     ah,cl                   ; Shift w/zeros fill
273F:02C1  80 E4 03                             and     ah,3
273F:02C4  80 C4 01                             add     ah,1
273F:02C7  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:02CC  75 03                                jne     loc_31                  ; Jump if it's VGA
273F:02CE  80 C4 04                             add     ah,4
273F:02D1                       loc_31:                                         
273F:02D1  88 26 00B1                           mov     byte ptr ds:[file_number],ah   ; (273F:00B1=40h)
273F:02D5  F6 06 00B0 FF                        test    data_525, 0FFh
273F:02DA  75 03                                jnz     loc_32                  ; Jump if not zero
273F:02DC  E9 FF1C                              jmp     loc_23                  ; (01FB)
273F:02DF                       loc_32:                                         ;  xref 273F:02DA
273F:02DF  A1 0119                              mov     ax,word ptr ds:[file_buffer]   ; Validate file ident string
273F:02E2  3D 6568                              cmp     ax,6568h                       ; 'he'
273F:02E5  75 1A                                jne     loc_33                         ; Jump if not equal
273F:02E7  A1 011B                              mov     ax,word ptr ds:[file_buffer+2]
273F:02EA  3D 7779                              cmp     ax,7779h                       ; 'yw'
273F:02ED  75 12                                jne     loc_33                         ; Jump if not equal
273F:02EF  A1 011D                              mov     ax,word ptr ds:[file_buffer+4]
273F:02F2  3D 776F                              cmp     ax,776Fh                       ; 'ow'
273F:02F5  75 0A                                jne     loc_33                         ; Jump if not equal
273F:02F7  A1 011F                              mov     ax,word ptr ds:[file_filenum]  ; (273F:011F=0FF13h)
273F:02FA  3A 26 00B1                           cmp     ah,byte ptr ds:[file_number]   ; (273F:00B1=40h)
273F:02FE  75 01                                jne     loc_33                         ; Jump if not equal
273F:0300  C3                                   retn
273F:0301                       loc_33:                                         ;  xref 273F:02E5, 02ED, 02F5, 02FE

; Jumps to the error recovery code, which can open up the appropriate file and load it from scratch
273F:0301  E9 FF45                              jmp     loc_24                  ; (0249)
                            validate_header     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:025E, 0280
                                ;��������������������������������������������������������������������������

273F:0304                       open_file2      proc    near
273F:0304  8A D0                                mov     dl,al
273F:0306  B4 0E                                mov     ah,0Eh
273F:0308  CD 21                                int     21h                     ; DOS Services  ah=function 0Eh
                                                                                ;  set default drive dl  (0=a:)
273F:030A  E8 FE67                              call    open_file               ; (0174)
273F:030D  C3                                   retn
                                open_file2      endp

273F:030E  0000                 data_121        dw      0                       ;  xref 273F:0314, 03D5
273F:0310  0000                 data_122        dw      0                       ;  xref 273F:0318, 03D9
273F:0312  0000                 data_123        dw      0                       ;  xref 273F:031D, 03DE

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0BDA, 3ACD, 3CA3, 7640, 7813, 7AC5, 7B63
                                ;                             7B80, 93A9, 9F6E, 9F8C, 9FB1, A302, A34F
                                ;                             A7C0, A7E2, A900, A9B3
                                ;��������������������������������������������������������������������������

273F:0314                       read_entry      proc    near
273F:0314                       loc_34:                                         ;  xref 273F:03E3
273F:0314  2E: A3 030E                          mov     cs:data_121,ax          ; (273F:030E=0)
273F:0318  2E: 89 0E 0310                       mov     cs:data_122,cx          ; (273F:0310=0)
273F:031D  2E: 89 16 0312                       mov     cs:data_123,dx          ; (273F:0312=0)
273F:0322  8B D8                                mov     bx,ax
273F:0324  81 E3 3FFF                           and     bx,3FFFh
273F:0328  81 FB 0120                           cmp     bx,120h
273F:032C  74 11                                je      loc_35                  ; Jump if equal
273F:032E  81 FB 0311                           cmp     bx,311h
273F:0332  74 0B                                je      loc_35                  ; Jump if equal
273F:0334  83 FB 08                             cmp     bx,8
273F:0337  74 06                                je      loc_35                  ; Jump if equal
273F:0339  81 FB 0410                           cmp     bx,410h
273F:033D  75 0A                                jne     loc_36                  ; Jump if not equal
273F:033F                       loc_35:                                         ;  xref 273F:032C, 0332, 0337
                                                assume  ds:data_seg
273F:033F  F6 06 BAB9 FF                        test    byte ptr script_val_88, 0FFh
273F:0344  74 03                                jz      loc_36                  ; Jump if zero
273F:0346  80 F4 80                             xor     ah,80h
273F:0349                       loc_36:                                         ;  xref 273F:033D, 0344
273F:0349  51                                   push    cx
273F:034A  52                                   push    dx
273F:034B  50                                   push    ax
273F:034C  E8 FF6E                              call    validate_header         ; (02BD)
273F:034F  58                                   pop     ax
273F:0350  5A                                   pop     dx
273F:0351 BB 0119                              mov     bx,offset file_buffer   
273F:0354  B9 00C0                              mov     cx,0C0h                 ; Number of header entries + 1

273F:0357                       locloop_37:                                     ;  xref 273F:035E
273F:0357  3B 07                                cmp     ax,[bx]
273F:0359  74 0D                                je      loc_38                  ; Jump if equal
273F:035B  83 C3 08                             add     bx,8
273F:035E  E2 F7                                loop    locloop_37              ; Loop if cx > 0

273F:0360  B8 0009                              mov     ax,9                    ; 'Data file is corrupt.$'
273F:0363  B6 01                                mov     dh,1
273F:0365  E8 3C3C                              call    display_message         ; (3FA4)
273F:0368                       loc_38:                                         ;  xref 273F:0359
273F:0368  07                                   pop     es
273F:0369  8B 4F 04                             mov     cx,[bx+4]
273F:036C  8A 47 03                             mov     al,[bx+3]
273F:036F  32 E4                                xor     ah,ah                   ; Zero register
273F:0371  8B E8                                mov     bp,ax
273F:0373  FF 77 01                             push    word ptr [bx+1]

273F:0376  8B 5F 06                             mov     bx,[bx+6]
273F:0379  51                                   push    cx
273F:037A  55                                   push    bp
273F:037B  E8 00CC                              call    read_file_entry         ; (044A)
273F:037E  5D                                   pop     bp
273F:037F  B1 0C                                mov     cl,0Ch
273F:0381  D3 E5                                shl     bp,cl                   ; Shift w/zeros fill
273F:0383  59                                   pop     cx
273F:0384  8B D1                                mov     dx,cx
273F:0386  83 EA 01                             sub     dx,1
273F:0389  D1 EA                                shr     dx,1                    ; Shift w/zeros fill
273F:038B  D1 EA                                shr     dx,1                    ; Shift w/zeros fill
273F:038D  D1 EA                                shr     dx,1                    ; Shift w/zeros fill
273F:038F  D1 EA                                shr     dx,1                    ; Shift w/zeros fill
273F:0391  83 C2 01                             add     dx,1
273F:0394  03 D5                                add     dx,bp
273F:0396  5B                                   pop     bx
273F:0397  2E: F6 06 0943 FF                    test    byte ptr cs:critical_error,0FFh ; (273F:0943=0)
273F:039D  75 06                                jnz     loc_39                  ; Jump if not zero
273F:039F  C6 06 0118 00                        mov     byte ptr retry_count,0     ; (31E4:0118=0)
273F:03A4  C3                                   retn
273F:03A5                       loc_39:                                         ;  xref 273F:039D
273F:03A5  80 06 0118 01                        add     byte ptr retry_count,1     ; (31E4:0118=0)
273F:03AA  80 3E 0118 05                        cmp     byte ptr retry_count,5     ; (31E4:0118=0)
273F:03AF  72 19                                jb      loc_40                  ; Jump if below
273F:03B1  C6 06 0118 00                        mov     byte ptr retry_count,0     ; (31E4:0118=0)
273F:03B6  B8 0001                              mov     ax,1
273F:03B9  B6 00                                mov     dh,0
273F:03BB  E8 3BE6                              call    display_message         ; (3FA4)
273F:03BE  3C 1B                                cmp     al,1Bh
273F:03C0  75 08                                jne     loc_40                  ; Jump if not equal
273F:03C2  B8 0000                              mov     ax,0
273F:03C5  B6 01                                mov     dh,1
273F:03C7  E8 3BDA                              call    display_message         ; (3FA4)
273F:03CA                       loc_40:                                         ;  xref 273F:03AF, 03C0
273F:03CA  2E: C6 06 0943 00                    mov     byte ptr cs:critical_error,0  ; (273F:0943=0)
273F:03D0  C6 06 00B0 00                        mov     data_525, 0     
273F:03D5  2E: A1 030E                          mov     ax,cs:data_121          ; (273F:030E=0)
273F:03D9  2E: 8B 0E 0310                       mov     cx,cs:data_122          ; (273F:0310=0)
273F:03DE  2E: 8B 16 0312                       mov     dx,cs:data_123          ; (273F:0312=0)
273F:03E3  E9 FF2E                              jmp     loc_34                  ; (0314)
                                read_entry      endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:77F1, A7B4
                                ;��������������������������������������������������������������������������

273F:03E6                    get_entry_size     proc    near
273F:03E6  8B D8                                mov     bx,ax
273F:03E8  81 E3 3FFF                           and     bx,3FFFh
273F:03EC  81 FB 0120                           cmp     bx,120h
273F:03F0  74 11                                je      loc_41                  ; Jump if equal
273F:03F2  81 FB 0311                           cmp     bx,311h
273F:03F6  74 0B                                je      loc_41                  ; Jump if equal
273F:03F8  83 FB 08                             cmp     bx,8
273F:03FB  74 06                                je      loc_41                  ; Jump if equal
273F:03FD  81 FB 0410                           cmp     bx,410h
273F:0401  75 0A                                jne     loc_42                  ; Jump if not equal
273F:0403                       loc_41:                                         ;  xref 273F:03F0, 03F6, 03FB
273F:0403  F6 06 BAB9 FF                        test    byte ptr script_val_88, 0FFh 
273F:0408  74 03                                jz      loc_42                  ; Jump if zero
273F:040A  80 F4 80                             xor     ah,80h
273F:040D                       loc_42:                                         ;  xref 273F:0401, 0408
273F:040D  50                                   push    ax
273F:040E  E8 FEAC                              call    validate_header         ; (02BD)
273F:0411  58                                   pop     ax
273F:0412 BB 0119                              mov     bx, offset file_buffer  ; (273F:0119=0FFh)
273F:0415  B9 00C0                              mov     cx,0C0h

273F:0418                       locloop_43:                                     ;  xref 273F:041F
273F:0418  3B 07                                cmp     ax,[bx]
273F:041A  74 0D                                je      loc_44                  ; Jump if equal
273F:041C  83 C3 08                             add     bx,8
273F:041F  E2 F7                                loop    locloop_43              ; Loop if cx > 0

273F:0421  B8 0009                              mov     ax,9                    ; 'Data file is corrupt.$'
273F:0424  B6 01                                mov     dh,1
273F:0426  E8 3B7B                              call    display_message         ; (3FA4)
273F:0429                       loc_44:                                         ;  xref 273F:041A
273F:0429  8A 4F 03                             mov     cl,[bx+3]
273F:042C  32 ED                                xor     ch,ch                   ; Zero register
273F:042E  8B E9                                mov     bp,cx
273F:0430  B1 0C                                mov     cl,0Ch
273F:0432  D3 E5                                shl     bp,cl                   ; Shift w/zeros fill
273F:0434  8B 4F 04                             mov     cx,[bx+4]
273F:0437  8B D1                                mov     dx,cx
273F:0439  83 EA 01                             sub     dx,1
273F:043C  D1 EA                                shr     dx,1                    ; Shift w/zeros fill
273F:043E  D1 EA                                shr     dx,1                    ; Shift w/zeros fill
273F:0440  D1 EA                                shr     dx,1                    ; Shift w/zeros fill
273F:0442  D1 EA                                shr     dx,1                    ; Shift w/zeros fill
273F:0444  83 C2 01                             add     dx,1
273F:0447  03 D5                                add     dx,bp
273F:0449  C3                                   retn
                             get_entry_size     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:021A, 037B
                                ;��������������������������������������������������������������������������



273F:044A                     read_file_entry   proc    near
273F:044A  1E                                   push    ds
273F:044B  51                                   push    cx
273F:044C  52                                   push    dx
273F:044D  B8 0020                              mov     ax,20h
273F:0450  F7 E3                                mul     bx                      ; dx:ax = reg * ax
273F:0452  8B CA                                mov     cx,dx
273F:0454  8B D0                                mov     dx,ax
273F:0456  51                                   push    cx
273F:0457  52                                   push    dx
273F:0458  B8 4200                              mov     ax,4200h
273F:045B  8B 1E 00B4                           mov     bx,word ptr ds:[file_handle]   ; (273F:00B4=11D0h)
273F:045F  CD 21                                int     21h                     ; DOS Services  ah=function 42h
                                                                                ;  move file ptr, bx=file handle
                                                                                ;   al=method, cx,dx=offset
273F:0461  72 3F                                jc      loc_47                  ; Jump if carry Set
273F:0463  5B                                   pop     bx
273F:0464  59                                   pop     cx
273F:0465  3B CA                                cmp     cx,dx
273F:0467  75 3B                                jne     loc_48                  ; Jump if not equal
273F:0469  3B C3                                cmp     ax,bx
273F:046B  75 37                                jne     loc_48                  ; Jump if not equal
273F:046D  8B 1E 00B4                           mov     bx,word ptr ds:[file_handle]   ; (273F:00B4=11D0h)
273F:0471  5A                                   pop     dx
273F:0472  D1 E5                                shl     bp,1                    ; Shift w/zeros fill
273F:0474                       loc_45:                                         ;  xref 273F:0490
273F:0474 �83 ED 01                             sub     bp,1
273F:0477  72 19                                jc      loc_46                  ; Jump if carry Set
273F:0479  8C C0                                mov     ax,es
273F:047B  8E D8                                mov     ds,ax
273F:047D  05 0800                              add     ax,800h
273F:0480  8E C0                                mov     es,ax
273F:0482  B4 3F                                mov     ah,3Fh                  ; '?'
273F:0484  B9 8000                              mov     cx,8000h
273F:0487  CD 21                                int     21h                     ; DOS Services  ah=function 3Fh
                                                                                ;  read file, bx=file handle
                                                                                ;   cx=bytes to ds:dx buffer
273F:0489  72 1A                                jc      loc_49                  ; Jump if carry Set
273F:048B  3D 8000                              cmp     ax,8000h
273F:048E  75 15                                jne     loc_49                  ; Jump if not equal
273F:0490  EB E2                                jmp     short loc_45            ; (0474)
273F:0492                       loc_46:                                         ;  xref 273F:0477
273F:0492  59                                   pop     cx
273F:0493  06                                   push    es
273F:0494  1F                                   pop     ds
273F:0495  B4 3F                                mov     ah,3Fh
273F:0497  CD 21                                int     21h                     ; DOS Services  ah=function 3Fh
                                                                                ;  read file, bx=file handle
                                                                                ;   cx=bytes to ds:dx buffer
273F:0499  72 0B                                jc      loc_50                  ; Jump if carry Set
273F:049B  3B C1                                cmp     ax,cx
273F:049D  75 07                                jne     loc_50                  ; Jump if not equal
273F:049F  1F                                   pop     ds
273F:04A0  F8                                   clc                             ; Clear carry flag
273F:04A1  C3                                   retn
273F:04A2                       loc_47:                                         ;  xref 273F:0461
273F:04A2  58                                   pop     ax
273F:04A3  58                                   pop     ax
273F:04A4                       loc_48:                                         ;  xref 273F:0467, 046B
273F:04A4  58                                   pop     ax
273F:04A5                       loc_49:                                         ;  xref 273F:0489, 048E
273F:04A5  58                                   pop     ax
273F:04A6                       loc_50:                                         ;  xref 273F:0499, 049D
273F:04A6  1F                                   pop     ds
273F:04A7  F9                                   stc                             ; Set carry flag
273F:04A8  C3                                   retn
                              read_file_entry   endp

273F:04A9  00                                   db      0
273F:04AA  0000 0000       old_timer_int_proc   dw      0, 0                    ;  xref 273F:0699, 3FD2, 49A6
273F:04AE  0000 0000         old_kbd_int_proc   dw      0, 0                    ;  xref 273F:06F2, 4004, 94DC
273F:04B2  0000          old_critical_int_proc  dw      0, 0                       ;  xref 273F:06D1, 3FEB

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0005
                                ;��������������������������������������������������������������������������

273F:04B6                       initialise      proc    near
273F:04B6  E8 0314                              call    sub_10                  ; (07CD)
273F:04B9  E8 0447                              call    sub_12                  ; (0903)
273F:04BC  C7 06 5662 094D                      mov     play_music_proc, offset retf_proc
273F:04C2  8C 0E 5664                           mov     word ptr play_music_proc+2,cs
273F:04C6  F6 06 0742 FF                        test    video_style, 0FFh       ; Is any video mode defined
273F:04CB  74 07                                jz      loc_51                  ; Jump if zero
273F:04CD  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA 
273F:04D2  74 20                                je      loc_53                  ; Jump if equal
273F:04D4                       loc_51:                                         ;  xref 273F:04CB
273F:04D4  B8 1A00                              mov     ax,1A00h
273F:04D7  CD 10                                int     10h                     ; Video display   ah=functn 1Ah
                                                                                ;  get display type in bx
273F:04D9  3C 1A                                cmp     al,1Ah
273F:04DB  75 0C                                jne     loc_52                  ; Function not supported
273F:04DD  80 FB 04                             cmp     bl,4                    ; EGA monitor
273F:04E0  74 12                                je      loc_53                  ; Jump if equal
273F:04E2  80 FB 08                             cmp     bl,8                    ; VGA with analog colour model
273F:04E5  75 10                                jne     loc_54                  ; Jump if not equal
273F:04E7  EB 16                                jmp     short loc_55            ; (04FF)

273F:04E9                       loc_52:                                         ;  xref 273F:04DB
273F:04E9  B4 12                                mov     ah,12h
273F:04EB  B3 10                                mov     bl,10h                  ; bl=Return Config Info
273F:04ED  CD 10                                int     10h                     ; Video display EGA/VGA special

273F:04EF  80 FB 10                             cmp     bl,10h                  ; Not supported
273F:04F2  74 03                                je      loc_54
273F:04F4                       loc_53:                                         ;  xref 273F:04D2, 04E0
273F:04F4  E9 00C9                              jmp     loc_56

; Computer doesn't support EGA or VGA 
273F:04F7                       loc_54:
273F:04F7  B8 0002                              mov     ax,2
273F:04FA  B6 01                                mov     dh,1
273F:04FC  E8 3AA5                              call    display_message

; Game will run in VGA mode
273F:04FF                       loc_55:
273F:04FF  C6 06 0743 13                        mov     video_mode, 13h                ; 3200x200x256 mode
273F:0504  C6 06 0742 01                        mov     video_style, VIDEO_STYLE_VGA   ; Flag for VGA mode
273F:0509  C7 06 0744 304E                      mov     show_screen_proc, offset vga_show_screen
273F:050F  C7 06 074A 0008                      mov     char_width, 8
273F:0515  C7 06 0746 FA00                      mov     screen_size, SCREEN_HEIGHT*SCREEN_WIDTH
273F:051B  C7 06 0748 0140                      mov     screen_width, SCREEN_WIDTH
273F:0521  C7 06 074C 0A00                      mov     menubar_block_size, MENUBAR_Y_SIZE*SCREEN_WIDTH
273F:0527  C7 06 074E 346D                      mov     data_555,346Dh          ; (31E4:074E=0)
273F:052D  C7 06 0750 3527                      mov     segment_screen_proc, vga_segment_screen
273F:0533  C7 06 0752 340F                      mov     show_compressed_screen_proc, offset vga_show_compressed_screen
273F:0539  C7 06 0754 37F2                      mov     add_animation_proc, offset vga_add_animation
273F:053F  C7 06 0756 33B3                      mov     draw_talk_dialog_proc, offset vga_draw_talk_dialog
273F:0545  C7 06 0758 3242                      mov     talk_dialog_proc, vga_talk_dialog
273F:054B  C7 06 075A 3209                      mov     display2_character_proc, offset vga_display2_character
273F:0551  C7 06 075C 3599                      mov     add_rect_proc, vga_add_rect
273F:0557  C7 06 075E 3664                      mov     show_cursor_proc, offset vga_cursor
273F:055D  C7 06 0766 30E2                      mov     fade_out_proc, offset vga_fade_out
273F:0563  C7 06 0760 3177                      mov     fade_in_proc, offset vga_fade_in
273F:0569  C7 06 0762 31D3                      mov     set_lower_palette_proc, offset vga_set_lower_palette
273F:056F  C7 06 0764 31E9                      mov     empty_palette_proc, offset vga_empty_palette
273F:0575  C7 06 076A 35F6                      mov     display_character_proc, offset vga_display_character
273F:057B  C7 06 076C 362D                      mov     menu_items_proc, offset vga_menu_items
273F:0581  C7 06 076E 1450                      mov     data_571, offset vga_unknown_rec
273F:0587  C7 06 0770 3948                      mov     data_572,3948h          ; (31E4:0770=0)
273F:058D  C7 06 0772 3AD7                      mov     toggle_menu_highlight_proc, offset vga_toggle_menu_highlight
273F:0593  C7 06 0774 07ED                      mov     data_574, offset vga_no_implementation
273F:0599  C7 06 0776 07ED                      mov     data_575, offset vga_no_implementation
273F:059F  C7 06 0778 3374                      mov     data_576,3374h          ; (31E4:0778=0)
273F:05A5  C7 06 077A 3295                      mov     draw_dialog_proc, offset vga_draw_dialog
273F:05AB  C7 06 077C 398A                      mov     decode_entry_proc, offset decode_file_entry
273F:05B1  C7 06 077E A7E6                      mov     copy_screen_proc, offset vga_copy_screen
273F:05B7  C7 06 0780 A711                      mov     pic_decode_proc, offset vga_pic_decode
273F:05BD  E9 00C4                              jmp     loc_57

; Game will run in EGA mode
273F:05C0                       loc_56:                                         ;  xref 273F:04F4
273F:05C0  C6 06 0743 0D                        mov     byte ptr video_mode,0Dh        ; 320x200x16 mode
273F:05C5  C6 06 0742 02                        mov     video_style, VIDEO_STYLE_EGA,2
273F:05CA  C7 06 0744 205C                      mov     show_screen_proc, offset ega_show_screen
273F:05D0  C7 06 074A 0004                      mov     char_width, 4
273F:05D6  C7 06 0746 7D00                      mov     screen_size, 7D00h
273F:05DC  C7 06 0748 00A0                      mov     screen_width, SCREEN_WIDTH/2
273F:05E2  C7 06 074C 0500                      mov     menubar_block_size, MENUBAR_Y_SIZE*SCREEN_WIDTH/2
273F:05E8  C7 06 074E 2814                      mov     data_555,2814h          ; (31E4:074E=0)
273F:05EE  C7 06 0750 270D                      mov     segment_screen_proc, ega_segment_screen
273F:05F4  C7 06 0752 27B1                      mov     show_compressed_screen_proc, offset ega_show_compressed_screen
;menubar_restore_area
273F:05FA  C7 06 0754 2C76                      mov     add_animation_proc, offset ega_add_animation
273F:0600  C7 06 0756 2275                      mov     draw_talk_dialog_proc, offset ega_draw_talk_dialog
273F:0606  C7 06 0758 2217                      mov     talk_dialog_proc, offset ega_talk_dialog
273F:060C  C7 06 075A 2184                      mov     display2_character_proc, 2184h
273F:0612  C7 06 075C 29A4                      mov     add_rect_proc, offset ega_add_layer
273F:0618  C7 06 075E 2AB3                      mov     show_cursor_proc, offset ega_cursor
273F:061E  C7 06 0768 07ED                      mov     data_568,07EDh
273F:0624  C7 06 0766 215F                      mov     fade_out_proc, offset ega_empty_palette
273F:062A  C7 06 0760 2174                      mov     fade_in_proc, offset ega_fade_in
273F:0630  C7 06 0762 2174                      mov     set_lower_palette_proc, offset ega_fade_in
273F:0636  C7 06 0764 215F                      mov     empty_palette_proc, ega_empty_palette
273F:063C  C7 06 076A 2A31                      mov     display_character_proc, offset ega_display_character
273F:0642  C7 06 076C 22C4                      mov     menu_items_proc, offset ega_menu_items
273F:0648  C7 06 076E 1444                      mov     data_571, offset ega_unknown_rec
273F:064E  C7 06 0770 2F9C                      mov     data_572,2F9Ch          ; (31E4:0770=0)
273F:0654  C7 06 0772 2FF3                      mov     toggle_menu_highlight_proc, offset ega_toggle_menu_highlight
273F:065A  C7 06 0774 2688                      mov     data_574,2688h          ; (31E4:0774=0)
273F:0660  C7 06 0776 26C7                      mov     data_575,26C7h          ; (31E4:0776=0)
273F:0666  C7 06 0778 23EA                      mov     data_576,23EAh          ; (31E4:0778=0)
273F:066C  C7 06 077A 2370                      mov     draw_dialog_proc, offset ega_draw_dialog
273F:0672  C7 06 077C 246A                      mov     decode_entry_proc, offset ega_decode_entry
273F:0678  C7 06 077E A80C                      mov     copy_screen_proc, offset ega_copy_screen
273F:067E  C7 06 0780 A75F                      mov     pic_decode_proc, offset ega_pic_decode

273F:0684                       loc_57:                                         ;  xref 273F:05BD
273F:0684  B4 30                                mov     ah,30h
273F:0686  CD 21                                int     21h                     ; DOS Services  ah=function 30h
                                                                                ;  get DOS version number ax
273F:0688  3C 01                                cmp     al,1                    ; At least DOS version 1.0?
273F:068A  7F 08                                jg      loc_58                  ; Jump if >
273F:068C  B8 0003                              mov     ax,3                    ; Bail out with DOS error message
273F:068F  B6 01                                mov     dh,1
273F:0691  E8 3910                              call    display_message

273F:0694                       loc_58:
273F:0694  B8 3508                              mov     ax,3508h                ; Get current timer handler address
273F:0697  CD 21                                int     21h                     ; DOS Services  ah=function 35h
                                                                                ;  get intrpt vector al in es:bx
273F:0699  2E: 89 1E 04AA                       mov     cs:old_timer_int_proc, bx
273F:069E  8C C0                                mov     ax,es
273F:06A0  2E: A3 04AC                          mov     word ptr cs:old_timer_int_proc+2,ax
273F:06A4  B8 2508                              mov     ax,2508h
273F:06A7  1E                                   push    ds
273F:06A8  0E                                   push    cs
273F:06A9  1F                                   pop     ds
273F:06AA BA 48C6                              mov     dx,offset timer_handler
273F:06AD  CD 21                                int     21h                     ; DOS Services  ah=function 25h
                                                                                ;  set intrpt vector al to ds:dx
273F:06AF  1F                                   pop     ds
273F:06B0  80 0E 073C 04                        or      status_flags, STATUS_TIMER_SET
273F:06B5  B9 5D38                              mov     cx,5D38h
273F:06B8  B0 36                                mov     al,36h                  ; '6'
273F:06BA  E6 43                                out     43h,al                  ; port 43h, 8253 timer control
273F:06BC  EB 00                                jmp     short $+2               ; delay for I/O
273F:06BE  EB 00                                jmp     short $+2               ; delay for I/O
273F:06C0  8A C1                                mov     al,cl
273F:06C2  E6 40                                out     40h,al                  ; port 40h, 8253 timer 0 clock
273F:06C4  EB 00                                jmp     short $+2               ; delay for I/O
273F:06C6  EB 00                                jmp     short $+2               ; delay for I/O
273F:06C8  8A C5                                mov     al,ch
273F:06CA  E6 40                                out     40h,al                  ; port 40h, 8253 timer 0 clock
273F:06CC  B8 3524                              mov     ax,3524h
273F:06CF  CD 21                                int     21h                     ; DOS Services  ah=function 35h
                                                                                ;  get intrpt vector al in es:bx
273F:06D1  2E: 89 1E 04B2                       mov     cs:old_critical_int_proc, bx
273F:06D6  8C C0                                mov     ax,es
273F:06D8  2E: A3 04B4                          mov     cs:old_critical_int_proc+2,ax
273F:06DC  B8 2524                              mov     ax,2524h
273F:06DF  1E                                   push    ds
273F:06E0  0E                                   push    cs
273F:06E1  1F                                   pop     ds
273F:06E2 BA 0944                              mov     dx,offset critical_handler ; Set new critical error handler
273F:06E5  CD 21                                int     21h                     ; DOS Services  ah=function 25h
                                                                                ;  set intrpt vector al to ds:dx
273F:06E7  1F                                   pop     ds
273F:06E8  80 0E 073C 10                        or      status_flags, STATUS_CRITICAL_SET
273F:06ED  B8 3509                              mov     ax,3509h
273F:06F0  CD 21                                int     21h                     ; DOS Services  ah=function 35h
                                                                                ;  get intrpt vector al in es:bx
273F:06F2  2E: 89 1E 04AE                       mov     cs:old_kbd_int_proc, bx
273F:06F7  8C C0                                mov     ax,es
273F:06F9  2E: A3 04B0                          mov     word ptr cs:old_kbd_int_proc+2, ax
273F:06FD  B8 2509                              mov     ax,2509h
273F:0700  1E                                   push    ds
273F:0701  0E                                   push    cs
273F:0702  1F                                   pop     ds
273F:0703 BA 94DB                              mov     dx,offset keyboard_handler ; Set new keyboard handler
273F:0706  CD 21                                int     21h                     ; DOS Services  ah=function 25h
                                                                                ;  set intrpt vector al to ds:dx
273F:0708  1F                                   pop     ds
273F:0709  80 0E 073C 40                        or      status_flags, STATUS_KEYBOARD_SET
273F:070E  B4 19                                mov     ah,19h
273F:0710  CD 21                                int     21h                     ; DOS Services  ah=function 19h
                                                                                ;  get default drive al  (0=a:)
273F:0712  A2 0786                              mov     default_drive, al 
273F:0715  CD 11                                int     11h                     ; Put equipment bits in ax
273F:0717  A8 C0                                test    al,0C0h                 ; How many floppy drives attached?
273F:0719  75 05                                jnz     loc_59                  ; Jump if not zero
273F:071B  80 0E 073D 80                        or      status_flags2, FLAG_HAS_FLOPPY_DRIVE
273F:0720                       loc_59:                                         ;  xref 273F:0719
273F:0720  B8 3300                              mov     ax,3300h
273F:0723  CD 21                                int     21h                     ; DOS Services  ah=function 33h
                                                                                ;  get ctrl-break flag in dl
273F:0725  88 16 073E                           mov     old_ctrl_break_flag, dl
273F:0729  B8 3301                              mov     ax,3301h
273F:072C  B2 00                                mov     dl,0
273F:072E  CD 21                                int     21h                     ; DOS Services  ah=function 33h
                                                                                ;  set ctrl-break flag dl=off/on
273F:0730  80 0E 073C 08                        or      status_flags, STATUS_CTRL_BREAK_SET
273F:0735  B8 0040                              mov     ax,40h
273F:0738  8E C0                                mov     es,ax
273F:073A  26: A0 0017                          mov     al,es:keybd_flags_1     ; (0040:0017=0)
273F:073E  A2 073F                              mov     data_546,al             ; (31E4:073F=1)
273F:0741  B4 0F                                mov     ah,0Fh
273F:0743  CD 10                                int     10h                     ; Video display   ah=functn 0Fh
                                                                                ;  get state, al=mode, bh=page
                                                                                ;   ah=columns on screen
273F:0745  A2 073B                              mov     data_542,al             ; (31E4:073B=0)
273F:0748  B4 00                                mov     ah,0
273F:074A  A0 0743                              mov     al,video_mode           ; (31E4:0743=0)
273F:074D  CD 10                                int     10h                     ; Video display   ah=functn 00h
                                                                                ;  set display mode in al
273F:074F  80 0E 073C 01                        or      status_flags, STATUS_VIDEO_MODE_SET
273F:0754  80 3E 0742 01                        cmp     video_style, VIDEO_STYLE_VGA
273F:0759  75 03                                jne     loc_60                  ; Jump if not equal
273F:075B  E8 3A27                              call    set_upper_vga_palette
273F:075E                       loc_60:                                         ;  xref 273F:0759
273F:075E  E8 6E1B                              call    show_startup            ; (757C)

273F:0761  C7 06 11D6 00A0                      mov     mouse_x2, 160           ; Default mouse pos to center
273F:0767  C7 06 11D1 00A0                      mov     mouse_x,  160
273F:076D  C7 06 11D8 0064                      mov     mouse_y2, 100
273F:0773  C7 06 11D3 0064                      mov     mouse_y,  100

273F:0779  B8 0000                              mov     ax,0
273F:077C  CD 33                                int     33h                     ; Mouse driver    ax=func 0000h
                                                                                ;  installed?, ax=0 no, =-1 yes
                                                                                ;   bx=number of mouse buttons
273F:077E  0B C0                                or      ax,ax                   ; Zero ?
273F:0780  74 45                                jz      loc_61                  ; Mouse not installed
273F:0782  1E                                   push    ds
273F:0783  0E                                   push    cs
273F:0784  07                                   pop     es
273F:0785 BA 1EE8                              mov     dx,offset mouse_handler
273F:0788  B9 007F                              mov     cx,7Fh
273F:078B  B8 000C                              mov     ax,0Ch
273F:078E  CD 33                                int     33h                     ; Mouse driver    ax=func 000Ch
                                                                                ;  set user handler at es:dx
                                                                                ;   cx=event mask
273F:0790  1F                                   pop     ds
273F:0791  80 0E 073C 80                        or      status_flags, STATUS_MOUSE_HANDLER_SET
273F:0796  B9 0000                              mov     cx,0
273F:0799  BA 027F                              mov     dx, 639
273F:079C  B8 0007                              mov     ax,7
273F:079F  CD 33                                int     33h                     ; Mouse driver    ax=func 0007h
                                                                                ;  set horz range 0 - 639
273F:07A1  B9 0000                              mov     cx,0
273F:07A4  BA 00C6                              mov     dx,0C6h
273F:07A7  B8 0008                              mov     ax,8
273F:07AA  CD 33                                int     33h                     ; Mouse driver    ax=func 0008h
                                                                                ;  set vert range 0 - 198
273F:07AC  B8 0003                              mov     ax,3
273F:07AF  CD 33                                int     33h                     ; Mouse driver    ax=func 0003h
                                                                                ;  get position, cx=horz,dx=vert
                                                                                ;   bx=mouse button status bits
273F:07B1  88 1E 11D5                           mov     mouse_buttons, bl       ; (31E4:11D5=0)
273F:07B5  D1 E9                                shr     cx,1                    ; Change 0-640 horiz to 0-320
273F:07B7  89 0E 11D6                           mov     mouse_x2,cx             ;
273F:07BB  89 0E 11D1                           mov     mouse_x, cx
273F:07BF  89 16 11D8                           mov     mouse_y2,dx
273F:07C3  89 16 11D3                           mov     mouse_y, dx
273F:07C7                       loc_61:                                         ;  xref 273F:0780
273F:07C7  80 26 11D0 FD                        and     menubar_state, 0FDh  ; (31E4:11D0=3)
273F:07CC  C3                                   retn

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:04B6, AA1E

273F:07CD                       sub_10:
273F:07CD  8C D3                                mov     bx,ss
273F:07CF  8C C0                                mov     ax,es
273F:07D1  2B D8                                sub     bx,ax
273F:07D3  8B C4                                mov     ax,sp
273F:07D5  B1 04                                mov     cl,4
273F:07D7  D3 E8                                shr     ax,cl                   ; Shift w/zeros fill
273F:07D9  03 D8                                add     bx,ax
273F:07DB  83 C3 03                             add     bx,3
273F:07DE  89 1E 0740                           mov     data_547,bx             ; (31E4:0740=0)
273F:07E2  B4 4A                                mov     ah,4Ah
273F:07E4  CD 21                                int     21h                     ; DOS Services  ah=function 4Ah
                                                                                ;  change memory allocation
                                                                                ;   bx=bytes/16, es=mem segment
273F:07E6  BB FFFF                              mov     bx,0FFFFh
273F:07E9  B4 48                                mov     ah,48h
273F:07EB  CD 21                                int     21h                     ; DOS Services  ah=function 48h
                                                                                ;  allocate memory, bx=bytes/16
273F:07ED              vga_no_implementation    retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:6614
                                ;��������������������������������������������������������������������������

                                     sub_11     proc    near
273F:07EE  C6 06 38B0 01                        mov     data_781, 1
273F:07F3  80 0E 11D0 01                        or      menubar_state, 1   ; (273F:11D0=56h)
273F:07F8  FF 16 075E                           call    [show_cursor_proc]
273F:07FC  8C DD                                mov     bp,ds
273F:07FE  A1 4CE6                              mov     ax, talk_dialog_buffer
273F:0801  8E C0                                mov     es, ax
273F:0803  B1 03                                mov     cl,3
273F:0805  A1 11D8                              mov     ax, mouse_y2
273F:0808  A3 0784                              mov     saved_mouse_y, ax
273F:080B  A1 11D6                              mov     ax, mouse_x2
273F:080E  A3 0782                              mov     saved_mouse_x, ax
273F:0811  A1 076C                              mov     ax, menu_items_proc
273F:0814  26: A3 3368                          mov     es:data_78e,ax          ; (0874:3368=4758h)
273F:0818  A0 9835                              mov     al, num_inventory_items
273F:081B  26: A2 3360                          mov     es:data_76e,al          ; (0874:3360=0FFh)
273F:081F  A1 BC49                              mov     ax, num_groats
273F:0822  26: A3 337E                          mov     es:data_88e,ax          ; (0874:337E=0)
273F:0826  A1 4CE4                              mov     ax,word ptr ds:[data_segment2]
273F:0829  26: A3 3376                          mov     es:data_84e,ax          ; (0874:3376=0A321h)
273F:082D  A1 4CF2                              mov     ax, font_segment
273F:0830  26: A3 337B                          mov     es:data_86e,ax          ; (0874:337B=5806h)
273F:0834  A1 4CF0                              mov     ax, font2_segment
273F:0837  26: A3 3370                          mov     es:data_82e,ax          ; (0874:3370=0F5Eh)
273F:083B  26: C7 06 3362 0000                  mov     word ptr es:data_77e,0  ; (0874:3362=0AF06h)
273F:0842  A1 1924                              mov     ax, hotspot_id
273F:0845  26: A3 3358                          mov     es:data_73e,ax          ; (0874:3358=5E69h)
273F:0849  A1 9832                              mov     ax, room_number
273F:084C  26: A3 3356                          mov     es:data_72e,ax          ; (0874:3356=289Ah)
273F:0850  A1 074C                              mov     ax, menubar_block_size
273F:0853  26: A3 336A                          mov     es:data_79e,ax          ; (0874:336A=7500h)
273F:0857  A1 0748                              mov     ax, screen_width
273F:085A  26: A3 3374                          mov     es:data_83e,ax          ; (0874:3374=1EA1h)
273F:085E  A1 076A                              mov     ax, display_character_proc
273F:0861  26: A3 336C                          mov     es:data_80e,ax          ; (0874:336C=9A07h)
273F:0865  A1 074A                              mov     ax, char_width
273F:0868  26: A3 336E                          mov     es:data_81e,ax          ; (0874:336E=8090h)
273F:086C  8B 36 076E                           mov     si, data_571
273F:0870  8B 04                                mov     ax,[si]
273F:0872  26: A3 33DE                          mov     es:data_92e,ax          ; (0874:33DE=0A21Dh)
273F:0876  8B 44 02                             mov     ax,[si+2]
273F:0879  26: A3 33DC                          mov     es:data_91e,ax          ; (0874:33DC=11A2h)
273F:087D BF 33E0                              mov     di,data_93e             ; (0874:33E0=0F2h)
273F:0880  B9 001B                              mov     cx,1Bh
273F:0883 BE 0720                              mov     si,720h                 ; (273F:0720=0B8h)
273F:0886  F3/ A4                               rep     movsb                   ; Rep when cx >0 Mov [si] to es:[di]
273F:0888  06                                   push    es
273F:0889  1F                                   pop     ds
273F:088A  C3                                   retn
                                     sub_11     endp
                                     
                                ;��������������������������������������������������������������������������
                                ;                              JUMP POINT
                                ;
                                ;��������������������������������������������������������������������������

273F:088B 8E C5         action_handle_2:       mov     es,bp
273F:088D BF 65F3                              mov     di, offset player_action_support_record
273F:0890 BE 3382                              mov     si, offset data_3382
273F:0893  F7 04 FFFF                           test    word ptr [si],0FFFFh
273F:0897  78 37                                js      loc_65                  ; Jump if sign=1
273F:0899                       loc_63:                                         ;  xref 273F:089F
273F:0899 AD                                   lodsw                           ; String [si] to ax
273F:089A  0B C0                                or      ax,ax                   ; Zero ?
273F:089C  78 03                                js      loc_64                  ; Jump if sign=1
273F:089E  A5                                   movsw                           ; Mov [si] to es:[di]
273F:089F  EB F8                                jmp     short loc_63            ; (0899)
273F:08A1                       loc_64:                                         ;  xref 273F:089C
273F:08A1  33 C0                                xor     ax,ax                   ; Zero register
273F:08A3  AB                                   stosw                           ; Store ax to es:[di]
273F:08A4  8E DD                                mov     ds,bp
273F:08A6  C6 06 9834 01                        mov     cursor_state, CURSORSTATE_ACTION
273F:08AB  A3 1924                              mov     hotspot_id, ax
273F:08AE BE 6CEF                              mov     si, offset player_hotspot_rec
273F:08B1  89 44 52                             mov     [si+HS_DEST_HOTSPOT],ax
273F:08B4  88 44 2A                             mov     [si+HS_ACTION_CTR],al
273F:08B7  88 44 FF                             mov     [si-1],al
273F:08BA  8B DE                                mov     bx,si
273F:08BC  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:08BF  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:08C2  89 44 42                             mov     [si+HS_DELAY_CTR], ax
273F:08C5  88 44 44                             mov     [si+HS_CHAR_MODE], al
273F:08C8  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION
273F:08CB  C7 47 01 65F3                        mov     word ptr [bx+CURRENT_ACTION_SUPPORT_TABLE], offset player_action_support_record
273F:08D0                       loc_65:                                    
273F:08D0  8E DD                                mov     ds,bp
273F:08D2  8B 0E 0782                           mov     cx, saved_mouse_x
273F:08D6  89 0E 11D6                           mov     mouse_x2, cx
273F:08DA  89 0E 11D1                           mov     mouse_x, cx
273F:08DE  8B 16 0784                           mov     dx, saved_mouse_y
273F:08E2  89 16 11D8                           mov     mouse_y2, dx
273F:08E6  89 16 11D3                           mov     mouse_y, dx
273F:08EA  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:08EC  B8 0004                              mov     ax,4
273F:08EF  CD 33                                int     33h                     ; Mouse driver    ax=func 0004h
                                                                                ;  set position, cx=horz,dx=vert
273F:08F1  33 C0                                xor     ax,ax                   ; Zero register
273F:08F3  A2 11DA                              mov     mouse_buttons2, al
273F:08F6  A2 38B0                              mov     data_781, al
273F:08F9  80 26 11D0 FE                        and     menubar_state, 0FEh ; (273F:11D0=56h)
273F:08FE  FF 16 075E                           call    [show_cursor_proc]
273F:0902  C3                                   retn

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:04B9

273F:0903                       sub_12:
273F:0903  B4 62                                mov     ah,62h
273F:0905  CD 21                                int     21h                     ; DOS Services  ah=function 62h
                                                                                ;  get Program Segment Prefix bx
273F:0907  8E C3                                mov     es,bx
273F:0909  26: F6 06 0080 FF                    test    byte ptr es:data_8e,0FFh ; (0000:0080=0A0h)
273F:090F  74 31                                jz      loc_ret_70              ; Jump if zero
273F:0911  26: 8A 0E 0080                       mov     cl,es:data_8e           ; (0000:0080=0A0h)
273F:0916  32 ED                                xor     ch,ch                   ; Zero register
273F:0918 BF 0081                              mov     di,data_8e+1            ; (0000:0081=1)

273F:091B                       locloop_66:                                     ;  xref 273F:0940
273F:091B  26: 8A 05                            mov     al,es:[di]
273F:091E  3C 65                                cmp     al,65h                  ; 'e'
273F:0920  75 07                                jne     loc_67                  ; Jump if not equal
                                                assume  ds:data_seg
273F:0922  80 36 0742 02                        xor     video_style, 2
273F:0927  EB 14                                jmp     short loc_69            ; (093D)
273F:0929                       loc_67:                                         ;  xref 273F:0920
273F:0929  3C 6D                                cmp     al,6Dh                  ; 'm'
273F:092B  75 07                                jne     loc_68                  ; Jump if not equal
273F:092D  80 36 5660 08                        xor     music_status,8
273F:0932  EB 09                                jmp     short loc_69            ; (093D)
273F:0934                       loc_68:                                         ;  xref 273F:092B
273F:0934  3C 69                                cmp     al,69h                  ; 'i'
273F:0936  75 05                                jne     loc_69                  ; Jump if not equal
273F:0938  80 36 11D0 40                        xor     menubar_state, 40h   ; (31E4:11D0=3) '@'
273F:093D                       loc_69:                                         ;  xref 273F:0927, 0932, 0936
273F:093D  83 C7 01                             add     di,1
273F:0940  E2 D9                                loop    locloop_66              ; Loop if cx > 0


273F:0942                       loc_ret_70:                                     ;  xref 273F:090F
273F:0942  C3                                   retn
273F:0943  00                   critical_error  db      0                       ;  xref 273F:019B, 01B2, 01E5, 01F3
                                                                                ;            021F, 0249, 0397, 03CA
                                                                                ;            0944
                                initialise      endp


                                ;��������������������������������������������������������������������������
                                ;
                                ;                       External Entry Point
                                ;
                                ;��������������������������������������������������������������������������

273F:0944                    critical_handler   proc    far                     ;  xref 273F:06E2
                                                assume  ds:seg_code
273F:0944  2E: C6 06 0943 01                    mov     cs:critical_error,1           ; (273F:0943=0)
273F:094A  32 C0                                xor     al,al                   ; Zero register
273F:094C  CF                                   iret                            ; Interrupt return
                             critical_handler   endp

                                ;��������������������������������������������������������������������������
                                ;
                                ;                       External Entry Point
                                ;
                                ;��������������������������������������������������������������������������

273F:094D  CB                   retf_proc       retf

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0074, 7097, 70BA, 8FB5
                                ;��������������������������������������������������������������������������

273F:094E                clear_layer_rects      proc    near
273F:094E  1E                                   push    ds
273F:094F  07                                   pop     es
273F:0950 BF 0992                              mov     di,offset rects_layer_0
273F:0953  B8 FFFF                              mov     ax,0FFFFh
273F:0956  B9 0200                              mov     cx,200h
273F:0959  F3/ AB                               rep     stosw                   ; Rep when cx >0 Store ax to es:[di]
                                                assume  ds:data_seg
273F:095B  A1 4CE0                              mov     ax, current_room_id
273F:095E  A3 4CE2                              mov     data_segment, ax

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:00AC, 3CBD, 411B, 7BB4, 8FC5, A825

273F:0961                  clear_hotspot_rects:
273F:0961  1E                                   push    ds
273F:0962  07                                   pop     es
273F:0963 BF 0790                              mov     di,offset hotspot_rects_list
273F:0966  B8 8181                              mov     ax,8181h
273F:0969  B9 0100                              mov     cx,100h
273F:096C  F3/ AB                               rep     stosw                   ; Rep when cx >0 Store ax to es:[di]
273F:096E  C3                                   retn
                         clear_layer_rects      endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0077, 709A, 70BD, 8FB8
                                ;��������������������������������������������������������������������������

                          room_load_layers      proc    near

273F:096F                       loc_71:                                         ;  xref 273F:0977
273F:096F  80 26 11D0 DF                        and     menubar_state, 0DFh
273F:0974  E8 F884                              call    read_and_validate_header
273F:0977  72 F6                                jc      loc_71                  ; Jump back if error occurred

273F:0979  A1 4CE0                              mov     ax, current_room_id
273F:097C  50                                   push    ax
                                                assume  ds:seg_code
273F:097D  8B 1E 9832                           mov     bx, room_number
273F:0981  E8 0364                              call    get_room_resource_pointer

; At this point SI points to the data list for the room. For cell room, it's room=8181h to si=>c108h

273F:0984  BF 0D92                              mov     di, offset room_layers
273F:0987  83 C6 08                             add     si, ROOM_NUM_LAYERS
273F:098A  8A 2C                                mov     ch, [si]                ; Get # screens
273F:098C  83 C6 01                             add     si,1                    ; Move to first layer id
273F:098F  F7 06 BA25 FFFF                      test    viewing_room, 0FFFFh    ; Viewing room without being there?
273F:0995  74 03                                jz      loc_72
273F:0997  80 C5 01                             add     ch,1                    ; If yes, inc # screens to load
273F:099A                       loc_72:
273F:099A  BB 0992                              mov     bx, offset rects_layer_0
273F:099D  83 C3 4C                             add     bx, offset rects_layer_0 - offset rects_layer_0 ; 4Ch
273F:09A0  32 C9                                xor     cl, cl                  ; Starting at layer 0

273F:09A2                       loc_73:                                         
273F:09A2  51                                   push    cx
273F:09A3  56                                   push    si
273F:09A4  53                                   push    bx
273F:09A5  8B 04                                mov     ax,[si]                 ; Load the screen with palette
273F:09A7  E8 0226                              call    read_screen
273F:09AA  A1 4CE0                              mov     ax, current_room_segment
273F:09AD  89 05                                mov     [di], ax                ; Store seg for layer start
273F:09AF  57                                   push    di
273F:09B0  8E C0                                mov     es, ax
273F:09B2  33 FF                                xor     di,di                   ; Zero register
273F:09B4  FF 16 0750                           call    [segment_screen_proc]
273F:09B8  B1 04                                mov     cl,4
273F:09BA  D3 EF                                shr     di,cl                   ; Convert to # paragraphs 
273F:09BC  01 3E 4CE0                           add     current_room_segment, di ; Increase by decoded size
273F:09C0  01 3E 4CE2                           add     data_segment, di
273F:09C4  5F                                   pop     di
273F:09C5  83 C7 02                             add     di,2
273F:09C8  A1 0DA2                              mov     ax, rectangle_size      ; ax = 400h
273F:09CB  89 05                                mov     [di],ax                 
273F:09CD  83 C7 02                             add     di,2
273F:09D0  5B                                   pop     bx
273F:09D1  81 C3 0100                           add     bx,100h
273F:09D5  5E                                   pop     si
273F:09D6  83 C6 02                             add     si,2
273F:09D9  59                                   pop     cx
273F:09DA  80 C1 01                             add     cl,1
273F:09DD  80 ED 01                             sub     ch,1                    ; Decrement number of layers
273F:09E0  75 C0                                jnz     loc_73                  ; Jump if not zero

273F:09E2  58                                   pop     ax
273F:09E3  A3 4CE0                              mov     current_room_segment, ax
273F:09E6  C3                                   retn

                          room_load_layers      endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0081, 70C4, 8FBF
                                ;��������������������������������������������������������������������������

273F:09E7                       sub_16          proc    near
273F:09E7 BB 0ADE                              mov     bx,offset data_593      ; (31E4:0ADE=0)
273F:09EA  E8 000D                              call    sub_17                  ; (09FA)
273F:09ED BB 0BDE                              mov     bx,offset data_599      ; (31E4:0BDE=0)
273F:09F0  E8 0007                              call    sub_17                  ; (09FA)
273F:09F3 BB 0CDE                              mov     bx,offset data_601      ; (31E4:0CDE=0)
273F:09F6  E8 0001                              call    sub_17                  ; (09FA)
273F:09F9  C3                                   retn
                                sub_16          endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:09EA, 09F0, 09F6
                                ;��������������������������������������������������������������������������

273F:09FA                       sub_17          proc    near
273F:09FA  B9 0006                              mov     cx,6

273F:09FD                       locloop_74:                                     ;  xref 273F:0A52
273F:09FD  51                                   push    cx
273F:09FE  53                                   push    bx
273F:09FF  B5 0A                                mov     ch,0Ah
273F:0A01                       loc_75:                                         ;  xref 273F:0A4E
273F:0A01  53                                   push    bx
273F:0A02  B1 06                                mov     cl,6
273F:0A04  32 D2                                xor     dl,dl                   ; Zero register
273F:0A06                       loc_76:                                         ;  xref 273F:0A45
273F:0A06  80 3F FF                             cmp     byte ptr [bx],0FFh
273F:0A09  75 04                                jne     loc_77                  ; Jump if not equal
273F:0A0B  32 D2                                xor     dl,dl                   ; Zero register
273F:0A0D  EB 30                                jmp     short loc_81            ; (0A3F)
273F:0A0F                       loc_77:                                         ;  xref 273F:0A09
273F:0A0F  F6 C2 02                             test    dl,2
273F:0A12  74 0A                                jz      loc_78                  ; Jump if zero
273F:0A14  80 7F FF FF                          cmp     byte ptr [bx-1],0FFh
273F:0A18  75 04                                jne     loc_78                  ; Jump if not equal
273F:0A1A  C6 47 FF FE                          mov     byte ptr [bx-1],0FEh
273F:0A1E                       loc_78:                                         ;  xref 273F:0A12, 0A18
273F:0A1E  F6 C2 04                             test    dl,4
273F:0A21  74 0A                                jz      loc_79                  ; Jump if zero
273F:0A23  80 7F 01 FF                          cmp     byte ptr [bx+1],0FFh
273F:0A27  75 04                                jne     loc_79                  ; Jump if not equal
273F:0A29  C6 47 01 FE                          mov     byte ptr [bx+1],0FEh
273F:0A2D                       loc_79:                                         ;  xref 273F:0A21, 0A27
273F:0A2D  80 7F FF FF                          cmp     byte ptr [bx-1],0FFh
273F:0A31  74 03                                je      loc_80                  ; Jump if equal
273F:0A33  80 CA 02                             or      dl,2
273F:0A36                       loc_80:                                         ;  xref 273F:0A31
273F:0A36  80 7F 01 FF                          cmp     byte ptr [bx+1],0FFh
273F:0A3A  74 03                                je      loc_81                  ; Jump if equal
273F:0A3C  80 CA 04                             or      dl,4
273F:0A3F                       loc_81:                                         ;  xref 273F:0A0D, 0A3A
273F:0A3F  83 C3 12                             add     bx,12h
273F:0A42  80 E9 01                             sub     cl,1
273F:0A45  75 BF                                jnz     loc_76                  ; Jump if not zero
273F:0A47  5B                                   pop     bx
273F:0A48  83 C3 01                             add     bx,1
273F:0A4B  80 ED 01                             sub     ch,1
273F:0A4E  75 B1                                jnz     loc_75                  ; Jump if not zero
273F:0A50  5B                                   pop     bx
273F:0A51  59                                   pop     cx
273F:0A52  E2 A9                                loop    locloop_74              ; Loop if cx > 0

273F:0A54  C3                                   retn
                                sub_17          endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:1549, 15EF
                                ; di = anim slot entry
                                ;��������������������������������������������������������������������������

273F:0A55                    room_add_layer     proc    near
273F:0A55  8B 05                                mov     ax, [di]                ; Get X start
273F:0A57  8B 5D 04                             mov     bx, [di+ANIM_WIDTH]     ; Get width
273F:0A5A  03 D8                                add     bx, ax
273F:0A5C  B1 05                                mov     cl,5
273F:0A5E  D3 E8                                shr     ax,cl                   ; ax=X rect start
273F:0A60  D3 EB                                shr     bx,cl                   ; bx=X rect end
273F:0A62  2B D8                                sub     bx, ax
273F:0A64  83 C3 01                             add     bx, 1                   ; bx = num horiz rects
273F:0A67  89 1E 0DAA                           mov     num_horiz_rects, bx
273F:0A6B  8B D8                                mov     bx, ax

273F:0A6D  8B 45 02                             mov     ax, [di+ANIM_Y]           ; Get Y position
273F:0A70  8B 55 15                             mov     dx, [di+ANIM_HEIGHT_COPY] ; Get height copy
273F:0A73  2D 0008                              sub     ax, 8
273F:0A76  03 D0                                add     dx, ax
273F:0A78  83 EA 01                             sub     dx, 1
273F:0A7B  B1 05                                mov     cl, 5
273F:0A7D  D3 E8                                shr     ax, cl                  ; ax=Y rect start
273F:0A7F  D3 EA                                shr     dx, cl                  ; dx=Y rect end
273F:0A81  2B D0                                sub     dx, ax                  ; dx=num vert rects-1
273F:0A83  89 1E 0DA6                           mov     rect_x_start, bx
273F:0A87  89 16 0DAC                           mov     num_vert_rects, dx
273F:0A8B  83 06 0DAC 01                        add     num_vert_rects, 1
273F:0A90  03 C2                                add     ax, dx
273F:0A92  A3 0DA8                              mov     rect_y_end, ax

273F:0A95  D1 E0                                shl     ax,1                    ; ax=y*2
273F:0A97  8B F8                                mov     di,ax                   ; di=y*2
273F:0A99  B1 03                                mov     cl,3
273F:0A9B  D3 E0                                shl     ax,cl                   ; ax=y*16
273F:0A9D  03 C7                                add     ax,di                   ; ax=y*18
273F:0A9F  03 C3                                add     ax,bx                   ; ax = yend*18 + x
273F:0AA1  8B D8                                mov     bx,ax                   ; ax/bx = list start

273F:0AA3  8B 0E 0DAA                           mov     cx, num_horiz_rects 

; cx = num horiz rects,
273F:0AA7                       locloop_82:
273F:0AA7  51                                   push    cx
273F:0AA8  53                                   push    bx
273F:0AA9  8B 16 0DA6                           mov     dx, rect_x_start        
273F:0AAD  83 EA 04                             sub     dx, 4
273F:0AB0  72 3F                                jc      loc_86                  ; Jump if carry Set
273F:0AB2 BF 0A92                              mov     di, offset rects_layer_1
273F:0AB5  BE 0D96                              mov     si, offset room_layers + 4 ; layer 1
273F:0AB8  B9 0003                              mov     cx, 3                   ; 3 layers

273F:0ABB                       locloop_83:                                     ;  xref 273F:0AC7
273F:0ABB  80 39 FF                             cmp     byte ptr [bx+di], 0FFh  ; Rect was empty?
273F:0ABE  75 0B                                jne     loc_84                  ; If yes, then handle
273F:0AC0  81 C7 0100                           add     di, 100h                ; Check remaining layers
273F:0AC4  83 C6 04                             add     si, 4                   ; Next room_layers entry
273F:0AC7  E2 F2                                loop    locloop_83              ; Loop layers

273F:0AC9  EB 26                                jmp     short loc_86            
273F:0ACB                       loc_84:
273F:0ACB  8B E9                                mov     bp,cx                   ; Save layer #
273F:0ACD  8B 0E 0DAC                           mov     cx,num_vert_rects
273F:0AD1  A1 0DA8                              mov     ax,rect_y_end
273F:0AD4  2D 0004                              sub     ax,4

273F:0AD7                       locloop_85:                                     ;  xref 273F:0AEF
273F:0AD7  50                                   push    ax
273F:0AD8  51                                   push    cx
273F:0AD9  57                                   push    di
273F:0ADA  52                                   push    dx
273F:0ADB  53                                   push    bx
273F:0ADC  56                                   push    si
273F:0ADD  FF 16 075C                           call    [add_rect_proc]         ; Add rect area (32x32)
273F:0AE1  5E                                   pop     si
273F:0AE2  5B                                   pop     bx
273F:0AE3  5A                                   pop     dx
273F:0AE4  5F                                   pop     di
273F:0AE5  59                                   pop     cx
273F:0AE6  58                                   pop     ax
273F:0AE7  83 EB 12                             sub     bx, FULL_HORIZ_RECTS
273F:0AEA  2D 0001                              sub     ax, 1
273F:0AED  72 02                                jc      loc_86                  ; Loop for remaining rows
273F:0AEF  E2 E6                                loop    locloop_85

273F:0AF1                       loc_86:                                        
273F:0AF1  5B                                   pop     bx
273F:0AF2  83 C3 01                             add     bx, 1
273F:0AF5  59                                   pop     cx
273F:0AF6  83 06 0DA6 01                        add     rect_x_start, 1    
273F:0AFB  E2 AA                                loop    locloop_82              ; Loop for remaining cols

273F:0AFD  C3                                   retn
                             room_add_layer     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0084, 70C7, 8FC2
                                ;��������������������������������������������������������������������������

273F:0AFE                       sub_19          proc    near
273F:0AFE BE 0B38                              mov     si,offset data_598      ; (31E4:0B38=0)
273F:0B01  B9 0003                              mov     cx,3

273F:0B04                       locloop_87:                                     ;  xref 273F:0B25
273F:0B04 BB 0009                              mov     bx,offset copyright+9   ; (31E4:0009=' ')
273F:0B07                       loc_88:                                         ;  xref 273F:0B1F
273F:0B07  80 38 FF                             cmp     byte ptr [bx+si],0FFh
273F:0B0A  74 10                                je      loc_89                  ; Jump if equal
273F:0B0C  C6 40 12 FE                          mov     byte ptr [bx+si+12h],0FEh
273F:0B10  C6 40 24 FE                          mov     byte ptr [bx+si+24h],0FEh
273F:0B14  C6 40 36 FE                          mov     byte ptr [bx+si+36h],0FEh
273F:0B18  C6 40 48 FE                          mov     byte ptr [bx+si+48h],0FEh
273F:0B1C                       loc_89:                                         ;  xref 273F:0B0A
273F:0B1C  83 EB 01                             sub     bx,1
273F:0B1F  73 E6                                jnc     loc_88                  ; Jump if carry=0
273F:0B21  81 C6 0100                           add     si,100h
273F:0B25  E2 DD                                loop    locloop_87              ; Loop if cx > 0

273F:0B27  C3                                   retn
                                sub_19          endp

                                
                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:1546, 15EC, 1631, 3CF9
                                ; di = anim slot
                                ;��������������������������������������������������������������������������

                         flag_covered_cells     proc    near
273F:0B28  50                                   push    ax
273F:0B29  8B 5D 02                             mov     bx, [di+ANIM_Y]
273F:0B2C  83 EB 08                             sub     bx, MENUBAR_Y_SIZE
273F:0B2F  8B C3                                mov     ax, bx                  ; bx = Y start
273F:0B31  03 45 06                             add     ax, [di+ANIM_HEIGHT]
273F:0B34  2D 0001                              sub     ax, 1                   ; ax = Y end
273F:0B37  B1 05                                mov     cl, 5
273F:0B39  D3 E8                                shr     ax, cl                  ; ax=Y end/32
273F:0B3B  D3 EB                                shr     bx, cl                  ; bx=Y start/32
273F:0B3D  2B C3                                sub     ax, bx
273F:0B3F  05 0001                              add     ax, 1                   ; ax=# vert rects

273F:0B42  50                                   push    ax
273F:0B43  D1 E3                                shl     bx, 1
273F:0B45  8B D3                                mov     dx, bx
273F:0B47  B1 03                                mov     cl, 3
273F:0B49  D3 E3                                shl     bx, cl
273F:0B4B  03 DA                                add     bx, dx                  

; The screen is broken down into a set of 10x6 32x32 cells.
; bx = vertical cell rect block * 10

273F:0B4D  8B 15                                mov     dx, [di]                ; dx = X start
273F:0B4F  8B 45 04                             mov     ax, [di+ANIM_WIDTH]
273F:0B52  03 C2                                add     ax, dx
273F:0B54  2D 0001                              sub     ax, 1                   ; ax = X end
273F:0B57  B1 05                                mov     cl, 5
273F:0B59  D3 EA                                shr     dx, cl                  ; dx = X start/32
273F:0B5B  D3 E8                                shr     ax, cl                  ; ax = X end/32
273F:0B5D  2B C2                                sub     ax, dx
273F:0B5F  03 DA                                add     bx, dx                  ; bx = start rect index
273F:0B61 81 C3 0790                           add     bx, offset hotspot_rects_list
273F:0B65  05 0001                              add     ax, 1                   ; ax = # horiz rects
273F:0B68  5D                                   pop     bp
273F:0B69  5A                                   pop     dx

; Loop, bp = number of cell rows, ax = number of cell cols

273F:0B6A                       loc_90:
273F:0B6A  8B C8                                mov     cx, ax
273F:0B6C  53                                   push    bx

273F:0B6D                       locloop_91:                   
273F:0B6D  08 17                                or      [bx], dl                ; Enable cell rect
273F:0B6F  80 8F 0100 01                        or      byte ptr [bx+100h], 1
273F:0B74  83 C3 01                             add     bx, 1
273F:0B77  E2 F4                                loop    locloop_91              ; Loop through horiz # cells

273F:0B79  5B                                   pop     bx
273F:0B7A  83 C3 12                             add     bx, FULL_HORIZ_RECTS
273F:0B7D  83 ED 01                             sub     bp, 1                   ; Loop through vert # cells
273F:0B80  75 E8                                jnz     loc_90
273F:0B82  C3                                   retn
                         flag_covered_cells     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:1447, 3307, 6D22, 6FDD, 8B52
                                ;��������������������������������������������������������������������������

273F:0B83                       sub_21          proc    near
273F:0B83                       loc_92:                                         ;  xref 273F:23E7, 2450, 8CD8, 9333
273F:0B83 51                                   push    cx
273F:0B84  B1 03                                mov     cl,3
273F:0B86  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:0B88  D3 E3                                shl     bx,cl                   ; Shift w/zeros fill
273F:0B8A  D3 E5                                shl     bp,cl                   ; Shift w/zeros fill
273F:0B8C  D3 E2                                shl     dx,cl                   ; Shift w/zeros fill
273F:0B8E  59                                   pop     cx

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:3291, 62D6, 8BE5, 8BFA

273F:0B8F                       sub_22:
273F:0B8F                       loc_93:                                         ;  xref 273F:2272, 33B0
273F:0B8F 51                                   push    cx
273F:0B90  03 E8                                add     bp,ax
273F:0B92  03 D3                                add     dx,bx
273F:0B94  83 C5 1F                             add     bp,1Fh
273F:0B97  83 C2 1F                             add     dx,1Fh
273F:0B9A  B1 05                                mov     cl,5
273F:0B9C  D3 E8                                shr     ax,cl                   ; Shift w/zeros fill
273F:0B9E  D3 EB                                shr     bx,cl                   ; Shift w/zeros fill
273F:0BA0  D3 ED                                shr     bp,cl                   ; Shift w/zeros fill
273F:0BA2  D3 EA                                shr     dx,cl                   ; Shift w/zeros fill
273F:0BA4  2B E8                                sub     bp,ax
273F:0BA6  2B D3                                sub     dx,bx
273F:0BA8  93                                   xchg    bx,ax
273F:0BA9  05 0004                              add     ax,4
273F:0BAC  B1 12                                mov     cl,12h
273F:0BAE  F6 E1                                mul     cl                      ; ax = reg * al
273F:0BB0  03 C3                                add     ax,bx
273F:0BB2  05 0794                              add     ax, offset hotspot_rects_list + 4 ; 794h
273F:0BB5  8B D8                                mov     bx,ax
273F:0BB7  58                                   pop     ax
273F:0BB8                       loc_94:                                         ;  xref 273F:0BCD
273F:0BB8  53                                   push    bx
273F:0BB9  8B CD                                mov     cx,bp

273F:0BBB                       locloop_95:                                     ;  xref 273F:0BC4
273F:0BBB  08 07                                or      [bx],al
273F:0BBD  08 87 0100                           or      byte ptr ds:[100h][bx],al ; (273F:0100=6)
273F:0BC1  83 C3 01                             add     bx,1
273F:0BC4  E2 F5                                loop    locloop_95              ; Loop if cx > 0

273F:0BC6  5B                                   pop     bx
273F:0BC7  83 C3 12                             add     bx,12h
273F:0BCA  83 EA 01                             sub     dx,1
273F:0BCD  75 E9                                jnz     loc_94                  ; Jump if not zero
273F:0BCF  C3                                   retn
                                sub_21          endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:09A7
                                ;��������������������������������������������������������������������������

273F:0BD0                    read_screen        proc    near
273F:0BD0  53                                   push    bx
273F:0BD1  51                                   push    cx
273F:0BD2  57                                   push    di
273F:0BD3  8B 0E 4CE2                           mov     cx, data_segment
273F:0BD7  BA 0080                              mov     dx, ENTRY_READ_BUFFER
273F:0BDA  E8 F737                              call    read_entry              ; (0314)
273F:0BDD  A1 4CE2                              mov     ax, data_segment
273F:0BE0  8E C0                                mov     es,ax
273F:0BE2  26: A1 0080                          mov     ax,es:[ENTRY_READ_BUFFER]
273F:0BE6  86 E0                                xchg    ah,al
273F:0BE8  25 FFFE                              and     ax,0FFFEh
273F:0BEB  3D 0140                              cmp     ax,140h
273F:0BEE  74 2F                                je      loc_97                  ; Jump if equal

273F:0BF0  A1 4CE4                              mov     ax, data_segment2
273F:0BF3  8E C0                                mov     es,ax
273F:0BF5  8B 16 4CE2                           mov     dx,data_segment
273F:0BF9  E8 2D8E                              call    decode_file_entry
273F:0BFC  8B 1E 9832                           mov     bx, room_number         ; Check if already processing
273F:0C00  3A 1E 1456                           cmp     bl, current_room_num    ; this room (if so, no need
273F:0C04  74 15                                je      loc_96                  ; to reload palette)
273F:0C06  53                                   push    bx
273F:0C07  E8 00DE                              call    get_room_resource_pointer
273F:0C0A  8B 44 09                             mov     ax, [si+ROOM_FIRST_LAYER]
273F:0C0D  25 FFE0                              and     ax, 0FFE0h
273F:0C10  2D 0001                              sub     ax,1
273F:0C13  E8 2EB1                              call    read_palette            ; Get the palette
273F:0C16  5B                                   pop     bx
273F:0C17  88 1E 1456                           mov     current_room_num, bl
273F:0C1B                       loc_96:
273F:0C1B  5F                                   pop     di
273F:0C1C  59                                   pop     cx
273F:0C1D  5B                                   pop     bx
273F:0C1E  C3                                   retn
273F:0C1F                       loc_97:                                         ;  xref 273F:0BEE
273F:0C1F  83 3E 9832 31                        cmp     room_number, 31h
273F:0C24  75 05                                jne     loc_98                  ; Jump if not equal
273F:0C26  B8 F1FF                              mov     ax,0F1FFh
273F:0C29  EB 0A                                jmp     short loc_99            ; (0C35)
273F:0C2B                       loc_98:                                         ;  xref 273F:0C24
273F:0C2B  83 3E 9832 06                        cmp     room_number, 6
273F:0C30  75 0D                                jne     loc_100                 ; Jump if not equal
273F:0C32  B8 45FF                              mov     ax,45FFh
273F:0C35                       loc_99:                                         ;  xref 273F:0C29
273F:0C35  E8 2E8F                              call    read_palette            ; (3AC7)
273F:0C38  C6 06 1456 FF                        mov     current_room_num, 0FFh
273F:0C3D  EB 23                                jmp     short loc_101           ; (0C62)
273F:0C3F                       loc_100:                                        ;  xref 273F:0C30
273F:0C3F  80 3E 1456 FF                        cmp     current_room_num, 0FFh
273F:0C44  75 1C                                jne     loc_101                 ; Jump if not equal
273F:0C46  A0 00B1                              mov     al,data_526             ; (31E4:00B1=1)
273F:0C49  2C 05                                sub     al,5
273F:0C4B  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:0C4D  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:0C4F  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:0C51  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:0C53  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:0C55  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:0C57  0D 00FF                              or      ax,0FFh
273F:0C5A  E8 2E6A                              call    read_palette            ; (3AC7)
273F:0C5D  C6 06 1456 00                        mov     current_room_num, 0
273F:0C62                       loc_101:                                        ;  xref 273F:0C3D, 0C44
273F:0C62  A1 4CE4                              mov     ax, data_segment2
273F:0C65  8E C0                                mov     es,ax
273F:0C67  8B 16 4CE2                           mov     dx,data_segment
273F:0C6B  E8 17FC                              call    ega_decode_entry
273F:0C6E  8B D1                                mov     dx,cx
273F:0C70  83 EA 01                             sub     dx,1
273F:0C73  D1 EA                                shr     dx,1                    ; Shift w/zeros fill
273F:0C75  D1 EA                                shr     dx,1                    ; Shift w/zeros fill
273F:0C77  D1 EA                                shr     dx,1                    ; Shift w/zeros fill
273F:0C79  D1 EA                                shr     dx,1                    ; Shift w/zeros fill
273F:0C7B  83 C2 01                             add     dx,1
273F:0C7E  5F                                   pop     di
273F:0C7F  59                                   pop     cx
273F:0C80  5B                                   pop     bx
273F:0C81  C3                                   retn
                             read_screen        endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:00A0
                                ;��������������������������������������������������������������������������

273F:0C82                   hotspots_load       proc    near
273F:0C82  BF 5EB8                              mov     di, offset hotspot_table_5
273F:0C85  BB 0407                              mov     bx,407h
273F:0C88  E8 0006                              call    hotspots_load_2
273F:0C8B BF 623E                              mov     di, offset hotspot_table_3
273F:0C8E  BB 270F                              mov     bx,270Fh

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:0C88

273F:0C91                   hotspots_load_2:
273F:0C91                       loc_102:                                        ;  xref 273F:0CA5, 0CBB, 0CC3
273F:0C91 83 C3 01                             add     bx,1
273F:0C94  8B 35                                mov     si,[di]                 ; Get hotspot offset
273F:0C96  83 FE FF                             cmp     si,0FFFFh
273F:0C99  74 2A                                je      loc_ret_106
273F:0C9B  83 C7 09                             add     di,9                    ; Move to next hotspot header
273F:0C9E  8B 54 06                             mov     dx,[si+6]               ; Get room number
273F:0CA1  3B 16 9832                           cmp     dx, room_number         ; Is it the current room?
273F:0CA5  75 EA                                jne     loc_102                 ; No, so move to next hotspot
273F:0CA7  57                                   push    di
273F:0CA8 BF B14E                              mov     di, offset animation_table
273F:0CAB  B9 002D                              mov     cx, NUM_ANIMATION_SLOTS

273F:0CAE                       locloop_103:
273F:0CAE  3B 5D 1B                             cmp     bx,[di+ANIM_HOTSPOT_ID] ; Already present?
273F:0CB1  74 07                                je      loc_104                 ; If yes, don't add
273F:0CB3  83 C7 29                             add     di, ANIMATION_SLOT_SIZE
273F:0CB6  E2 F6                                loop    locloop_103             ; Check remaining entries

273F:0CB8  EB 03                                jmp     short loc_105           ; Jump to add entry
273F:0CBA                       loc_104:
273F:0CBA  5F                                   pop     di
273F:0CBB  EB D4                                jmp     short loc_102           ; (0C91)
273F:0CBD                       loc_105:                                        ;  xref 273F:0CB8
273F:0CBD  53                                   push    bx                      ; Add hotspot entry
273F:0CBE  E8 0008                              call    animation_load_entry_2
273F:0CC1  5B                                   pop     bx
273F:0CC2  5F                                   pop     di
273F:0CC3  EB CC                                jmp     short loc_102           ; Check remaining hotspots

273F:0CC5                       loc_ret_106:
273F:0CC5  C3                                   retn
                            hotspots_load       endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:965C, 9690
                                ;��������������������������������������������������������������������������

273F:0CC6             animation_load_entry:     proc    near
273F:0CC6 E8 001F                              call    get_room_resource_pointer

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:0CBE

273F:0CC9             animation_load_entry_2:
273F:0CC9  F7 44 0B FFFF                        test    word ptr [si+HS_ANIM_OFFSET], 0FFFFh ; Already acive?
273F:0CCE  75 F5                                jnz     loc_ret_106             ; Jump if yes
273F:0CD0  80 7C 15 FF                          cmp     byte ptr [si+HS_LAYER], 0FFh ; Does hotspot have a layer?
273F:0CD4  74 EF                                je      loc_ret_106             ; Jump if no
273F:0CD6  80 64 07 7F                          and     byte ptr [si+7],7Fh     ; Deactivate any suppression bit on room #
273F:0CDA  8B 44 09                             mov     ax, [si+HS_LOAD_OFFSET]
273F:0CDD  F6 44 08 FF                          test    byte ptr [si+HS_LOAD_FLAG],0FFh    
273F:0CE1  75 02                                jnz     loc_108                 ; Jump if not zero
273F:0CE3  FF E0                                jmp     ax
273F:0CE5                       loc_108:                                        ;  xref 273F:0CE1
273F:0CE5  E9 314C                              jmp     sequence_execute
                      animation_load_entry      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0092, 0981, 0C07, 0CC6, 10AE, 1205, 46A4
                                ;                             46FE, 4703, 508F, 612B, 613D, 614D, 6267
                                ;                             6397, 64EA, 65AA, 65C1, 715D, 7164, 716F
                                ;                             76C4, 79C8, 7BF4, 7C03, 7C0B, 8277, 827F
                                ;                             8E6C, 9E8E, 9EB5, 9EBD, 9EC9, 9EE4, 9EF3
                                ;                             9F16, 9F59
                                ;��������������������������������������������������������������������������

273F:0CE8          get_room_resource_pointer    proc    near
273F:0CE8  8B C3                                mov     ax, bx

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:004F, 11D1, 1481, 1490, 1A98, 428C, 4531
                                ;                             45C2, 45D1, 47E1, 547B, 5672, 58A2, 5AA7
                                ;                             5B08, 5B82, 5BE6, 5C0E, 5CF1, 5D23, 5DC0
                                ;                             5E90, 63BD, 6574, 664D, 82DB, 8422, 89D1
                                ;                             8DAF, 8DC4, 99C2, 99FC, A158

273F:0CEA            get_room_resource_pointer2:
273F:0CEA  BE BF40                              mov     si, offset room_info_table
273F:0CED  3D 03E8                              cmp     ax, PLAYER_HOTSPOT_ID
273F:0CF0  78 20                                js      loc_111                 ; Jump if sign=1
273F:0CF2  3D 2710                              cmp     ax, START_EXIT_HOTSPOT_ID
273F:0CF5  73 08                                jae     loc_109                 ; Jump if above or =
273F:0CF7  BE 5D98                              mov     si, offset hotspot_table_2
273F:0CFA  2D 03E8                              sub     ax, PLAYER_HOTSPOT_ID
273F:0CFD  EB 13                                jmp     short loc_111           ; (0D12)
273F:0CFF                       loc_109:                                        ;  xref 273F:0CF5
273F:0CFF  3D 4E20                              cmp     ax,4E20h
273F:0D02  73 08                                jae     loc_110                 ; Jump if above or =
273F:0D04  BE 623E                              mov     si, offset hotspot_table_3
273F:0D07  2D 2710                              sub     ax, START_EXIT_HOTSPOT_ID
273F:0D0A  EB 06                                jmp     short loc_111           ; (0D12)
273F:0D0C                       loc_110:                                        ;  xref 273F:0D02
273F:0D0C BE 63B1                              mov     si, offset hotspot_table_4
273F:0D0F  2D 7530                              sub     ax,7530h
273F:0D12                       loc_111:                                        ;  xref 273F:0CF0, 0CFD, 0D0A
273F:0D12  03 F0                                add     si,ax
273F:0D14  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:0D16  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:0D18  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:0D1A  03 F0                                add     si,ax
273F:0D1C  8B 34                                mov     si,[si]                 ; Get reference from table
273F:0D1E  C3                                   retn
                    get_room_resource_pointer   endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:62FC, 6943, 87DB, 87E4, 8E8A
                                ;��������������������������������������������������������������������������

273F:0D1F         get_room_resource_pointer3    proc    near
273F:0D1F  8B C3                                mov     ax,bx

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:1378, 5452, 596E, 59B8, 5B5D, 7EB4, 8A6D

273F:0D21         get_room_resource_pointer4:
273F:0D21  BE BF40                              mov     si, offset room_info_table
273F:0D24  3D 03E8                              cmp     ax, PLAYER_HOTSPOT_ID
273F:0D27  72 20                                jb      loc_114                 ; Jump if below
273F:0D29  3D 2710                              cmp     ax, START_EXIT_HOTSPOT_ID
273F:0D2C  73 08                                jae     loc_112                 ; Jump if above or =
273F:0D2E  BE 5D98                              mov     si, offset hotspot_table_2
273F:0D31  2D 03E8                              sub     ax, PLAYER_HOTSPOT_ID
273F:0D34  EB 13                                jmp     short loc_114           ; (0D49)
273F:0D36                       loc_112:                                        ;  xref 273F:0D2C
273F:0D36  3D 4E20                              cmp     ax,4E20h
273F:0D39  73 08                                jae     loc_113                 ; Jump if above or =
273F:0D3B  BE 623E                              mov     si, offset hotspot_table_3
273F:0D3E  2D 2710                              sub     ax, START_EXIT_HOTSPOT_ID
273F:0D41  EB 06                                jmp     short loc_114           ; (0D49)
273F:0D43                       loc_113:                                        ;  xref 273F:0D39
273F:0D43  BE 63B1                              mov     si, offset hotspot_table_4
273F:0D46  2D 7530                              sub     ax,7530h
273F:0D49                       loc_114:                                        ;  xref 273F:0D27, 0D34, 0D41
273F:0D49  03 F0                                add     si,ax
273F:0D4B  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:0D4D  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:0D4F  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:0D51  03 F0                                add     si,ax
273F:0D53  C3                                   retn
                  get_room_resource_pointer3    endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:669E, 66B3
                                ;��������������������������������������������������������������������������

273F:0D54                       sub_32          proc    near
273F:0D54  1E                                   push    ds
273F:0D55  1E                                   push    ds
273F:0D56  07                                   pop     es
273F:0D57  8E DD                                mov     ds,bp
273F:0D59  55                                   push    bp
273F:0D5A BF 31E6                              mov     di,31E6h                ; (273F:31E6=0CDh)
273F:0D5D  26: C7 45 FE 0000                    mov     word ptr es:[di-2],0
273F:0D63 BE 623E                              mov     si, offset hotspot_table_3
273F:0D66  BD 2710                              mov     bp, START_EXIT_HOTSPOT_ID
273F:0D69  E8 0003                              call    sub_33                  ; (0D6F)
273F:0D6C  5D                                   pop     bp
273F:0D6D  1F                                   pop     ds

273F:0D6E                       loc_ret_115:                                    ;  xref 273F:0D74
273F:0D6E  C3                                   retn
                                sub_32          endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0D69
                                ;��������������������������������������������������������������������������

273F:0D6F                       sub_33          proc    near
273F:0D6F                       loc_116:                                        ;  xref 273F:0DAD
273F:0D6F 8B 1C                                mov     bx,[si]
273F:0D71  83 FB FF                             cmp     bx,0FFFFh
273F:0D74  74 F8                                je      loc_ret_115             ; Jump if equal
273F:0D76  81 7F 06 03E8                        cmp     word ptr [bx+6], PLAYER_HOTSPOT_ID
273F:0D7B  75 2A                                jne     loc_118                 ; Jump if not equal
273F:0D7D  8A 44 08                             mov     al,[si+8]
273F:0D80  3C 0F                                cmp     al,0Fh
273F:0D82  74 06                                je      loc_117                 ; Jump if equal
273F:0D84  84 06 9836                           test    al,ds:data_55e          ; (0000:9836=46h)
273F:0D88  74 1D                                jz      loc_118                 ; Jump if zero
273F:0D8A                       loc_117:                                        ;  xref 273F:0D82
273F:0D8A  8B C5                                mov     ax,bp
273F:0D8C  AB                                   stosw                           ; Store ax to es:[di]
273F:0D8D  B0 01                                mov     al,1
273F:0D8F  AA                                   stosb                           ; Store al to es:[di]
273F:0D90  8B 44 02                             mov     ax,[si+2]
273F:0D93  80 E4 1F                             and     ah,1Fh
273F:0D96  1E                                   push    ds
273F:0D97  56                                   push    si
273F:0D98  06                                   push    es
273F:0D99  06                                   push    es
273F:0D9A  1F                                   pop     ds
273F:0D9B  E8 6F9C                              call    decode_string
273F:0D9E  07                                   pop     es
273F:0D9F  5E                                   pop     si
273F:0DA0  1F                                   pop     ds
273F:0DA1  26: 83 06 31E4 01                    add     word ptr es:[31E4h],1   ; (273F:31E4=0E4h)
273F:0DA7                       loc_118:                                        ;  xref 273F:0D7B, 0D88
273F:0DA7  83 C5 01                             add     bp,1
273F:0DAA  83 C6 09                             add     si,9
273F:0DAD  EB C0                                jmp     short loc_116           ; (0D6F)
                                sub_33          endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:66EC, 6787, 680A, 6827, 684A
                                ;��������������������������������������������������������������������������

273F:0DAF                       sub_34          proc    near
273F:0DAF  C7 06 31E4 0000                      mov     word ptr ds:[31E4h],0   ; (273F:31E4=0E4h)
273F:0DB5  C7 06 30D4 0000                      mov     hotspot_display_buffer, 0
273F:0DBB  2D 0001                              sub     ax,1
273F:0DBE  33 DB                                xor     bx,bx                   ; Zero register
273F:0DC0  3C 10                                cmp     al,10h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 36

273F:0DC2  72 05                                jb      loc_119                 ; Jump if below
273F:0DC4 BB 0002                              mov     bx,data_1e+2            ; (0000:0002=0)
273F:0DC7  2C 10                                sub     al,10h
273F:0DC9                       loc_119:                                        ;  xref 273F:0DC2
273F:0DC9  BA 0001                              mov     dx,1
273F:0DCC  8A C8                                mov     cl,al
273F:0DCE  D3 E2                                shl     dx,cl                   ; Shift w/zeros fill
273F:0DD0  1E                                   push    ds
273F:0DD1  07                                   pop     es
273F:0DD2  8E DD                                mov     ds,bp
273F:0DD4 BF 31E6                              mov     di,31E6h                ; (273F:31E6=0CDh)
273F:0DD7  26: 8B 0E 3379                       mov     cx,es:data_266          ; (273F:3379=62C0h)
273F:0DDC BE BF49                              mov     si,data_58e             ; (0000:BF49=5)
273F:0DDF  BD 0001                              mov     bp,1
273F:0DE2  E8 0029                              call    sub_35                  ; (0E0E)
273F:0DE5 BE 5D98                              mov     si, offset hotspot_table_2
273F:0DE8  BD 03E8                              mov     bp, PLAYER_HOTSPOT_ID
273F:0DEB  E8 0020                              call    sub_35                  ; (0E0E)
273F:0DEE BE 5EB8                              mov     si, offset hotspot_table_5
273F:0DF1  BD 0408                              mov     bp, FIRST_OBJECT_HOTSPOT_ID
273F:0DF4  E8 0017                              call    sub_35                  ; (0E0E)
273F:0DF7 BE 623E                              mov     si, offset hotspot_table_3
273F:0DFA  BD 2710                              mov     bp, START_EXIT_HOTSPOT_ID
273F:0DFD  E8 000E                              call    sub_35                  ; (0E0E)
273F:0E00 BE 63B1                              mov     si, offset hotspot_table_4
273F:0E03  BD 7530                              mov     bp,7530h
273F:0E06  E8 0005                              call    sub_35                  ; (0E0E)
273F:0E09  8C DD                                mov     bp,ds
273F:0E0B  06                                   push    es
273F:0E0C  1F                                   pop     ds
273F:0E0D  C3                                   retn
                                sub_34          endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0DE2, 0DEB, 0DF4, 0DFD, 0E06
                                ;��������������������������������������������������������������������������

273F:0E0E                       sub_35          proc    near
273F:0E0E                       loc_120:                                        ;  xref 273F:0EAD
273F:0E0E 56                                   push    si
273F:0E0F  83 3C FF                             cmp     word ptr [si],0FFFFh
273F:0E12  75 02                                jne     loc_121                 ; Jump if not equal
273F:0E14  5E                                   pop     si
273F:0E15  C3                                   retn
273F:0E16                       loc_121:                                        ;  xref 273F:0E12
273F:0E16  8A 44 08                             mov     al,[si+8]
273F:0E19  3C 0F                                cmp     al,0Fh
273F:0E1B  74 09                                je      loc_122                 ; Jump if equal
273F:0E1D  84 06 9836                           test    al,ds:data_96e          ; (2711:9836=3Ch)
273F:0E21  75 03                                jnz     loc_122                 ; Jump if not zero
273F:0E23  E9 0080                              jmp     loc_128                 ; (0EA6)
273F:0E26                       loc_122:                                        ;  xref 273F:0E1B, 0E21
273F:0E26  8B 44 02                             mov     ax,[si+2]
273F:0E29  8B 34                                mov     si,[si]
273F:0E2B  F6 44 03 20                          test    byte ptr [si+3],20h     ; ' '
273F:0E2F  75 75                                jnz     loc_128                 ; Jump if not zero
273F:0E31  F6 44 03 80                          test    byte ptr [si+3],80h
273F:0E35  74 6F                                jz      loc_128                 ; Jump if zero
273F:0E37  81 FD 03E8                           cmp     bp, PLAYER_HOTSPOT_ID
273F:0E3B  72 18                                jb      loc_124                 ; Jump if below
273F:0E3D  F6 44 03 10                          test    byte ptr [si+3],10h
273F:0E41  74 05                                jz      loc_123                 ; Jump if zero
273F:0E43  39 4C 06                             cmp     [si+6],cx
273F:0E46  75 5E                                jne     loc_128                 ; Jump if not equal
273F:0E48                       loc_123:                                        ;  xref 273F:0E41
273F:0E48  26: 3B 2E 3350                       cmp     bp,es:data_43e          ; (0000:3350=0C033h)
273F:0E4D  74 57                                je      loc_128                 ; Jump if equal
273F:0E4F  3B 2E 1924                           cmp     bp, hotspot_id
273F:0E53  74 51                                je      loc_128                 ; Jump if equal
273F:0E55                       loc_124:                                        ;  xref 273F:0E3B
273F:0E55  85 10                                test    dx,[bx+si]
273F:0E57  74 4D                                jz      loc_128                 ; Jump if zero
273F:0E59  3D 017A                              cmp     ax,17Ah
273F:0E5C  74 43                                je      loc_127                 ; Jump if equal
273F:0E5E  3D 0147                              cmp     ax,147h
273F:0E61  74 3E                                je      loc_127                 ; Jump if equal
273F:0E63 BE 30D6                              mov     si,data_41e             ; (0000:30D6=81h)
273F:0E66  26: 8B 0E 30D4                       mov     cx,es:data_40e          ; (0000:30D4=6AEh)
273F:0E6B  0B C9                                or      cx,cx                   ; Zero ?
273F:0E6D  74 0A                                jz      loc_126                 ; Jump if zero

273F:0E6F                       locloop_125:                                    ;  xref 273F:0E77
273F:0E6F  26: 3B 04                            cmp     ax,es:[si]
273F:0E72  74 2D                                je      loc_127                 ; Jump if equal
273F:0E74  83 C6 02                             add     si,2
273F:0E77  E2 F6                                loop    locloop_125             ; Loop if cx > 0

273F:0E79                       loc_126:                                        ;  xref 273F:0E6D
273F:0E79  26: 89 2D                            mov     es:[di],bp
273F:0E7C  26: C6 45 02 01                      mov     byte ptr es:[di+2],1
273F:0E81  83 C7 03                             add     di,3
273F:0E84  26: 83 06 31E4 01                    add     word ptr es:data31e4, 1
273F:0E8A  26: 89 04                            mov     es:[si],ax
273F:0E8D  26: 83 06 30D4 01                    add     word ptr es:data_40e,1  ; (0000:30D4=6AEh)
273F:0E93  1E                                   push    ds
273F:0E94  06                                   push    es
273F:0E95  1F                                   pop     ds
273F:0E96  53                                   push    bx
273F:0E97  52                                   push    dx
273F:0E98  80 E4 1F                             and     ah,1Fh
273F:0E9B  E8 6E9C                              call    decode_string
273F:0E9E  5A                                   pop     dx
273F:0E9F  5B                                   pop     bx
273F:0EA0  1F                                   pop     ds
273F:0EA1                       loc_127:                                        ;  xref 273F:0E5C, 0E61, 0E72
273F:0EA1  26: 8B 0E 3379                       mov     cx,es:data_44e          ; (0000:3379=20CEh)
273F:0EA6                       loc_128:                                        ;  xref 273F:0E23, 0E2F, 0E35, 0E46
                                                                                ;            0E4D, 0E53, 0E57
273F:0EA6  5E                                   pop     si
273F:0EA7  83 C6 09                             add     si,9
273F:0EAA  83 C5 01                             add     bp,1
273F:0EAD  E9 FF5E                              jmp     loc_120                 ; (0E0E)
                                sub_35          endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:522F, 6010
                                ; Part of this procedure changes a player's frame
                                ; si=hotspot, di=slot
                                ;��������������������������������������������������������������������������

                     character_update_frame     proc    near
273F:0EB0  56                                   push    si
273F:0EB1  57                                   push    di
273F:0EB2  53                                   push    bx
273F:0EB3  8B 5C 24                             mov     bx, [si+HS_MOVEMENT_OFFSET]
273F:0EB6  8B 44 26                             mov     ax, [si+HS_STEP_CTR]
273F:0EB9  3B 47 02                             cmp     ax, [bx+2]              ; Any steps remaining?
273F:0EBC  75 23                                jne     loc_130                 ; Yes, so carry on
273F:0EBE  83 C3 04                             add     bx, 4                   ; Move to next movement rec
273F:0EC1  C7 44 26 0000                        mov     word ptr [si+HS_STEP_CTR], 0     ; Reset counter
273F:0EC6  C7 44 28 0000                        mov     word ptr [si+HS_FRAME_OFFSET], 0 ; Reset offset
273F:0ECB  89 5C 24                             mov     [si+HS_MOVEMENT_OFFSET], bx  ; Update movement ptr
273F:0ECE  83 3F FF                             cmp     word ptr [bx], 0FFFFh   ; At end of list?
273F:0ED1  75 07                                jne     loc_129
273F:0ED3  B8 0001                              mov     ax,1                    ; Yes - so return
273F:0ED6  5B                                   pop     bx
273F:0ED7  5F                                   pop     di
273F:0ED8  5E                                   pop     si
273F:0ED9  C3                                   retn
273F:0EDA                       loc_129:
273F:0EDA  57                                   push    di
273F:0EDB  8B 3F                                mov     di, [bx]                ; Get ptr to direction frames
273F:0EDD  33 DB                                xor     bx, bx
273F:0EDF  EB 14                                jmp     short loc_131
273F:0EE1                       loc_130:
273F:0EE1  57                                   push    di
273F:0EE2  8B 3F                                mov     di, [bx]                ; Get ptr to direction frames
273F:0EE4  8B 5C 28                             mov     bx, [si+HS_FRAME_OFFSET]; Get offset for movement frame
273F:0EE7  03 FB                                add     di, bx                  ; Add on offset
273F:0EE9  83 3D FF                             cmp     word ptr [di], 0FFFFh   ; End of movement set for direciton?
273F:0EEC  75 07                                jne     loc_131                 ; Jump if not
273F:0EEE  2B FB                                sub     di, bx
273F:0EF0  33 DB                                xor     bx, bx
273F:0EF2  89 5C 28                             mov     [si+HS_FRAME_OFFSET], bx ; Reset to start of movement data
; di=movement record 5bb8h, si=6cefh
273F:0EF5                       loc_131:
273F:0EF5  8B 05                                mov     ax, [di+MOVEMENT_FRAME_NUM] ; Get new frame number
273F:0EF7  57                                   push    di
273F:0EF8  8B 7C 21                             mov     di, [si+HS_PIXEL_OFFSET]
273F:0EFB  8B 4D 07                             mov     cx, [di+PIXEL_FRAME_SIZE]
273F:0EFE  F7 E1                                mul     cx                      ; Calculate frame offset
273F:0F00  8B 4D 03                             mov     cx, [di+PIXEL_DATA_SEGMENT] ; Get loaded data segment
273F:0F03  5B                                   pop     bx                      ; bx = movement rec
273F:0F04  5F                                   pop     di                      ; di = anim slot
273F:0F05  89 45 08                             mov     [di+ANIM_FRAME_OFFSET], ax ; Store new offset
273F:0F08  89 4D 0A                             mov     [di+ANIM_SEGMENT], cx      ; Store segment
273F:0F0B  8B 47 02                             mov     ax, [bx+MOVEMENT_X_CHANGE]
273F:0F0E  0B C0                                or      ax, ax                  ; Any x change?
273F:0F10  74 13                                jz      loc_134                 ; Jump if zero
273F:0F12  78 06                                js      loc_132                 ; Jump if -x direction
273F:0F14  C6 45 26 03                          mov     byte ptr [di+ANIM_DIRECTION], FACING_RIGHT
273F:0F18  EB 04                                jmp     short loc_133
273F:0F1A                       loc_132:
273F:0F1A  C6 45 26 02                          mov     byte ptr [di+ANIM_DIRECTION], FACING_LEFT
273F:0F1E                       loc_133:
273F:0F1E  03 05                                add     ax, [di+ANIM_X]         ; Update char X pos
273F:0F20  89 05                                mov     [di+ANIM_X], ax
273F:0F22  89 44 0D                             mov     [si+HS_X], ax
273F:0F25                       loc_134:
273F:0F25  8B 47 04                             mov     ax, [bx+MOVEMENT_Y_CHANGE]
273F:0F28  C7 45 22 0000                        mov     word ptr [di+22h], 0
273F:0F2D  0B C0                                or      ax, ax                  ; Any y change?
273F:0F2F  74 1C                                jz      loc_137                 ; Jump if none
273F:0F31  78 06                                js      loc_135                 ; Jump if -y direction
273F:0F33  C6 45 26 01                          mov     byte ptr [di+ANIM_DIRECTION], FACING_DOWN
273F:0F37  EB 04                                jmp     short loc_136           ; (0F3D)
273F:0F39                       loc_135:                                        ;  xref 273F:0F31
273F:0F39  C6 45 26 00                          mov     byte ptr [di+ANIM_DIRECTION], FACING_UP
273F:0F3D                       loc_136:
273F:0F3D  C7 45 22 0002                        mov     word ptr [di+22h], 2
273F:0F42  03 45 02                             add     ax, [di+ANIM_Y]         ; Update char Y pos
273F:0F45  89 44 0F                             mov     [si+HS_Y], ax
273F:0F48  89 45 02                             mov     [di+ANIM_Y], ax
273F:0F4B  8B 05                                mov     ax, [di+ANIM_X]
273F:0F4D                       loc_137:
273F:0F4D  83 44 28 06                          add     word ptr [si+HS_FRAME_OFFSET], MOVEMENT_REC_SIZE
273F:0F51  83 44 26 01                          add     word ptr [si+HS_STEP_CTR], 1
273F:0F55  33 C0                                xor     ax, ax
273F:0F57  5B                                   pop     bx
273F:0F58  5F                                   pop     di
273F:0F59  5E                                   pop     si
273F:0F5A  C3                                   retn
                     character_update_frame     endp

                                ;��������������������������������������������������������������������������
                                ;                              hotspot_script_execute
                                ;
                                ;��������������������������������������������������������������������������


273F:0F5B                       loc_138:
273F:0F5B  26: 8B 04                            mov     ax,es:[si]              ; Set pointer to disk
273F:0F5E  83 C6 02                             add     si,2                    ;  animation record
273F:0F61  89 47 21                             mov     [bx+21h],ax
273F:0F64  53                                   push    bx
273F:0F65  8B D8                                mov     bx,ax
273F:0F67  8B 47 03                             mov     ax,[bx+3]               ; Copy over pixel segment?
273F:0F6A  5B                                   pop     bx
273F:0F6B  89 45 0A                             mov     [di+0Ah],ax
273F:0F6E  C7 45 08 0000                        mov     word ptr [di+8],0       ; Reset frame pointer
273F:0F73  EB 3F                                jmp     short loc_143           

273F:0F75                       loc_139:                                        ;  xref 273F:0FC7
273F:0F75  26: 8B 04                            mov     ax,es:[si]              ; Get X start pos
273F:0F78  83 C6 02                             add     si,2
273F:0F7B  89 47 0D                             mov     [bx+0Dh],ax             ; Store X start in hotspot
273F:0F7E  89 05                                mov     [di],ax                 ;  resource and anim slot
273F:0F80  26: 8B 04                            mov     ax,es:[si]              ; Get Y start pos
273F:0F83  83 C6 02                             add     si,2
273F:0F86  89 47 0F                             mov     [bx+0Fh],ax             ; Store Y start in hotspot
273F:0F89  89 45 02                             mov     [di+2],ax               ;  resource and anim slot
273F:0F8C  EB 26                                jmp     short loc_143

273F:0F8E                       loc_140:                                        ;  xref 273F:0FC2
273F:0F8E  26: 8B 04                            mov     ax,es:[si]
273F:0F91  83 C6 02                             add     si,2
273F:0F94  89 47 1F                             mov     [bx+1Fh],ax
273F:0F97  89 77 24                             mov     [bx+24h],si
273F:0F9A  8B F3                                mov     si,bx
273F:0F9C  5B                                   pop     bx
273F:0F9D  0D 0001                              or      ax,1
273F:0FA0  C3                                   retn
273F:0FA1                       loc_141:                                        ;  xref 273F:0FD1
273F:0FA1  26: 8B 34                            mov     si,es:[si]
273F:0FA4  EB 0E                                jmp     short loc_143           ; (0FB4)
273F:0FA6                       loc_142:                                        ;  xref 273F:0FE5
273F:0FA6  E9 00E8                              jmp     loc_153                 ; (1091)

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:0FA9            hotspot_script_execute     proc    near
273F:0FA9  53                                   push    bx
273F:0FAA  8B DE                                mov     bx, si
273F:0FAC  8B 74 24                             mov     si, [si+HS_SCRIPT_OFFSET]
273F:0FAF  B8 40E6                              mov     ax, scripts2_seg
273F:0FB2  8E C0                                mov     es, ax

273F:0FB4                       loc_143:
273F:0FB4 26: 8B 04                            mov     ax,es:[si]
273F:0FB7  83 C6 02                             add     si,2
273F:0FBA  3D FFFC                              cmp     ax,0FFFCh
273F:0FBD  74 46                                je      loc_144                 ; Ends the execution
273F:0FBF  3D FFFF                              cmp     ax,0FFFFh
273F:0FC2  74 CA                                je      loc_140                 ; ??? Store word at 1fh of offset
273F:0FC4  3D FFFE                              cmp     ax,0FFFEh
273F:0FC7  74 AC                                je      loc_139                 ; Set start position
273F:0FC9  3D FFFB                              cmp     ax,0FFFBh
273F:0FCC  74 3D                                je      loc_145                 ; Set animation dimensions
273F:0FCE  3D FFFA                              cmp     ax,0FFFAh
273F:0FD1  74 CE                                je      loc_141                 ; Jump to location
273F:0FD3  3D FFF9                              cmp     ax,0FFF9h
273F:0FD6  74 83                                je      loc_138                 ; Set pixel data record
273F:0FD8  3D FFF8                              cmp     ax,0FFF8h
273F:0FDB  74 55                                je      loc_146                 ; Something to do with room
273F:0FDD  3D FFF7                              cmp     ax,0FFF7h
273F:0FE0  74 74                                je      loc_149                 ; play music #
273F:0FE2  3D FFF6                              cmp     ax,0FFF6h
273F:0FE5  74 BF                                je      loc_142                 ; Set action bitsets
273F:0FE7  3D FFFD                              cmp     ax,0FFFDh
273F:0FEA  75 7E                                jne     loc_150

273F:0FEC  26: 8B 04                            mov     ax,es:[si]              ; Change position by amount
273F:0FEF  83 C6 02                             add     si, 2

273F:0FF2  01 05                                add     [di+ANIM_X], ax         ; Add to X start
273F:0FF4  01 47 0D                             add     [bx+HS_X], ax
273F:0FF7  26: 8B 04                            mov     ax, es:[si]
273F:0FFA  83 C6 02                             add     si, 2
273F:0FFD  01 45 02                             add     [di+ANIM_Y], ax         ; Add to Y start
273F:1000  01 47 0F                             add     [bx+HS_Y], ax
273F:1003  EB AF                                jmp     short loc_143

273F:1005                       loc_144:                                        ;  xref 273F:0FBD
273F:1005  33 C0                                xor     ax, ax                  ; Zero register
273F:1007  8B F3                                mov     si, bx
273F:1009  5B                                   pop     bx
273F:100A  C3                                   retn
273F:100B                       loc_145:                                        ;  xref 273F:0FCC
273F:100B  26: 8B 04                            mov     ax,es:[si]
273F:100E  83 C6 02                             add     si,2
273F:1011  D1 E0                                shl     ax,1
273F:1013  D1 E0                                shl     ax,1
273F:1015  D1 E0                                shl     ax,1
273F:1017  D1 E0                                shl     ax,1
273F:1019  89 45 04                             mov     [di+ANIM_WIDTH], ax     ; Store width
273F:101C  89 45 13                             mov     [di+ANIM_WIDTH_COPY], ax
273F:101F  26: 8B 04                            mov     ax, es:[si]
273F:1022  83 C6 02                             add     si, 2
273F:1025  89 45 06                             mov     [di+ANIM_HEIGHT],ax     ; Store height
273F:1028  EB 8A                                jmp     short loc_143

                                                                                ;* No entry point to code
273F:102A  26: 8B 04                            mov     ax,es:[si]
273F:102D  83 C6 02                             add     si,2
273F:1030  EB 82                                jmp     short loc_143           ; (0FB4)
273F:1032                       loc_146:                                        ;  xref 273F:0FDB
273F:1032  26: 8B 04                            mov     ax,es:[si]
273F:1035  83 C6 02                             add     si,2
273F:1038  26: 8B 0C                            mov     cx,es:[si]
273F:103B  83 C6 02                             add     si,2
273F:103E  0B C9                                or      cx,cx                   ; Zero ?
273F:1040  74 06                                jz      loc_147                 ; Jump if zero
273F:1042  3B 0E 9832                           cmp     cx, room_number
273F:1046  75 0B                                jne     loc_148                 ; Jump if not equal
273F:1048                       loc_147:                                        ;  xref 273F:1040
273F:1048  56                                   push    si
273F:1049  53                                   push    bx
273F:104A  57                                   push    di
273F:104B  8B D8                                mov     bx,ax
273F:104D  E8 8F8F                              call    sub_247                 ; (9FDF)
273F:1050  5F                                   pop     di
273F:1051  5B                                   pop     bx
273F:1052  5E                                   pop     si
273F:1053                       loc_148:                                        ;  xref 273F:1046
273F:1053  E9 FF5E                              jmp     loc_143                 ; (0FB4)

273F:1056                       loc_149:                                        ;  xref 273F:0FE0
273F:1056  26: 8B 04                            mov     ax,es:[si]
273F:1059  83 C6 02                             add     si,2
273F:105C  56                                   push    si
273F:105D  53                                   push    bx
273F:105E  57                                   push    di
273F:105F  8B D8                                mov     bx,ax
273F:1061  E8 91A8                              call    play_music
273F:1064  5F                                   pop     di
273F:1065  5B                                   pop     bx
273F:1066  5E                                   pop     si
273F:1067  E9 FF4A                              jmp     loc_143                 ; (0FB4)

273F:106A                       loc_150:
273F:106A  89 77 24                             mov     [bx+HS_SCRIPT_OFFSET], si ; Set execution offset
273F:106D  8B F3                                mov     si, bx
273F:106F  8B 5C 21                             mov     bx, [si+HS_PIXEL_OFFSET] ; Get pixel data record
273F:1072  F6 47 02 04                          test    byte ptr [bx+PIXEL_FLAGS], PIXELFLAG_HAS_TABLE 
273F:1076  74 0E                                jz      loc_151                 ; Jump if not
273F:1078  8B 5F 03                             mov     bx, [bx+PIXEL_DATA_SEGMENT]
273F:107B  8E C3                                mov     es, bx
273F:107D  D1 E0                                shl     ax, 1                   ; Shift w/zeros fill
273F:107F  8B D8                                mov     bx, ax
273F:1081  26: 8B 07                            mov     ax, es:[bx]             ; Get frame offset
273F:1084  EB 03                                jmp     short loc_152           
273F:1086                       loc_151:
273F:1086  F7 67 07                             mul     word ptr [bx+PIXEL_FRAME_SIZE]
273F:1089                       loc_152:
273F:1089  89 45 08                             mov     [di+ANIM_FRAME_OFFSET],ax ; Store current frame
273F:108C  0D 0001                              or      ax, 1
273F:108F  5B                                   pop     bx
273F:1090  C3                                   retn

273F:1091                       loc_153:
273F:1091  26: 8B 04                            mov     ax, es:[si]             ; Set bitset actions
273F:1094  89 07                                mov     [bx+HS_ACTIONS], ax
273F:1096  26: 8B 44 02                         mov     ax, es:[si+2]
273F:109A  89 47 02                             mov     [bx+HS_ACTIONS+2], ax
273F:109D  83 C6 04                             add     si, 4
273F:10A0  E9 FF11                              jmp     loc_143

                     hotspot_script_execute     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; bx=character Id, cx=index in master script table
                                ; Usage of action block for hotspot likely to be making the alternate
                                ; hotspot script non-interruptable until done
                                ;��������������������������������������������������������������������������

             seq_set_blocking_hotspot_script    proc    near
273F:10A3  81 FB 03E8                           cmp     bx, PLAYER_HOTSPOT_ID
273F:10A7  75 05                                jne     loc_154                 ; Jump if not equal
273F:10A9  C6 06 9834 02                        mov     cursor_state, CURSORSTATE_SEQUENCE
273F:10AE                       loc_154:                                        ;  xref 273F:10A7
273F:10AE  E8 FC37                              call    get_room_resource_pointer
273F:10B1  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:10B3  81 C1 57E0                           add     cx, offset hotspot_script_master_list
273F:10B7  8B D9                                mov     bx,cx
273F:10B9  8B 07                                mov     ax,[bx]
273F:10BB  89 44 24                             mov     [si+HS_SCRIPT_OFFSET], ax
273F:10BE  8B DE                                mov     bx, si
273F:10C0  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:10C3  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:10C6  C6 07 03                             mov     byte ptr [bx], CHAR_ACTION_EXEC_SCRIPT
273F:10C9  8B 7C 0B                             mov     di, [si+HS_ANIM_OFFSET]
273F:10CC  C6 44 49 01                          mov     byte ptr [si+HS_PATHFIND_COVERED], 1
273F:10D0  E9 605B                              jmp     pathfind_flag_covered_cells
             seq_set_blocking_hotspot_script    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:7172
                                ;��������������������������������������������������������������������������

273F:10D3              animation_find_slot      proc    near
273F:10D3 BF B14E                              mov     di, offset animation_table
273F:10D6  B9 002D                              mov     cx, NUM_ANIMATION_SLOTS

273F:10D9                       locloop_155:                                    ;  xref 273F:10E2
273F:10D9  F6 45 0C FF                          test    byte ptr [di+0Ch],0FFh
273F:10DD  74 08                                jz      loc_ret_156             ; Jump if zero
273F:10DF  83 C7 29                             add     di,29h
273F:10E2  E2 F5                                loop    locloop_155             ; Loop if cx > 0

273F:10E4  83 EF 29                             sub     di,29h

273F:10E7                       loc_ret_156:                                    ;  xref 273F:10DD
273F:10E7  C3                                   retn
                       animation_find_slot      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0027
                                ;��������������������������������������������������������������������������

273F:10E8                 hotspots_unload       proc    near
273F:10E8 BF B14E                              mov     di,offset animation_table
273F:10EB  B9 002D                              mov     cx, NUM_ANIMATION_SLOTS

273F:10EE                       locloop_157:                                    ; Check if hotspot can be unloaded
273F:10EE  F6 45 10 FF                          test    byte ptr [di+ANIM_CAN_UNLOAD],0FFh
273F:10F2  74 11                                jz      loc_159                 ; If no, then skip

273F:10F4  33 C0                                xor     ax,ax
273F:10F6  83 7D 1B FE                          cmp     word ptr [di+ANIM_HOTSPOT_ID], 0FFFEh ; Check if hotspot Id
273F:10FA  73 06                                jae     loc_158                 ; is the special 0ffffh. Jump if yes
273F:10FC  8B 75 19                             mov     si, [di+ANIM_HOTSPOT_OFFSET]  ; Get hotspot resource
273F:10FF  89 44 0B                             mov     [si+HS_ANIM_OFFSET], ax ; Mark hotspot as inactive
273F:1102                       loc_158:
273F:1102  E8 0172                              call    animation_unload_2
273F:1105                       loc_159:
273F:1105  83 C7 29                             add     di, ANIMATION_SLOT_SIZE
273F:1108  E2 E4                                loop    locloop_157
273F:110A  C3                                   retn
                          hotspots_unload       endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:4FBF, 5E61, 60E7
                                ;��������������������������������������������������������������������������

             character_find_impinging_chars     proc    near
273F:110B  56                                   push    si
273F:110C  53                                   push    bx
273F:110D  8B 55 0E                             mov     dx, [di+ANIM_ROOM_NUM]
273F:1110 BE B14E                              mov     si, offset animation_table
273F:1113  B9 002D                              mov     cx, NUM_ANIMATION_SLOTS
273F:1116 BB 10C0                              mov     bx, offset impinging_char_list
273F:1119  C7 06 10BE 0000                      mov     num_impinging_chars, 0
273F:111F  8B 05                                mov     ax, [di+ANIM_X]
273F:1121  A3 10E6                              mov     char_rect_left, ax
273F:1124  03 45 13                             add     ax, [di+ANIM_WIDTH_COPY]
273F:1127  A3 10E8                              mov     char_rect_right, ax
273F:112A  8B 45 02                             mov     ax, [di+ANIM_Y]
273F:112D  03 45 15                             add     ax, [di+ANIM_HEIGHT_COPY]
273F:1130  50                                   push    ax
273F:1131  2B 45 17                             sub     ax, [di+ANIM_Y_CORRECTION]
273F:1134  2B 45 22                             sub     ax, [di+ANIM_CHAR_RECT_Y]
273F:1137  A3 10EA                              mov     char_rect_top, ax
273F:113A  58                                   pop     ax
273F:113B  03 45 22                             add     ax, [di+ANIM_CHAR_RECT_Y]
273F:113E  A3 10EC                              mov     char_rect_bottom, ax

273F:1141                       locloop_160:                                    ; Loop through animations
273F:1141  3B FE                                cmp     di, si                  ; Is it the char's animation?
273F:1143  74 55                                je      loc_161                 ; Skip if yes
273F:1145  F6 44 0C FF                          test    byte ptr [si+ANIM_LAYER], 0FFh
273F:1149  74 4F                                jz      loc_161                 ; If no layer, then skip
273F:114B  3B 54 0E                             cmp     dx, [si+ANIM_ROOM_NUM]
273F:114E  75 4A                                jne     loc_161                 ; Skip if not in same room
273F:1150  8B 44 1B                             mov     ax, [si+ANIM_HOTSPOT_ID]
273F:1153  3D 0408                              cmp     ax, FIRST_OBJECT_HOTSPOT_ID
273F:1156  73 42                                jae     loc_161                 ; Skip if anim not a character
273F:1158  F6 44 1D FF                          test    byte ptr [si+ANIM_SKIP], 0FFh
273F:115C  75 3C                                jnz     loc_161                 ; Skip if skip flag set
273F:115E  8B 44 19                             mov     ax, [si+ANIM_HOTSPOT_OFFSET]
273F:1161  3B 45 24                             cmp     ax, [di+ANIM_VOICE_CTR]
273F:1164  74 34                                je      loc_161                 ; Jump if equal
273F:1166  8B 04                                mov     ax, [si+ANIM_X]
273F:1168  3B 06 10E8                           cmp     ax, char_rect_right
273F:116C  73 2C                                jae     loc_161                 ; Jump if above or =
273F:116E  03 44 13                             add     ax, [si+ANIM_WIDTH_COPY]
273F:1171  3B 06 10E6                           cmp     ax, char_rect_left
273F:1175  72 23                                jb      loc_161                 ; Jump if below
273F:1177  74 21                                jz      loc_161                 ; Jump if zero
273F:1179  8B 44 02                             mov     ax, [si+ANIM_Y]
273F:117C  03 44 15                             add     ax, [si+ANIM_HEIGHT_COPY]
273F:117F  8B E8                                mov     bp, ax
273F:1181  03 44 22                             add     ax, [si+ANIM_CHAR_RECT_Y]
273F:1184  3B 06 10EA                           cmp     ax, char_rect_top
273F:1188  72 10                                jb      loc_161                 ; Jump if below
273F:118A  8B C5                                mov     ax, bp
273F:118C  2B 44 17                             sub     ax, [si+ANIM_Y_CORRECTION]
273F:118F  2B 44 22                             sub     ax, [si+ANIM_CHAR_RECT_Y]
273F:1192  3B 06 10EC                           cmp     ax, char_rect_bottom
273F:1196  74 0E                                je      loc_162                 ; Jump if equal
273F:1198  72 0C                                jc      loc_162                 ; Jump if carry Set
273F:119A                       loc_161:
273F:119A 83 C6 29                             add     si, ANIMATION_SLOT_SIZE
273F:119D  E2 A2                                loop    locloop_160

273F:119F  C7 07 0000                           mov     word ptr [bx], 0        ; Flag end of list
273F:11A3  5B                                   pop     bx
273F:11A4  5E                                   pop     si
273F:11A5  C3                                   retn
273F:11A6                       loc_162:                                        ; Animation is impinging char
273F:11A6  8B 44 1B                             mov     ax, [si+ANIM_HOTSPOT_ID]
273F:11A9  89 07                                mov     [bx], ax                ; Store character Id
273F:11AB  83 C3 02                             add     bx, 2
273F:11AE  83 06 10BE 01                        add     num_impinging_chars, 1
273F:11B3  EB E5                                jmp     short loc_161           ; (119A)
             character_find_impinging_chars     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:5217, 6009
                                ;��������������������������������������������������������������������������

                 character_paused_list_check    proc    near
273F:11B5  53                                   push    bx
273F:11B6 BB 10C0                              mov     bx, offset impinging_char_list
273F:11B9  C7 06 10EE 0000                      mov     pl_check_result, 0
273F:11BF                       loc_163:

273F:11BF 8B 07                                mov     ax, [bx]                ; Get character Id
273F:11C1  83 C3 02                             add     bx, 2                   ; Move to next entry
273F:11C4  0B C0                                or      ax, ax                  ; Is it the end of the list?
273F:11C6  75 05                                jnz     loc_164                 ; Jump if not
273F:11C8  A1 10EE                              mov     ax, pl_check_result     ; Set return result
273F:11CB  5B                                   pop     bx
273F:11CC  C3                                   retn
273F:11CD                       loc_164:

273F:11CD  8B EB                                mov     bp, bx                  ; Store next table offset
273F:11CF  50                                   push    ax
273F:11D0  56                                   push    si
273F:11D1  E8 FB16                              call    get_room_resource_pointer2 ;Get hotspot resource
273F:11D4  8B DE                                mov     bx, si
273F:11D6  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:11D9  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:11DC  8A 1F                                mov     bl, [bx]                ; bl = char's current action
273F:11DE  5E                                   pop     si
273F:11DF  58                                   pop     ax
273F:11E0  80 FB 03                             cmp     bl, CHAR_ACTION_EXEC_SCRIPT ; Char in animation sequence?
273F:11E3  74 12                                je      loc_166                 ; Skip if yes

; Scan through the list of currently paused characters to see if the character is in it

273F:11E5  BB B0AE                              mov     bx, offset character_pause_list
273F:11E8  B9 0014                              mov     cx, NUM_PAUSED_CHARS_SLOTS
273F:11EB  8B 55 1B                             mov     dx, [di+ANIM_HOTSPOT_ID]

273F:11EE                       locloop_165:
273F:11EE  3B 17                                cmp     dx, [bx+PC_SRC_CHAR_ID] ; Source char in list?
273F:11F0  75 09                                jne     loc_167                 ; Jump if not
273F:11F2  3B 47 02                             cmp     ax, [bx+PC_DEST_CHAR_ID]; List char Id in list?
273F:11F5  75 04                                jne     loc_167                 ; Jump if not equal
273F:11F7                       loc_166:
273F:11F7  8B DD                                mov     bx, bp                  ; Restore cached table offset
273F:11F9  EB C4                                jmp     short loc_163           ; Check next entry
273F:11FB                       loc_167:
273F:11FB  83 C3 08                             add     bx, PAUSED_CHAR_SLOT_SIZE
273F:11FE  E2 EE                                loop    locloop_165             ; Loop remaining action list

; At this point we've found a character in the impinging_char_list list that isn't
; currently blocked to execute a hotspot animation, and doesn't have a cross reference
; against the calling character (such as the player) in the paused character list

273F:1200  8B D8                                mov     bx, ax
273F:1202  57                                   push    di
273F:1203  8B FE                                mov     di, si
273F:1205  E8 FAE0                              call    get_room_resource_pointer
273F:1208  87 F7                                xchg    si, di                  ;di=list hotspot rec, si=caller rec
273F:120A  8B C3                                mov     ax, bx
273F:120C  3D 03E8                              cmp     ax, PLAYER_HOTSPOT_ID   ; Is list char the player?
273F:120F  75 0F                                jne     loc_168                 ; Jump if not
273F:1211  F6 45 49 FF                          test    byte ptr [di+HS_PATHFIND_COVERED], 0FFh
273F:1215  75 09                                jnz     loc_168                 ; Jump if not zero
273F:1217  5F                                   pop     di
273F:1218  E8 314B                              call    character_update_movement
273F:121B  5B                                   pop     bx
273F:121C  B8 0001                              mov     ax, 1
273F:121F  C3                                   retn

273F:1220                       loc_168:
273F:1220  BB B0AE                              mov     bx, offset character_pause_list
273F:1223                       loc_169:                                        ; Scan for end of list
273F:1223 F7 07 FFFF                           test    word ptr [bx+PC_SRC_CHAR_ID], 0FFFFh
273F:1227  74 05                                jz      loc_170
273F:1229  83 C3 08                             add     bx, PAUSED_CHAR_SLOT_SIZE
273F:122C  EB F5                                jmp     short loc_169
273F:122E                       loc_170:                                        ; Inject entry into hotspot action list
273F:122E  89 17                                mov     [bx+PC_SRC_CHAR_ID], dx
273F:1230  89 47 02                             mov     [bx+PC_DEST_CHAR_ID], ax
273F:1233  C7 47 04 000F                        mov     word ptr [bx+PC_COUNTER], 15
273F:1238  89 7F 06                             mov     [bx+PC_HOTSPOT_PTR], di
273F:123B  C6 44 4C 01                          mov     byte ptr [si+HS_BLOCKED_FLAG], BS_INITIAL
273F:123F  3D 2710                              cmp     ax, START_EXIT_HOTSPOT_ID
273F:1242  73 1D                                jae     loc_173                 ; Jump if above or =
273F:1244  8A 5D 44                             mov     bl, [di+HS_CHAR_MODE]
273F:1247  80 FB 03                             cmp     bl, CHARMODE_PAUSED
273F:124A  74 0D                                je      loc_171                 ; Jump if equal
273F:124C  F7 45 4A FFFF                        test    word ptr [di+HS_PAUSE_CTR], 0FFFFh
273F:1251  75 09                                jnz     loc_172                 ; Jump if not zero
273F:1253  F6 45 44 FF                          test    byte ptr [di+HS_CHAR_MODE], 0FFh
273F:1257  75 03                                jnz     loc_172                 ; Jump if not zero
273F:1259                       loc_171:
273F:1259  89 55 47                             mov     [di+SCRIPT_HOTSPOT_ID], dx
273F:125C                       loc_172:
273F:125C  C7 45 4A 000F                        mov     word ptr [di+HS_PAUSE_CTR], 0Fh
273F:1261                       loc_173:
273F:1261  C7 06 10EE 0002                      mov     pl_check_result, 2
273F:1267  5F                                   pop     di
273F:1268  5B                                   pop     bx
273F:1269  C6 07 01                             mov     byte ptr [bx], CHAR_ACTION_START_WALK
273F:126C  53                                   push    bx
273F:126D  8B DD                                mov     bx,bp
273F:126F  E9 FF4D                              jmp     loc_163
                 character_paused_list_check    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:544C, 7F46, 7F75, 7FAD, 7FFD, 811C, 8800
                                ;                             887E, 967C, 9E9E
                                ; si = hotspot resource, di = animation slot hotspot is being removed from
                                ;��������������������������������������������������������������������������

273F:1272                 animation_unload      proc    near
273F:1272  C7 44 0B 0000                        mov     word ptr [si+HS_ANIM_OFFSET], 0 ; Mark hotspot as unloaded

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:1102

273F:1277                 animation_unload_2:
273F:1277 �33 C0                                xor     ax,ax                   ; Clear some of the
273F:1279  88 45 0C                             mov     [di+ANIM_LAYER], al     ;   slot fields
273F:127C  89 45 1B                             mov     [di+ANIM_HOTSPOT_ID], ax
273F:127F  88 45 10                             mov     [di+ANIM_LOADED], al
273F:1282  C3                                   retn
                          animation_unload      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                                                                                ;* No entry point to code
273F:1283 BF B14E                              mov     di, offset animation_table
273F:1286  B9 002D                              mov     cx, NUM_ANIMATION_SLOTS

273F:1289                       locloop_175:                                    ;  xref 273F:1291
273F:1289  39 5D 1E                             cmp     [di+1Eh],bx
273F:128C  74 06                                je      loc_176                 ; Jump if equal
273F:128E  83 C7 29                             add     di, ANIMATION_SLOT_SIZE
273F:1291  E2 F6                                loop    locloop_175             ; Loop if cx > 0
273F:1293  C3                                   retn

273F:1294  C6 45 0C 00          loc_176:        mov     byte ptr [di+ANIM_LAYER], 0
273F:1298                       loc_ret_177:    retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:010D
                                ;��������������������������������������������������������������������������

273F:1299               room_handle_click       proc    near
                                                assume  ds:data_seg
273F:1299  F6 06 11DA 07                        test    mouse_buttons2, 7       ; Any mouse button pressed?
273F:129E  74 F8                                jz      loc_ret_177             ; Exit if not
273F:12A0  F6 06 0DB4 FF                        test    talk_dialog_close_flag, 0FFh ; Floating dialog active?
273F:12A5  75 2F                                jnz     loc_178                 ; If yes then jump
273F:12A7  F7 06 BA25 FFFF                      test    viewing_room, 0FFFFh    ; Viewing remote room?
273F:12AD  75 2A                                jnz     loc_179                 ; If yes then jump
273F:12AF  80 3E 9834 03                        cmp     cursor_state, CURSORSTATE_TALK
273F:12B4  74 49                                je      loc_ret_182             ; Jump if equal
273F:12B6  81 3E 11DD 0088                      cmp     char_dest_y, 80h + MENUBAR_Y_SIZE  ; In menubar area?
273F:12BC  72 42                                jb      loc_183                 ; If yes then jump
273F:12BE  80 3E 9834 02                        cmp     cursor_state, CURSORSTATE_SEQUENCE
273F:12C3  74 35                                je      loc_181                 ; Jump if equal
273F:12C5  80 3E 9834 04                        cmp     cursor_state, CURSORSTATE_BUMPED
273F:12CA  74 2E                                je      loc_181                 ; Jump if equal

273F:12CC  F6 06 11DA 01                        test    mouse_buttons2, 1
273F:12D1  75 30                                jnz     loc_184                 ; Jump if not zero
273F:12D3  E9 0154                              jmp     loc_193                 ; (142A)
273F:12D6                       loc_178:                                        ;  xref 273F:12A5
273F:12D6  E9 01A0                              jmp     loc_195                 ; (1479)

; Handle returning to a prior room from viewing another room remotely
273F:12D9                       loc_179:                                        ;  xref 273F:12AD
273F:12D9  83 3E 9832 23                        cmp     room_number, 23h
273F:12DE  75 08                                jne     loc_180                 ; Jump if not equal
273F:12E0  F7 06 BAB7 FFFF                      test    script_val_87, 0FFFFh
273F:12E6  75 12                                jnz     loc_181                 ; Jump if not zero
273F:12E8                       loc_180:
273F:12E8  C7 06 B15F 5E44                      mov     slot0_tick_proc, offset player_tick_proc
273F:12EE  A1 BA25                              mov     ax, old_room_number
273F:12F1  A3 BA23                              mov     new_room_number, ax
273F:12F4  C7 06 BA25 0000                      mov     old_room_number, 0
273F:12FA                       loc_181:                                        ;  xref 273F:12C3, 12CA, 12E6
273F:12FA  C6 06 11DA 00                        mov     mouse_buttons2, 0

273F:12FF                       loc_ret_182:                                    ;  xref 273F:12B4
273F:12FF  C3                                   retn

273F:1300                       loc_183:                                        ;  xref 273F:12BC
273F:1300  E9 5A4D                              jmp     menubar_handle_menu

; Left mouse clicked - can only be either for walking or looking at a hotspot
273F:1303                       loc_184:                                   `    ;  xref 273F:12D1
273F:1303  C6 06 11DA 00                        mov     mouse_buttons2, 0
273F:1308  F7 06 1922 FFFF                      test    dest_room_num, 0FFFFh
273F:130E  74 03                                jz      loc_185                 ; Jump if zero
273F:1310  E9 0094                              jmp     loc_190                 ; (13A7)
273F:1313                       loc_185:                                        ;  xref 273F:130E
273F:1313  A1 1924                              mov     ax, hotspot_id
273F:1316  0B C0                                or      ax,ax                   ; Clicked on hotspot?
273F:1318  74 13                                jz      loc_186                 ; If not, then jump
273F:131A BE 4CB0                              mov     si, offset exit_hotspots_list
273F:131D  8B D8                                mov     bx,ax
273F:131F  E8 3271                              call    is_roomexit_hotspot     ; Was the hotspot a room exit?
273F:1322  75 0B                                jnz     loc_187                 ; If not, then jump
273F:1324  8B C3                                mov     ax,bx
273F:1326  E8 5EC5                              call    room_exit_hs_get_pointer
273F:1329  F6 44 0C FF                          test    byte ptr [si+REHS_EXIT_BLOCKED], 0FFh ; Is exit blocked?
273F:132D                       loc_186:
273F:132D  74 78                                jz      loc_190                 ; If not blocked, standard walking

; Handler code for looking at a hotspot

273F:132F                       loc_187:
273F:132F  C6 06 9834 01                        mov     cursor_state, CURSORSTATE_ACTION
273F:1334 BE 6CEF                              mov     si, offset player_hotspot_rec
273F:1337  33 C0                                xor     ax,ax                   ; Zero register
273F:1339  89 44 52                             mov     [si+HS_DEST_HOTSPOT], ax
273F:133C  88 44 2A                             mov     [si+HS_ACTION_CTR],  al
273F:133F  89 44 42                             mov     [si+HS_DELAY_CTR], ax
273F:1342  88 44 44                             mov     [si+HS_CHAR_MODE], al
273F:1345  8B DE                                mov     bx,si
273F:1347  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:134A  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:134D BF 65F3                              mov     di, offset player_action_support_record
273F:1350  89 7F 01                             mov     [bx+CURRENT_ACTION_SUPPORT_TABLE], di
273F:1353  C7 05 0010                           mov     word ptr [di], ACTION_LOOK_AT
273F:1357  A1 1924                              mov     ax, hotspot_id
273F:135A  89 45 02                             mov     [di+2], ax
273F:135D  C7 45 04 0000                        mov     word ptr [di+4], 0
273F:1362  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION
273F:1365  E8 5C9D                              call    menubar_clear_image
273F:1368 BF 4B93                              mov     di, offset action_name  ; Set up the "look at HOTSPOT"
273F:136B BE 10B5                              mov     si, offset look_at_str  ;  string
273F:136E  B9 0008                              mov     cx,8
273F:1371  1E                                   push    ds
273F:1372  07                                   pop     es
273F:1373  F3/ A4                               rep     movsb                   ; Rep when cx >0 Mov [si] to es:[di]
273F:1375  A1 1924                              mov     ax, hotspot_id
273F:1378  E8 F9A6                              call    get_room_resource_pointer3 ; Get hotspot name
273F:137B  8B 44 02                             mov     ax, [si+HSH_NAME]
273F:137E  80 E4 1F                             and     ah, 1Fh
273F:1381  E8 69B6                              call    decode_string
273F:1384  A1 4CE4                              mov     ax, data_segment2
273F:1387  8E C0                                mov     es,ax
273F:1389  33 FF                                xor     di,di                   ; Zero register
273F:138B  33 C9                                xor     cx,cx                   ; Zero register
273F:138D  8B 1E 076E                           mov     bx, data_571
273F:1391  8A 7F 04                             mov     bh,[bx+4]
273F:1394  8B 2E 0748                           mov     bp, screen_width
273F:1398 BE 4B93                              mov     si, offset action_name
273F:139B                       loc_188:                                        ; Loop to display action
273F:139B AC                                   lodsb                           ; String [si] to al
273F:139C  2C 20                                sub     al,20h                  ; ' '
273F:139E  72 06                                jc      loc_ret_189             ; Jump if carry Set
273F:13A0  FF 16 075A                           call    [display2_character_proc]
273F:13A4  EB F5                                jmp     short loc_188           ; (139B)

273F:13A6                       loc_ret_189:                                    ;  xref 273F:139E
273F:13A6  C3                                   retn

; Handler code for starting the player walking to the clicked location
273F:13A7                       loc_190:                                        ;  xref 273F:1310, 132D
273F:13A7  C7 06 11E1 0002                      mov     cursor_index, CURSOR_TIME_UP ; Start time animation
273F:13AD  8B 1E 1922                           mov     bx, dest_room_num
273F:13B1  0B DB                                or      bx,bx                   ; Going to change room?
273F:13B3  74 2C                                jz      loc_191                 ; No, so start in-room move

; Walking to another room
273F:13B5  A1 6CF5                              mov     ax, player_room_number
273F:13B8  E8 401F                              call    room_exit_get_coordinates
273F:13BB  81 E2 0FFF                           and     dx,0FFFh
273F:13BF BE 6CEF                              mov     si, offset player_hotspot_rec
273F:13C2  8B DE                                mov     bx, si
273F:13C4  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:13C7  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:13CA  89 4C 54                             mov     [si+HS_DEST_X], cx
273F:13CD  89 54 56                             mov     [si+HS_DEST_Y], dx
273F:13D0  C7 44 52 FFFF                        mov     [si+HS_DEST_HOTSPOT], 0FFFFh
273F:13D5  A1 1920                              mov     ax, room_exit_hotspot_id
273F:13D8  0B C0                                or      ax, ax
273F:13DA  74 2A                                jz      loc_192
273F:13DC  89 44 52                             mov     [si+HS_DEST_HOTSPOT], ax
273F:13DF  EB 25                                jmp     short loc_192           ; (1406)

; In room walking
273F:13E1                       loc_191:                                        ;  xref 273F:13B3
273F:13E1 BE 6CEF                              mov     si, offset player_hotspot_rec
273F:13E4  8B DE                                mov     bx,si
273F:13E6  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:13E9  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:13EC  C7 44 52 0000                        mov     [si+HS_DEST_HOTSPOT], 0
273F:13F1  C7 06 B172 0000                      mov     data_1116,0             ; (31E4:B172=0)
273F:13F7  A1 11DB                              mov     ax, char_dest_x
273F:13FA  2D 0010                              sub     ax,10h
273F:13FD  89 44 54                             mov     [si+HS_DEST_X], ax
273F:1400  A1 11DD                              mov     ax, char_dest_y
273F:1403  89 44 56                             mov     [si+HS_DEST_Y], ax
273F:1406                       loc_192:                                        ;  xref 273F:13DA, 13DF
273F:1406  C6 07 01                             mov     byte ptr [bx], CHAR_ACTION_START_WALK
273F:1409  33 C0                                xor     ax,ax                   ; Zero register
273F:140B  A2 9834                              mov     data_1084, al
273F:140E BF 65F3                              mov     di, offset player_action_support_record
273F:1411  89 7F 01                             mov     [bx+CURRENT_ACTION_SUPPORT_TABLE], di
273F:1414  89 05                                mov     [di],ax
273F:1416  88 44 FF                             mov     [si-1],al
273F:1419  88 44 2A                             mov     [si+HS_ACTION_CTR],al
273F:141C  89 44 42                             mov     [si+HS_DELAY_CTR], ax
273F:141F  88 44 44                             mov     [si+HS_CHAR_MODE], al
273F:1422  88 44 FF                             mov     [si-1],al
273F:1425  FF 16 075E                           call    word ptr [show_cursor_proc]
273F:1429  C3                                   retn

273F:142A                       loc_193:                                        ;  xref 273F:12D3
273F:142A  F6 06 11DA 04                        test    mouse_buttons2, 4
273F:142F  75 1A                                jnz     loc_194                 ; Jump if not zero

; At this point the right mouse button has been clicked for the right-click menu.
; This is either the context menu for a hotspot, or the general "Look/Status" menu

273F:1431  E8 51E0                              call    room_show_rightclick_menu
273F:1434  C7 06 11E4 FFFF                      mov     hotspot_name_id2, 0FFFFh
273F:143A  33 C0                                xor     ax,ax                   ; Zero register
273F:143C  33 DB                                xor     bx,bx                   ; Zero register
273F:143E  BD 0027                              mov     bp,27h
273F:1441  BA 0001                              mov     dx,1
273F:1444  B9 0081                              mov     cx,81h
273F:1447  E8 F739                              call    sub_21                  ; (0B83)
273F:144A  C3                                   retn
273F:144B                       loc_194:                                        ;  xref 273F:142F
273F:144B  C6 06 11DA 00                        mov     mouse_buttons2, 0
273F:1450  C3                                   retn
                        room_handle_click       endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                 sequence_set_hotspot_script    proc    near

273F:1451  E8 94 F8                             call    get_room_resource_pointer
273F:1454  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:1459  75 08                                jnz     loc_194_2
273F:145B  83 F9 0C                             cmp     cx, 0Ch
273F:145E  75 03                                jnz     loc_194_2
273F:1460  83 C1 03                             add     cx, 3
273F:1463  D1 E1              loc_194_2:        shl     cx, 1
273F:1465  81 C1 57E0                           add     cx, offset hotspot_script_master_list
273F:1469  8B D9                                mov     bx, cx
273F:146B  8B 07                                mov     ax, [bx]                ; Get script offset from list
273F:146D  89 44 24                             mov     [si+HS_SCRIPT_OFFSET], ax
273F:1470  33 C0                                xor     ax, ax
273F:1472  89 44 26                             mov     word ptr [si+26h], ax
273F:1475  89 44 28                             mov     word ptr [si+28h], ax
273F:1478  C3                                   ret

                 sequence_set_hotspot_script    endp

; This code fragment is part of room_handle_click, and is called when either mouse
; button is pressed when a talk dialog is active

273F:1479                       loc_195:                                        ;  xref 273F:12D6
273F:1479  C6 06 11DA 00                        mov     mouse_buttons2, 0
273F:147E  A1 983B                              mov     ax, talk_character_id
273F:1481  E8 F866                              call    get_room_resource_pointer2
273F:1484  C7 44 37 0000                        mov     word ptr [si+HS_TALK_COUNTDOWN],0
273F:1489  A1 9841                              mov     ax, data_1091  
273F:148C  0B C0                                or      ax,ax                   ; Zero ?
273F:148E  74 0F                                jz      loc_196                 ; Jump if zero
273F:1490  E8 F857                              call    get_room_resource_pointer2
273F:1493  F7 44 37 FFFF                        test    word ptr [si+HS_TALK_COUNTDOWN],0FFFFh
273F:1498  74 05                                jz      loc_196                 ; Jump if zero
273F:149A  C7 44 37 0028                        mov     word ptr [si+HS_TALK_COUNTDOWN],28h
273F:149F                       loc_196:                                        ;  xref 273F:148E, 1498
273F:149F  E9 4E23                              jmp     loc_1248                ; (62C5)
                                sub_44          endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:7B07, 8FC8, 93BE
                                ;��������������������������������������������������������������������������

273F:14A2                       sub_45          proc    near
273F:14A2 BE B883                              mov     si, offset animation_block_list
273F:14A5                       loc_197:                                        ;  xref 273F:14B5
273F:14A5 AD                                   lodsw                           ; String [si] to ax
273F:14A6  0B C0                                or      ax,ax
273F:14A8  74 0D                                jz      loc_ret_198             ; End of list found
273F:14AA  8B F8                                mov     di,ax
273F:14AC  C7 45 03 0000                        mov     word ptr [di+3],0
273F:14B1  80 65 02 DF                          and     byte ptr [di+2],0DFh
273F:14B5  EB EE                                jmp     short loc_197           ; (14A5)

273F:14B7                       loc_ret_198:                                    ;  xref 273F:14A8
273F:14B7  C3                                   retn
                                sub_45          endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:012A, 1F8B, 1F9E, 93EF
                                ;��������������������������������������������������������������������������

273F:14B8                  set_vga_palette      proc    near
273F:14B8  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:14BD  74 40                                je      loc_ret_201             ; Jump if equal
273F:14BF  81 3E F010 2EE0                      cmp     timer_ticks, TIMER_TICKS_MAX
273F:14C5  72 38                                jb      loc_ret_201             ; Jump if below
273F:14C7  1E                                   push    ds
273F:14C8  07                                   pop     es
273F:14C9 BE 1457                              mov     si,offset unprocessed_vga_palette
273F:14CC BF 0DB5                              mov     di,offset processed_vga_palette
273F:14CF  B9 0300                              mov     cx,300h

273F:14D2                       locloop_199:                                    ;  xref 273F:14D6
273F:14D2  AC                                   lodsb                           ; String [si] to al
273F:14D3  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:14D5  AA                                   stosb                           ; Store al to es:[di]
273F:14D6  E2 FA                                loop    locloop_199             ; Loop if cx > 0

273F:14D8 BA 0DB5                              mov     dx,offset processed_vga_palette
273F:14DB  B8 1012                              mov     ax,1012h
273F:14DE  BB 0000                              mov     bx,0
273F:14E1  B9 0100                              mov     cx,100h
273F:14E4  CD 10                                int     10h                     ; Video display   ah=functn 10h
                                                                                ;  set cx color registers from
                                                                                ;   ptr es:dx, bx=first reg
273F:14E6                       loc_200:                                        ;  xref 273F:14EF
273F:14E6  E8 7EDF                              call    room_check_keypresses
273F:14E9  81 3E F010 2EE0                      cmp     timer_ticks, TIMER_TICKS_MAX
273F:14EF  73 F5                                jae     loc_200                 ; Jump if above or =
273F:14F1 BA 1457                              mov     dx,offset unprocessed_vga_palette
273F:14F4  B8 1012                              mov     ax,1012h
273F:14F7  BB 0000                              mov     bx,0
273F:14FA  B9 0100                              mov     cx,100h
273F:14FD  CD 10                                int     10h                     ; Video display   ah=functn 10h
                                                                                ;  set cx color registers from
                                                                                ;   ptr es:dx, bx=first reg

273F:14FF                       loc_ret_201:                                    ;  xref 273F:14BD, 14C5
273F:14FF  C3                                   retn
                           set_vga_palette      endp

273F:1500  00 00                data_215        db      0, 0                    ;  xref 273F:2C88, 2D34, 2E9A, 2EA3
                                                                                ;            37F2, 385B, 38FB
273F:1502  0000                 data_216        dw      0                       ;  xref 273F:2C8C, 2D3C, 2EA8
273F:1504  00                   data_217        db      0                       ;  xref 273F:2C90, 2D6E, 2F47
273F:1505  0000                 data_218        dw      0                       ;  xref 273F:2D0B, 2F86, 3869, 388E
                                                                                ;            3939
273F:1507  0000                 data_219        dw      0                       ;  xref 273F:2D03, 2F8C
273F:1509  00                   data_220        db      0                       ;  xref 273F:2CFF, 2D42, 2D69, 2DBA
                                                                                ;            2E95
273F:150A  00 00 00 00                          db      0, 0, 0, 0

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:00A9, 00BB, 011D, 4171, 6A0D, 6E4B, 70D1
                                ;                             8922, 8FF3, 9769
                                ;��������������������������������������������������������������������������

273F:150E               room_add_animations     proc    near
273F:150E  B9 002D                              mov     cx, NUM_ANIMATION_SLOTS
273F:1511 BB B14E                              mov     bx, offset animation_table

; This first part adds in any active hotspots for layer 3

273F:1514                       locloop_202:                                    ;  xref 273F:1551
273F:1514  80 7F 0C 03                          cmp     byte ptr [bx+ANIM_LAYER], 3 ; Is hotspot in layer 3?
273F:1518  75 34                                jne     loc_206                 ; If found, then skip entry
273F:151A  8B 16 9832                           mov     dx, room_number
273F:151E  39 57 0E                             cmp     [bx+ANIM_ROOM_NUM], dx  ; Is animation for room?
273F:1521  75 2B                                jne     loc_206                 ; If no, then skip
273F:1523  51                                   push    cx
273F:1524  53                                   push    bx
273F:1525  8B 47 0A                             mov     ax, [bx+ANIM_SEGMENT]
273F:1528  0B C0                                or      ax,ax                   ; Zero ?
273F:152A  75 05                                jnz     loc_203                 ; Jump if not zero
273F:152C  E8 61CE                              call    animation_resolve_segment
273F:152F  72 1B                                jc      loc_205                 ; Jump if carry Set
273F:1531                       loc_203:                                        ;  xref 273F:152A
273F:1531  8E C0                                mov     es,ax
273F:1533  8B 77 08                             mov     si, [bx+ANIM_FRAME_OFFSET]
273F:1536  FF 16 0754                           call    [add_animation_proc]
273F:153A  5F                                   pop     di
273F:153B  57                                   push    di
273F:153C  B0 01                                mov     al,1
273F:153E  F6 45 0D FF                          test    byte ptr [di+ANIM_FLAGS], 0FFh
273F:1542  74 02                                jz      loc_204                 ; Jump if zero
273F:1544  B0 81                                mov     al, 81h
273F:1546                       loc_204:                                        ;  xref 273F:1542
273F:1546  E8 F5DF                              call    flag_covered_cells
273F:1549  E8 F509                              call    room_add_layer
273F:154C                       loc_205:                                        ;  xref 273F:152F
273F:154C  5B                                   pop     bx
273F:154D  59                                   pop     cx
273F:154E                       loc_206:                                        ;  xref 273F:1518, 1521
273F:154E  83 C3 29                             add     bx, ANIMATION_SLOT_SIZE
273F:1551  E2 C1                                loop    locloop_202             ; Loop if cx > 0

; Next Get a set of animations where the layer = 1, forming a list of
; the animation slot entries and the bottom row of the animation

273F:1553 BF B14E                              mov     di, offset animation_table
273F:1556 BE 10F0                              mov     si, offset animation_table2
273F:1559  8B 16 9832                           mov     dx, room_number
273F:155D  B9 002D                              mov     cx, NUM_ANIMATION_SLOTS
273F:1560  33 DB                                xor     bx,bx                   ; Number of anims found
273F:1562                       locloop_207:
273F:1562  80 7D 0C 01                          cmp     byte ptr [di+ANIM_LAYER], 1 ; Animation is layer 1?
273F:1566  75 1E                                jne     loc_208                 ; If not, then skip
273F:1568  39 55 0E                             cmp     [di+ANIM_ROOM_NUM], dx  ; Animation in the room?
273F:156B  75 19                                jne     loc_208                 ; If not, skip animation
273F:156D  F6 45 1D FF                          test    byte ptr [di+ANIM_SKIP], 0FFh
273F:1571  75 13                                jnz     loc_208                 ; Jump if not zero
273F:1573  8B 45 02                             mov     ax,[di+ANIM_Y]          ; Get Y start
273F:1576  03 45 15                             add     ax,[di+ANIM_HEIGHT_COPY] ; Copy height
273F:1579  89 3C                                mov     [si],di                 ; Store anim offset
273F:157B  83 C6 02                             add     si, 2
273F:157E  89 04                                mov     [si], ax                ; Store bottom row
273F:1580  83 C6 02                             add     si,2
273F:1583  83 C3 01                             add     bx,1                    ; Increment number found
273F:1586                       loc_208:
273F:1586  83 C7 29                             add     di, ANIMATION_SLOT_SIZE
273F:1589  E2 D7                                loop    locloop_207             ; Loop if cx > 0

; This next part sorts the newly formed list by the bottom row of each

273F:158B  83 FB 01                             cmp     bx,1
273F:158E  8B CB                                mov     cx,bx
273F:1590  72 67                                jc      loc_217                 ; No entries
273F:1592  74 2F                                jz      loc_212                 ; Only one entry
273F:1594  51                                   push    cx
273F:1595  83 E9 01                             sub     cx,1
273F:1598                       locloop_209:                                    ;  xref 273F:15C0
273F:1598 BE 10F0                              mov     si,offset animation_table2
273F:159B  51                                   push    cx
273F:159C                       locloop_210:                                    ;  xref 273F:15BD
273F:159C  8B 44 06                             mov     ax, [si+6]         
273F:159F  3B 44 02                             cmp     ax, [si+2]
273F:15A2  73 16                                jae     loc_211
273F:15A4  8B 04                                mov     ax,[si]
273F:15A6  8B 5C 04                             mov     bx,[si+4]
273F:15A9  89 1C                                mov     [si],bx
273F:15AB  89 44 04                             mov     [si+4],ax
273F:15AE  8B 44 02                             mov     ax,[si+2]
273F:15B1  8B 5C 06                             mov     bx,[si+6]
273F:15B4  89 5C 02                             mov     [si+2],bx
273F:15B7  89 44 06                             mov     [si+6],ax
273F:15BA                       loc_211:
273F:15BA  83 C6 04                             add     si, 4
273F:15BD  E2 DD                                loop    locloop_210             ; Loop if cx > 0

273F:15BF  59                                   pop     cx
273F:15C0  E2 D6                                loop    locloop_209             ; Loop if cx > 0

273F:15C2  59                                   pop     cx
273F:15C3                       loc_212:                                        ;  xref 273F:1592

; Add in the animations in order of the sorted list

273F:15C3  BE 10F0                              mov     si, offset animation_table2
273F:15C6                       locloop_213:                                    ;  xref 273F:15F7
273F:15C6  8B 1C                                mov     bx, [si]
273F:15C8  56                                   push    si
273F:15C9  51                                   push    cx
273F:15CA  53                                   push    bx
273F:15CB  8B 47 0A                             mov     ax,[bx+ANIM_SEGMENT]
273F:15CE  0B C0                                or      ax,ax                   ; Zero ?
273F:15D0  75 08                                jnz     loc_214                 ; Jump if not zero
273F:15D2  E8 6128                              call    animation_resolve_segment
273F:15D5  73 03                                jnc     loc_214                 ; Jump if carry=0
273F:15D7  5F                                   pop     di
273F:15D8  EB 18                                jmp     short loc_216           ; (15F2)
273F:15DA                       loc_214:                                        ;  xref 273F:15D0, 15D5
273F:15DA  8E C0                                mov     es,ax
273F:15DC  8B 77 08                             mov     si,[bx+ANIM_FRAME_OFFSET]
273F:15DF  FF 16 0754                           call    [add_animation_proc]
273F:15E3  5F                                   pop     di
273F:15E4  F6 45 0D FF                          test    byte ptr [di+ANIM_FLAGS], 0FFh
273F:15E8  74 05                                jz      loc_215                 ; Jump if zero
273F:15EA  B0 81                                mov     al, 81h
273F:15EC  E8 F539                              call    flag_covered_cells
273F:15EF                       loc_215:                                        ;  xref 273F:15E8
273F:15EF  E8 F463                              call    room_add_layer
273F:15F2                       loc_216:                                        ;  xref 273F:15D8
273F:15F2  59                                   pop     cx
273F:15F3  5E                                   pop     si
273F:15F4  83 C6 04                             add     si,4
273F:15F7  E2 CD                                loop    locloop_213             ; Loop if cx > 0

; Add in animations for layer 2

273F:15F9                       loc_217:                                        ;  xref 273F:1590
273F:15F9  B9 002D                              mov     cx, NUM_ANIMATION_SLOTS
273F:15FC BB B14E                              mov     bx, offset animation_table

273F:15FF                       locloop_218:
273F:15FF  80 7F 0C 02                          cmp     byte ptr [bx+ANIM_LAYER],2
273F:1603  75 31                                jne     loc_222                 ; Jump if not equal
273F:1605  8B 16 9832                           mov     dx, room_number
273F:1609  39 57 0E                             cmp     [bx+ANIM_ROOM_NUM], dx
273F:160C  75 28                                jne     loc_222                 ; Jump if not equal
273F:160E  51                                   push    cx
273F:160F  53                                   push    bx
273F:1610  8B 47 0A                             mov     ax,[bx+ANIM_SEGMENT]
273F:1613  0B C0                                or      ax,ax                   ; Zero ?
273F:1615  75 05                                jnz     loc_219                 ; Jump if not zero
273F:1617  E8 60E3                              call    animation_resolve_segment
273F:161A  72 18                                jc      loc_221                 ; Jump if carry Set
273F:161C                       loc_219:                                        ;  xref 273F:1615
273F:161C  8E C0                                mov     es,ax
273F:161E  8B 77 08                             mov     si, [bx+ANIM_FRAME_OFFSET]
273F:1621  FF 16 0754                           call    [add_animation_proc]
273F:1625  5F                                   pop     di
273F:1626  57                                   push    di
273F:1627  B0 01                                mov     al,1
273F:1629  F6 45 0D FF                          test    byte ptr [di+ANIM_FLAGS],0FFh
273F:162D  74 02                                jz      loc_220                 ; Jump if zero
273F:162F  B0 81                                mov     al, 81h
273F:1631                       loc_220:                                        ;  xref 273F:162D
273F:1631  E8 F4F4                              call    flag_covered_cells
273F:1634                       loc_221:                                        ;  xref 273F:161A
273F:1634  5B                                   pop     bx
273F:1635  59                                   pop     cx
273F:1636                       loc_222:                                        ;  xref 273F:1603, 160C
273F:1636  83 C3 29                             add     bx, ANIMATION_SLOT_SIZE
273F:1639  E2 C4                                loop    locloop_218             ; Loop if cx > 0

273F:163B  F6 06 9837 FF                        test    talk_dialog_active, 0FFh
273F:1640  74 04                                jz      loc_ret_223             ; Jump if zero
273F:1642  FF 16 0758                           call    [talk_dialog_proc]

273F:1646                       loc_ret_223:                                    ;  xref 273F:1640
273F:1646  C3                                   retn
                        room_add_animations     endp

273F:1647  00                                   db      0

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:7D4E, 7D60
                                ;��������������������������������������������������������������������������

273F:1648               decode_character        proc    near
273F:1648  E8 675A                              call    read_bit
273F:164B  74 03                                jz      loc_224                 ; Jump if zero
273F:164D  EB 3B                                jmp     short loc_235           ; (168A)
273F:164F  90                                   db      90h
273F:1650                       loc_224:                                        ; 0
273F:1650  E8 6752                              call    read_bit
273F:1653  74 03                                jz      loc_225                 ; Jump if zero
273F:1655  EB 04                                jmp     short loc_226           ; (165B)
273F:1657  90                                   db      90h
273F:1658                       loc_225:                                        ; 00
273F:1658  B0 20                                mov     al,20h                  ; ' '
273F:165A  C3                                   retn
273F:165B                       loc_226:                                        ; 01
273F:165B  E8 6747                              call    read_bit
273F:165E  74 03                                jz      loc_227                 ; Jump if zero
273F:1660  EB 0F                                jmp     short loc_230           ; (1671)
273F:1662  90                                   db      90h
273F:1663                       loc_227:                                        ; 010
273F:1663  E8 673F                              call    read_bit
273F:1666  74 03                                jz      loc_228                 ; Jump if zero
273F:1668  EB 04                                jmp     short loc_229           ; (166E)
273F:166A  90                                   db      90h
273F:166B                       loc_228:                                        ; 0100
273F:166B  B0 65                                mov     al,65h                  ; 'e'
273F:166D  C3                                   retn
273F:166E                       loc_229:                                        ; 0101
273F:166E  B0 6F                                mov     al,6Fh                  ; 'o'
273F:1670  C3                                   retn
273F:1671                       loc_230:                                        ; 011
273F:1671  E8 6731                              call    read_bit
273F:1674  74 03                                jz      loc_231
273F:1676  EB 04                                jmp     short loc_232
273F:1678  90                                   db      90h
273F:1679                       loc_231:                                        ; 0110
273F:1679  B0 74                                mov     al,74h                  ; 't'
273F:167B  C3                                   retn
273F:167C                       loc_232:                                        ; 0111
273F:167C  E8 6726                              call    read_bit
273F:167F  74 03                                jz      loc_233                 ; Jump if zero
273F:1681  EB 04                                jmp     short loc_234           ; (1687)
273F:1683  90                                   db      90h
273F:1684                       loc_233:                                        ; 01110
273F:1684  B0 61                                mov     al,61h                  ; 'a'
273F:1686  C3                                   retn
273F:1687                       loc_234:                                        ; 01111
273F:1687  B0 6E                                mov     al,6Eh                  ; 'n'
273F:1689  C3                                   retn
273F:168A                       loc_235:                                        ; 1
273F:168A  E8 6718                              call    read_bit
273F:168D  74 03                                jz      loc_236                 ; Jump if zero
273F:168F  EB 46                                jmp     short loc_249           ; (16D7)
273F:1691  90                                   db      90h
273F:1692                       loc_236:                                        ; 10
273F:1692  E8 6710                              call    read_bit
273F:1695  74 03                                jz      loc_237                 ; Jump if zero
273F:1697  EB 0F                                jmp     short loc_240           ; (16A8)
273F:1699  90                                   db      90h
273F:169A                       loc_237:                                        ; 100
273F:169A  E8 6708                              call    read_bit
273F:169D  74 03                                jz      loc_238                 ; Jump if zero
273F:169F  EB 04                                jmp     short loc_239           ; (16A5)
273F:16A1  90                                   db      90h
273F:16A2                       loc_238:                                        ; 1000
273F:16A2  B0 73                                mov     al,73h                  ; 's'
273F:16A4  C3                                   retn
273F:16A5                       loc_239:                                        ; 1001
273F:16A5  B0 69                                mov     al,69h                  ; 'i'
273F:16A7  C3                                   retn
273F:16A8                       loc_240:                                        ; 101
273F:16A8  E8 66FA                              call    read_bit
273F:16AB  74 03                                jz      loc_241                 ; Jump if zero
273F:16AD  EB 04                                jmp     short loc_242           ; (16B3)
273F:16AF  90                                   db      90h
273F:16B0                       loc_241:                                        ; 1010
273F:16B0  B0 72                                mov     al,72h                  ; 'r'
273F:16B2  C3                                   retn
273F:16B3                       loc_242:                                        ; 1011
273F:16B3  E8 66EF                              call    read_bit
273F:16B6  74 03                                jz      loc_243                 ; Jump if zero
273F:16B8  EB 04                                jmp     short loc_244           ; (16BE)
273F:16BA  90                                   db      90h
273F:16BB                       loc_243:                                        ; 10110
273F:16BB  B0 68                                mov     al,68h                  ; 'h'
273F:16BD  C3                                   retn
273F:16BE                       loc_244:                                        ; 10111
273F:16BE  E8 66E4                              call    read_bit
273F:16C1  74 03                                jz      loc_245                 ; Jump if zero
273F:16C3  EB 04                                jmp     short loc_246           ; (16C9)
273F:16C5  90                                   db      90h
273F:16C6                       loc_245:                                        ; 101110
273F:16C6  B0 75                                mov     al,75h                  ; 'u'
273F:16C8  C3                                   retn
273F:16C9                       loc_246:                                        ; 101111
273F:16C9  E8 66D9                              call    read_bit
273F:16CC  74 03                                jz      loc_247                 ; Jump if zero
273F:16CE  EB 04                                jmp     short loc_248           ; (16D4)
273F:16D0  90                                   db      90h
273F:16D1                       loc_247:                                        ; 1011110
273F:16D1  B0 6C                                mov     al,6Ch                  ; 'l'
273F:16D3  C3                                   retn
273F:16D4                       loc_248:                                        ; 1011111
273F:16D4  B0 64                                mov     al,64h                  ; 'd'
273F:16D6  C3                                   retn
273F:16D7                       loc_249:                                        ; 11
273F:16D7  E8 66CB                              call    read_bit
273F:16DA  74 03                                jz      loc_250                 ; Jump if zero
273F:16DC  EB 51                                jmp     short loc_265           ; (172F)
273F:16DE  90                                   db      90h
273F:16DF                       loc_250:                                        ; 110
273F:16DF  E8 66C3                              call    read_bit
273F:16E2  74 03                                jz      loc_251                 ; Jump if zero
273F:16E4  EB 1A                                jmp     short loc_256           ; (1700)
273F:16E6  90                                   db      90h
273F:16E7                       loc_251:                                        ; 1100
273F:16E7  E8 66BB                              call    read_bit
273F:16EA  74 03                                jz      loc_252                 ; Jump if zero
273F:16EC  EB 04                                jmp     short loc_253           ; (16F2)
273F:16EE  90                                   db      90h
273F:16EF                       loc_252:                                        ; 11000
273F:16EF  B0 79                                mov     al,79h                  ; 'y'
273F:16F1  C3                                   retn
273F:16F2                       loc_253:                                        ; 11001
273F:16F2  E8 66B0                              call    read_bit
273F:16F5  74 03                                jz      loc_254                 ; Jump if zero
273F:16F7  EB 04                                jmp     short loc_255           ; (16FD)
273F:16F9  90                                   db      90h
273F:16FA                       loc_254:                                        ; 110010
273F:16FA  B0 67                                mov     al,67h                  ; 'g'
273F:16FC  C3                                   retn
273F:16FD                       loc_255:                                        ; 110011
273F:16FD  B0 00                                mov     al,0
273F:16FF  C3                                   retn
273F:1700                       loc_256:                                        ; 1101
273F:1700  E8 66A2                              call    read_bit
273F:1703  74 03                                jz      loc_257                 ; Jump if zero
273F:1705  EB 0F                                jmp     short loc_260           ; (1716)
273F:1707  90                                   db      90h
273F:1708                       loc_257:                                        ; 11010
273F:1708  E8 669A                              call    read_bit
273F:170B  74 03                                jz      loc_258                 ; Jump if zero
273F:170D  EB 04                                jmp     short loc_259           ; (1713)
273F:170F  90                                   db      90h
273F:1710                       loc_258:                                        ; 110100
273F:1710  B0 77                                mov     al,77h                  ; 'w'
273F:1712  C3                                   retn
273F:1713                       loc_259:                                        ; 110101
273F:1713  B0 63                                mov     al,63h                  ; 'c'
273F:1715  C3                                   retn
273F:1716                       loc_260:                                        ; 11011
273F:1716  E8 668C                              call    read_bit
273F:1719  74 03                                jz      loc_261                 ; Jump if zero
273F:171B  EB 04                                jmp     short loc_262           ; (1721)
273F:171D  90                                   db      90h
273F:171E                       loc_261:                                        ; 110110
273F:171E  B0 66                                mov     al,66h                  ; 'f'
273F:1720  C3                                   retn
273F:1721                       loc_262:                                        ; 110111
273F:1721  E8 6681                              call    read_bit
273F:1724  74 03                                jz      loc_263                 ; Jump if zero
273F:1726  EB 04                                jmp     short loc_264           ; (172C)
273F:1728  90                                   db      90h
273F:1729                       loc_263:                                        ; 1101110
273F:1729  B0 2E                                mov     al,2Eh                  ; '.'
273F:172B  C3                                   retn
273F:172C                       loc_264:                                        ; 1101111
273F:172C  B0 6D                                mov     al,6Dh                  ; 'm'
273F:172E  C3                                   retn
273F:172F                       loc_265:                                        ; 111
273F:172F  E8 6673                              call    read_bit
273F:1732  74 03                                jz      loc_266                 ; Jump if zero
273F:1734  EB 46                                jmp     short loc_279           ; (177C)
273F:1736  90                                   db      90h
273F:1737                       loc_266:                                        ; 1110
273F:1737  E8 666B                              call    read_bit
273F:173A  74 03                                jz      loc_267                 ; Jump if zero
273F:173C  EB 0F                                jmp     short loc_270           ; (174D)
273F:173E  90                                   db      90h
273F:173F                       loc_267:                                        ; 11100
273F:173F  E8 6663                              call    read_bit
273F:1742  74 03                                jz      loc_268                 ; Jump if zero
273F:1744  EB 04                                jmp     short loc_269           ; (174A)
273F:1746  90                                   db      90h
273F:1747                       loc_268:                                        ; 111000
273F:1747  B0 70                                mov     al,70h                  ; 'p'
273F:1749  C3                                   retn
273F:174A                       loc_269:                                        ; 111001
273F:174A  B0 62                                mov     al,62h                  ; 'b'
273F:174C  C3                                   retn
273F:174D                       loc_270:                                        ; 11101
273F:174D  E8 6655                              call    read_bit
273F:1750  74 03                                jz      loc_271                 ; Jump if zero
273F:1752  EB 0F                                jmp     short loc_274           ; (1763)
273F:1754  90                                   db      90h
273F:1755                       loc_271:                                        ; 111010
273F:1755  E8 664D                              call    read_bit
273F:1758  74 03                                jz      loc_272                 ; Jump if zero
273F:175A  EB 04                                jmp     short loc_273           ; (1760)
273F:175C  90                                   db      90h
273F:175D                       loc_272:                                        ; 1110100
273F:175D  B0 2C                                mov     al,2Ch                  ; ','
273F:175F  C3                                   retn
273F:1760                       loc_273:                                        ; 1110101
273F:1760  B0 6B                                mov     al,6Bh                  ; 'k'
273F:1762  C3                                   retn
273F:1763                       loc_274:                                        ; 111011
273F:1763  E8 663F                              call    read_bit
273F:1766  74 03                                jz      loc_275                 ; Jump if zero
273F:1768  EB 04                                jmp     short loc_276           ; (176E)
273F:176A  90                                   db      90h
273F:176B                       loc_275:                                        ; 1110110
273F:176B  B0 27                                mov     al,27h                  ; '''
273F:176D  C3                                   retn
273F:176E                       loc_276:                                        ; 1110111
273F:176E  E8 6634                              call    read_bit
273F:1771  74 03                                jz      loc_277                 ; Jump if zero
273F:1773  EB 04                                jmp     short loc_278           ; (1779)
273F:1775  90                                   db      90h
273F:1776                       loc_277:                                        ; 11101110
273F:1776  B0 49                                mov     al,49h                  ; 'I'
273F:1778  C3                                   retn
273F:1779                       loc_278:                                        ; 11101111
273F:1779  B0 76                                mov     al,76h                  ; 'v'
273F:177B  C3                                   retn
273F:177C                       loc_279:                                        ; 1111
273F:177C  E8 6626                              call    read_bit
273F:177F  74 03                                jz      loc_280                 ; Jump if zero
273F:1781  EB 46                                jmp     short loc_293           ; (17C9)
273F:1783  90                                   db      90h
273F:1784                       loc_280:                                        ; 11110
273F:1784  E8 661E                              call    read_bit
273F:1787  74 03                                jz      loc_281                 ; Jump if zero
273F:1789  EB 0F                                jmp     short loc_284           ; (179A)
273F:178B  90                                   db      90h
273F:178C                       loc_281:                                        ; 111100
273F:178C  E8 6616                              call    read_bit
273F:178F  74 03                                jz      loc_282                 ; Jump if zero
273F:1791  EB 04                                jmp     short loc_283           ; (1797)
273F:1793  90                                   db      90h
273F:1794                       loc_282:                                        ; 1111000
273F:1794  B0 21                                mov     al,21h                  ; '!'
273F:1796  C3                                   retn
273F:1797                       loc_283:                                        ; 1111001
273F:1797  B0 B4                                mov     al,0B4h
273F:1799  C3                                   retn
273F:179A                       loc_284:                                        ; 111101
273F:179A  E8 6608                              call    read_bit
273F:179D  74 03                                jz      loc_285                 ; Jump if zero
273F:179F  EB 0F                                jmp     short loc_288           ; (17B0)
273F:17A1  90                                   db      90h
273F:17A2                       loc_285:                                        ; 1111010
273F:17A2  E8 6600                              call    read_bit
273F:17A5  74 03                                jz      loc_286                 ; Jump if zero
273F:17A7  EB 04                                jmp     short loc_287           ; (17AD)
273F:17A9  90                                   db      90h
273F:17AA                       loc_286:                                        ; 11110100
273F:17AA  B0 54                                mov     al,54h                  ; 'T'
273F:17AC  C3                                   retn
273F:17AD                       loc_287:                                        ; 11110101
273F:17AD  B0 B5                                mov     al,0B5h
273F:17AF  C3                                   retn
273F:17B0                       loc_288:                                        ; 1111011
273F:17B0  E8 65F2                              call    read_bit
273F:17B3  74 03                                jz      loc_289                 ; Jump if zero
273F:17B5  EB 04                                jmp     short loc_290           ; (17BB)
273F:17B7  90                                   db      90h
273F:17B8                       loc_289:                                        ; 11110110
273F:17B8  B0 3F                                mov     al,3Fh                  ; '?'
273F:17BA  C3                                   retn
273F:17BB                       loc_290:                                        ; 11110111
273F:17BB  E8 65E7                              call    read_bit
273F:17BE  74 03                                jz      loc_291                 ; Jump if zero
273F:17C0  EB 04                                jmp     short loc_292           ; (17C6)
273F:17C2  90                                   db      90h
273F:17C3                       loc_291:                                        ; 111101110
273F:17C3  B0 B2                                mov     al,0B2h
273F:17C5  C3                                   retn
273F:17C6                       loc_292:                                        ; 111101111
273F:17C6  B0 B3                                mov     al,0B3h
273F:17C8  C3                                   retn
273F:17C9                       loc_293:                                        ; 11111
273F:17C9  E8 65D9                              call    read_bit
273F:17CC  74 03                                jz      loc_294                 ; Jump if zero
273F:17CE  EB 5C                                jmp     short loc_311           ; (182C)
273F:17D0  90                                   db      90h
273F:17D1                       loc_294:                                        ; 111110
273F:17D1  E8 65D1                              call    read_bit
273F:17D4  74 03                                jz      loc_295                 ; Jump if zero
273F:17D6  EB 1A                                jmp     short loc_300           ; (17F2)
273F:17D8  90                                   db      90h
273F:17D9                       loc_295:                                        ; 1111100
273F:17D9  E8 65C9                              call    read_bit
273F:17DC  74 03                                jz      loc_296                 ; Jump if zero
273F:17DE  EB 04                                jmp     short loc_297           ; (17E4)
273F:17E0  90                                   db      90h
273F:17E1                       loc_296:                                        ; 11111000
273F:17E1  B0 57                                mov     al,57h                  ; 'W'
273F:17E3  C3                                   retn
273F:17E4                       loc_297:                                        ; 11111001
273F:17E4  E8 65BE                              call    read_bit
273F:17E7  74 03                                jz      loc_298                 ; Jump if zero
273F:17E9  EB 04                                jmp     short loc_299           ; (17EF)
273F:17EB  90                                   db      90h
273F:17EC                       loc_298:                                        ; 111110010
273F:17EC  B0 48                                mov     al,48h                  ; 'H'
273F:17EE  C3                                   retn
273F:17EF                       loc_299:                                        ; 111110011
273F:17EF  B0 41                                mov     al,41h                  ; 'A'
273F:17F1  C3                                   retn
273F:17F2                       loc_300:                                        ; 1111101
273F:17F2  E8 65B0                              call    read_bit
273F:17F5  74 03                                jz      loc_301                 ; Jump if zero
273F:17F7  EB 0F                                jmp     short loc_304           ; (1808)
273F:17F9  90                                   db      90h
273F:17FA                       loc_301:                                        ; 11111010
273F:17FA  E8 65A8                              call    read_bit
273F:17FD  74 03                                jz      loc_302                 ; Jump if zero
273F:17FF  EB 04                                jmp     short loc_303           ; (1805)
273F:1801  90                                   db      90h
273F:1802                       loc_302:                                        ; 111110100
273F:1802  B0 B1                                mov     al,0B1h
273F:1804  C3                                   retn
273F:1805                       loc_303:                                        ; 111110101
273F:1805  B0 53                                mov     al,53h                  ; 'S'
273F:1807  C3                                   retn
273F:1808                       loc_304:                                        ; 11111011
273F:1808  E8 659A                              call    read_bit
273F:180B  74 03                                jz      loc_305                 ; Jump if zero
273F:180D  EB 04                                jmp     short loc_306           ; (1813)
273F:180F  90                                   db      90h
273F:1810                       loc_305:                                        ; 111110110
273F:1810  B0 59                                mov     al,59h                  ; 'Y'
273F:1812  C3                                   retn
273F:1813                       loc_306:                                        ; 111110111
273F:1813  E8 658F                              call    read_bit
273F:1816  74 03                                jz      loc_307                 ; Jump if zero
273F:1818  EB 04                                jmp     short loc_308           ; (181E)
273F:181A  90                                   db      90h
273F:181B                       loc_307:                                        ; 1111101110
273F:181B  B0 47                                mov     al,47h                  ; 'G'
273F:181D  C3                                   retn
273F:181E                       loc_308:                                        ; 1111101111
273F:181E  E8 6584                              call    read_bit
273F:1821  74 03                                jz      loc_309                 ; Jump if zero
273F:1823  EB 04                                jmp     short loc_310           ; (1829)
273F:1825  90                                   db      90h
273F:1826                       loc_309:                                        ; 11111011110
273F:1826  B0 4D                                mov     al,4Dh                  ; 'M'
273F:1828  C3                                   retn
273F:1829                       loc_310:                                        ; 11111011111
273F:1829  B0 4E                                mov     al,4Eh                  ; 'N'
273F:182B  C3                                   retn
273F:182C                       loc_311:                                        ; 111111
273F:182C  E8 6576                              call    read_bit
273F:182F  74 03                                jz      loc_312                 ; Jump if zero
273F:1831  EB 51                                jmp     short loc_327           ; (1884)
273F:1833  90                                   db      90h
273F:1834                       loc_312:                                        ; 1111110
273F:1834  E8 656E                              call    read_bit
273F:1837  74 03                                jz      loc_313                 ; Jump if zero
273F:1839  EB 1A                                jmp     short loc_318           ; (1855)
273F:183B  90                                   db      90h
273F:183C                       loc_313:                                        ; 11111100
273F:183C  E8 6566                              call    read_bit
273F:183F  74 03                                jz      loc_314                 ; Jump if zero
273F:1841  EB 04                                jmp     short loc_315           ; (1847)
273F:1843  90                                   db      90h
273F:1844                       loc_314:                                        ; 111111000
273F:1844  B0 4F                                mov     al,4Fh                  ; 'O'
273F:1846  C3                                   retn
273F:1847                       loc_315:                                        ; 111111001
273F:1847  E8 655B                              call    read_bit
273F:184A  74 03                                jz      loc_316                 ; Jump if zero
273F:184C  EB 04                                jmp     short loc_317           ; (1852)
273F:184E  90                                   db      90h
273F:184F                       loc_316:                                        ; 1111110010
273F:184F  B0 45                                mov     al,45h                  ; 'E'
273F:1851  C3                                   retn
273F:1852                       loc_317:                                        ; 1111110011
273F:1852  B0 4C                                mov     al,4Ch                  ; 'L'
273F:1854  C3                                   retn
273F:1855                       loc_318:                                        ; 11111101
273F:1855  E8 654D                              call    read_bit
273F:1858  74 03                                jz      loc_319                 ; Jump if zero
273F:185A  EB 0F                                jmp     short loc_322           ; (186B)
273F:185C  90                                   db      90h
273F:185D                       loc_319:                                        ; 111111010
273F:185D  E8 6545                              call    read_bit
273F:1860  74 03                                jz      loc_320                 ; Jump if zero
273F:1862  EB 04                                jmp     short loc_321           ; (1868)
273F:1864  90                                   db      90h
273F:1865                       loc_320:                                        ; 1111110100
273F:1865  B0 2D                                mov     al,2Dh                  ; '-'
273F:1867  C3                                   retn
273F:1868                       loc_321:                                        ; 1111110101
273F:1868  B0 52                                mov     al,52h                  ; 'R'
273F:186A  C3                                   retn
273F:186B                       loc_322:                                        ; 111111011
273F:186B  E8 6537                              call    read_bit
273F:186E  74 03                                jz      loc_323                 ; Jump if zero
273F:1870  EB 04                                jmp     short loc_324           ; (1876)
273F:1872  90                                   db      90h
273F:1873                       loc_323:                                        ; 1111110110
273F:1873  B0 42                                mov     al,42h                  ; 'B'
273F:1875  C3                                   retn
273F:1876                       loc_324:                                        ; 1111110111
273F:1876  E8 652C                              call    read_bit
273F:1879  74 03                                jz      loc_325                 ; Jump if zero
273F:187B  EB 04                                jmp     short loc_326           ; (1881)
273F:187D  90                                   db      90h
273F:187E                       loc_325:                                        ; 11111101110
273F:187E  B0 44                                mov     al,44h                  ; 'D'
273F:1880  C3                                   retn
273F:1881                       loc_326:                                        ; 11111101111
273F:1881  B0 A6                                mov     al,0A6h
273F:1883  C3                                   retn
273F:1884                       loc_327:                                        ; 1111111
273F:1884  E8 651E                              call    read_bit
273F:1887  74 03                                jz      loc_328                 ; Jump if zero
273F:1889  EB 46                                jmp     short loc_341           ; (18D1)
273F:188B  90                                   db      90h
273F:188C                       loc_328:                                        ; 11111110
273F:188C  E8 6516                              call    read_bit
273F:188F  74 03                                jz      loc_329                 ; Jump if zero
273F:1891  EB 1A                                jmp     short loc_334           ; (18AD)
273F:1893  90                                   db      90h
273F:1894                       loc_329:                                        ; 111111100
273F:1894  E8 650E                              call    read_bit
273F:1897  74 03                                jz      loc_330                 ; Jump if zero
273F:1899  EB 04                                jmp     short loc_331           ; (189F)
273F:189B  90                                   db      90h
273F:189C                       loc_330:                                        ; 1111111000
273F:189C  B0 43                                mov     al,43h                  ; 'C'
273F:189E  C3                                   retn
273F:189F                       loc_331:                                        ; 1111111001
273F:189F  E8 6503                              call    read_bit
273F:18A2  74 03                                jz      loc_332                 ; Jump if zero
273F:18A4  EB 04                                jmp     short loc_333           ; (18AA)
273F:18A6  90                                   db      90h
273F:18A7                       loc_332:                                        ; 11111110010
273F:18A7  B0 78                                mov     al,78h                  ; 'x'
273F:18A9  C3                                   retn
273F:18AA                       loc_333:                                        ; 11111110011
273F:18AA  B0 6A                                mov     al,6Ah                  ; 'j'
273F:18AC  C3                                   retn
273F:18AD                       loc_334:                                        ; 111111101
273F:18AD  E8 64F5                              call    read_bit
273F:18B0  74 03                                jz      loc_335                 ; Jump if zero
273F:18B2  EB 04                                jmp     short loc_336           ; (18B8)
273F:18B4  90                                   db      90h
273F:18B5                       loc_335:                                        ; 1111111010
273F:18B5  B0 AC                                mov     al,0ACh
273F:18B7  C3                                   retn
273F:18B8                       loc_336:                                        ; 1111111011
273F:18B8  E8 64EA                              call    read_bit
273F:18BB  74 03                                jz      loc_337                 ; Jump if zero
273F:18BD  EB 04                                jmp     short loc_338           ; (18C3)
273F:18BF  90                                   db      90h
273F:18C0                       loc_337:                                        ; 11111110110
273F:18C0  B0 A3                                mov     al,0A3h
273F:18C2  C3                                   retn
273F:18C3                       loc_338:                                        ; 11111110111
273F:18C3  E8 64DF                              call    read_bit
273F:18C6  74 03                                jz      loc_339                 ; Jump if zero
273F:18C8  EB 04                                jmp     short loc_340           ; (18CE)
273F:18CA  90                                   db      90h
273F:18CB                       loc_339:                                        ; 111111101110
273F:18CB  B0 50                                mov     al,50h                  ; 'P'
273F:18CD  C3                                   retn
273F:18CE                       loc_340:                                        ; 111111101111
273F:18CE  B0 55                                mov     al,55h                  ; 'U'
273F:18D0  C3                                   retn
273F:18D1                       loc_341:                                        ; 11111111
273F:18D1  E8 64D1                              call    read_bit
273F:18D4  74 03                                jz      loc_342                 ; Jump if zero
273F:18D6  EB 46                                jmp     short loc_355           ; (191E)
273F:18D8  90                                   db      90h
273F:18D9                       loc_342:                                        ; 111111110
273F:18D9  E8 64C9                              call    read_bit
273F:18DC  74 03                                jz      loc_343                 ; Jump if zero
273F:18DE  EB 0F                                jmp     short loc_346           ; (18EF)
273F:18E0  90                                   db      90h
273F:18E1                       loc_343:                                        ; 1111111100
273F:18E1  E8 64C1                              call    read_bit
273F:18E4  74 03                                jz      loc_344                 ; Jump if zero
273F:18E6  EB 04                                jmp     short loc_345           ; (18EC)
273F:18E8  90                                   db      90h
273F:18E9                       loc_344:                                        ; 11111111000
273F:18E9  B0 71                                mov     al,71h                  ; 'q'
273F:18EB  C3                                   retn
273F:18EC                       loc_345:                                        ; 11111111001
273F:18EC  B0 AD                                mov     al,0ADh
273F:18EE  C3                                   retn
273F:18EF                       loc_346:                                        ; 1111111101
273F:18EF  E8 64B3                              call    read_bit
273F:18F2  74 03                                jz      loc_347                 ; Jump if zero
273F:18F4  EB 0F                                jmp     short loc_350           ; (1905)
273F:18F6  90                                   db      90h
273F:18F7                       loc_347:                                        ; 11111111010
273F:18F7  E8 64AB                              call    read_bit
273F:18FA  74 03                                jz      loc_348                 ; Jump if zero
273F:18FC  EB 04                                jmp     short loc_349           ; (1902)
273F:18FE  90                                   db      90h
273F:18FF                       loc_348:                                        ; 111111110100
273F:18FF  B0 46                                mov     al,46h                  ; 'F'
273F:1901  C3                                   retn
273F:1902                       loc_349:                                        ; 111111110101
273F:1902  B0 31                                mov     al,31h                  ; '1'
273F:1904  C3                                   retn
273F:1905                       loc_350:                                        ; 11111111011
273F:1905  E8 649D                              call    read_bit
273F:1908  74 03                                jz      loc_351                 ; Jump if zero
273F:190A  EB 04                                jmp     short loc_352           ; (1910)
273F:190C  90                                   db      90h
273F:190D                       loc_351:                                        ; 111111110110
273F:190D  B0 AF                                mov     al,0AFh
273F:190F  C3                                   retn
273F:1910                       loc_352:                                        ; 111111110111
273F:1910  E8 6492                              call    read_bit
273F:1913  74 03                                jz      loc_353                 ; Jump if zero
273F:1915  EB 04                                jmp     short loc_354           ; (191B)
273F:1917  90                                   db      90h
273F:1918                       loc_353:                                        ; 1111111101110
273F:1918  B0 3B                                mov     al,3Bh                  ; ';'
273F:191A  C3                                   retn
273F:191B                       loc_354:                                        ; 1111111101111
273F:191B  B0 7A                                mov     al,7Ah                  ; 'z'
273F:191D  C3                                   retn
273F:191E                       loc_355:                                        ; 111111111
273F:191E  E8 6484                              call    read_bit
273F:1921  74 03                                jz      loc_356                 ; Jump if zero
273F:1923  EB 46                                jmp     short loc_369           ; (196B)
273F:1925  90                                   nop
273F:1926                       loc_356:                                        ; 1111111110
273F:1926  E8 647C                              call    read_bit
273F:1929  74 03                                jz      loc_357                 ; Jump if zero
273F:192B  EB 1A                                jmp     short loc_362           ; (1947)
273F:192D  90                                   db      90h
273F:192E                       loc_357:                                        ; 11111111100
273F:192E  E8 6474                              call    read_bit
273F:1931  74 03                                jz      loc_358                 ; Jump if zero
273F:1933  EB 04                                jmp     short loc_359           ; (1939)
273F:1935  90                                   db      90h
273F:1936                       loc_358:                                        ; 111111111000
273F:1936  B0 A5                                mov     al,0A5h
273F:1938  C3                                   retn
273F:1939                       loc_359:                                        ; 111111111001
273F:1939  E8 6469                              call    read_bit
273F:193C  74 03                                jz      loc_360                 ; Jump if zero
273F:193E  EB 04                                jmp     short loc_361           ; (1944)
273F:1940  90                                   db      90h
273F:1941                       loc_360:                                        ; 1111111110010
273F:1941  B0 32                                mov     al,32h                  ; '2'
273F:1943  C3                                   retn
273F:1944                       loc_361:                                        ; 1111111110011
273F:1944  B0 B0                                mov     al,0B0h
273F:1946  C3                                   retn
273F:1947                       loc_362:                                        ; 11111111101
273F:1947  E8 645B                              call    read_bit
273F:194A  74 03                                jz      loc_363                 ; Jump if zero
273F:194C  EB 04                                jmp     short loc_364           ; (1952)
273F:194E  90                                   db      90h
273F:194F                       loc_363:                                        ; 111111111010
273F:194F  B0 4B                                mov     al,4Bh                  ; 'K'
273F:1951  C3                                   retn
273F:1952                       loc_364:                                        ; 111111111011
273F:1952  E8 6450                              call    read_bit
273F:1955  74 03                                jz      loc_365                 ; Jump if zero
273F:1957  EB 04                                jmp     short loc_366           ; (195D)
273F:1959  90                                   db      90h
273F:195A                       loc_365:                                        ; 1111111110110
273F:195A  B0 25                                mov     al,25h                  ; '%'
273F:195C  C3                                   retn
273F:195D                       loc_366:                                        ; 1111111110111
273F:195D  E8 6445                              call    read_bit
273F:1960  74 03                                jz      loc_367                 ; Jump if zero
273F:1962  EB 04                                jmp     short loc_368           ; (1968)
273F:1964  90                                   db      90h
273F:1965                       loc_367:                                        ; 11111111101110
273F:1965  B0 A2                                mov     al,0A2h
273F:1967  C3                                   retn
273F:1968                       loc_368:                                        ; 11111111101111
273F:1968  B0 35                                mov     al,35h                  ; '5'
273F:196A  C3                                   retn
273F:196B                       loc_369:                                        ; 1111111111
273F:196B  E8 6437                              call    read_bit
273F:196E  74 03                                jz      loc_370                 ; Jump if zero
273F:1970  EB 30                                jmp     short loc_379           ; (19A2)
273F:1972  90                                   db      90h
273F:1973                       loc_370:                                        ; 11111111110
273F:1973  E8 642F                              call    read_bit
273F:1976  74 03                                jz      loc_371                 ; Jump if zero
273F:1978  EB 0F                                jmp     short loc_374           ; (1989)
273F:197A  90                                   db      90h
273F:197B                       loc_371:                                        ; 111111111100
273F:197B  E8 6427                              call    read_bit
273F:197E  74 03                                jz      loc_372                 ; Jump if zero
273F:1980  EB 04                                jmp     short loc_373           ; (1986)
273F:1982  90                                   db      90h
273F:1983                       loc_372:                                        ;  1111111111000
273F:1983  B0 3A                                mov     al,3Ah                  ; ':'
273F:1985  C3                                   retn
273F:1986                       loc_373:                                        ;  1111111111001
273F:1986  B0 4A                                mov     al,4Ah                  ; 'J'
273F:1988  C3                                   retn
273F:1989                       loc_374:                                        ; 111111111101
273F:1989  E8 6419                              call    read_bit
273F:198C  74 03                                jz      loc_375                 ; Jump if zero
273F:198E  EB 04                                jmp     short loc_376           ; (1994)
273F:1990  90                                   db      90h
273F:1991                       loc_375:                                        ; 1111111111010
273F:1991  B0 56                                mov     al,56h                  ; 'V'
273F:1993  C3                                   retn
273F:1994                       loc_376:                                        ; 1111111111011
273F:1994  E8 640E                              call    read_bit
273F:1997  74 03                                jz      loc_377                 ; Jump if zero
273F:1999  EB 04                                jmp     short loc_378           ; (199F)
273F:199B  90                                   db      90h
273F:199C                       loc_377:                                        ; 11111111110110
273F:199C  B0 36                                mov     al,36h                  ; '6'
273F:199E  C3                                   retn
273F:199F                       loc_378:                                        ; 11111111110111
273F:199F  B0 33                                mov     al,33h                  ; '3'
273F:19A1  C3                                   retn
273F:19A2                       loc_379:                                        ; 11111111111
273F:19A2  E8 6400                              call    read_bit
273F:19A5  74 03                                jz      loc_380                 ; Jump if zero
273F:19A7  EB 25                                jmp     short loc_387           ; (19CE)
273F:19A9  90                                   db      90h
273F:19AA                       loc_380:                                        ; 111111111110
273F:19AA  E8 63F8                              call    read_bit
273F:19AD  74 03                                jz      loc_381                 ; Jump if zero
273F:19AF  EB 04                                jmp     short loc_382           ; (19B5)
273F:19B1  90                                   db      90h
273F:19B2                       loc_381:                                        ; 1111111111100
273F:19B2  B0 AB                                mov     al,0ABh
273F:19B4  C3                                   retn
273F:19B5                       loc_382:                                        ; 1111111111101
273F:19B5  E8 63ED                              call    read_bit
273F:19B8  74 03                                jz      loc_383                 ; Jump if zero
273F:19BA  EB 04                                jmp     short loc_384           ; (19C0)
273F:19BC  90                                   db      90h
273F:19BD                       loc_383:                                        ; 11111111111010
273F:19BD  B0 AE                                mov     al,0AEh
273F:19BF  C3                                   retn
273F:19C0                       loc_384:                                        ; 11111111111011
273F:19C0  E8 63E2                              call    read_bit
273F:19C3  74 03                                jz      loc_385                 ; Jump if zero
273F:19C5  EB 04                                jmp     short loc_386           ; (19CB)
273F:19C7  90                                   db      90h
273F:19C8                       loc_385:                                        ; 111111111110110
273F:19C8  B0 30                                mov     al,30h                  ; '0'
273F:19CA  C3                                   retn
273F:19CB                       loc_386:                                        ; 111111111110111
273F:19CB  B0 34                                mov     al,34h                  ; '4'
273F:19CD  C3                                   retn
273F:19CE                       loc_387:                                        ; 111111111111
273F:19CE  E8 63D4                              call    read_bit
273F:19D1  74 03                                jz      loc_388                 ; Jump if zero
273F:19D3  EB 1A                                jmp     short loc_393           ; (19EF)
273F:19D5  90                                   db      90h
273F:19D6                       loc_388:                                        ; 1111111111110
273F:19D6  E8 63CC                              call    read_bit
273F:19D9  74 03                                jz      loc_389                 ; Jump if zero
273F:19DB  EB 04                                jmp     short loc_390           ; (19E1)
273F:19DD  90                                   db      90h
273F:19DE                       loc_389:                                        ; 11111111111100
273F:19DE  B0 37                                mov     al,37h                  ; '7'
273F:19E0  C3                                   retn
273F:19E1                       loc_390:                                        ; 11111111111101
273F:19E1  E8 63C1                              call    read_bit
273F:19E4  74 03                                jz      loc_391                 ; Jump if zero
273F:19E6  EB 04                                jmp     short loc_392           ; (19EC)
273F:19E8  90                                   db      90h
273F:19E9                       loc_391:                                        ; 111111111111010
273F:19E9  B0 39                                mov     al,39h                  ; '9'
273F:19EB  C3                                   retn
273F:19EC                       loc_392:                                        ; 111111111111011
273F:19EC  B0 22                                mov     al,22h                  ; '"'
273F:19EE  C3                                   retn
273F:19EF                       loc_393:                                        ; 1111111111111
273F:19EF  E8 63B3                              call    read_bit
273F:19F2  74 03                                jz      loc_394                 ; Jump if zero
273F:19F4  EB 0F                                jmp     short loc_397           ; (1A05)
273F:19F6  90                                   db      90h
273F:19F7                       loc_394:                                        ; 11111111111110
273F:19F7  E8 63AB                              call    read_bit
273F:19FA  74 03                                jz      loc_395                 ; Jump if zero
273F:19FC  EB 04                                jmp     short loc_396           ; (1A02)
273F:19FE  90                                   db      90h
273F:19FF                       loc_395:                                        ; 111111111111100
273F:19FF  B0 38                                mov     al,38h                  ; '8'
273F:1A01  C3                                   retn
273F:1A02                       loc_396:                                        ; 111111111111101
273F:1A02  B0 A7                                mov     al,0A7h
273F:1A04  C3                                   retn
273F:1A05                       loc_397:                                        ; 11111111111111
273F:1A05  E8 639D                              call    read_bit
273F:1A08  74 03                                jz      loc_398                 ; Jump if zero
273F:1A0A  EB 0F                                jmp     short loc_401           ; (1A1B)
273F:1A0C  90                                   db      90h
273F:1A0D                       loc_398:                                        ; 111111111111110
273F:1A0D  E8 6395                              call    read_bit
273F:1A10  74 03                                jz      loc_399                 ; Jump if zero
273F:1A12  EB 04                                jmp     short loc_400           ; (1A18)
273F:1A14  90                                   db      90h
273F:1A15                       loc_399:                                        ; 1111111111111100
273F:1A15  B0 2F                                mov     al,2Fh                  ; '/'
273F:1A17  C3                                   retn
273F:1A18                       loc_400:                                        ; 1111111111111101
273F:1A18  B0 51                                mov     al,51h                  ; 'Q'
273F:1A1A  C3                                   retn
273F:1A1B                       loc_401:                                        ; 111111111111111
273F:1A1B  E8 6387                              call    read_bit
273F:1A1E  74 03                                jz      loc_402                 ; Jump if zero
273F:1A20  EB 0F                                jmp     short loc_405           ; (1A31)
273F:1A22  90                                   db      90h
273F:1A23                       loc_402:                                        ; 1111111111111110
273F:1A23  E8 637F                              call    read_bit
273F:1A26  74 03                                jz      loc_403                 ; Jump if zero
273F:1A28  EB 04                                jmp     short loc_404           ; (1A2E)
273F:1A2A  90                                   db      90h
273F:1A2B                       loc_403:                                        ; 11111111111111100
273F:1A2B  B0 A8                                mov     al,0A8h
273F:1A2D  C3                                   retn
273F:1A2E                       loc_404:                                        ; 11111111111111101
273F:1A2E  B0 28                                mov     al,28h                  ; '('
273F:1A30  C3                                   retn
273F:1A31                       loc_405:                                        ; 1111111111111111
273F:1A31  E8 6371                              call    read_bit
273F:1A34  74 03                                jz      loc_406                 ; Jump if zero
273F:1A36  EB 0F                                jmp     short loc_409           ; (1A47)
273F:1A38  90                                   db      90h
273F:1A39                       loc_406:                                        ; 11111111111111110
273F:1A39  E8 6369                              call    read_bit
273F:1A3C  74 03                                jz      loc_407                 ; Jump if zero
273F:1A3E  EB 04                                jmp     short loc_408           ; (1A44)
273F:1A40  90                                   db      90h
273F:1A41                       loc_407:                                        ; 111111111111111100
273F:1A41  B0 29                                mov     al,29h                  ; ')'
273F:1A43  C3                                   retn
273F:1A44                       loc_408:                                        ; 111111111111111101
273F:1A44  B0 99                                mov     al,99h
273F:1A46  C3                                   retn
273F:1A47                       loc_409:                                        ; 11111111111111111
273F:1A47  B0 A9                                mov     al,0A9h
273F:1A49  C3                                   retn
                        decode_character        endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:631D
                                ; si=Character name, di = speech text, talk_character_id = character hotspot Id
                                ;��������������������������������������������������������������������������

                          talk_dialog_init      proc    near
273F:1A4A  89 3E B9F9                           mov     talk_speech_ptr, di
273F:1A4E  BD 0080                              mov     bp, 80h
273F:1A51  A1 4CF0                              mov     ax, font2_segment
273F:1A54  8E C0                                mov     es, ax
273F:1A56  56                                   push    si
273F:1A57  33 D2                                xor     dx, dx                  ; Zero register
273F:1A59  B1 03                                mov     cl, 3
273F:1A5B                       loc_410:                                        ;  xref 273F:1A68, 1A6D
273F:1A5B AC                                   lodsb                           ; String [si] to al
273F:1A5C  2C 20                                sub     al,20h                  ; ' '
273F:1A5E  72 0F                                jc      loc_411                 ; Jump if carry Set
273F:1A60  98                                   cbw                             ; Convrt byte to word
273F:1A61  D3 E0                                shl     ax,cl                   ; Convert to font data offset
273F:1A63  8B D8                                mov     bx,ax
273F:1A65  26: 02 17                            add     dl,es:[bx]              ; Increase width
273F:1A68  73 F1                                jnc     loc_410                 ; Jump if carry=0
273F:1A6A  80 C6 01                             add     dh,1
273F:1A6D  EB EC                                jmp     short loc_410           ; (1A5B)
; dx = size of the character name?
273F:1A6F                       loc_411:                                        ;  xref 273F:1A5E
273F:1A6F  B8 0080                              mov     ax,80h
273F:1A72  2B C2                                sub     ax,dx
273F:1A74  D1 E8                                shr     ax,1                    ; Calculate centering name?
273F:1A76  50                                   push    ax
273F:1A77 BB B9F9                              mov     bx, offset talk_speech_ptr
273F:1A7A  E8 00B3                              call    word_wrap_string
273F:1A7D  A1 4CE6                              mov     ax, talk_dialog_buffer
273F:1A80  A3 B9FF                              mov     talk_buffer_segment, ax
273F:1A83  8E C0                                mov     es, ax
273F:1A85  BF 0000                              mov     di,0
273F:1A88  89 3E BA01                           mov     talk_buffer_offset, di
273F:1A8C  8B 2E B9FD                           mov     bp, data_1122
273F:1A90  57                                   push    di
273F:1A91  FF 16 0756                           call    [draw_talk_dialog_proc]

273F:1A95  A1 983B                              mov     ax, talk_character_id
273F:1A98  E8 F24F                              call    get_room_resource_pointer2
273F:1A9B  8B 44 19                             mov     ax, [si+HS_WIDTH_COPY]  ; Figure out hotspot X center
273F:1A9E  D1 E8                                shr     ax,1
273F:1AA0  03 44 0D                             add     ax, [si+HS_X]
273F:1AA3  2D 0080                              sub     ax, 80h                 ; Remove 80h offset
273F:1AA6  72 19                                jc      loc_412                 ; Character off-screen
273F:1AA8  8B 1E 11C4                           mov     bx, talk_dialog_width
273F:1AAC  D1 EB                                shr     bx,1                    ; ax=X start for centering
273F:1AAE  2B C3                                sub     ax,bx                   ;   dialog on character
273F:1AB0  72 0F                                jc      loc_412
273F:1AB2  BB 0136                              mov     bx, 310
273F:1AB5  2B 1E 11C4                           sub     bx, talk_dialog_width
273F:1AB9  3B C3                                cmp     ax, bx                  ; Too far along horizontally?
273F:1ABB  72 06                                jb      loc_413
273F:1ABD  8B C3                                mov     ax,bx                   ; Yes, so limit x start
273F:1ABF  EB 02                                jmp     short loc_413
273F:1AC1                       loc_412:
273F:1AC1  33 C0                                xor     ax,ax
273F:1AC3                       loc_413:
273F:1AC3  A3 11C2                              mov     talk_dialog_left, ax    ; Set the x start
273F:1AC6  5F                                   pop     di
273F:1AC7  8B 36 076E                           mov     si, data_571
273F:1ACB  8A 7C 04                             mov     bh, [si+4]
273F:1ACE  8A 44 05                             mov     al, [si+5]
273F:1AD1  A2 BA06                              mov     data_ba06, al
273F:1AD4  58                                   pop     ax
273F:1AD5  5E                                   pop     si
273F:1AD6  80 3E 0742 01                        cmp     video_style, VIDEO_STYLE_VGA
273F:1ADB  74 2A                                je      loc_414                 ; Jump if equal
273F:1ADD  81 C7 0140                           add     di,140h
273F:1AE1  8B 0E BA01                           mov     cx, talk_buffer_offset
273F:1AE5  81 C1 03C0                           add     cx, SCREEN_WIDTH*3      ; 3C0h ?
273F:1AE9  89 0E BA01                           mov     talk_buffer_offset, cx
273F:1AED  89 0E BA03                           mov     talk_buffer_offset_2, cx
273F:1AF1  8A C8                                mov     cl,al
273F:1AF3  80 E1 07                             and     cl,7
273F:1AF6  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:1AF8  25 FFFC                              and     ax,0FFFCh
273F:1AFB  03 F8                                add     di,ax
273F:1AFD  BD 0040                              mov     bp,40h
273F:1B00  C6 06 BA05 05                        mov     byte ptr ds:data_465e,5 ; (273F:BA05=0)
273F:1B05  EB 19                                jmp     short loc_415           ; (1B20)
273F:1B07                       loc_414:                                        ;  xref 273F:1ADB
273F:1B07  03 F8                                add     di,ax
273F:1B09  81 C7 0280                           add     di,280h
273F:1B0D  8B 0E BA01                           mov     cx, talk_buffer_offset
273F:1B11  81 C1 0785                           add     cx,785h
273F:1B15  89 0E BA01                           mov     talk_buffer_offset, cx
273F:1B19  89 0E BA03                           mov     talk_buffer_offset_2, cx
273F:1B1D  BD 0080                              mov     bp,80h
273F:1B20                       loc_415:                                        ;  xref 273F:1B05
273F:1B20  89 2E B9FB                           mov     data_b9fb, bp

; Loop for adding the character name into the dialog
273F:1B24 AC                   loc_416:        lodsb                           ; String [si] to al
273F:1B25  2C 20                                sub     al,20h                  ; ' '
273F:1B27  72 06                                jc      loc_ret_417             ; Jump if carry Set
273F:1B29  FF 16 075A                           call    [display2_character_proc]
273F:1B2D  EB F5                                jmp     short loc_416           ; (1B24)
273F:1B2F                       loc_ret_417:                                    ;  xref 273F:1B27
273F:1B2F  C3                                   retn
                          talk_dialog_init      endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:1A7A, 8980
                                ; bx = talk data details record offset
                                ; di = text to handle
                                ;��������������������������������������������������������������������������

273F:1B30              word_wrap_string         proc    near
273F:1B30  8B F7                                mov     si,di
273F:1B32  C7 47 04 0000                        mov     word ptr [bx+4],0
273F:1B37                       loc_418:                                        ;  xref 273F:1B5C, 1B92
273F:1B37 8B FE                                mov     di,si
273F:1B39  83 47 04 01                          add     word ptr [bx+4],1
273F:1B3D  BA 0009                              mov     dx,9
273F:1B40                       loc_419:                                        ;  xref 273F:1B8C
273F:1B40  32 ED                                xor     ch,ch                   ; Zero register
273F:1B42                       loc_420:                                        ;  xref 273F:1B51, 1B58
273F:1B42 AC                                   lodsb                           ; String [si] to al
273F:1B43  2C 20                                sub     al,20h                  ; ' '
273F:1B45  74 17                                jz      loc_423                 ; Jump if zero
273F:1B47  72 0A                                jc      loc_421                 ; Jump if carry Set
273F:1B49  98                                   cbw                             ; Convrt byte to word
273F:1B4A  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:1B4C  93                                   xchg    bx,ax
273F:1B4D  26: 02 2F                            add     ch,es:[bx]
273F:1B50  93                                   xchg    bx,ax
273F:1B51  EB EF                                jmp     short loc_420           ; (1B42)
273F:1B53                       loc_421:                                        ;  xref 273F:1B47
273F:1B53  3C E1                                cmp     al,0E1h
273F:1B55  75 03                                jne     loc_422                 ; Jump if not equal
273F:1B57  AC                                   lodsb                           ; String [si] to al
273F:1B58  EB E8                                jmp     short loc_420           ; (1B42)
273F:1B5A                       loc_422:                                        ;  xref 273F:1B55
273F:1B5A  3C ED                                cmp     al,0EDh
273F:1B5C  74 D9                                je      loc_418                 ; Jump if equal
273F:1B5E                       loc_423:                                        ;  xref 273F:1B45
273F:1B5E  02 D5                                add     dl,ch
273F:1B60  73 03                                jnc     loc_424                 ; Jump if carry=0
273F:1B62  80 C6 01                             add     dh,1
273F:1B65                       loc_424:                                        ;  xref 273F:1B60
273F:1B65  3B EA                                cmp     bp,dx
273F:1B67  74 1D                                je      loc_426                 ; Jump if equal
273F:1B69  73 0F                                jnc     loc_425                 ; Jump if carry=0
273F:1B6B  C6 45 FF 0D                          mov     byte ptr [di-1],0Dh
273F:1B6F  8A D5                                mov     dl,ch
273F:1B71  80 C2 09                             add     dl,9
273F:1B74  32 F6                                xor     dh,dh                   ; Zero register
273F:1B76  83 47 04 01                          add     word ptr [bx+4],1
273F:1B7A                       loc_425:                                        ;  xref 273F:1B69
273F:1B7A  8B FE                                mov     di,si
273F:1B7C  26: 02 16 0000                       add     dl,es:data_1443e        ; (8B57:0000=0)
273F:1B81  73 03                                jnc     loc_426                 ; Jump if carry=0
273F:1B83  80 C6 01                             add     dh,1
273F:1B86                       loc_426:                                        ;  xref 273F:1B67, 1B81
273F:1B86  0A C0                                or      al,al                   ; Zero ?
273F:1B88  75 0A                                jnz     loc_427                 ; Jump if not zero
273F:1B8A  3B D5                                cmp     dx,bp
273F:1B8C  72 B2                                jb      loc_419                 ; Jump if below
273F:1B8E  C6 44 FF 0D                          mov     byte ptr [si-1],0Dh     ; Add a carriage return
273F:1B92  EB A3                                jmp     short loc_418
273F:1B94                       loc_427:                                        
273F:1B94  8B 47 04                             mov     ax,[bx+4]
273F:1B97  C3                                   retn
                       word_wrap_string         endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:634C, 899B, 8E28
                                ;��������������������������������������������������������������������������

273F:1B98                       sub_51          proc    near
273F:1B98  8B 37                                mov     si,[bx]
273F:1B9A  8B 7F 08                             mov     di,[bx+8]
273F:1B9D  8A 4F 0C                             mov     cl,[bx+0Ch]
273F:1BA0  8B 47 06                             mov     ax,[bx+6]
273F:1BA3  8E C0                                mov     es,ax
273F:1BA5  53                                   push    bx
273F:1BA6  8B 6F 02                             mov     bp, [bx+2]
273F:1BA9  8A 7F 0D                             mov     bh, [bx+0Dh]
273F:1BAC                       loc_428:                                        ;  xref 273F:1BCE
273F:1BAC AC                                   lodsb                           ; String [si] to al
273F:1BAD  2C 20                                sub     al,20h                  ; ' '
273F:1BAF  74 1F                                jz      loc_430                 ; Jump if zero
273F:1BB1  73 17                                jnc     loc_429                 ; Jump if carry=0
273F:1BB3  3C E1                                cmp     al,0E1h
273F:1BB5  72 29                                jb      loc_432                 ; Jump if below
273F:1BB7  5B                                   pop     bx
273F:1BB8  8B 7F 0A                             mov     di,[bx+0Ah]
273F:1BBB  B8 0007                              mov     ax,7
273F:1BBE  F7 67 02                             mul     word ptr [bx+2]         ; dx:ax = data * ax
273F:1BC1  03 F8                                add     di,ax
273F:1BC3  89 7F 0A                             mov     [bx+0Ah], di
273F:1BC6  B1 05                                mov     cl, 5
273F:1BC8  EB 0B                                jmp     short loc_431           ; (1BD5)
273F:1BCA                       loc_429:                                        ;  xref 273F:1BB1
273F:1BCA  FF 16 075A                           call    [display2_character_proc]
273F:1BCE  EB DC                                jmp     short loc_428           ; (1BAC)
273F:1BD0                       loc_430:                                        ;  xref 273F:1BAF
273F:1BD0  FF 16 075A                           call    [display2_character_proc]
273F:1BD4  5B                                   pop     bx
273F:1BD5                       loc_431:                                        ;  xref 273F:1BC8
273F:1BD5  89 7F 08                             mov     [bx+8],di
273F:1BD8  88 4F 0C                             mov     [bx+0Ch],cl
273F:1BDB  89 37                                mov     [bx],si
273F:1BDD  33 C0                                xor     ax,ax                   ; Zero register
273F:1BDF  C3                                   retn
273F:1BE0                       loc_432:                                        ;  xref 273F:1BB5
273F:1BE0  5B                                   pop     bx
273F:1BE1  0D FFFF                              or      ax,0FFFFh
273F:1BE4  C3                                   retn
                                sub_51          endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:59D2, 59F6, 5A2E, 5A68
                                ;��������������������������������������������������������������������������

273F:1BE5                       sub_52          proc    near
273F:1BE5  8B 0E 074C                           mov     cx, menubar_block_size
273F:1BE9  F7 E1                                mul     cx                      ; dx:ax = reg * ax
273F:1BEB  8B F8                                mov     di,ax
273F:1BED  A1 074A                              mov     ax, char_width
273F:1BF0  F7 E3                                mul     bx                      ; dx:ax = reg * ax
273F:1BF2  03 F8                                add     di,ax
273F:1BF4  A1 4CE4                              mov     ax, data_segment2
273F:1BF7  8E C0                                mov     es,ax
273F:1BF9  8B 2E 0748                           mov     bp, screen_width
273F:1BFD  32 C9                                xor     cl,cl                   ; Zero register
273F:1BFF  8B 1E 076E                           mov     bx, data_571
273F:1C03  8A 7F 05                             mov     bh,[bx+5]
273F:1C06                       loc_433:                                        ;  xref 273F:1C0F
273F:1C06 AC                                   lodsb                           ; String [si] to al
273F:1C07  2C 20                                sub     al,20h                  ; ' '
273F:1C09  72 06                                jc      loc_ret_434             ; Jump if carry Set
273F:1C0B  FF 16 075A                           call    [display2_character_proc]
273F:1C0F  EB F5                                jmp     short loc_433           ; (1C06)

273F:1C11                       loc_ret_434:                                    ;  xref 273F:1C09
273F:1C11  C3                                   retn
                                sub_52          endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:010A, 93EC
                                ;��������������������������������������������������������������������������

                         room_check_cursors     proc    near

                                                assume  ds:data_seg
273F:1C12  A1 11E1                              mov     ax, cursor_index
273F:1C15  3D 0002                              cmp     ax, CURSOR_TIME_UP      ; Check if it's in the clock animation
273F:1C18  72 24                                jb      loc_437                 ; No
273F:1C1A  3D 0009                              cmp     ax, CURSOR_TIME_UP_LEFT
273F:1C1D  73 1F                                jae     loc_437                 ; Too high
273F:1C1F  80 3E 6D52 01                        cmp     player_action_state, CHAR_ACTION_START_WALK
273F:1C24  74 07                                je      loc_435                 ; Jump if equal
273F:1C26  80 3E 6D52 04                        cmp     player_action_state, CHAR_ACTION_PROCESSING_PATH
273F:1C2B  75 11                                jne     loc_437                 ; Jump if not equal
273F:1C2D                       loc_435:                                        ;  xref 273F:1C24
273F:1C2D  05 0001                              add     ax,1
273F:1C30  3D 000A                              cmp     ax, CURSOR_CROSS        ; Passed end of clock sequence?
273F:1C33  72 03                                jb      loc_436                 ; Jump if below
273F:1C35  A1 0002                              mov     ax,  CURSOR_TIME_UP     ; Set clock back to start
273F:1C38                       loc_436:
273F:1C38  A2 11E3                              mov     cursor_index_new, al
273F:1C3B  E9 0180                              jmp     loc_451

273F:1C3E                       loc_437:
273F:1C3E  E8 0374                              call    talk_dialog_mouse_check
273F:1C41  75 08                                jnz     loc_438                 ; Not in dialog
273F:1C43  C6 06 11E3 10                        mov     cursor_index_new, CURSOR_TALK ; Show talk cursor
273F:1C48  E9 0173                              jmp     loc_451

273F:1C4B                       loc_438:                                        ;  xref 273F:1C41
273F:1C4B  80 3E 9834 04                        cmp     cursor_state, CURSORSTATE_BUMPED
273F:1C50  74 5B                                je      loc_440                 ; Jump if equal
273F:1C52  80 3E 9834 03                        cmp     cursor_state, CURSORSTATE_TALK
273F:1C57  74 5C                                je      loc_441                 ; Jump if equal

; Check for cursor in menubar area

273F:1C59  83 3E 11D8 08                        cmp     mouse_y2, MENUBAR_Y_SIZE
273F:1C5E  73 10                                jae     loc_439                 ; Jump if above or =
273F:1C60  F7 06 BA25 FFFF                      test    old_room_number, 0FFFFh
273F:1C66  75 55                                jnz     loc_ret_442             ; Jump if not zero
273F:1C68  C6 06 11E3 11                        mov     cursor_index_new, CURSOR_MENUBAR_AREA
273F:1C6D  E9 014E                              jmp     loc_451                 ; (1DBE)
273F:1C70                       loc_439:                                        ;  xref 273F:1C5E
273F:1C70  F6 06 9834 FF                        test    cursor_state, 0FFh
273F:1C75  74 47                                jz      loc_443                 ; Jump if zero
273F:1C77  C7 06 1924 0000                      mov     hotspot_id, 0
273F:1C7D  C6 06 11E3 0F                        mov     cursor_index_new, CURSOR_CAMERA
273F:1C82  8B 16 9832                           mov     dx, room_number
273F:1C86 BF 623E                              mov     di, offset hotspot_table_3
273F:1C89  BD 2710                              mov     bp, START_EXIT_HOTSPOT_ID
273F:1C8C  E8 01BC                              call    room_check_hotspots
273F:1C8F BF 63B1                              mov     di, offset hotspot_table_4
273F:1C92  BD 7530                              mov     bp,7530h
273F:1C95  E8 01B3                              call    room_check_hotspots
273F:1C98 BF 5D98                              mov     di, offset hotspot_table_2
273F:1C9B  BD 03E8                              mov     bp, PLAYER_HOTSPOT_ID
273F:1C9E  E8 01AA                              call    room_check_hotspots
273F:1CA1 BF 5EB8                              mov     di, offset hotspot_table_5
273F:1CA4  BD 0408                              mov     bp, FIRST_OBJECT_HOTSPOT_ID
273F:1CA7  E8 01A1                              call    room_check_hotspots
273F:1CAA  E9 0111                              jmp     loc_451                 ; (1DBE)
273F:1CAD                       loc_440:                                        ;  xref 273F:1C50
273F:1CAD  C6 06 11E3 0F                        mov     cursor_index_new, CURSOR_CAMERA
273F:1CB2  E9 0109                              jmp     loc_451                 ; (1DBE)
273F:1CB5                       loc_441:                                        ;  xref 273F:1C57
273F:1CB5  C6 06 11E3 00                        mov     cursor_index_new, CURSOR_ARROW
273F:1CBA  E9 0101                              jmp     loc_451                 ; (1DBE)

273F:1CBD                       loc_ret_442:                                    ;  xref 273F:1C66
273F:1CBD  C3                                   retn
273F:1CBE                       loc_443:                                        ;  xref 273F:1C75
273F:1CBE  C6 06 11E3 00                        mov     cursor_index_new, CURSOR_ARROW
273F:1CC3  C7 06 1924 0000                      mov     hotspot_id, 0
273F:1CC9  C7 06 11E6 0000                      mov     hotspot_name_id, 0
273F:1CCF  8B 16 9832                           mov     dx, room_number
273F:1CD3 BF 623E                              mov     di, offset hotspot_table_3
273F:1CD6  BD 2710                              mov     bp, START_EXIT_HOTSPOT_ID
273F:1CD9  E8 016F                              call    room_check_hotspots
273F:1CDC BF 5D98                              mov     di, offset hotspot_table_2
273F:1CDF  BD 03E8                              mov     bp, PLAYER_HOTSPOT_ID
273F:1CE2  E8 0166                              call    room_check_hotspots
273F:1CE5 BF 63B1                              mov     di, offset hotspot_table_4
273F:1CE8  BD 7530                              mov     bp,7530h
273F:1CEB  E8 015D                              call    room_check_hotspots
273F:1CEE BF 5EB8                              mov     di, offset hotspot_table_5
273F:1CF1  BD 0408                              mov     bp, FIRST_OBJECT_HOTSPOT_ID
273F:1CF4  E8 0154                              call    room_check_hotspots
273F:1CF7  F7 06 1924 FFFF                      test    hotspot_id, 0FFFFh
273F:1CFD  74 05                                jz      loc_444                 ; Not on hotspot
273F:1CFF  C6 06 11E3 0A                        mov     cursor_index_new, CURSOR_CROSS
273F:1D04                       loc_444:                                        ;  xref 273F:1CFD
273F:1D04  A1 11E6                              mov     ax, hotspot_name_id
273F:1D07  3B 06 11E4                           cmp     ax, hotspot_name_id2
273F:1D0B  74 36                                je      loc_446                 ; Jump if equal
273F:1D0D  A3 11E4                              mov     hotspot_name_id2, ax
273F:1D10  E8 52F2                              call    menubar_clear_image
273F:1D13  A1 11E4                              mov     ax, hotspot_name_id2
273F:1D16  0B C0                                or      ax,ax                   ; Zero ?
273F:1D18  74 29                                jz      loc_446                 ; Jump if zero
273F:1D1A  BF 4B43                              mov     di, offset hotspot_name
273F:1D1D  E8 601A                              call    decode_string
273F:1D20  8B 36 076E                           mov     si, data_571 
273F:1D24  8A 7C 05                             mov     bh,[si+5]
273F:1D27 BE 4B43                              mov     si,offset hotspot_name
273F:1D2A  BF 0000                              mov     di,0
273F:1D2D  B1 04                                mov     cl,4
273F:1D2F  8B 2E 0748                           mov     bp, screen_width
273F:1D33  A1 4CE4                              mov     ax, data_segment2
273F:1D36  8E C0                                mov     es,ax
273F:1D38                       loc_445:                                        ;  xref 273F:1D41
273F:1D38 AC                                   lodsb                           ; String [si] to al
273F:1D39  2C 20                                sub     al,20h                  ; ' '
273F:1D3B  72 06                                jc      loc_446                 ; Jump if carry Set
273F:1D3D  FF 16 075A                           call    [display2_character_proc]
273F:1D41  EB F5                                jmp     short loc_445           ; (1D38)
273F:1D43                       loc_446:                                        ;  xref 273F:1D0B, 1D18, 1D3B
273F:1D43  C7 06 1920 0000                      mov     room_exit_hotspot_id, 0
273F:1D49  C7 06 1922 0000                      mov     dest_room_num, 0
273F:1D4F  8B 1E 9832                           mov     bx, room_number
273F:1D53  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
273F:1D55  8B B7 2F61                           mov     si, room_exits_table[bx]
273F:1D59  0B F6                                or      si,si                   ; Zero ?
273F:1D5B  74 61                                jz      loc_451                 ; Jump if zero
273F:1D5D  8B 1E 11D6                           mov     bx, mouse_x2
273F:1D61  81 C3 0080                           add     bx, 80h
273F:1D65  8B 16 11D8                           mov     dx, mouse_y2          
273F:1D69  81 C2 0080                           add     dx,80h
273F:1D6D                       loc_447:                                        ;  xref 273F:1D89
273F:1D6D 8B 04                                mov     ax,[si]
273F:1D6F  0B C0                                or      ax,ax                   ; Record present?
273F:1D71  74 4B                                jz      loc_451                 ; If no, exit loop
273F:1D73  3B C3                                cmp     ax,bx
273F:1D75  73 0F                                jae     loc_448                 ; Jump if above or =
273F:1D77  3B 5C 02                             cmp     bx,[si+ROOMEXIT_X_END]
273F:1D7A  73 0A                                jae     loc_448                 ; Jump if above or =
273F:1D7C  3B 54 04                             cmp     dx,[si+ROOMEXIT_Y_START]
273F:1D7F  72 05                                jb      loc_448                 ; Jump if below
273F:1D81  3B 54 06                             cmp     dx,[si+ROOMEXIT_Y_END]
273F:1D84  72 05                                jb      loc_449                 ; Jump if below
273F:1D86                       loc_448:
273F:1D86  83 C6 0E                             add     si, ROOMEXIT_RECORD_SIZE ; Move to next record
273F:1D89  EB E2                                jmp     short loc_447
273F:1D8B                       loc_449:                                        ;  xref 273F:1D84
273F:1D8B  8B 44 0A                             mov     ax,[si+ROOMEXIT_HOTSPOT_ID] ; Get asssociated hotspot Id
273F:1D8E  0B C0                                or      ax,ax                   ; Is there one?
273F:1D90  74 0D                                jz      loc_450                 ; No, so allow exit
273F:1D92  56                                   push    si
273F:1D93  E8 5458                              call    room_exit_hs_get_pointer
273F:1D96  5F                                   pop     di
273F:1D97  87 F7                                xchg    si,di
273F:1D99  F6 45 0C FF                          test    byte ptr [di+REHS_EXIT_BLOCKED],0FFh  ; Is exit blocked?
273F:1D9D  75 1F                                jnz     loc_451                 ; Jump if yes
273F:1D9F                       loc_450:
273F:1D9F  8B 44 0A                             mov     ax,[si+ROOMEXIT_HOTSPOT_ID]
273F:1DA2  A3 1920                              mov     room_exit_hotspot_id, ax
273F:1DA5  8B 44 0C                             mov     ax,[si+ROOMEXIT_DEST_ROOM]
273F:1DA8  A3 1922                              mov     dest_room_num, ax
273F:1DAB  8B 44 08                             mov     ax,[si+ROOMEXIT_CURSOR_NUM]
273F:1DAE  A2 11E3                              mov     cursor_index_new, al
273F:1DB1  F7 06 1924 FFFF                      test    hotspot_id, 0FFFFh
273F:1DB7  74 05                                jz      loc_451                 ; Jump if zero
273F:1DB9  80 06 11E3 07                        add     cursor_index_new, CURSOR_ARROW_UP2-CURSOR_ARROW_UP
                                                                    ; Change standard arrow to cross arrow
273F:1DBE                       loc_451:                                        ;  xref 273F:1C3B, 1C48, 1C6D, 1CAA
                                                                                ;            1CB2, 1CBA, 1D5B, 1D71
                                                                                ;            1D9D, 1DB7
273F:1DBE  A0 11E3                              mov     al, cursor_index_new
273F:1DC1  3A 06 11E1                           cmp     al, cursor_index
273F:1DC5  74 15                                je      loc_ret_453             ; Jump if equal
273F:1DC7  A2 11E1                              mov     cursor_index, al
273F:1DCA  C6 06 11DF 00                        mov     cursor_centroid, 0     
273F:1DCF  3C 0A                                cmp     al, CURSOR_CROSS
273F:1DD1  75 05                                jne     loc_452                 ; Jump if not equal
273F:1DD3  C6 06 11DF 07                        mov     cursor_centroid, 7
273F:1DD8                       loc_452:                                        ;  xref 273F:1DD1
273F:1DD8  FF 16 075E                           call    word ptr [show_cursor_proc]

273F:1DDC                       loc_ret_453:                                    ;  xref 273F:1DC5, 1E50
273F:1DDC  C3                                   retn

                         room_check_cursors     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                                                                                ;* No entry point to code
273F:1DDD  C3                                   retn
                                                                                ;* No entry point to code
273F:1DDE  A1 11D8                              mov     ax, mouse_y2
273F:1DE1  3D 0008                              cmp     ax,8
273F:1DE4  72 18                                jb      loc_454                 ; Jump if below
273F:1DE6  8A 1E CF09                           mov     bl, talk_line_num
273F:1DEA  80 FB 02                             cmp     bl,2
273F:1DED  72 15                                jb      loc_455                 ; Jump if below
273F:1DEF  80 C3 01                             add     bl,1
273F:1DF2  32 FF                                xor     bh,bh                   ; Zero register
273F:1DF4  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
273F:1DF6  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
273F:1DF8  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
273F:1DFA  3B C3                                cmp     ax,bx
273F:1DFC  73 06                                jae     loc_455                 ; Jump if above or =
273F:1DFE                       loc_454:                                        ;  xref 273F:1DE4
273F:1DFE  C6 06 11E3 00                        mov     byte ptr ds:[11E3h],0   ; (273F:11E3=74h)
273F:1E03  C3                                   retn
273F:1E04                       loc_455:                                        
273F:1E04  F6 06 9837 FF                        test    talk_dialog_active, 0FFh
273F:1E09  74 3A                                jz      loc_457                 ; Jump if zero
273F:1E0B  A1 11D6                              mov     ax, mouse_x2
273F:1E0E  3B 06 11C2                           cmp     ax, talk_dialog_left
273F:1E12  72 31                                jb      loc_457                 ; Jump if below
273F:1E14  2B 06 11C2                           sub     ax, talk_dialog_left
273F:1E18  3B 06 11C4                           cmp     ax, talk_dialog_width
273F:1E1C  73 27                                jae     loc_457                 ; Jump if above or =
273F:1E1E  80 3E CF08 03                        cmp     talk_state, 3
273F:1E23  74 07                                je      loc_456                 ; Jump if equal
273F:1E25  80 3E CF08 04                        cmp     talk_state, 4
273F:1E2A  75 19                                jne     loc_457                 ; Jump if not equal
273F:1E2C                       loc_456:                                        ;  xref 273F:1E23
273F:1E2C  A1 11D8                              mov     ax, mouse_y2
273F:1E2F  3B 06 11C0                           cmp     ax, talk_dialog_top
273F:1E33  72 10                                jb      loc_457                 ; Jump if below
273F:1E35  2B 06 11C0                           sub     ax, talk_dialog_top
273F:1E39  3B 06 11C6                           cmp     ax, talk_dialog_height
273F:1E3D  73 06                                jae     loc_457                 ; Jump if above or =
273F:1E3F  C6 06 11E3 10                        mov     byte ptr ds:[11E3h],10h ; (273F:11E3=74h)
273F:1E44  C3                                   retn
273F:1E45                       loc_457:                                        ;  xref 273F:1E09, 1E12, 1E1C, 1E2A
                                                                                ;            1E33, 1E3D
273F:1E45  C6 06 11E3 16                        mov     byte ptr ds:[11E3h],16h ; (273F:11E3=74h)
273F:1E4A  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:1C8C, 1C95, 1C9E, 1CA7, 1CD9, 1CE2, 1CEB
                                ;                             1CF4
                                ;��������������������������������������������������������������������������

273F:1E4B               room_check_hotspots     proc    near
273F:1E4B 8B 35                                mov     si,[di]                 ; Get data ptr
273F:1E4D  83 FE FF                             cmp     si,0FFFFh               ; Reached end of list?
273F:1E50  74 8A                                je      loc_ret_453             ; If yes, then exit
273F:1E52  39 54 06                             cmp     [si+HS_ROOM_NUM], dx    ; Entry in same room?
273F:1E55  75 4F                                jne     loc_463                 ; No, so go move to next 

273F:1E57  F6 44 03 80                          test    byte ptr [si+HS_FLAGS],80h
273F:1E5B  75 06                                jnz     loc_459                 ; Jump if not zero
273F:1E5D  F6 44 03 40                          test    byte ptr [si+HS_FLAGS],40h
273F:1E61  75 43                                jnz     loc_463
273F:1E63                       loc_459:
273F:1E63  F6 44 03 20                          test    byte ptr [si+HS_FLAGS],20h
273F:1E67  75 3D                                jnz     loc_463                 ; Jump if not zero
273F:1E69  81 FD 0409                           cmp     bp,409h
273F:1E6D  73 05                                jae     loc_460                 ; Jump if above or =
273F:1E6F  E8 293C                              call    room_check_x_extents
273F:1E72  75 32                                jnz     loc_463                 ; Jump if not zero
273F:1E74                       loc_460:                                        ;  xref 273F:1E6D
273F:1E74 BB 2A01                              mov     bx,offset hotspot_table
273F:1E77                       loc_461:                                        ;  xref 273F:1E84
273F:1E77 8B 07                                mov     ax,[bx]
273F:1E79  0B C0                                or      ax,ax                   ; Zero ?
273F:1E7B  74 31                                jz      loc_464                 ; Jump if zero
273F:1E7D  3B C5                                cmp     ax,bp
273F:1E7F  74 05                                je      loc_462                 ; Jump if equal
273F:1E81  83 C3 0A                             add     bx, HOTSPOT_TABLE_ENTRY_SIZE
273F:1E84  EB F1                                jmp     short loc_461           ; Check next entry
273F:1E86                       loc_462:

273F:1E86  A1 11D6                              mov     ax, mouse_x2  
273F:1E89  05 0080                              add     ax,80h
273F:1E8C  3B 47 02                             cmp     ax,[bx+2]
273F:1E8F  72 15                                jb      loc_463                 ; Jump if below
273F:1E91  3B 47 04                             cmp     ax,[bx+4]
273F:1E94  73 10                                jae     loc_463                 ; Jump if above or =
273F:1E96  A1 11D8                              mov     ax, mouse_y2 
273F:1E99  05 0080                              add     ax,80h
273F:1E9C  3B 47 06                             cmp     ax,[bx+6]
273F:1E9F  72 05                                jb      loc_463                 ; Jump if below
273F:1EA1  3B 47 08                             cmp     ax,[bx+8]
273F:1EA4  72 30                                jb      loc_465                 ; Jump if below

273F:1EA6                       loc_463:
273F:1EA6  83 C7 09                             add     di,9                    ; Move to next entry
273F:1EA9  83 C5 01                             add     bp,1                    ; Increment result Id
273F:1EAC  EB 9D                                jmp     room_check_hotspots

273F:1EAE                       loc_464:
273F:1EAE  A1 11D6                              mov     ax, mouse_x2
273F:1EB1  05 0080                              add     ax, 80h
273F:1EB4  8B 4C 0D                             mov     cx, [si+HS_X]
273F:1EB7  3B C1                                cmp     ax, cx
273F:1EB9  72 EB                                jb      loc_463                 ; Jump if below
273F:1EBB  03 4C 19                             add     cx, [si+HS_WIDTH_COPY]
273F:1EBE  3B C8                                cmp     cx, ax
273F:1EC0  72 E4                                jb      loc_463                 ; Jump if below
273F:1EC2  A1 11D8                              mov     ax, mouse_y2
273F:1EC5  05 0080                              add     ax, 80h
273F:1EC8  8B 4C 0F                             mov     cx, [si+HS_Y]
273F:1ECB  3B C1                                cmp     ax, cx
273F:1ECD  72 D7                                jb      loc_463                 ; Jump if below
273F:1ECF  03 4C 13                             add     cx, [si+HS_HEIGHT]
273F:1ED2  3B C8                                cmp     cx, ax
273F:1ED4  72 D0                                jb      loc_463                 ; Jump if below
273F:1ED6                       loc_465:                                        ;  xref 273F:1EA4
273F:1ED6  80 4C 03 80                          or      byte ptr [si+HS_FLAGS], 80h
273F:1EDA  89 2E 1924                           mov     hotspot_id, bp
273F:1EDE  8B 45 02                             mov     ax, [di+2]
273F:1EE1  80 E4 1F                             and     ah, 1Fh
273F:1EE4  A3 11E6                              mov     hotspot_name_id, ax     ; Save actions for this hotspot
273F:1EE7  C3                                   retn
                        room_check_hotspots     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0785, 94C8, 9DCC, 9DE5, 9DFE, 9E19, 9E33
                                ;                             9E4D, 9E63, 9E79
                                ; cx=horiz, dx=vert, bx=buttons, ax=trigger, si/di=horiz/vert mickeys
                                ;��������������������������������������������������������������������������

273F:1EE8                    mouse_handler      proc    near
273F:1EE8  50                                   push    ax
273F:1EE9  53                                   push    bx
273F:1EEA  51                                   push    cx
273F:1EEB  52                                   push    dx
273F:1EEC  56                                   push    si
273F:1EED  57                                   push    di
273F:1EEE  55                                   push    bp
273F:1EEF  1E                                   push    ds
273F:1EF0  06                                   push    es
273F:1EF1  9C                                   pushf                           ; Push flags
273F:1EF2  81 F9 027E                           cmp     cx, 638
273F:1EF6  72 03                                jb      loc_466                 ; Jump if below
273F:1EF8  B9 027D                              mov     cx, 637
273F:1EFB                       loc_466:
273F:1EFB  D1 E9                                shr     cx,1                    ; Translate horiz 0-637 to 0-318
273F:1EFD  81 FA 00C8                           cmp     dx, 200
273F:1F01  72 03                                jb      loc_467                 ; Jump if below
273F:1F03  BA 00C7                              mov     dx, 199
273F:1F06                       loc_467:
273F:1F06  FC                                   cld
273F:1F07  B8 31E4                              mov     ax,data_seg
273F:1F0A  8E D8                                mov     ds,ax
273F:1F0C  3A 1E 11D5                           cmp     bl, mouse_buttons       ; Check mouse buttons
273F:1F10  74 27                                je      loc_468                 ; Jump if no button change
273F:1F12  88 1E 11D5                           mov     mouse_buttons, bl       ; Save new button status
273F:1F16  0A DB                                or      bl,bl                   ; Zero ?
273F:1F18  74 1F                                jz      loc_468                 ; Jump if no buttons pressed

273F:1F1A  F6 06 11DA FF                        test    mouse_buttons2, 0FFh
273F:1F1F  75 18                                jnz     loc_468                 ; Jump if not zero
273F:1F21  88 1E 11DA                           mov     mouse_buttons2, bl
273F:1F25  89 0E 11DB                           mov     char_dest_x, cx
273F:1F29  81 06 11DB 0080                      add     char_dest_x, 80h
273F:1F2F  89 16 11DD                           mov     char_dest_y, dx
273F:1F33  81 06 11DD 0080                      add     char_dest_y, 80h

273F:1F39                       loc_468:                                        ;  xref 273F:1F10, 1F18, 1F1F
273F:1F39  89 0E 11D1                           mov     mouse_x, cx
273F:1F3D  89 16 11D3                           mov     mouse_y, dx
273F:1F41  F6 06 11D0 06                        test    menubar_state, 6     ; (31E4:11D0=3)
273F:1F46  75 0C                                jnz     loc_469                 ; Jump if not zero
273F:1F48  89 0E 11D6                           mov     mouse_x2, cx
273F:1F4C  89 16 11D8                           mov     mouse_y2, dx
273F:1F50  FF 16 075E                           call    word ptr [show_cursor_proc]
273F:1F54                       loc_469:                                        ;  xref 273F:1F46
273F:1F54  9D                                   popf                            ; Pop flags
273F:1F55  07                                   pop     es
273F:1F56  1F                                   pop     ds
273F:1F57  5D                                   pop     bp
273F:1F58  5F                                   pop     di
273F:1F59  5E                                   pop     si
273F:1F5A  5A                                   pop     dx
273F:1F5B  59                                   pop     cx
273F:1F5C  5B                                   pop     bx
273F:1F5D  58                                   pop     ax
273F:1F5E  CB                                   retf                            ; Return far
                             mouse_handler      endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0013, 001D, 70B3, 77EA, 8F5A, 938B, A5B5
                                ;                             A661, A8E3
                                ;��������������������������������������������������������������������������

273F:1F5F                   show_disk_cursor    proc    near
273F:1F5F  80 3E 11E1 01                        cmp     cursor_index, CURSOR_DISK
273F:1F64  74 0E                                je      loc_ret_470             ; Jump if equal
273F:1F66  C6 06 11E1 01                        mov     cursor_index, CURSOR_DISK
273F:1F6B  C6 06 11DF 00                        mov     cursor_centroid, 0
273F:1F70  FF 16 075E                           call    word ptr [show_cursor_proc]

273F:1F74                       loc_ret_470:                                    ;  xref 273F:1F64, 1F7A
273F:1F74  C3                                   retn
                            show_disk_cursor    endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:00D0, 3D2B, 6D5A, 6E7E, 9342
                                ;��������������������������������������������������������������������������

273F:1F75                   show_arrow_cursor   proc    near
273F:1F75  80 3E 11E1 00                        cmp     cursor_index, CURSOR_ARROW
273F:1F7A  74 F8                                je      loc_ret_470             ; Jump if equal
273F:1F7C  C6 06 11E1 00                        mov     cursor_index, CURSOR_ARROW
273F:1F81  C6 06 11DF 00                        mov     cursor_centroid, 0     
273F:1F86  FF 16 075E                           call    word ptr [show_cursor_proc]
273F:1F8A  C3                                   retn
                            show_arrow_cursor   endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:40CB, 413F, 5A6F, 5A75, 705E, 88EA, 88F0
                                ;                             912C, 93E9, 9401
                                ;��������������������������������������������������������������������������

273F:1F8B                       mouse_wait      proc    near
273F:1F8B                       loc_471:                                        ;  xref 273F:1F93
273F:1F8B  E8 F52A                              call    set_vga_palette         ; (14B8)
273F:1F8E  F6 06 11D5 07                        test    byte ptr mouse_buttons, 7
273F:1F93  75 F6                                jnz     loc_471                 ; Mouse button being held down
273F:1F95  C3                                   retn
                                mouse_wait      endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:40C7, 4142, 5A72, 7061, 70B0, 88ED
                                ;��������������������������������������������������������������������������

273F:1F96                 pause_for_input       proc    near
273F:1F96                       loc_472:                                        ;  xref 273F:1F9C
273F:1F96  B4 06                                mov     ah,6
273F:1F98  B2 FF                                mov     dl,0FFh
273F:1F9A  CD 21                                int     21h                     ; Read character from STDIN
273F:1F9C  75 F8                                jnz     loc_472                 ; key pressed

273F:1F9E                       loc_473:                                        ;  xref 273F:1FAB
273F:1F9E  E8 F517                              call    set_vga_palette         ; (14B8)
273F:1FA1  E8 757C                              call    check_keypress                 ; (9520)
273F:1FA4  75 0E                                jnz     loc_ret_474             ; Jump if not zero
273F:1FA6  F6 06 11D5 07                        test    mouse_buttons, 7
273F:1FAB  74 F1                                jz      loc_473                 ; No buttons pressed
273F:1FAD  C6 06 11DA 00                        mov     mouse_buttons2, 0
273F:1FB2  33 C0                                xor     ax,ax                   ; Zero register

273F:1FB4                       loc_ret_474:                                    ;  xref 273F:1FA4
273F:1FB4  C3                                   retn
                          pause_for_input       endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:1C3E
                                ;��������������������������������������������������������������������������

                   talk_dialog_mouse_check      proc    near
273F:1FB5  C6 06 0DB4 00                        mov     talk_dialog_close_flag, 0
273F:1FBA  F6 06 9837 FF                        test    talk_dialog_active, 0FFh ; Is the dialog active?
273F:1FBF  74 3D                                jz      loc_475                 ; Jump if zero
273F:1FC1  F6 06 4B40 FF                        test    data_791, 0FFh
273F:1FC6  75 36                                jnz     loc_475                 ; Jump if not zero
273F:1FC8  81 3E 983F 03E8                      cmp     data_1090, PLAYER_HOTSPOT_ID
273F:1FCE  75 2E                                jne     loc_475                 ; Jump if not equal
273F:1FD0  A1 11D6                              mov     ax, mouse_x2
273F:1FD3  3B 06 11C2                           cmp     ax, talk_dialog_left
273F:1FD7  72 25                                jb      loc_475                 ; Jump if below
273F:1FD9  2B 06 11C2                           sub     ax, talk_dialog_left
273F:1FDD  3B 06 11C4                           cmp     ax, talk_dialog_width
273F:1FE1  73 1B                                jae     loc_475                 ; Jump if above or =
273F:1FE3  A1 11D8                              mov     ax, mouse_y2
273F:1FE6  3B 06 11C0                           cmp     ax, talk_dialog_top
273F:1FEA  72 12                                jb      loc_475                 ; Jump if below
273F:1FEC  2B 06 11C0                           sub     ax, talk_dialog_top
273F:1FF0  3B 06 11C6                           cmp     ax, talk_dialog_height
273F:1FF4  73 08                                jae     loc_475                 ; Jump if above or =
273F:1FF6  C6 06 0DB4 01                        mov     talk_dialog_close_flag, 1
273F:1FFB  33 C0                                xor     ax,ax                   ; Zero register
273F:1FFD  C3                                   retn

273F:1FFE                       loc_475:                                        ;  xref 273F:1FBF, 1FC6, 1FCE, 1FD7
                                                                                ;            1FE1, 1FEA, 1FF4
273F:1FFE  B0 01                                mov     al,1
273F:2000  0B C0                                or      ax,ax                   ; Zero ?
273F:2002  C3                                   retn
                   talk_dialog_mouse_check      endp

273F:2003  00                                   db      0

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:00E7
                                ;��������������������������������������������������������������������������

273F:2004                       sub_61          proc    near
273F:2004  83 3E 9832 1F                        cmp     room_number, ROOMNUM_TOWN_HALL
273F:2009  74 29                                je      loc_ret_476             ; Jump if equal
273F:200B  83 3E 9832 0E                        cmp     room_number, ROOMNUM_MIDDLE_STREET
273F:2010  74 22                                je      loc_ret_476             ; Jump if equal
273F:2012  F7 06 BAA9 FFFF                      test    script_val_80, 0FFFFh 
273F:2018  74 1A                                jz      loc_ret_476             ; Jump if zero
273F:201A  F7 06 BA4F FFFF                      test    script_val_29, 0FFFFh
273F:2020  74 12                                jz      loc_ret_476             ; Jump if zero
273F:2022  83 2E BA4F 01                        sub     script_val_29, 1
273F:2027  75 0B                                jnz     loc_ret_476             ; Jump if not zero
273F:2029  BB 0CB7                              mov     bx, 0CB7h
273F:202C  B9 0002                              mov     cx,2
273F:202F  33 D2                                xor     dx,dx                   ; Zero register
273F:2031  E8 27FC                              call    add_sequence_delay

273F:2034                       loc_ret_476:                                    ;  xref 273F:2009, 2010, 2018, 2020
                                                                                ;            2027
273F:2034  C3                                   retn
                                sub_61          endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������


273F:2035  83 3E BA3B 03                        cmp     talk_record_index, 3
273F:203A  73 1A                                jae     loc_ret_477             ; Jump if above or =
273F:203C  83 3E 9832 2D                        cmp     room_number, ROOMNUM_DINING_HALL
273F:2041  75 13                                jne     loc_ret_477             ; Jump if not equal
273F:2043  F6 06 BA9B FF                        test    byte ptr script_val_73, 0FFh 
273F:2048  75 0C                                jnz     loc_ret_477             ; Jump if not zero
273F:204A  C7 06 BA17 03E8                      mov     character_hotspot, PLAYER_HOTSPOT_ID
273F:2050  B8 1E15                              mov     ax,1E15h
273F:2053  E8 1DDE                              call    sequence_execute

273F:2056                       loc_ret_477:                                    ;  xref 273F:203A, 2041, 2048
273F:2056  C3                                   retn

273F:2057  00                                   db      0
273F:2058  00                   data_233        db      0                       ;  xref 273F:2DA2, 2DD0, 2DD5, 2E2F
                                                                                ;            2E7B, 2EB9, 2EE8, 2EED
                                                                                ;            2F4F
273F:2059  00                   data_234        db      0                       ;  xref 273F:2DA7, 2DE7, 2DEC, 2E3C
                                                                                ;            2E80, 2EC0, 2EFF, 2F04
                                                                                ;            2F5C
273F:205A  00                   data_235        db      0                       ;  xref 273F:2DAC, 2DFE, 2E03, 2E49
                                                                                ;            2E85, 2EC7, 2F16, 2F1B
                                                                                ;            2F69
273F:205B  00                   data_236        db      0                       ;  xref 273F:2DB1, 2E15, 2E1A, 2E56
                                                                                ;            2E8A, 2ECE, 2F2D, 2F32
                                                                                ;            2F76

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:7BBA, A7AD, A82B
                                ;��������������������������������������������������������������������������

273F:205C                   ega_show_srceen     proc    near
273F:205C  80 0E 11D0 02                        or      menubar_state, 2     ; (31E4:11D0=3)
273F:2061  BA 03CE                              mov     dx,3CEh
273F:2064  B8 0805                              mov     ax,805h
273F:2067  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 5, mode
273F:2068  B8 0007                              mov     ax,7
273F:206B  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 7, ignore color bits
273F:206C  B0 03                                mov     al,3
273F:206E  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 3, data rotate
273F:206F  B8 FF08                              mov     ax,0FF08h
273F:2072  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 8, data bit mask
273F:2073  B2 C4                                mov     dl,0C4h
273F:2075  A1 0DB2                              mov     ax, screen_start_seg2
273F:2078  8E C0                                mov     es,ax
273F:207A  F6 06 4BF0 FF                        test    byte ptr data_794,0FFh  ; (31E4:4BF0=0)
273F:207F  74 03                                jz      loc_478                 ; Jump if zero
273F:2081  E8 0F41                              call    sub_68                  ; (2FC5)
273F:2084                       loc_478:                                        ;  xref 273F:207F
273F:2084 BB 07DC                              mov     bx, offset display_mask
273F:2087  03 1E 0990                           add     bx,data_587             ; (31E4:0990=0)
273F:208B  B9 060A                              mov     cx,60Ah
273F:208E BE 0500                              mov     si,data_12e             ; (0000:0500=0)
273F:2091 BF 0140                              mov     di,data_1449e           ; (A200:0140=0)
273F:2094                       loc_479:                                        ;  xref 273F:20E2, 20F4
273F:2094  F6 07 01                             test    byte ptr [bx],1
273F:2097  74 3D                                jz      loc_482                 ; Jump if zero
273F:2099  56                                   push    si
273F:209A  57                                   push    di
273F:209B  51                                   push    cx
273F:209C  80 27 FE                             and     byte ptr [bx],0FEh
273F:209F  1E                                   push    ds
273F:20A0  A1 4CE4                              mov     ax, data_segment2
273F:20A3  8E D8                                mov     ds,ax
273F:20A5  B8 0802                              mov     ax,802h
273F:20A8  B9 0004                              mov     cx,4

273F:20AB                       locloop_480:                                    ;  xref 273F:20D0
273F:20AB  51                                   push    cx
273F:20AC  56                                   push    si
273F:20AD  57                                   push    di
273F:20AE  EF                                   out     dx,ax                   ; port 3C4h, EGA sequencr index
                                                                                ;  al = 2, map mask register
273F:20AF  B9 0020                              mov     cx,20h

273F:20B2                       locloop_481:                                    ;  xref 273F:20C6
273F:20B2  A4                                   movsb                           ; Mov [si] to es:[di]
273F:20B3  83 C6 03                             add     si,3
273F:20B6  A4                                   movsb                           ; Mov [si] to es:[di]
273F:20B7  83 C6 03                             add     si,3
273F:20BA  A4                                   movsb                           ; Mov [si] to es:[di]
273F:20BB  83 C6 03                             add     si,3
273F:20BE  A4                                   movsb                           ; Mov [si] to es:[di]
273F:20BF  81 C6 0093                           add     si,93h
273F:20C3  83 C7 24                             add     di,24h
273F:20C6  E2 EA                                loop    locloop_481             ; Loop if cx > 0

273F:20C8  5F                                   pop     di
273F:20C9  5E                                   pop     si
273F:20CA  83 C6 01                             add     si,1
273F:20CD  D0 EC                                shr     ah,1                    ; Shift w/zeros fill
273F:20CF  59                                   pop     cx
273F:20D0  E2 D9                                loop    locloop_480             ; Loop if cx > 0

273F:20D2  1F                                   pop     ds
273F:20D3  59                                   pop     cx
273F:20D4  5F                                   pop     di
273F:20D5  5E                                   pop     si
273F:20D6                       loc_482:                                        ;  xref 273F:2097
273F:20D6  83 C6 10                             add     si,10h
273F:20D9  83 C7 04                             add     di,4
273F:20DC  83 C3 01                             add     bx,1
273F:20DF  80 E9 01                             sub     cl,1
273F:20E2  75 B0                                jnz     loc_479                 ; Jump if not zero
273F:20E4  83 C3 08                             add     bx,8
273F:20E7  81 C6 1360                           add     si,1360h
273F:20EB  81 C7 04D8                           add     di,4D8h
273F:20EF  B1 0A                                mov     cl,0Ah
273F:20F1  80 ED 01                             sub     ch,1
273F:20F4  75 9E                                jnz     loc_479                 ; Jump if not zero
273F:20F6  B8 0F02                              mov     ax,0F02h
273F:20F9  EF                                   out     dx,ax                   ; port 3C4h, EGA sequencr index
                                                                                ;  al = 2, map mask register
273F:20FA  B2 CE                                mov     dl,0CEh
273F:20FC  B8 0005                              mov     ax,5
273F:20FF  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 5, mode
273F:2100  B8 0F07                              mov     ax,0F07h
273F:2103  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 7, ignore color bits
273F:2104  B8 FF08                              mov     ax,0FF08h
273F:2107  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 8, data bit mask
273F:2108  A1 0DB0                              mov     ax, screen_start_seg    ; Swap screen segment
273F:210B  8B 1E 0DB2                           mov     bx, screen_start_seg2
273F:210F  89 1E 0DB0                           mov     screen_start_seg, bx
273F:2113  A3 0DB2                              mov     screen_start_seg2, ax
273F:2116  1E                                   push    ds
273F:2117  07                                   pop     es
273F:2118 BE 11E8                              mov     si,offset data_638      ; (31E4:11E8=0)
273F:211B BF 12AE                              mov     di,offset data_642      ; (31E4:12AE=0)
273F:211E  B9 0063                              mov     cx,63h
273F:2121  F3/ A5                               rep     movsw                   ; Rep when cx >0 Mov [si] to es:[di]
273F:2123  C7 06 11EC 0000                      mov     data_640,0              ; (31E4:11EC=0)
273F:2129  E8 0987                              call    ega_cursor
273F:212C  A0 0DB1                              mov     al, [screen_start_seg+1]
273F:212F  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:2131  24 01                                and     al,1
273F:2133  B4 05                                mov     ah,5
273F:2135  CD 10                                int     10h                     ; Video display   ah=functn 05h
                                                                                ;  set display page al
273F:2137  B8 0040                              mov     ax,40h
273F:213A  8E C0                                mov     es,ax
273F:213C  26: 8B 16 0063                       mov     dx,es:video_port        ; (0040:0063=3D4h)
273F:2141  80 C2 06                             add     dl,6
273F:2144                       loc_483:                                        ;  xref 273F:2147
273F:2144  EC                                   in      al,dx                   ; port 3DAh, CGA/EGA vid status
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 85

273F:2145  A8 08                                test    al,8
273F:2147  74 FB                                jz      loc_483                 ; Jump if zero
273F:2149 BE 12AE                              mov     si,offset data_642      ; (31E4:12AE=0)
273F:214C  A1 0DB2                              mov     ax, screen_start_seg2
273F:214F  8E C0                                mov     es,ax
273F:2151  E8 0AD1                              call    sub_67                  ; (2C25)
273F:2154  80 36 0991 01                        xor     byte ptr data_587+1,1   ; (31E4:0991=0)
273F:2159  80 26 11D0 FD                        and     menubar_state, 0FDh  ; (31E4:11D0=3)
273F:215E  C3                                   retn
                             ega_show_screen    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called indircetly via calls to word ptr [fade_out_proc]
                                ;��������������������������������������������������������������������������

                          ega_empty_palette     proc    near

273F:215F  80 0E 073C 20                        or      byte ptr ds:[73Ch],20h  ; (273F:073C=17h) ' '
273F:2164  80 26 11D0 CF                        and     menubar_state, 0CFh ; (273F:11D0=56h)
273F:2169  B8 1002                              mov     ax,1002h
273F:216C  1E                                   push    ds
273F:216D  07                                   pop     es
273F:216E BA 0DB5                              mov     dx,0DB5h                ; (273F:0DB5=0C7h)
273F:2171  CD 10                                int     10h                     ; Video display   ah=functn 10h
                                                                                ;  set palette regs from es:dx
273F:2173  C3                                   retn

                          ega_empty_palette     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called indircetly via calls to word ptr [fade_in_proc]
                                ; For EGA cards, don't do a fade-in.. just set the whole palette
                                ;��������������������������������������������������������������������������

                                ega_fade_in     proc    near
273F:2174  80 26 073C DF                        and     byte ptr ds:[73Ch],0DFh ; (273F:073C=17h)
273F:2179  B8 1002                              mov     ax,1002h
273F:217C  1E                                   push    ds
273F:217D  07                                   pop     es
273F:217E BA 1457                              mov     dx,offset unprocessed_vga_palette
273F:2181  CD 10                                int     10h                     ; Video display   ah=functn 10h
                                                                                ;  set palette regs from es:dx
273F:2183  C3                                   retn
                                ega_fade_in     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������


273F:2184  1E                                   push    ds
273F:2185  57                                   push    di
273F:2186  56                                   push    si
273F:2187  98                                   cbw                             ; Convrt byte to word
273F:2188  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:218A  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:218C  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:218E  8B F0                                mov     si,ax
273F:2190  8B 16 4CF0                           mov     dx, font2_segment
273F:2194  8E DA                                mov     ds,dx
273F:2196  AC                                   lodsb                           ; String [si] to al
273F:2197  50                                   push    ax
273F:2198  B5 07                                mov     ch,7
273F:219A                       loc_484:                                        ;  xref 273F:2202
273F:219A  AC                                   lodsb                           ; String [si] to al
273F:219B  8A E0                                mov     ah,al
273F:219D  32 C0                                xor     al,al                   ; Zero register
273F:219F  D3 E8                                shr     ax,cl                   ; Shift w/zeros fill
273F:21A1  8B D0                                mov     dx,ax
273F:21A3  F7 D2                                not     dx
273F:21A5  8A DF                                mov     bl,bh
273F:21A7  D0 EB                                shr     bl,1                    ; Shift w/zeros fill
273F:21A9  73 09                                jnc     loc_485                 ; Jump if carry=0
273F:21AB  26: 08 25                            or      es:[di],ah
273F:21AE  26: 08 45 04                         or      es:[di+4],al
273F:21B2  EB 07                                jmp     short loc_486           ; (21BB)

273F:21B4                       loc_485:                                        ;  xref 273F:21A9
273F:21B4  26: 20 35                            and     es:[di],dh
273F:21B7  26: 20 55 04                         and     es:[di+4],dl
273F:21BB                       loc_486:                                        ;  xref 273F:21B2
273F:21BB  D0 EB                                shr     bl,1                    ; Shift w/zeros fill
273F:21BD  73 0A                                jnc     loc_487                 ; Jump if carry=0
273F:21BF  26: 08 65 01                         or      es:[di+1],ah
273F:21C3  26: 08 45 05                         or      es:[di+5],al
273F:21C7  EB 08                                jmp     short loc_488           ; (21D1)
273F:21C9                       loc_487:                                        ;  xref 273F:21BD
273F:21C9  26: 20 75 01                         and     es:[di+1],dh
273F:21CD  26: 20 55 05                         and     es:[di+5],dl
273F:21D1                       loc_488:                                        ;  xref 273F:21C7
273F:21D1  D0 EB                                shr     bl,1                    ; Shift w/zeros fill
273F:21D3  73 0A                                jnc     loc_489                 ; Jump if carry=0
273F:21D5  26: 08 65 02                         or      es:[di+2],ah
273F:21D9  26: 08 45 06                         or      es:[di+6],al
273F:21DD  EB 08                                jmp     short loc_490           ; (21E7)
273F:21DF                       loc_489:                                        ;  xref 273F:21D3
273F:21DF  26: 20 75 02                         and     es:[di+2],dh
273F:21E3  26: 20 55 06                         and     es:[di+6],dl
273F:21E7                       loc_490:                                        ;  xref 273F:21DD
273F:21E7  D0 EB                                shr     bl,1                    ; Shift w/zeros fill
273F:21E9  73 0A                                jnc     loc_491                 ; Jump if carry=0
273F:21EB  26: 08 65 03                         or      es:[di+3],ah
273F:21EF  26: 08 45 07                         or      es:[di+7],al
273F:21F3  EB 08                                jmp     short loc_492           ; (21FD)
273F:21F5                       loc_491:                                        ;  xref 273F:21E9
273F:21F5  26: 20 75 03                         and     es:[di+3],dh
273F:21F9  26: 20 55 07                         and     es:[di+7],dl
273F:21FD                       loc_492:                                        ;  xref 273F:21F3
273F:21FD  03 FD                                add     di,bp
273F:21FF  80 ED 01                             sub     ch,1
273F:2202  75 96                                jnz     loc_484                 ; Jump if not zero
273F:2204  58                                   pop     ax
273F:2205  5E                                   pop     si
273F:2206  5F                                   pop     di
273F:2207  1F                                   pop     ds
273F:2208  02 C8                                add     cl,al
273F:220A  8A C1                                mov     al,cl
273F:220C  80 E1 07                             and     cl,7
273F:220F  25 00F8                              and     ax,0F8h
273F:2212  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:2214  03 F8                                add     di,ax
273F:2216  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                           ega_talk_dialog      proc    near
273F:2217  1E                                   push    ds
273F:2218  A1 11C0                              mov     ax, talk_dialog_top
273F:221B  50                                   push    ax
273F:221C  05 0008                              add     ax,8
273F:221F  8B D0                                mov     dx,ax
273F:2221  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
273F:2223  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
273F:2225  03 C2                                add     ax,dx
273F:2227  B1 05                                mov     cl,5
273F:2229  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:222B  8B F8                                mov     di,ax
273F:222D  A1 11C2                              mov     ax, talk_dialog_left
273F:2230  24 F8                                and     al,0F8h
273F:2232  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:2234  03 F8                                add     di,ax
273F:2236  B8 0007                              mov     ax,7
273F:2239  F7 26 B9FD                           mul     data_1122               ; dx:ax = data * ax
273F:223D  05 0014                              add     ax,14h
273F:2240  8B D0                                mov     dx,ax
273F:2242  A3 11C6                              mov     talk_dialog_height, ax
273F:2245  A1 4CE4                              mov     ax, data_segment2
273F:2248  8E C0                                mov     es,ax
273F:224A  A1 4CE6                              mov     ax, talk_dialog_buffer
273F:224D  8E D8                                mov     ds,ax
273F:224F BE 0000                              mov     si,data_69e             ; (0874:0000=0C5h)
273F:2252                       loc_493:                                        ;  xref 273F:225D
273F:2252  B9 0020                              mov     cx,20h
273F:2255  F3/ A5                               rep     movsw                   ; Rep when cx >0 Mov [si] to es:[di]
273F:2257  83 C7 60                             add     di,60h
273F:225A  80 EA 01                             sub     dl,1
273F:225D  75 F3                                jnz     loc_493                 ; Jump if not zero
273F:225F  5B                                   pop     bx
273F:2260  1F                                   pop     ds
273F:2261  8B 16 11C6                           mov     dx, talk_dialog_height
273F:2265  A1 11C2                              mov     ax, talk_dialog_left
273F:2268  BD 0080                              mov     bp,80h
273F:226B  89 2E 11C4                           mov     talk_dialog_width, bp
273F:226F  B9 0001                              mov     cx,1
273F:2272  E9 E91A                              jmp     loc_93                  ; (0B8F)
                           ega_talk_dialog      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                       ega_draw_talk_dialog     proc    near
273F:2275  B8 0007                              mov     ax,7
273F:2278  F7 E5                                mul     bp                      ; dx:ax = reg * ax
273F:227A  05 000E                              add     ax,0Eh
273F:227D  A3 11C6                              mov     talk_dialog_height, ax
273F:2280  8B E8                                mov     bp,ax
273F:2282  C7 06 11C4 0080                      mov     talk_dialog_width, 80h
273F:2288  1E                                   push    ds
273F:2289  55                                   push    bp
273F:228A  B8 44E4                              mov     ax, ega_talk_frame_seg
273F:228D  8E D8                                mov     ds,ax
273F:228F  33 F6                                xor     si,si                   ; Zero register
273F:2291  BB 000E                              mov     bx,0Eh
273F:2294  BA 0003                              mov     dx,3
273F:2297                       loc_494:                                        ;  xref 273F:22A0
273F:2297  E8 01B9                              call    sub_63                  ; (2453)
273F:229A  83 EF 60                             sub     di,60h
273F:229D  83 EA 01                             sub     dx,1
273F:22A0  75 F5                                jnz     loc_494                 ; Jump if not zero
273F:22A2  5A                                   pop     dx
273F:22A3                       loc_495:                                        ;  xref 273F:22AF
273F:22A3  E8 01AD                              call    sub_63                  ; (2453)
273F:22A6  83 EF 60                             sub     di,60h
273F:22A9  83 EE 0C                             sub     si,0Ch
273F:22AC  83 EA 01                             sub     dx,1
273F:22AF  75 F2                                jnz     loc_495                 ; Jump if not zero
273F:22B1  BA 0003                              mov     dx,3
273F:22B4  83 C6 0C                             add     si,0Ch
273F:22B7                       loc_496:                                        ;  xref 273F:22C0
273F:22B7  E8 0199                              call    sub_63                  ; (2453)
273F:22BA  83 EF 60                             sub     di,60h
273F:22BD  83 EA 01                             sub     dx,1
273F:22C0  75 F5                                jnz     loc_496                 ; Jump if not zero
273F:22C2  1F                                   pop     ds
273F:22C3  C3                                   retn
                       ega_draw_talk_dialog     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                             ega_menu_items     proc    near

273F:22C4  BA 03CE                              mov     dx,3CEh
273F:22C7  B8 0805                              mov     ax,805h
273F:22CA  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 5, mode
273F:22CB  B8 0007                              mov     ax,7
273F:22CE  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 7, ignore color bits
273F:22CF  B0 03                                mov     al,3
273F:22D1  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 3, data rotate
273F:22D2  B8 FF08                              mov     ax,0FF08h
273F:22D5  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 8, data bit mask
273F:22D6  B2 C4                                mov     dl,0C4h
273F:22D8  55                                   push    bp
273F:22D9  1E                                   push    ds
273F:22DA  8E DD                                mov     ds,bp
273F:22DC  A1 0DB2                              mov     ax,ds:data_25e          ; (0000:0DB2=8340h)
273F:22DF  1F                                   pop     ds
273F:22E0  8E C0                                mov     es,ax
273F:22E2 BF 08C1                              mov     di,data_1442e           ; (8340:08C1=0)
273F:22E5  8B 36 335A                           mov     si,word ptr ds:[335Ah]  ; (273F:335A=0ACA4h)
273F:22E9  8A 1E 334E                           mov     bl,byte ptr ds:[334Eh]  ; (273F:334E=0E4h)
273F:22ED  32 FF                                xor     bh,bh                   ; Zero register
273F:22EF  8B EB                                mov     bp,bx
273F:22F1  1E                                   push    ds
                                                assume  ds:seg_code
273F:22F2  A1 3376                              mov     ax,data_265             ; (273F:3376=0F632h)
273F:22F5  8E D8                                mov     ds,ax
273F:22F7  B8 0802                              mov     ax,802h
273F:22FA  B9 0004                              mov     cx,4

273F:22FD                       locloop_497:                                    ;  xref 273F:2323
273F:22FD  51                                   push    cx
273F:22FE  56                                   push    si
273F:22FF  57                                   push    di
273F:2300  EF                                   out     dx,ax                   ; port 3C4h, EGA sequencr index
                                                                                ;  al = 2, map mask register
273F:2301  B9 0048                              mov     cx,48h

273F:2304                       locloop_498:                                    ;  xref 273F:2319
273F:2304  51                                   push    cx
273F:2305  56                                   push    si
273F:2306  57                                   push    di
273F:2307  8B CD                                mov     cx,bp

273F:2309                       locloop_499:                                    ;  xref 273F:230D
273F:2309  A4                                   movsb                           ; Mov [si] to es:[di]
273F:230A  83 C6 03                             add     si,3
273F:230D  E2 FA                                loop    locloop_499             ; Loop if cx > 0

273F:230F  5F                                   pop     di
273F:2310  5E                                   pop     si
273F:2311  59                                   pop     cx
273F:2312  83 C7 28                             add     di,28h
273F:2315  81 C6 00A0                           add     si,0A0h
273F:2319  E2 E9                                loop    locloop_498             ; Loop if cx > 0

273F:231B  5F                                   pop     di
273F:231C  5E                                   pop     si
273F:231D  83 C6 01                             add     si,1
273F:2320  D0 EC                                shr     ah,1                    ; Shift w/zeros fill
273F:2322  59                                   pop     cx
273F:2323  E2 D8                                loop    locloop_497             ; Loop if cx > 0

273F:2325  1F                                   pop     ds
273F:2326  5D                                   pop     bp
273F:2327  B8 0F02                              mov     ax,0F02h
273F:232A  EF                                   out     dx,ax                   ; port 3C4h, EGA sequencr index
                                                                                ;  al = 2, map mask register
273F:232B  B2 CE                                mov     dl,0CEh
273F:232D  B8 0005                              mov     ax,5
273F:2330  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 5, mode
273F:2331  B8 0F07                              mov     ax,0F07h
273F:2334  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 7, ignore color bits
273F:2335  B8 FF08                              mov     ax,0FF08h
273F:2338  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 8, data bit mask
273F:2339  1E                                   push    ds
273F:233A  55                                   push    bp
273F:233B  8E DD                                mov     ds,bp
273F:233D  A1 0DB0                              mov     ax, screen_start_seg
273F:2340  8B 1E 0DB2                           mov     bx, screen_start_seg2
273F:2344  89 1E 0DB0                           mov     screen_start_seg, bx
273F:2348  A3 0DB2                              mov     screen_start_seg2, ax
273F:234B  A0 0DB1                              mov     al, [screen_start_seg+1]
273F:234E  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:2350  24 01                                and     al,1
273F:2352  B4 05                                mov     ah,5
273F:2354  CD 10                                int     10h                     ; Video display   ah=functn 05h
                                                                                ;  set display page al
273F:2356  B8 0040                              mov     ax,40h
273F:2359  8E C0                                mov     es,ax
273F:235B  26: 8B 16 0063                       mov     dx,es:video_port        ; (0040:0063=3D4h)
273F:2360  80 C2 06                             add     dl,6
273F:2363                       loc_500:                                        ;  xref 273F:2366
273F:2363  EC                                   in      al,dx                   ; port 3DAh, CGA/EGA vid status
273F:2364  A8 08                                test    al,8
273F:2366  74 FB                                jz      loc_500                 ; Jump if zero
273F:2368  80 36 0991 01                        xor     byte ptr ds:data_22e,1  ; (0000:0991=8Eh)
273F:236D  5D                                   pop     bp
273F:236E  1F                                   pop     ds
273F:236F  C3                                   retn

                             ega_menu_items     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called indircetly via calls to word ptr [fade_out_proc]
                                ;��������������������������������������������������������������������������

                           ega_draw_dialog      proc    near

273F:2370  32 E4                                xor     ah,ah                   ; Zero register
273F:2372  32 FF                                xor     bh,bh                   ; Zero register
273F:2374  32 ED                                xor     ch,ch                   ; Zero register
273F:2376  32 F6                                xor     dh,dh                   ; Zero register
273F:2378  52                                   push    dx
273F:2379  51                                   push    cx
273F:237A  53                                   push    bx
273F:237B  50                                   push    ax
273F:237C  52                                   push    dx
273F:237D  93                                   xchg    bx,ax
273F:237E  BA 0500                              mov     dx,500h
273F:2381  F7 E2                                mul     dx                      ; dx:ax = reg * ax
273F:2383  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
273F:2385  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
273F:2387  03 C3                                add     ax,bx
273F:2389  8B F8                                mov     di,ax
273F:238B  5A                                   pop     dx
273F:238C  83 C2 01                             add     dx,1
273F:238F  8B C2                                mov     ax,dx
273F:2391  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
273F:2393  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
273F:2395  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
273F:2397  F7 C5 FFFF                           test    bp,0FFFFh
273F:239B  75 02                                jnz     loc_501                 ; Jump if not zero
273F:239D  2B D0                                sub     dx,ax
273F:239F                       loc_501:                                        ;  xref 273F:239B
273F:239F  83 C2 01                             add     dx,1
273F:23A2  8B D9                                mov     bx,cx
273F:23A4  A1 4CE4                              mov     ax, data_segment2
273F:23A7  8E C0                                mov     es,ax
273F:23A9  1E                                   push    ds
273F:23AA  B8 44E4                              mov     ax, ega_talk_frame_seg
273F:23AD  8E D8                                mov     ds,ax
273F:23AF  33 F6                                xor     si,si                   ; Zero register
273F:23B1  52                                   push    dx
273F:23B2  BA 0003                              mov     dx,3
273F:23B5                       loc_502:                                        ;  xref 273F:23BB
273F:23B5  E8 009B                              call    sub_63                  ; (2453)
273F:23B8  83 EA 01                             sub     dx,1
273F:23BB  75 F8                                jnz     loc_502                 ; Jump if not zero
273F:23BD  5A                                   pop     dx
273F:23BE                       loc_503:                                        ;  xref 273F:23C7
273F:23BE  E8 0092                              call    sub_63                  ; (2453)
273F:23C1  83 EE 0C                             sub     si,0Ch
273F:23C4  83 EA 01                             sub     dx,1
273F:23C7  75 F5                                jnz     loc_503                 ; Jump if not zero
273F:23C9  83 C6 0C                             add     si,0Ch
273F:23CC  BA 0003                              mov     dx,3
273F:23CF                       loc_504:                                        ;  xref 273F:23D5
273F:23CF  E8 0081                              call    sub_63                  ; (2453)
273F:23D2  83 EA 01                             sub     dx,1
273F:23D5  75 F8                                jnz     loc_504                 ; Jump if not zero
273F:23D7  1F                                   pop     ds
273F:23D8  58                                   pop     ax
273F:23D9  5B                                   pop     bx
273F:23DA  5D                                   pop     bp
273F:23DB  5A                                   pop     dx
273F:23DC  83 EB 01                             sub     bx,1
273F:23DF  83 C2 02                             add     dx,2
273F:23E2  83 C5 02                             add     bp,2
273F:23E5  B1 81                                mov     cl,81h
273F:23E7  E9 E799                              jmp     loc_92

                           ega_draw_dialog      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:23EA  32 FF                                xor     bh,bh                   ; Zero register
273F:23EC  32 F6                                xor     dh,dh                   ; Zero register
273F:23EE  53                                   push    bx
273F:23EF  B0 0B                                mov     al,0Bh
273F:23F1  2A C2                                sub     al,dl
273F:23F3  52                                   push    dx
273F:23F4  B9 0500                              mov     cx,500h
273F:23F7  F7 E1                                mul     cx                      ; dx:ax = reg * ax
273F:23F9  05 00A0                              add     ax,0A0h
273F:23FC  5A                                   pop     dx
273F:23FD  8B F8                                mov     di,ax
273F:23FF  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
273F:2401  83 C2 01                             add     dx,1
273F:2404  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
273F:2406  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
273F:2408  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
273F:240A  83 EA 08                             sub     dx,8
273F:240D  A1 4CE4                              mov     ax, data_segment2
273F:2410  8E C0                                mov     es,ax
273F:2412  1E                                   push    ds
273F:2413  B8 44E4                              mov     ax, ega_talk_frame_seg
273F:2416  8E D8                                mov     ds,ax
273F:2418  33 F6                                xor     si,si                   ; Zero register
273F:241A  52                                   push    dx
273F:241B  BA 0003                              mov     dx,3
273F:241E                       loc_505:                                        ;  xref 273F:2424
273F:241E  E8 0032                              call    sub_63                  ; (2453)
273F:2421  83 EA 01                             sub     dx,1
273F:2424  75 F8                                jnz     loc_505                 ; Jump if not zero
273F:2426  5A                                   pop     dx
273F:2427                       loc_506:                                        ;  xref 273F:2430
273F:2427  E8 0029                              call    sub_63                  ; (2453)
273F:242A  83 EE 0C                             sub     si,0Ch
273F:242D  83 EA 01                             sub     dx,1
273F:2430  75 F5                                jnz     loc_506                 ; Jump if not zero
273F:2432  83 C6 0C                             add     si,0Ch
273F:2435  BA 0003                              mov     dx,3
273F:2438                       loc_507:                                        ;  xref 273F:243E
273F:2438  E8 0018                              call    sub_63                  ; (2453)
273F:243B  83 EA 01                             sub     dx,1
273F:243E  75 F8                                jnz     loc_507                 ; Jump if not zero
273F:2440  1F                                   pop     ds
273F:2441  B8 0001                              mov     ax,1
273F:2444  BB 0007                              mov     bx,7
273F:2447  5D                                   pop     bp
273F:2448  83 C5 02                             add     bp,2
273F:244B  BA 0009                              mov     dx,9
273F:244E  B1 81                                mov     cl,81h
273F:2450  E9 E730                              jmp     loc_92                  ; (0B83)

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:2297, 22A3, 22B7, 23B5, 23BE, 23CF, 241E
                                ;                             2427, 2438, 3039, 303C, 303F, 3045, 3048
                                ;��������������������������������������������������������������������������

273F:2453                       sub_63          proc    near
273F:2453  57                                   push    di
273F:2454  A5                                   movsw                           ; Mov [si] to es:[di]
273F:2455  A5                                   movsw                           ; Mov [si] to es:[di]
273F:2456  AD                                   lodsw                           ; String [si] to ax
273F:2457  8B E8                                mov     bp,ax
273F:2459  AD                                   lodsw                           ; String [si] to ax
273F:245A  8B CB                                mov     cx,bx

273F:245C                       locloop_508:                                    ;  xref 273F:2460
273F:245C  95                                   xchg    bp,ax
273F:245D  AB                                   stosw                           ; Store ax to es:[di]
273F:245E  95                                   xchg    bp,ax
273F:245F  AB                                   stosw                           ; Store ax to es:[di]
273F:2460  E2 FA                                loop    locloop_508             ; Loop if cx > 0

273F:2462  A5                                   movsw                           ; Mov [si] to es:[di]
273F:2463  A5                                   movsw                           ; Mov [si] to es:[di]
273F:2464  5F                                   pop     di
273F:2465  81 C7 00A0                           add     di,0A0h
273F:2469  C3                                   retn
                                sub_63          endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0C6B, 7BB1
                                ;��������������������������������������������������������������������������

273F:246A                   ega_decode_entry    proc    near
273F:246A  1E                                   push    ds
273F:246B  8E DA                                mov     ds,dx
273F:246D BE 0086                              mov     si,data_1435e           ; (45F6:0086=15h)
273F:2470  33 FF                                xor     di,di                   ; Zero register
273F:2472  BD 0020                              mov     bp,20h
273F:2475  8B 14                                mov     dx,[si]
273F:2477  86 F2                                xchg    dh,dl
273F:2479  83 C6 02                             add     si,2
273F:247C  B9 0008                              mov     cx,8
273F:247F  33 DB                                xor     bx,bx                   ; Zero register
273F:2481                       loc_509:                                        ;  xref 273F:24C9, 24D3
273F:2481  8A C6                                mov     al,dh
273F:2483  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:2485  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:2487  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:2489  88 01                                mov     [bx+di],al
273F:248B  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:248D  E2 07                                loop    locloop_510             ; Loop if cx > 0

273F:248F  86 D0                                xchg    dl,al
273F:2491  AC                                   lodsb                           ; String [si] to al
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 93

273F:2492  86 D0                                xchg    dl,al
273F:2494  B1 08                                mov     cl,8

273F:2496                       locloop_510:                                    ;  xref 273F:248D
273F:2496  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:2498  E2 07                                loop    locloop_511             ; Loop if cx > 0

273F:249A  86 D0                                xchg    dl,al
273F:249C  AC                                   lodsb                           ; String [si] to al
273F:249D  86 D0                                xchg    dl,al
273F:249F  B1 08                                mov     cl,8

273F:24A1                       locloop_511:                                    ;  xref 273F:2498
273F:24A1  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:24A3  E2 07                                loop    locloop_512             ; Loop if cx > 0

273F:24A5  86 D0                                xchg    dl,al
273F:24A7  AC                                   lodsb                           ; String [si] to al
273F:24A8  86 D0                                xchg    dl,al
273F:24AA  B1 08                                mov     cl,8

273F:24AC                       locloop_512:                                    ;  xref 273F:24A3
273F:24AC  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:24AE  E2 07                                loop    locloop_513             ; Loop if cx > 0

273F:24B0  86 D0                                xchg    dl,al
273F:24B2  AC                                   lodsb                           ; String [si] to al
273F:24B3  86 D0                                xchg    dl,al
273F:24B5  B1 08                                mov     cl,8

273F:24B7                       locloop_513:                                    ;  xref 273F:24AE
273F:24B7  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:24B9  E2 07                                loop    locloop_514             ; Loop if cx > 0

273F:24BB  86 D0                                xchg    dl,al
273F:24BD  AC                                   lodsb                           ; String [si] to al
273F:24BE  86 D0                                xchg    dl,al
273F:24C0  B1 08                                mov     cl,8

273F:24C2                       locloop_514:                                    ;  xref 273F:24B9
273F:24C2  83 C3 20                             add     bx,20h
273F:24C5 81 FB 0080                           cmp     bx,data_1434e           ; (45F6:0080=0)
273F:24C9  75 B6                                jne     loc_509                 ; Jump if not equal
273F:24CB  33 DB                                xor     bx,bx                   ; Zero register
273F:24CD  83 C7 01                             add     di,1
273F:24D0  83 ED 01                             sub     bp,1
273F:24D3  75 AC                                jnz     loc_509                 ; Jump if not zero
273F:24D5  90                                   nop
273F:24D6  33 FF                                xor     di,di                   ; Zero register
273F:24D8  8A C6                                mov     al,dh
273F:24DA  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:24DC  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:24DE  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:24E0  AA                                   stosb                           ; Store al to es:[di]
273F:24E1  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:24E3  E2 07                                loop    locloop_515             ; Loop if cx > 0

273F:24E5  86 D0                                xchg    dl,al
273F:24E7  AC                                   lodsb                           ; String [si] to al
273F:24E8  86 D0                                xchg    dl,al
273F:24EA  B1 08                                mov     cl,8

273F:24EC                       locloop_515:                                    ;  xref 273F:24E3
273F:24EC  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:24EE  E2 07                                loop    locloop_516             ; Loop if cx > 0

273F:24F0  86 D0                                xchg    dl,al
273F:24F2  AC                                   lodsb                           ; String [si] to al
273F:24F3  86 D0                                xchg    dl,al
273F:24F5  B1 08                                mov     cl,8

273F:24F7                       locloop_516:                                    ;  xref 273F:24EE
273F:24F7  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:24F9  E2 07                                loop    locloop_517             ; Loop if cx > 0

273F:24FB  86 D0                                xchg    dl,al
273F:24FD  AC                                   lodsb                           ; String [si] to al
273F:24FE  86 D0                                xchg    dl,al
273F:2500  B1 08                                mov     cl,8

273F:2502                       locloop_517:                                    ;  xref 273F:24F9
273F:2502  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:2504  E2 07                                loop    locloop_518             ; Loop if cx > 0

273F:2506  86 D0                                xchg    dl,al
273F:2508  AC                                   lodsb                           ; String [si] to al
273F:2509  86 D0                                xchg    dl,al
273F:250B  B1 08                                mov     cl,8

273F:250D                       locloop_518:                                    ;  xref 273F:2504
273F:250D  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:250F  E2 07                                loop    locloop_519             ; Loop if cx > 0

273F:2511  86 D0                                xchg    dl,al
273F:2513  AC                                   lodsb                           ; String [si] to al
273F:2514  86 D0                                xchg    dl,al
273F:2516  B1 08                                mov     cl,8

273F:2518                       locloop_519:                                    ;  xref 273F:250F
273F:2518  8A D8                                mov     bl,al
273F:251A  32 FF                                xor     bh,bh                   ; Zero register
273F:251C                       loc_520:                                        ;  xref 273F:252E, 2550, 2558, 256D
                                                                                ;            25C4, 2681
273F:251C D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:251E  E2 07                                loop    locloop_521             ; Loop if cx > 0

273F:2520  86 D0                                xchg    dl,al
273F:2522  AC                                   lodsb                           ; String [si] to al
273F:2523  86 D0                                xchg    dl,al
273F:2525  B1 08                                mov     cl,8

273F:2527                       locloop_521:                                    ;  xref 273F:251E
273F:2527  72 07                                jc      loc_522                 ; Jump if carry Set
273F:2529  8A 1F                                mov     bl,[bx]
273F:252B  8A C3                                mov     al,bl
273F:252D  AA                                   stosb                           ; Store al to es:[di]
273F:252E  EB EC                                jmp     short loc_520           ; (251C)
273F:2530                       loc_522:                                        ;  xref 273F:2527
273F:2530  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:2532  E2 07                                loop    locloop_523             ; Loop if cx > 0

273F:2534  86 D0                                xchg    dl,al
273F:2536  AC                                   lodsb                           ; String [si] to al
273F:2537  86 D0                                xchg    dl,al
273F:2539  B1 08                                mov     cl,8

273F:253B                       locloop_523:                                    ;  xref 273F:2532
273F:253B  72 1D                                jc      loc_526                 ; Jump if carry Set
273F:253D  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:253F  E2 07                                loop    locloop_524             ; Loop if cx > 0

273F:2541  86 D0                                xchg    dl,al
273F:2543  AC                                   lodsb                           ; String [si] to al
273F:2544  86 D0                                xchg    dl,al
273F:2546  B1 08                                mov     cl,8

273F:2548                       locloop_524:                                    ;  xref 273F:253F
273F:2548  72 08                                jc      loc_525                 ; Jump if carry Set
273F:254A  8A 5F 20                             mov     bl,[bx+20h]
273F:254D  8A C3                                mov     al,bl
273F:254F  AA                                   stosb                           ; Store al to es:[di]
273F:2550  EB CA                                jmp     short loc_520           ; (251C)
273F:2552                       loc_525:                                        ;  xref 273F:2548
273F:2552  8A 5F 40                             mov     bl,[bx+40h]
273F:2555  8A C3                                mov     al,bl
273F:2557  AA                                   stosb                           ; Store al to es:[di]
273F:2558  EB C2                                jmp     short loc_520           ; (251C)
273F:255A                       loc_526:                                        ;  xref 273F:253B
273F:255A  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:255C  E2 07                                loop    locloop_527             ; Loop if cx > 0

273F:255E  86 D0                                xchg    dl,al
273F:2560  AC                                   lodsb                           ; String [si] to al
273F:2561  86 D0                                xchg    dl,al
273F:2563  B1 08                                mov     cl,8

273F:2565                       locloop_527:                                    ;  xref 273F:255C
273F:2565  72 08                                jc      loc_528                 ; Jump if carry Set
273F:2567  8A 5F 60                             mov     bl,[bx+60h]
273F:256A  8A C3                                mov     al,bl
273F:256C  AA                                   stosb                           ; Store al to es:[di]
273F:256D  EB AD                                jmp     short loc_520           ; (251C)
273F:256F                       loc_528:                                        ;  xref 273F:2565
273F:256F  8A C6                                mov     al,dh
273F:2571  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:2573  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:2575  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:2577  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:2579  E2 07                                loop    locloop_529             ; Loop if cx > 0

273F:257B  86 D0                                xchg    dl,al
273F:257D  AC                                   lodsb                           ; String [si] to al
273F:257E  86 D0                                xchg    dl,al
273F:2580  B1 08                                mov     cl,8

273F:2582                       locloop_529:                                    ;  xref 273F:2579
273F:2582  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:2584  E2 07                                loop    locloop_530             ; Loop if cx > 0

273F:2586  86 D0                                xchg    dl,al
273F:2588  AC                                   lodsb                           ; String [si] to al
273F:2589  86 D0                                xchg    dl,al
273F:258B  B1 08                                mov     cl,8

273F:258D                       locloop_530:                                    ;  xref 273F:2584
273F:258D  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:258F  E2 07                                loop    locloop_531             ; Loop if cx > 0

273F:2591  86 D0                                xchg    dl,al
273F:2593  AC                                   lodsb                           ; String [si] to al
273F:2594  86 D0                                xchg    dl,al
273F:2596  B1 08                                mov     cl,8

273F:2598                       locloop_531:                                    ;  xref 273F:258F
273F:2598  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:259A  E2 07                                loop    locloop_532             ; Loop if cx > 0

273F:259C  86 D0                                xchg    dl,al
273F:259E  AC                                   lodsb                           ; String [si] to al
273F:259F  86 D0                                xchg    dl,al
273F:25A1  B1 08                                mov     cl,8

273F:25A3                       locloop_532:                                    ;  xref 273F:259A
273F:25A3  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:25A5  E2 07                                loop    locloop_533             ; Loop if cx > 0

273F:25A7  86 D0                                xchg    dl,al
273F:25A9  AC                                   lodsb                           ; String [si] to al
273F:25AA  86 D0                                xchg    dl,al
273F:25AC  B1 08                                mov     cl,8

273F:25AE                       locloop_533:                                    ;  xref 273F:25A5
273F:25AE  3A 07                                cmp     al,[bx]
273F:25B0  74 15                                je      loc_534                 ; Jump if equal
273F:25B2  3A 47 20                             cmp     al,[bx+20h]
273F:25B5  74 27                                je      loc_536                 ; Jump if equal
273F:25B7  3A 47 40                             cmp     al,[bx+40h]
273F:25BA  74 2D                                je      loc_537                 ; Jump if equal
273F:25BC  3A 47 60                             cmp     al,[bx+60h]
273F:25BF  74 77                                je      loc_544                 ; Jump if equal
273F:25C1  8A D8                                mov     bl,al
273F:25C3  AA                                   stosb                           ; Store al to es:[di]
273F:25C4  E9 FF55                              jmp     loc_520                 ; (251C)
273F:25C7                       loc_534:                                        ;  xref 273F:25B0
273F:25C7  51                                   push    cx
273F:25C8  E8 4F56                              call    sub_187                 ; (7521)
273F:25CB  8A E0                                mov     ah,al
273F:25CD  E8 4F51                              call    sub_187                 ; (7521)
273F:25D0  8A EC                                mov     ch,ah
273F:25D2  8A C8                                mov     cl,al
273F:25D4  0B C9                                or      cx,cx                   ; Zero ?
273F:25D6  74 03                                jz      loc_535                 ; Jump if zero
273F:25D8  E9 00A1                              jmp     loc_550                 ; (267C)
273F:25DB                       loc_535:                                        ;  xref 273F:25D6
273F:25DB  E9 00A6                              jmp     loc_551                 ; (2684)
273F:25DE                       loc_536:                                        ;  xref 273F:25B5
273F:25DE  51                                   push    cx
273F:25DF  E8 4F3F                              call    sub_187                 ; (7521)
273F:25E2  8A C8                                mov     cl,al
273F:25E4  32 ED                                xor     ch,ch                   ; Zero register
273F:25E6  E9 0093                              jmp     loc_550                 ; (267C)
273F:25E9                       loc_537:                                        ;  xref 273F:25BA
273F:25E9  8A C6                                mov     al,dh
273F:25EB  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:25ED  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:25EF  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:25F1  E2 07                                loop    locloop_538             ; Loop if cx > 0

273F:25F3  86 D0                                xchg    dl,al
273F:25F5  AC                                   lodsb                           ; String [si] to al
273F:25F6  86 D0                                xchg    dl,al
273F:25F8  B1 08                                mov     cl,8

273F:25FA                       locloop_538:                                    ;  xref 273F:25F1
273F:25FA  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:25FC  E2 07                                loop    locloop_539             ; Loop if cx > 0

273F:25FE  86 D0                                xchg    dl,al
273F:2600  AC                                   lodsb                           ; String [si] to al
273F:2601  86 D0                                xchg    dl,al
273F:2603  B1 08                                mov     cl,8

273F:2605                       locloop_539:                                    ;  xref 273F:25FC
273F:2605  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:2607  E2 07                                loop    locloop_540             ; Loop if cx > 0

273F:2609  86 D0                                xchg    dl,al
273F:260B  AC                                   lodsb                           ; String [si] to al
273F:260C  86 D0                                xchg    dl,al
273F:260E  B1 08                                mov     cl,8

273F:2610                       locloop_540:                                    ;  xref 273F:2607
273F:2610  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:2612  E2 07                                loop    locloop_541             ; Loop if cx > 0

273F:2614  86 D0                                xchg    dl,al
273F:2616  AC                                   lodsb                           ; String [si] to al
273F:2617  86 D0                                xchg    dl,al
273F:2619  B1 08                                mov     cl,8

273F:261B                       locloop_541:                                    ;  xref 273F:2612
273F:261B  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:261D  E2 07                                loop    locloop_542             ; Loop if cx > 0

273F:261F  86 D0                                xchg    dl,al
273F:2621  AC                                   lodsb                           ; String [si] to al
273F:2622  86 D0                                xchg    dl,al
273F:2624  B1 08                                mov     cl,8

273F:2626                       locloop_542:                                    ;  xref 273F:261D
273F:2626  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:2628  E2 07                                loop    locloop_543             ; Loop if cx > 0

273F:262A  86 D0                                xchg    dl,al
273F:262C  AC                                   lodsb                           ; String [si] to al
273F:262D  86 D0                                xchg    dl,al
273F:262F  B1 08                                mov     cl,8

273F:2631                       locloop_543:                                    ;  xref 273F:2628
273F:2631  51                                   push    cx
273F:2632  8A C8                                mov     cl,al
273F:2634  32 ED                                xor     ch,ch                   ; Zero register
273F:2636  EB 44                                jmp     short loc_550           ; (267C)
273F:2638                       loc_544:                                        ;  xref 273F:25BF
273F:2638  8A C6                                mov     al,dh
273F:263A  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:263C  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:263E  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:2640  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:2642  E2 07                                loop    locloop_545             ; Loop if cx > 0

273F:2644  86 D0                                xchg    dl,al
273F:2646  AC                                   lodsb                           ; String [si] to al
273F:2647  86 D0                                xchg    dl,al
273F:2649  B1 08                                mov     cl,8

273F:264B                       locloop_545:                                    ;  xref 273F:2642
273F:264B  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:264D  E2 07                                loop    locloop_546             ; Loop if cx > 0

273F:264F  86 D0                                xchg    dl,al
273F:2651  AC                                   lodsb                           ; String [si] to al
273F:2652  86 D0                                xchg    dl,al
273F:2654  B1 08                                mov     cl,8

273F:2656                       locloop_546:                                    ;  xref 273F:264D
273F:2656  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:2658  E2 07                                loop    locloop_547             ; Loop if cx > 0

273F:265A  86 D0                                xchg    dl,al
273F:265C  AC                                   lodsb                           ; String [si] to al
273F:265D  86 D0                                xchg    dl,al
273F:265F  B1 08                                mov     cl,8

273F:2661                       locloop_547:                                    ;  xref 273F:2658
273F:2661  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:2663  E2 07                                loop    locloop_548             ; Loop if cx > 0

273F:2665  86 D0                                xchg    dl,al
273F:2667  AC                                   lodsb                           ; String [si] to al
273F:2668  86 D0                                xchg    dl,al
273F:266A  B1 08                                mov     cl,8

273F:266C                       locloop_548:                                    ;  xref 273F:2663
273F:266C  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:266E  E2 07                                loop    locloop_549             ; Loop if cx > 0

273F:2670  86 D0                                xchg    dl,al
273F:2672  AC                                   lodsb                           ; String [si] to al
273F:2673  86 D0                                xchg    dl,al
273F:2675  B1 08                                mov     cl,8

273F:2677                       locloop_549:                                    ;  xref 273F:266E
273F:2677  51                                   push    cx
273F:2678  8A C8                                mov     cl,al
273F:267A  32 ED                                xor     ch,ch                   ; Zero register
273F:267C                       loc_550:                                        ;  xref 273F:25D8, 25E6, 2636
273F:267C  8A C3                                mov     al,bl
273F:267E  F3/ AA                               rep     stosb                   ; Rep when cx >0 Store al to es:[di]
273F:2680  59                                   pop     cx
273F:2681  E9 FE98                              jmp     loc_520                 ; (251C)
273F:2684                       loc_551:                                        ;  xref 273F:25DB
273F:2684  58                                   pop     ax
273F:2685  1F                                   pop     ds
273F:2686  EB 00                                jmp     short $+2               ; delay for I/O
273F:2688  57                                   push    di
273F:2689  8B EF                                mov     bp,di
273F:268B  1E                                   push    ds
273F:268C  06                                   push    es
273F:268D  1F                                   pop     ds
273F:268E  8B F7                                mov     si,di
273F:2690  83 EE 02                             sub     si,2
273F:2693  83 C7 06                             add     di,6
273F:2696  8B CD                                mov     cx,bp
273F:2698  FD                                   std                             ; Set direction flag
273F:2699  D1 E9                                shr     cx,1                    ; Shift w/zeros fill
273F:269B  F3/ A5                               rep     movsw                   ; Rep when cx >0 Mov [si] to es:[di]
273F:269D  FC                                   cld                             ; Clear direction
273F:269E  33 FF                                xor     di,di                   ; Zero register
273F:26A0 BE 0008                              mov     si,data_1459e           ; (FF12:0008=0)
273F:26A3                       loc_552:                                        ;  xref 273F:26C2
273F:26A3  B9 0008                              mov     cx,8

273F:26A6                       locloop_553:                                    ;  xref 273F:26BA
273F:26A6  AC                                   lodsb                           ; String [si] to al
273F:26A7  D0 D8                                rcr     al,1                    ; Rotate thru carry
273F:26A9  D0 55 03                             rcl     byte ptr [di+3],1       ; Rotate thru carry
273F:26AC  D0 D8                                rcr     al,1                    ; Rotate thru carry
273F:26AE  D0 55 02                             rcl     byte ptr [di+2],1       ; Rotate thru carry
273F:26B1  D0 D8                                rcr     al,1                    ; Rotate thru carry
273F:26B3  D0 55 01                             rcl     byte ptr [di+1],1       ; Rotate thru carry
273F:26B6  D0 D8                                rcr     al,1                    ; Rotate thru carry
273F:26B8  D0 15                                rcl     byte ptr [di],1         ; Rotate thru carry
273F:26BA  E2 EA                                loop    locloop_553             ; Loop if cx > 0

273F:26BC  83 C7 04                             add     di,4
273F:26BF  83 ED 08                             sub     bp,8
273F:26C2  77 DF                                ja      loc_552                 ; Jump if above
273F:26C4  1F                                   pop     ds
273F:26C5  59                                   pop     cx
273F:26C6  C3                                   retn
                           ega_decode_entry     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:26C7  1E                                   push    ds
273F:26C8  06                                   push    es
273F:26C9  1F                                   pop     ds
273F:26CA BE 0040                              mov     si,40h                  ; (273F:0040=0)
273F:26CD  57                                   push    di
273F:26CE  2B FE                                sub     di,si
273F:26D0  8B EF                                mov     bp,di
273F:26D2  32 D2                                xor     dl,dl                   ; Zero register
273F:26D4                       loc_554:                                        ;  xref 273F:2708
273F:26D4  8A 04                                mov     al,[si]
273F:26D6  8A 64 01                             mov     ah,[si+1]
273F:26D9  8A 5C 02                             mov     bl,[si+2]
273F:26DC  8A 7C 03                             mov     bh,[si+3]
273F:26DF  B9 0004                              mov     cx,4

273F:26E2                       locloop_555:                                    ;  xref 273F:26F8, 2700
273F:26E2  D0 D0                                rcl     al,1                    ; Rotate thru carry
273F:26E4  D0 14                                rcl     byte ptr [si],1         ; Rotate thru carry
273F:26E6  D0 D0                                rcl     al,1                    ; Rotate thru carry
273F:26E8  D0 54 01                             rcl     byte ptr [si+1],1       ; Rotate thru carry
273F:26EB  D0 D0                                rcl     al,1                    ; Rotate thru carry
273F:26ED  D0 54 02                             rcl     byte ptr [si+2],1       ; Rotate thru carry
273F:26F0  D0 D0                                rcl     al,1                    ; Rotate thru carry
273F:26F2  D0 54 03                             rcl     byte ptr [si+3],1       ; Rotate thru carry
273F:26F5  80 F2 01                             xor     dl,1
273F:26F8  75 E8                                jnz     locloop_555             ; Jump if not zero
273F:26FA  8A C4                                mov     al,ah
273F:26FC  8A E3                                mov     ah,bl
273F:26FE  8A DF                                mov     bl,bh
273F:2700  E2 E0                                loop    locloop_555             ; Loop if cx > 0

273F:2702  83 C6 04                             add     si,4
273F:2705  83 ED 04                             sub     bp,4
273F:2708  77 CA                                ja      loc_554                 ; Jump if above
273F:270A  5F                                   pop     di
273F:270B  1F                                   pop     ds
273F:270C  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                          ega_segment_screen    proc    near
273F:270D  C6 06 0DA4 00                        mov     datavar1, 0
273F:2712  88 0E 0DA5                           mov     current_layer, cl
273F:2716  C7 06 0DA2 0200                      mov     rectangle_size, 200h
273F:271C  0A C9                                or      cl,cl                   ; Zero ?
273F:271E  74 06                                jz      loc_556                 ; Jump if zero
273F:2720  81 06 0DA2 0080                      add     rectangle_size, 80h
273F:2726                       loc_556:                                        ;  xref 273F:271E
273F:2726  33 F6                                xor     si,si                   ; Zero register
273F:2728  B5 06                                mov     ch,6
273F:272A                       loc_557:                                        ;  xref 273F:2771
273F:272A  B1 0A                                mov     cl,0Ah
273F:272C                       loc_558:                                        ;  xref 273F:2765
273F:272C  1E                                   push    ds
273F:272D  53                                   push    bx
273F:272E  51                                   push    cx
273F:272F  56                                   push    si
273F:2730  57                                   push    di
273F:2731  A1 4CE4                              mov     ax, data_segment2
273F:2734  8E D8                                mov     ds,ax
273F:2736  E8 003B                              call    sub_65                  ; (2774)
273F:2739  5F                                   pop     di
273F:273A  5E                                   pop     si
273F:273B  59                                   pop     cx
273F:273C  5B                                   pop     bx
273F:273D  1F                                   pop     ds
273F:273E  F6 06 0DA5 FF                        test    byte ptr ds:[0DA5h],0FFh ; (273F:0DA5=31h)
273F:2743  74 09                                jz      loc_559                 ; Jump if zero
273F:2745  0A F6                                or      dh,dh                   ; Zero ?
273F:2747  75 05                                jnz     loc_559                 ; Jump if not zero
273F:2749  C6 07 FF                             mov     byte ptr [bx],0FFh
273F:274C  EB 0E                                jmp     short loc_560           ; (275C)
273F:274E                       loc_559:                                        ;  xref 273F:2743, 2747
273F:274E  03 3E 0DA2                           add     di, [rectangle_size]
273F:2752  A0 0DA4                              mov     al, datavar1
273F:2755  88 07                                mov     [bx], al
273F:2757  80 06 0DA4 01                        add     datavar1, 1
273F:275C                       loc_560:                                        ;  xref 273F:274C
273F:275C  83 C6 10                             add     si,10h
273F:275F  83 C3 01                             add     bx,1
273F:2762  80 E9 01                             sub     cl,1
273F:2765  75 C5                                jnz     loc_558                 ; Jump if not zero
273F:2767 �81 C6 1360                           add     si,data_1464e           ; (FF12:1360=1Eh)
273F:276B  83 C3 08                             add     bx,8
273F:276E  80 ED 01                             sub     ch,1
273F:2771  75 B7                                jnz     loc_557                 ; Jump if not zero
273F:2773  C3                                   retn
                          ega_segment_screen    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:2736
                                ;��������������������������������������������������������������������������

273F:2774                       sub_65          proc    near
273F:2774  8B DF                                mov     bx,di
273F:2776 �81 C3 0200                           add     bx,200h                 ; (273F:0200=0F6h)
273F:277A  32 F6                                xor     dh,dh                   ; Zero register
273F:277C  B5 20                                mov     ch,20h                  ; ' '
273F:277E                       loc_561:                                        ;  xref 273F:27AE
273F:277E  B1 04                                mov     cl,4
273F:2780                       loc_562:                                        ;  xref 273F:27A5
273F:2780  32 D2                                xor     dl,dl                   ; Zero register
273F:2782  AC                                   lodsb                           ; String [si] to al
273F:2783  0A D0                                or      dl,al
273F:2785  0A F0                                or      dh,al
273F:2787  AA                                   stosb                           ; Store al to es:[di]
273F:2788  AC                                   lodsb                           ; String [si] to al
273F:2789  0A D0                                or      dl,al
273F:278B  0A F0                                or      dh,al
273F:278D  AA                                   stosb                           ; Store al to es:[di]
273F:278E  AC                                   lodsb                           ; String [si] to al
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 102

273F:278F  0A D0                                or      dl,al
273F:2791  0A F0                                or      dh,al
273F:2793  AA                                   stosb                           ; Store al to es:[di]
273F:2794  AC                                   lodsb                           ; String [si] to al
273F:2795  0A D0                                or      dl,al
273F:2797  0A F0                                or      dh,al
273F:2799  AA                                   stosb                           ; Store al to es:[di]
273F:279A  F6 D2                                not     dl
273F:279C  26: 88 17                            mov     es:[bx],dl
273F:279F  83 C3 01                             add     bx,1
273F:27A2  80 E9 01                             sub     cl,1
273F:27A5  75 D9                                jnz     loc_562                 ; Jump if not zero
273F:27A7  81 C6 0090                           add     si,90h
273F:27AB  80 ED 01                             sub     ch,1
273F:27AE  75 CE                                jnz     loc_561                 ; Jump if not zero
273F:27B0  C3                                   retn
                                sub_65          endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                 ega_show_compressed_screen     proc    near

273F:27B1 BB 07DC                              mov     bx, offset display_mask
273F:27B4  A1 4CE4                              mov     ax, data_segment2
273F:27B7  8E C0                                mov     es,ax
273F:27B9 BF 0500                              mov     di,data_1462e           ; (FF12:0500=0)
273F:27BC  8B 16 4CE0                           mov     dx, current_room_segment
273F:27C0  33 F6                                xor     si,si                   ; Zero register
273F:27C2  B5 06                                mov     ch,6
273F:27C4                       loc_563:                                        ;  xref 273F:280C
273F:27C4  B1 0A                                mov     cl,0Ah
273F:27C6                       loc_564:                                        ;  xref 273F:2800
273F:27C6  F6 07 80                             test    byte ptr [bx],80h
273F:27C9  74 28                                jz      loc_567                 ; Jump if zero
273F:27CB  80 27 7F                             and     byte ptr [bx],7Fh
273F:27CE  80 0F 01                             or      byte ptr [bx],1
273F:27D1  80 8F 0100 01                        or      byte ptr ds:[100h][bx],1 ; (273F:0100=6)
273F:27D6  57                                   push    di
273F:27D7  1E                                   push    ds
273F:27D8  56                                   push    si
273F:27D9  8E DA                                mov     ds,dx
273F:27DB  B6 20                                mov     dh,20h                  ; ' '
273F:27DD                       loc_565:                                        ;  xref 273F:27EC
273F:27DD  B2 08                                mov     dl,8
273F:27DF                       loc_566:                                        ;  xref 273F:27E3
273F:27DF  A5                                   movsw                           ; Mov [si] to es:[di]
273F:27E0  80 EA 01                             sub     dl,1
273F:27E3  75 FA                                jnz     loc_566                 ; Jump if not zero
273F:27E5  81 C7 0090                           add     di,90h
273F:27E9  80 EE 01                             sub     dh,1
273F:27EC  75 EF                                jnz     loc_565                 ; Jump if not zero
273F:27EE  5E                                   pop     si
273F:27EF  8C DA                                mov     dx,ds
273F:27F1  1F                                   pop     ds
273F:27F2  5F                                   pop     di
273F:27F3                       loc_567:                                        ;  xref 273F:27C9
273F:27F3  83 C3 01                             add     bx,1
273F:27F6  83 C7 10                             add     di,10h
273F:27F9  81 C6 0200                           add     si,200h
273F:27FD  80 E9 01                             sub     cl,1
273F:2800  75 C4                                jnz     loc_564                 ; Jump if not zero
273F:2802  83 C3 08                             add     bx,8
273F:2805 �81 C7 1360                           add     di,1360h                ; (273F:1360=0)
273F:2809  80 ED 01                             sub     ch,1
273F:280C  75 B6                                jnz     loc_563                 ; Jump if not zero
273F:280E  80 0E 11D0 30                        or      menubar_state, 30h ; (273F:11D0=56h) '0'
273F:2813  C3                                   retn

                 ega_show_compressed_screen     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                                                                                ;* No entry point to code
273F:2814 BE 0992                              mov     si, offset rects_layer_0
273F:2817  83 C6 4C                             add     si,4Ch
273F:281A  C7 06 0DA6 0D92                      mov     rect_x_start, offset room_layers
273F:2820  C7 06 0DAA 0D96                      mov     num_horiz_rects, 0D96h
273F:2826  B9 0003                              mov     cx,3
273F:2829                       loc_568:                                        ;  xref 273F:28E9
273F:2829 �51                                   push    cx
273F:282A BB 0100                              mov     bx,100h                 ; (273F:0100=6)
273F:282D                       loc_569:                                        ;  xref 273F:28CF
273F:282D 51                                   push    cx
273F:282E  56                                   push    si
273F:282F  8B 3E 0DA6                           mov     di, rect_x_start
273F:2833  8B 05                                mov     ax,[di]
273F:2835  8E C0                                mov     es,ax
273F:2837  8B 45 02                             mov     ax,[di+2]
273F:283A  A3 0DA8                              mov     rect_y_end, ax
273F:283D  8B 3E 0DAA                           mov     di, num_horiz_rects
273F:2841  8B 05                                mov     ax,[di]
273F:2843  8B D0                                mov     dx,ax
273F:2845  8B 45 02                             mov     ax,[di+2]
273F:2848  A3 0DAC                              mov     word ptr ds:[0DACh],ax  ; (273F:0DAC=0EB09h)
273F:284B  B5 06                                mov     ch,6
273F:284D                       loc_570:                                        ;  xref 273F:28BE
273F:284D  B1 0A                                mov     cl,0Ah
273F:284F                       loc_571:                                        ;  xref 273F:28B6
273F:284F  F6 04 80                             test    byte ptr [si],80h
273F:2852  75 5C                                jnz     loc_573                 ; Jump if not zero
273F:2854  F6 00 80                             test    byte ptr [bx+si],80h
273F:2857  75 57                                jnz     loc_573                 ; Jump if not zero
273F:2859  56                                   push    si
273F:285A  52                                   push    dx
273F:285B  8A 04                                mov     al,[si]
273F:285D  32 E4                                xor     ah,ah                   ; Zero register
273F:285F  F7 26 0DA8                           mul     rect_y_end
273F:2863  8B F8                                mov     di,ax
273F:2865  8A 00                                mov     al,[bx+si]
273F:2867  32 E4                                xor     ah,ah                   ; Zero register
273F:2869  F7 26 0DAC                           mul     word ptr ds:[0DACh]     ; (273F:0DAC=0EB09h) dx:ax = data * ax
273F:286D  8B F0                                mov     si,ax
273F:286F  5A                                   pop     dx
273F:2870  1E                                   push    ds
273F:2871  51                                   push    cx
273F:2872  53                                   push    bx
273F:2873  8E DA                                mov     ds,dx
273F:2875  B9 0080                              mov     cx,80h
273F:2878  8B DE                                mov     bx,si
273F:287A 81 C3 0200                           add     bx,data_11e             ; (0000:0200=0)

273F:287E                       locloop_572:                                    ;  xref 273F:28A8
273F:287E  8A 17                                mov     dl,[bx]
273F:2880  AC                                   lodsb                           ; String [si] to al
273F:2881  26: 20 15                            and     es:[di],dl
273F:2884  26: 08 05                            or      es:[di],al
273F:2887  AC                                   lodsb                           ; String [si] to al
273F:2888  26: 20 55 01                         and     es:[di+1],dl
273F:288C  26: 08 45 01                         or      es:[di+1],al
273F:2890  AC                                   lodsb                           ; String [si] to al
273F:2891  26: 20 55 02                         and     es:[di+2],dl
273F:2895  26: 08 45 02                         or      es:[di+2],al
273F:2899  AC                                   lodsb                           ; String [si] to al
273F:289A  26: 20 55 03                         and     es:[di+3],dl
273F:289E  26: 08 45 03                         or      es:[di+3],al
273F:28A2  83 C7 04                             add     di,4
273F:28A5  83 C3 01                             add     bx,1
273F:28A8  E2 D4                                loop    locloop_572             ; Loop if cx > 0

273F:28AA  5B                                   pop     bx
273F:28AB  59                                   pop     cx
273F:28AC  8C DA                                mov     dx,ds
273F:28AE  1F                                   pop     ds
273F:28AF  5E                                   pop     si
273F:28B0                       loc_573:                                        ;  xref 273F:2852, 2857
273F:28B0  83 C6 01                             add     si,1
273F:28B3  80 E9 01                             sub     cl,1
273F:28B6  75 97                                jnz     loc_571                 ; Jump if not zero
273F:28B8  83 C6 08                             add     si,8
273F:28BB  80 ED 01                             sub     ch,1
273F:28BE  75 8D                                jnz     loc_570                 ; Jump if not zero
273F:28C0  83 06 0DAA 04                        add     num_horiz_rects, 4
273F:28C5  81 C3 0100                           add     bx,100h
273F:28C9  5E                                   pop     si
273F:28CA  59                                   pop     cx
273F:28CB  E2 02                                loop    locloop_574             ; Loop if cx > 0

273F:28CD  EB 03                                jmp     short loc_575           ; (28D2)

273F:28CF                       locloop_574:                                    ;  xref 273F:28CB
273F:28CF  E9 FF5B                              jmp     loc_569                 ; (282D)
273F:28D2                       loc_575:                                        ;  xref 273F:28CD
273F:28D2  59                                   pop     cx
273F:28D3  E2 02                                loop    locloop_576             ; Loop if cx > 0

273F:28D5  EB 15                                jmp     short loc_577           ; (28EC)

273F:28D7                       locloop_576:                                    ;  xref 273F:28D3
273F:28D7  81 C6 0100                           add     si,100h
273F:28DB  83 06 0DA6 04                        add     rect_x_start, 4
273F:28E0  A1 0DA6                              mov     ax, rect_x_start
273F:28E3  05 0004                              add     ax,4
273F:28E6  A3 0DAA                              mov     num_horiz_rects, ax
273F:28E9  E9 FF3D                              jmp     loc_568                 ; (2829)
273F:28EC                       loc_577:                                        ;  xref 273F:28D5
273F:28EC BE 0A92                              mov     si, offset rects_layer_1
273F:28EF  83 C6 4C                             add     si, FULL_HORIZ_RECTS * 4 + 4 ; 4Ch
273F:28F2  C7 06 0DA6 0D96                      mov     rect_x_start, 0D96h 
273F:28F8  C7 06 0DAA 0D9A                      mov     num_horiz_rects, 0D9Ah
273F:28FE  B9 0002                              mov     cx,2
273F:2901                       loc_578:                                        ;  xref 273F:29A0
273F:2901 �51                                   push    cx
273F:2902 BB 0100                              mov     bx,100h                 ; (273F:0100=6)
273F:2905                       loc_579:                                        ;  xref 273F:2986
273F:2905 �51                                   push    cx
273F:2906  56                                   push    si
273F:2907  8B 3E 0DA6                           mov     di, rect_x_start
273F:290B  8B 05                                mov     ax,[di]
273F:290D  8E C0                                mov     es,ax
273F:290F  8B 45 02                             mov     ax,[di+2]
273F:2912  A3 0DA8                              mov     rect_y_end, ax
273F:2915  8B 3E 0DAA                           mov     di, num_horiz_rects
273F:2919  8B 05                                mov     ax,[di]
273F:291B  8B D0                                mov     dx,ax
273F:291D  8B 45 02                             mov     ax,[di+2]
273F:2920  A3 0DAC                              mov     word ptr ds:[0DACh],ax  ; (273F:0DAC=0EB09h)
273F:2923  B5 06                                mov     ch,6
273F:2925                       loc_580:                                        ;  xref 273F:2975
273F:2925  B1 0A                                mov     cl,0Ah
273F:2927                       loc_581:                                        ;  xref 273F:296D
273F:2927  F6 04 80                             test    byte ptr [si],80h
273F:292A  75 3B                                jnz     loc_583                 ; Jump if not zero
273F:292C  F6 00 80                             test    byte ptr [bx+si],80h
273F:292F  75 36                                jnz     loc_583                 ; Jump if not zero
273F:2931  56                                   push    si
273F:2932  52                                   push    dx
273F:2933  8A 04                                mov     al,[si]
273F:2935  32 E4                                xor     ah,ah                   ; Zero register
273F:2937  F7 26 0DA8                           mul     rect_y_end
273F:293B  8B F8                                mov     di,ax
273F:293D  8A 00                                mov     al,[bx+si]
273F:293F  32 E4                                xor     ah,ah                   ; Zero register
273F:2941  F7 26 0DAC                           mul     word ptr ds:[0DACh]     ; (273F:0DAC=0EB09h) dx:ax = data * ax
273F:2945  8B F0                                mov     si,ax
273F:2947  5A                                   pop     dx
273F:2948  1E                                   push    ds
273F:2949  51                                   push    cx
273F:294A  53                                   push    bx
273F:294B  8E DA                                mov     ds,dx
273F:294D  B9 0080                              mov     cx,80h
273F:2950 �81 C6 0200                           add     si,data_11e             ; (0000:0200=0)
273F:2954 �81 C7 0200                           add     di,data_1436e           ; (4789:0200=27h)

273F:2958                       locloop_582:                                    ;  xref 273F:295F
273F:2958  AC                                   lodsb                           ; String [si] to al
273F:2959  26: 20 05                            and     es:[di],al
273F:295C  83 C7 01                             add     di,1
273F:295F  E2 F7                                loop    locloop_582             ; Loop if cx > 0

273F:2961  5B                                   pop     bx
273F:2962  59                                   pop     cx
273F:2963  8C DA                                mov     dx,ds
273F:2965  1F                                   pop     ds
273F:2966  5E                                   pop     si
273F:2967                       loc_583:                                        ;  xref 273F:292A, 292F
273F:2967  83 C6 01                             add     si,1
273F:296A  80 E9 01                             sub     cl,1
273F:296D  75 B8                                jnz     loc_581                 ; Jump if not zero
273F:296F  83 C6 08                             add     si,8
273F:2972  80 ED 01                             sub     ch,1
273F:2975  75 AE                                jnz     loc_580                 ; Jump if not zero
273F:2977  83 06 0DAA 04                        add     num_horiz_rects, 4
273F:297C 81 C3 0100                           add     bx,100h                 ; (273F:0100=6)
273F:2980  5E                                   pop     si
273F:2981  59                                   pop     cx
273F:2982  E2 02                                loop    locloop_584             ; Loop if cx > 0

273F:2984  EB 03                                jmp     short loc_585           ; (2989)

273F:2986                       locloop_584:                                    ;  xref 273F:2982
273F:2986  E9 FF7C                              jmp     loc_579                 ; (2905)
273F:2989                       loc_585:                                        ;  xref 273F:2984
273F:2989  59                                   pop     cx
273F:298A  E2 02                                loop    locloop_586             ; Loop if cx > 0

273F:298C  EB 15                                jmp     short loc_ret_587       ; (29A3)

273F:298E                       locloop_586:                                    ;  xref 273F:298A
273F:298E 81 C6 0100                           add     si,100h                 ; (273F:0100=6)
273F:2992  83 06 0DA6 04                        add     rect_x_start, 4
273F:2997  A1 0DA6                              mov     ax, rect_x_start
273F:299A  05 0004                              add     ax,4
273F:299D  A3 0DAA                              mov     num_horiz_rects, ax
273F:29A0  E9 FF5E                              jmp     loc_578                 ; (2901)

273F:29A3                       loc_ret_587:                                    ;  xref 273F:298C
273F:29A3  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                              ega_add_layer     proc     near
273F:29A4  8B CD                                mov      cx, bp
273F:29A6                       locloop_588:
273F:29A6  80 39 FE                             cmp     byte ptr [bx+di],0FEh
273F:29A9  72 0A                                jb      loc_589                 ; Jump if below
273F:29AB 81 C7 0100                           add     di,100h                 ; (273F:0100=6)
273F:29AF  83 C6 04                             add     si,4
273F:29B2  E2 F2                                loop    locloop_588             ; Loop if cx > 0

273F:29B4  C3                                   retn
273F:29B5                       loc_589:                                        ;  xref 273F:29A9
273F:29B5  1E                                   push    ds
273F:29B6  52                                   push    dx
273F:29B7  8B D0                                mov     dx,ax
273F:29B9  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:29BB  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:29BD  03 D0                                add     dx,ax
273F:29BF  B1 0A                                mov     cl,0Ah
273F:29C1  D3 E2                                shl     dx,cl                   ; Shift w/zeros fill
273F:29C3  81 C2 0500                           add     dx,500h
273F:29C7  58                                   pop     ax
273F:29C8  B1 04                                mov     cl,4
273F:29CA  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:29CC  03 D0                                add     dx,ax
273F:29CE  8A 01                                mov     al,[bx+di]
273F:29D0  8B 1E 4CE4                           mov     bx, data_segment2
273F:29D4  8E C3                                mov     es,bx
273F:29D6  8B 1C                                mov     bx,[si]
273F:29D8  8E DB                                mov     ds,bx
273F:29DA  8B FA                                mov     di,dx
273F:29DC  32 E4                                xor     ah,ah                   ; Zero register
273F:29DE  8B D0                                mov     dx,ax
273F:29E0  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:29E2  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:29E4  03 C2                                add     ax,dx
273F:29E6  B1 07                                mov     cl,7
273F:29E8  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:29EA  8B F0                                mov     si,ax
273F:29EC  8B DE                                mov     bx,si
273F:29EE 81 C3 0200                           add     bx,data_1455e           ; (E4B8:0200=0)
273F:29F2  B9 0020                              mov     cx,20h

273F:29F5                       locloop_590:                                    ;  xref 273F:2A2D
273F:29F5  51                                   push    cx
273F:29F6  B9 0004                              mov     cx,4

273F:29F9                       locloop_591:                                    ;  xref 273F:2A26
273F:29F9  8A 17                                mov     dl,[bx]
273F:29FB  AC                                   lodsb                           ; String [si] to al
273F:29FC  26: 20 15                            and     es:[di],dl
273F:29FF  26: 08 05                            or      es:[di],al
273F:2A02  83 C7 01                             add     di,1
273F:2A05  AC                                   lodsb                           ; String [si] to al
273F:2A06  26: 20 15                            and     es:[di],dl
273F:2A09  26: 08 05                            or      es:[di],al
273F:2A0C  83 C7 01                             add     di,1
273F:2A0F  AC                                   lodsb                           ; String [si] to al
273F:2A10  26: 20 15                            and     es:[di],dl
273F:2A13  26: 08 05                            or      es:[di],al
273F:2A16  83 C7 01                             add     di,1
273F:2A19  AC                                   lodsb                           ; String [si] to al
273F:2A1A  26: 20 15                            and     es:[di],dl
273F:2A1D  26: 08 05                            or      es:[di],al
273F:2A20  83 C7 01                             add     di,1
273F:2A23  83 C3 01                             add     bx,1
273F:2A26  E2 D1                                loop    locloop_591             ; Loop if cx > 0

273F:2A28 81 C7 0090                           add     di,90h                  ; (273F:0090=15h)
273F:2A2C  59                                   pop     cx
273F:2A2D  E2 C6                                loop    locloop_590             ; Loop if cx > 0

273F:2A2F  1F                                   pop     ds
273F:2A30  C3                                   retn
                              ega_add_layer     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                      ega_display_character     proc    near

273F:2A31  57                                   push    di
273F:2A32  1E                                   push    ds
273F:2A33  51                                   push    cx
273F:2A34  56                                   push    si
273F:2A35  8E DD                                mov     ds,bp
273F:2A37  8A F2                                mov     dh,dl
273F:2A39  2C 20                                sub     al,20h                  ; ' '
273F:2A3B  B1 03                                mov     cl,3
273F:2A3D  32 E4                                xor     ah,ah                   ; Zero register
273F:2A3F  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:2A41  8B F0                                mov     si,ax
273F:2A43  B9 0008                              mov     cx,8

273F:2A46                       locloop_592:                                    ;  xref 273F:2AA2
273F:2A46  AC                                   lodsb                           ; String [si] to al
273F:2A47  8A E0                                mov     ah,al
273F:2A49  F6 D4                                not     ah
273F:2A4B  26: C6 05 00                         mov     byte ptr es:[di],0
273F:2A4F  D0 E2                                shl     dl,1                    ; Shift w/zeros fill
273F:2A51  73 03                                jnc     loc_593                 ; Jump if carry=0
273F:2A53  26: 88 05                            mov     es:[di],al
273F:2A56                       loc_593:                                        ;  xref 273F:2A51
273F:2A56  D0 E2                                shl     dl,1                    ; Shift w/zeros fill
273F:2A58  73 03                                jnc     loc_594                 ; Jump if carry=0
273F:2A5A  26: 08 25                            or      es:[di],ah
273F:2A5D                       loc_594:                                        ;  xref 273F:2A58
273F:2A5D  83 C7 01                             add     di,1
273F:2A60  26: C6 05 00                         mov     byte ptr es:[di],0
273F:2A64  D0 E2                                shl     dl,1                    ; Shift w/zeros fill
273F:2A66  73 03                                jnc     loc_595                 ; Jump if carry=0
273F:2A68  26: 88 05                            mov     es:[di],al
273F:2A6B                       loc_595:                                        ;  xref 273F:2A66
273F:2A6B  D0 E2                                shl     dl,1                    ; Shift w/zeros fill
273F:2A6D  73 03                                jnc     loc_596                 ; Jump if carry=0
273F:2A6F  26: 08 25                            or      es:[di],ah
273F:2A72                       loc_596:                                        ;  xref 273F:2A6D
273F:2A72  83 C7 01                             add     di,1
273F:2A75  26: C6 05 00                         mov     byte ptr es:[di],0
273F:2A79  D0 E2                                shl     dl,1                    ; Shift w/zeros fill
273F:2A7B  73 03                                jnc     loc_597                 ; Jump if carry=0
273F:2A7D  26: 88 05                            mov     es:[di],al
273F:2A80                       loc_597:                                        ;  xref 273F:2A7B
273F:2A80  D0 E2                                shl     dl,1                    ; Shift w/zeros fill
273F:2A82  73 03                                jnc     loc_598                 ; Jump if carry=0
273F:2A84  26: 08 25                            or      es:[di],ah
273F:2A87                       loc_598:                                        ;  xref 273F:2A82
273F:2A87  83 C7 01                             add     di,1
273F:2A8A  26: C6 05 00                         mov     byte ptr es:[di],0
273F:2A8E  D0 E2                                shl     dl,1                    ; Shift w/zeros fill
273F:2A90  73 03                                jnc     loc_599                 ; Jump if carry=0
273F:2A92  26: 88 05                            mov     es:[di],al
273F:2A95                       loc_599:                                        ;  xref 273F:2A90
273F:2A95  D0 E2                                shl     dl,1                    ; Shift w/zeros fill
273F:2A97  73 03                                jnc     loc_600                 ; Jump if carry=0
273F:2A99  26: 08 25                            or      es:[di],ah
273F:2A9C                       loc_600:                                        ;  xref 273F:2A97
273F:2A9C  81 C7 009D                           add     di,9Dh
273F:2AA0  8A D6                                mov     dl,dh
273F:2AA2  E2 A2                                loop    locloop_592             ; Loop if cx > 0

273F:2AA4  5E                                   pop     si
273F:2AA5  59                                   pop     cx
273F:2AA6  1F                                   pop     ds
273F:2AA7  5F                                   pop     di

273F:2AA8                       loc_ret_601:                                    ;  xref 273F:2ABE
273F:2AA8  C3                                   retn

                      ega_display_character     endp

273F:2AA9  00                   data_238        db      0                       ;  xref 273F:2B37, 2BA1
273F:2AAA  00                   data_239        db      0                       ;  xref 273F:2B0C, 2B9A
273F:2AAB  0000                 data_240        dw      0                       ;  xref 273F:2B3C, 2C04
273F:2AAD                       loc_602:                                        ;  xref 273F:2ADD
273F:2AAD  80 26 11D0 FB                        and     menubar_state, 0FBh ; (273F:11D0=56h)
273F:2AB2  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:2129
                                ;��������������������������������������������������������������������������

273F:2AB3                       ega_cursor      proc    near
273F:2AB3  C7 06 F010 0000                      mov     timer_ticks, 0
273F:2AB9  F6 06 11D0 04                        test    menubar_state, 4   ; (273F:11D0=56h)
273F:2ABE  75 E8                                jnz     loc_ret_601             ; Jump if not zero
273F:2AC0  80 0E 11D0 04                        or      menubar_state, 4   ; (273F:11D0=56h)
273F:2AC5  F7 06 11EC FFFF                      test    word ptr ds:[11ECh],0FFFFh ; (273F:11EC=1B55h)
273F:2ACB  74 0B                                jz      loc_603                 ; Jump if zero
273F:2ACD  A1 0DB0                              mov     ax, screen_start_seg
273F:2AD0  8E C0                                mov     es,ax
273F:2AD2 BE 11E8                              mov     si,offset data_638      ; (31E4:11E8=0)
273F:2AD5  E8 014D                              call    sub_67                  ; (2C25)
273F:2AD8                       loc_603:                                        ;  xref 273F:2ACB
                                                assume  ds:data_seg
273F:2AD8  F6 06 11D0 01                        test    menubar_state, 1     ; (31E4:11D0=3)
273F:2ADD  75 CE                                jnz     loc_602                 ; Jump if not zero
273F:2ADF  A1 11D8                              mov     ax, mouse_y2  
273F:2AE2  2B 06 11DF                           sub     ax, cursor_centroid 
273F:2AE6  73 02                                jnc     loc_604                 ; Jump if carry=0
273F:2AE8  33 C0                                xor     ax,ax                   ; Zero register
273F:2AEA                       loc_604:                                        ;  xref 273F:2AE6
273F:2AEA  BD 00C8                              mov     bp,0C8h
273F:2AED  2B E8                                sub     bp,ax
273F:2AEF  83 FD 11                             cmp     bp,11h
273F:2AF2  72 03                                jb      loc_605                 ; Jump if below
273F:2AF4  BD 0010                              mov     bp,10h
273F:2AF7                       loc_605:                                        ;  xref 273F:2AF2
273F:2AF7  89 2E 11EC                           mov     data_640,bp             ; (31E4:11EC=0)
273F:2AFB  8B 36 11D6                           mov     si, mouse_x2
273F:2AFF  2B 36 11DF                           sub     si, cursor_centroid
273F:2B03  73 02                                jnc     loc_606                 ; Jump if carry=0
273F:2B05  33 F6                                xor     si,si                   ; Zero register
273F:2B07                       loc_606:                                        ;  xref 273F:2B03
273F:2B07  8B CE                                mov     cx,si
273F:2B09  80 E1 07                             and     cl,7
273F:2B0C  2E: 88 0E 2AAA                       mov     cs:data_239,cl          ; (273F:2AAA=0)
273F:2B11  B1 03                                mov     cl,3
273F:2B13  D3 EE                                shr     si,cl                   ; Shift w/zeros fill
273F:2B15  BB 0028                              mov     bx,28h
273F:2B18  2B DE                                sub     bx,si
273F:2B1A  80 FB 04                             cmp     bl,4
273F:2B1D  72 02                                jb      loc_607                 ; Jump if below
273F:2B1F  B3 03                                mov     bl,3
273F:2B21                       loc_607:                                        ;  xref 273F:2B1D
273F:2B21  88 1E 11EA                           mov     data_639,bl             ; (31E4:11EA=0)
273F:2B25  8B D0                                mov     dx,ax
273F:2B27  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:2B29  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:2B2B  03 C2                                add     ax,dx
273F:2B2D  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:2B2F  03 F0                                add     si,ax
273F:2B31  89 36 11E8                           mov     data_638,si             ; (31E4:11E8=0)
273F:2B35  32 FF                                xor     bh,bh                   ; Zero register
273F:2B37  2E: 88 1E 2AA9                       mov     cs:data_238,bl          ; (273F:2AA9=0)
273F:2B3C  2E: 89 2E 2AAB                       mov     cs:data_240,bp          ; (273F:2AAB=0)
273F:2B41  BA 03CE                              mov     dx,3CEh
273F:2B44  B8 0005                              mov     ax,5
273F:2B47  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 5, mode
273F:2B48  B8 0007                              mov     ax,7
273F:2B4B  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 7, ignore color bits
273F:2B4C  B0 03                                mov     al,3
273F:2B4E  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 3, data rotate
273F:2B4F  FF 36 4CF4                           push    cursors_segment
273F:2B53  FF 36 11E1                           push    cursor_index
273F:2B57  1E                                   push    ds
273F:2B58  07                                   pop     es
273F:2B59  A1 0DB0                              mov     ax, screen_start_seg
273F:2B5C  8E D8                                mov     ds,ax
273F:2B5E  B8 0304                              mov     ax,304h
273F:2B61 BF 11EE                              mov     di,offset data_641      ; (31E4:11EE=0)
273F:2B64                       loc_608:                                        ;  xref 273F:2B7A
273F:2B64  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 4, read map select
273F:2B65  56                                   push    si
273F:2B66  55                                   push    bp
273F:2B67                       loc_609:                                        ;  xref 273F:2B73
273F:2B67  56                                   push    si
273F:2B68  8B CB                                mov     cx,bx
273F:2B6A  F3/ A4                               rep     movsb                   ; Rep when cx >0 Mov [si] to es:[di]
273F:2B6C  5E                                   pop     si
273F:2B6D  83 C6 28                             add     si,28h
273F:2B70  83 ED 01                             sub     bp,1
273F:2B73  75 F2                                jnz     loc_609                 ; Jump if not zero
273F:2B75  5D                                   pop     bp
273F:2B76  5E                                   pop     si
273F:2B77  80 EC 01                             sub     ah,1
273F:2B7A  73 E8                                jnc     loc_608                 ; Jump if carry=0
273F:2B7C  8B FE                                mov     di,si
273F:2B7E  BA 03CE                              mov     dx,3CEh
273F:2B81  B8 0805                              mov     ax,805h
273F:2B84  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 5, mode
273F:2B85  B8 0007                              mov     ax,7
273F:2B88  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 7, ignore color bits
273F:2B89  B0 03                                mov     al,3
273F:2B8B  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 3, data rotate
273F:2B8C  B8 FF08                              mov     ax,0FF08h
273F:2B8F  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 8, data bit mask
273F:2B90  1E                                   push    ds
273F:2B91  07                                   pop     es
273F:2B92  5E                                   pop     si
273F:2B93  B1 06                                mov     cl,6
273F:2B95  D3 E6                                shl     si,cl                   ; Shift w/zeros fill
273F:2B97  1F                                   pop     ds
273F:2B98  87 D5                                xchg    dx,bp
273F:2B9A  2E: 8A 0E 2AAA                       mov     cl,cs:data_239          ; (273F:2AAA=0)
273F:2B9F                       loc_610:                                        ;  xref 273F:2C0A
273F:2B9F  56                                   push    si
273F:2BA0  57                                   push    di
273F:2BA1  2E: 8A 2E 2AA9                       mov     ch,cs:data_238          ; (273F:2AA9=0)
273F:2BA6  33 DB                                xor     bx,bx                   ; Zero register
273F:2BA8  33 D2                                xor     dx,dx                   ; Zero register
273F:2BAA  8A 34                                mov     dh,[si]
273F:2BAC  D3 EA                                shr     dx,cl                   ; Shift w/zeros fill
273F:2BAE  8A E6                                mov     ah,dh
273F:2BB0  B0 08                                mov     al,8
273F:2BB2  87 D5                                xchg    dx,bp
273F:2BB4  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 8, data bit mask
273F:2BB5  87 D5                                xchg    dx,bp
273F:2BB7  8A 7C 01                             mov     bh,[si+1]
273F:2BBA  D3 EB                                shr     bx,cl                   ; Shift w/zeros fill
273F:2BBC  8A C7                                mov     al,bh
273F:2BBE  26: 8A 25                            mov     ah,es:[di]
273F:2BC1  AA                                   stosb                           ; Store al to es:[di]
273F:2BC2  80 ED 01                             sub     ch,1
273F:2BC5  74 35                                jz      loc_612                 ; Jump if zero
273F:2BC7  8A 64 02                             mov     ah,[si+2]
273F:2BCA  32 C0                                xor     al,al                   ; Zero register
273F:2BCC  D3 E8                                shr     ax,cl                   ; Shift w/zeros fill
273F:2BCE  0A E2                                or      ah,dl
273F:2BD0  8A D0                                mov     dl,al
273F:2BD2  87 D5                                xchg    dx,bp
273F:2BD4  B0 08                                mov     al,8
273F:2BD6  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 8, data bit mask
273F:2BD7  8A 64 03                             mov     ah,[si+3]
273F:2BDA  32 C0                                xor     al,al                   ; Zero register
273F:2BDC  D3 E8                                shr     ax,cl                   ; Shift w/zeros fill
273F:2BDE  0A E3                                or      ah,bl
273F:2BE0  8A D8                                mov     bl,al
273F:2BE2  8A C4                                mov     al,ah
273F:2BE4  26: 8A 25                            mov     ah,es:[di]
273F:2BE7  AA                                   stosb                           ; Store al to es:[di]
273F:2BE8  80 ED 01                             sub     ch,1
273F:2BEB  74 0D                                jz      loc_611                 ; Jump if zero
273F:2BED  8B C5                                mov     ax,bp
273F:2BEF  8A E0                                mov     ah,al
273F:2BF1  B0 08                                mov     al,8
273F:2BF3  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 8, data bit mask
273F:2BF4  8A C3                                mov     al,bl
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 112

273F:2BF6  26: 8A 25                            mov     ah,es:[di]
273F:2BF9  AA                                   stosb                           ; Store al to es:[di]
273F:2BFA                       loc_611:                                        ;  xref 273F:2BEB
273F:2BFA  87 D5                                xchg    dx,bp
273F:2BFC                       loc_612:                                        ;  xref 273F:2BC5
273F:2BFC  5F                                   pop     di
273F:2BFD  5E                                   pop     si
273F:2BFE  83 C6 04                             add     si,4
273F:2C01  83 C7 28                             add     di,28h
273F:2C04  2E: 83 2E 2AAB 01                    sub     cs:data_240,1           ; (273F:2AAB=0)
273F:2C0A  75 93                                jnz     loc_610                 ; Jump if not zero
273F:2C0C  87 D5                                xchg    dx,bp
273F:2C0E  B8 0005                              mov     ax,5
273F:2C11  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 5, mode
273F:2C12  B8 0F07                              mov     ax,0F07h
273F:2C15  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 7, ignore color bits
273F:2C16  B8 FF08                              mov     ax,0FF08h
273F:2C19  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 8, data bit mask
273F:2C1A  B8 31E4                              mov     ax,data_seg
273F:2C1D  8E D8                                mov     ds,ax
273F:2C1F  80 26 11D0 FB                        and     menubar_state, 0FBh  ; (31E4:11D0=3)

273F:2C24                       loc_ret_613:                                    ;  xref 273F:2C31
273F:2C24  C3                                   retn

                                ega_cursor      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:2151, 2AD5
                                ;��������������������������������������������������������������������������

273F:2C25                       sub_67          proc    near
273F:2C25  8B 3C                                mov     di,[si]
273F:2C27  8A 5C 02                             mov     bl,[si+2]
273F:2C2A  32 FF                                xor     bh,bh                   ; Zero register
273F:2C2C  8B 6C 04                             mov     bp,[si+4]
273F:2C2F  0B ED                                or      bp,bp                   ; Zero ?
273F:2C31  74 F1                                jz      loc_ret_613             ; Jump if zero
273F:2C33  C7 44 04 0000                        mov     word ptr [si+4],0
273F:2C38  83 C6 06                             add     si,6
273F:2C3B  BA 03CE                              mov     dx,3CEh
273F:2C3E  B8 0805                              mov     ax,805h
273F:2C41  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 5, mode
273F:2C42  B8 0007                              mov     ax,7
273F:2C45  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 7, ignore color bits
273F:2C46  B0 03                                mov     al,3
273F:2C48  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
                                                                                ;  al = 3, data rotate
273F:2C49  B8 FF08                              mov     ax,0FF08h
273F:2C4C  EF                                   out     dx,ax                   ; port 3CEh, EGA graphic index
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 113

                                                                                ;  al = 8, data bit mask
273F:2C4D  B8 31E4                              mov     ax,data_seg
273F:2C50  8E D8                                mov     ds,ax
273F:2C52  B2 C4                                mov     dl,0C4h
273F:2C54  B8 0802                              mov     ax,802h
273F:2C57  B9 0004                              mov     cx,4

273F:2C5A                       locloop_614:                                    ;  xref 273F:2C70
273F:2C5A  EF                                   out     dx,ax                   ; port 3C4h, EGA sequencr index
                                                                                ;  al = 2, map mask register
273F:2C5B  51                                   push    cx
273F:2C5C  57                                   push    di
273F:2C5D  8B CD                                mov     cx,bp

273F:2C5F                       locloop_615:                                    ;  xref 273F:2C6A
273F:2C5F  51                                   push    cx
273F:2C60  57                                   push    di
273F:2C61  8B CB                                mov     cx,bx
273F:2C63  F3/ A4                               rep     movsb                   ; Rep when cx >0 Mov [si] to es:[di]
273F:2C65  5F                                   pop     di
273F:2C66  83 C7 28                             add     di,28h
273F:2C69  59                                   pop     cx
273F:2C6A  E2 F3                                loop    locloop_615             ; Loop if cx > 0

273F:2C6C  5F                                   pop     di
273F:2C6D  59                                   pop     cx
273F:2C6E  D0 EC                                shr     ah,1                    ; Shift w/zeros fill
273F:2C70  E2 E8                                loop    locloop_614             ; Loop if cx > 0

273F:2C72  B4 0F                                mov     ah,0Fh
273F:2C74  EF                                   out     dx,ax                   ; port 3C4h, EGA sequencr index
                                                                                ;  al = 2, map mask register
273F:2C75  C3                                   retn
                                sub_67          endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                          ega_add_animation     proc    near

273F:2C76  8A 47 04                             mov     al,[bx+4]
273F:2C79  8A 6F 06                             mov     ch,[bx+6]
273F:2C7C  F6 E5                                mul     ch                      ; ax = reg * al
273F:2C7E  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:2C80  03 C6                                add     ax,si
273F:2C82  A3 1440                              mov     word ptr ds:[1440h],ax  ; (273F:1440=0BA00h)
273F:2C85  B8 FFFF                              mov     ax,0FFFFh
                                                assume  ds:seg_code
273F:2C88  2E: A3 1500                          mov     word ptr cs:data_215,ax ; (273F:1500=0)
273F:2C8C  2E: A3 1502                          mov     cs:data_216,ax          ; (273F:1502=0)
273F:2C90  2E: A2 1504                          mov     cs:data_217,al          ; (273F:1504=0)
273F:2C94  C6 06 11B0 00                        mov     data_11b0, 0
273F:2C99  8B 47 02                             mov     ax,[bx+2]
273F:2C9C  2D 0088                              sub     ax,88h
273F:2C9F  73 2A                                jnc     loc_618                 ; Jump if carry=0
273F:2CA1  50                                   push    ax
273F:2CA2  03 47 06                             add     ax,[bx+6]
273F:2CA5  58                                   pop     ax
273F:2CA6  74 02                                jz      loc_616                 ; Jump if zero
273F:2CA8  72 03                                jc      loc_617                 ; Jump if carry Set
273F:2CAA                       loc_616:                                        ;  xref 273F:2CA6, 2D26
273F:2CAA  E9 02EE                              jmp     loc_ret_636             ; (2F9B)
273F:2CAD                       loc_617:                                        ;  xref 273F:2CA8
273F:2CAD  F7 D8                                neg     ax
273F:2CAF  2A E8                                sub     ch,al
273F:2CB1  F6 67 04                             mul     byte ptr [bx+4]         ; ax = data * al
273F:2CB4  B1 03                                mov     cl,3
273F:2CB6  D3 E8                                shr     ax,cl                   ; Shift w/zeros fill
273F:2CB8  01 06 1440                           add     word ptr ds:[1440h],ax  ; (273F:1440=0BA00h)
273F:2CBC  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:2CBE  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:2CC0  03 F0                                add     si,ax
273F:2CC2  33 C0                                xor     ax,ax                   ; Zero register
273F:2CC4  C6 06 11B0 01                        mov     data_11b0, 1
273F:2CC9  EB 1C                                jmp     short loc_621           ; (2CE7)
273F:2CCB                       loc_618:                                        ;  xref 273F:2C9F
273F:2CCB  3D 00C0                              cmp     ax,0C0h
273F:2CCE  72 03                                jb      loc_619                 ; Jump if below
273F:2CD0  E9 02C8                              jmp     loc_ret_636             ; (2F9B)
273F:2CD3                       loc_619:                                        ;  xref 273F:2CCE
273F:2CD3  50                                   push    ax
273F:2CD4  03 47 06                             add     ax,[bx+6]
273F:2CD7  3D 00C1                              cmp     ax,0C1h
273F:2CDA  72 0A                                jb      loc_620                 ; Jump if below
273F:2CDC  2D 00C0                              sub     ax,0C0h
273F:2CDF  2A E8                                sub     ch,al
273F:2CE1  C6 06 11B0 01                        mov     data_11b0, 1
273F:2CE6                       loc_620:                                        ;  xref 273F:2CDA
273F:2CE6  58                                   pop     ax
273F:2CE7                       loc_621:                                        ;  xref 273F:2CC9
273F:2CE7  8B D0                                mov     dx,ax
273F:2CE9  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:2CEB  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:2CED  03 C2                                add     ax,dx
273F:2CEF  B1 05                                mov     cl,5
273F:2CF1  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:2CF3  05 0500                              add     ax,500h
273F:2CF6  8B F8                                mov     di,ax
273F:2CF8  8B 47 04                             mov     ax,[bx+4]
273F:2CFB  B1 03                                mov     cl,3
273F:2CFD  D3 E8                                shr     ax,cl                   ; Shift w/zeros fill
273F:2CFF  2E: A2 1509                          mov     cs:data_220,al          ; (273F:1509=0)
273F:2D03  2E: A3 1507                          mov     cs:data_219,ax          ; (273F:1507=0)
273F:2D07  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:2D09  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:2D0B  2E: A3 1505                          mov     cs:data_218,ax          ; (273F:1505=0)
273F:2D0F  8B 07                                mov     ax,[bx]
273F:2D11  8A C8                                mov     cl,al
273F:2D13  80 E1 07                             and     cl,7
273F:2D16  89 0E 1442                           mov     word ptr ds:[1442h],cx  ; (273F:1442=1)
273F:2D1A  2D 0080                              sub     ax,80h
273F:2D1D  73 31                                jnc     loc_623                 ; Jump if carry=0
273F:2D1F  50                                   push    ax
273F:2D20  8B 57 04                             mov     dx,[bx+4]
273F:2D23  03 C2                                add     ax,dx
273F:2D25  58                                   pop     ax
273F:2D26  74 82                                jz      loc_616                 ; Jump if zero
273F:2D28  72 03                                jc      loc_622                 ; Jump if carry Set
273F:2D2A  E9 026E                              jmp     loc_ret_636             ; (2F9B)
273F:2D2D                       loc_622:                                        ;  xref 273F:2D28
273F:2D2D  F7 D0                                not     ax
273F:2D2F  25 FFF8                              and     ax,0FFF8h
273F:2D32  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:2D34  2E: A3 1500                          mov     word ptr cs:data_215,ax ; (273F:1500=0)
273F:2D38  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:2D3A  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:2D3C  2E: A3 1502                          mov     cs:data_216,ax          ; (273F:1502=0)
273F:2D40  04 01                                add     al,1
273F:2D42  2E: 28 06 1509                       sub     cs:data_220,al          ; (273F:1509=0)
273F:2D47  C6 06 11B0 01                        mov     data_11b0, 1
273F:2D4C  33 C0                                xor     ax,ax                   ; Zero register
273F:2D4E  EB 29                                jmp     short loc_625           ; (2D79)
273F:2D50                       loc_623:                                        ;  xref 273F:2D1D
273F:2D50  3D 0140                              cmp     ax,140h
273F:2D53  72 03                                jb      loc_624                 ; Jump if below
273F:2D55  E9 0243                              jmp     loc_ret_636             ; (2F9B)
273F:2D58                       loc_624:                                        ;  xref 273F:2D53
273F:2D58  8B 57 04                             mov     dx,[bx+4]
273F:2D5B  03 D0                                add     dx,ax
273F:2D5D  81 EA 0140                           sub     dx,140h
273F:2D61  72 16                                jc      loc_625                 ; Jump if carry Set
273F:2D63  74 14                                jz      loc_625                 ; Jump if zero
273F:2D65  B1 03                                mov     cl,3
273F:2D67  D3 EA                                shr     dx,cl                   ; Shift w/zeros fill
273F:2D69  2E: 28 16 1509                       sub     cs:data_220,dl          ; (273F:1509=0)
273F:2D6E  2E: C6 06 1504 00                    mov     cs:data_217,0           ; (273F:1504=0)
273F:2D74  C6 06 11B0 01                        mov     data_11b0, 1
273F:2D79                       loc_625:                                        ;  xref 273F:2D4E, 2D61, 2D63
273F:2D79  25 FFF8                              and     ax,0FFF8h
273F:2D7C  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:2D7E  03 F8                                add     di,ax
273F:2D80  8B 0E 1442                           mov     cx,word ptr ds:[1442h]  ; (273F:1442=1)
273F:2D84  80 F1 07                             xor     cl,7
273F:2D87  80 C1 01                             add     cl,1
273F:2D8A  8B 1E 1440                           mov     bx,word ptr ds:[1440h]  ; (273F:1440=0BA00h)
273F:2D8E  80 3E 11B0 01                        cmp     data_11b0, 1
273F:2D93  75 03                                jne     loc_626                 ; Jump if not equal
273F:2D95  E9 00D9                              jmp     loc_630                 ; (2E71)
273F:2D98                       loc_626:                                        ;  xref 273F:2D93
273F:2D98  1E                                   push    ds
273F:2D99  06                                   push    es
273F:2D9A  A1 4CE4                              mov     ax, data_segment2
273F:2D9D  8E C0                                mov     es,ax
273F:2D9F  1F                                   pop     ds
273F:2DA0                       loc_627:                                        ;  xref 273F:2E6B
273F:2DA0 32 D2                                xor     dl,dl                   ; Zero register
273F:2DA2  2E: 88 16 2058                       mov     cs:data_233,dl          ; (273F:2058=0)
273F:2DA7  2E: 88 16 2059                       mov     cs:data_234,dl          ; (273F:2059=0)
273F:2DAC  2E: 88 16 205A                       mov     cs:data_235,dl          ; (273F:205A=0)
273F:2DB1  2E: 88 16 205B                       mov     cs:data_236,dl          ; (273F:205B=0)
273F:2DB6  F6 D2                                not     dl
273F:2DB8  51                                   push    cx
273F:2DB9  57                                   push    di
273F:2DBA  2E: 8A 2E 1509                       mov     ch,cs:data_220          ; (273F:1509=0)
273F:2DBF                       loc_628:                                        ;  xref 273F:2E2D
273F:2DBF  33 C0                                xor     ax,ax                   ; Zero register
273F:2DC1  8A 07                                mov     al,[bx]
273F:2DC3  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:2DC5  F7 D0                                not     ax
273F:2DC7  22 E2                                and     ah,dl
273F:2DC9  8B D0                                mov     dx,ax
273F:2DCB  AC                                   lodsb                           ; String [si] to al
273F:2DCC  32 E4                                xor     ah,ah                   ; Zero register
273F:2DCE  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:2DD0  2E: 0A 26 2058                       or      ah,cs:data_233          ; (273F:2058=0)
273F:2DD5  2E: A2 2058                          mov     cs:data_233,al          ; (273F:2058=0)
273F:2DD9  26: 20 35                            and     es:[di],dh
273F:2DDC  26: 08 25                            or      es:[di],ah
273F:2DDF  83 C7 01                             add     di,1
273F:2DE2  AC                                   lodsb                           ; String [si] to al
273F:2DE3  32 E4                                xor     ah,ah                   ; Zero register
273F:2DE5  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:2DE7  2E: 0A 26 2059                       or      ah,cs:data_234          ; (273F:2059=0)
273F:2DEC  2E: A2 2059                          mov     cs:data_234,al          ; (273F:2059=0)
273F:2DF0  26: 20 35                            and     es:[di],dh
273F:2DF3  26: 08 25                            or      es:[di],ah
273F:2DF6  83 C7 01                             add     di,1
273F:2DF9  AC                                   lodsb                           ; String [si] to al
273F:2DFA  32 E4                                xor     ah,ah                   ; Zero register
273F:2DFC  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:2DFE  2E: 0A 26 205A                       or      ah,cs:data_235          ; (273F:205A=0)
273F:2E03  2E: A2 205A                          mov     cs:data_235,al          ; (273F:205A=0)
273F:2E07  26: 20 35                            and     es:[di],dh
273F:2E0A  26: 08 25                            or      es:[di],ah
273F:2E0D  83 C7 01                             add     di,1
273F:2E10  AC                                   lodsb                           ; String [si] to al
273F:2E11  32 E4                                xor     ah,ah                   ; Zero register
273F:2E13  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:2E15  2E: 0A 26 205B                       or      ah,cs:data_236          ; (273F:205B=0)
273F:2E1A  2E: A2 205B                          mov     cs:data_236,al          ; (273F:205B=0)
273F:2E1E  26: 20 35                            and     es:[di],dh
273F:2E21  26: 08 25                            or      es:[di],ah
273F:2E24  83 C7 01                             add     di,1
273F:2E27  83 C3 01                             add     bx,1
273F:2E2A  80 ED 01                             sub     ch,1
273F:2E2D  75 90                                jnz     loc_628                 ; Jump if not zero
273F:2E2F  2E: A0 2058                          mov     al,cs:data_233          ; (273F:2058=0)
273F:2E33  26: 20 15                            and     es:[di],dl
273F:2E36  26: 08 05                            or      es:[di],al
273F:2E39  83 C7 01                             add     di,1
273F:2E3C  2E: A0 2059                          mov     al,cs:data_234          ; (273F:2059=0)
273F:2E40  26: 20 15                            and     es:[di],dl
273F:2E43  26: 08 05                            or      es:[di],al
273F:2E46  83 C7 01                             add     di,1
273F:2E49  2E: A0 205A                          mov     al,cs:data_235          ; (273F:205A=0)
273F:2E4D  26: 20 15                            and     es:[di],dl
273F:2E50  26: 08 05                            or      es:[di],al
273F:2E53  83 C7 01                             add     di,1
273F:2E56  2E: A0 205B                          mov     al,cs:data_236          ; (273F:205B=0)
273F:2E5A  26: 20 15                            and     es:[di],dl
273F:2E5D  26: 08 05                            or      es:[di],al
273F:2E60  5F                                   pop     di
273F:2E61 81 C7 00A0                           add     di,data_1460e           ; (FF12:00A0=0)
273F:2E65  59                                   pop     cx
273F:2E66  80 ED 01                             sub     ch,1
273F:2E69  74 03                                jz      loc_629                 ; Jump if zero
273F:2E6B  E9 FF32                              jmp     loc_627                 ; (2DA0)
273F:2E6E                       loc_629:                                        ;  xref 273F:2E69
273F:2E6E  E9 0129                              jmp     loc_635                 ; (2F9A)
273F:2E71                       loc_630:                                        ;  xref 273F:2D95
273F:2E71  1E                                   push    ds
273F:2E72  06                                   push    es
273F:2E73  A1 4CE4                              mov     ax, data_segment2
273F:2E76  8E C0                                mov     es,ax
273F:2E78  1F                                   pop     ds
273F:2E79                       loc_631:                                        ;  xref 273F:2F97
273F:2E79 32 D2                                xor     dl,dl                   ; Zero register
273F:2E7B  2E: 88 16 2058                       mov     cs:data_233,dl          ; (273F:2058=0)
273F:2E80  2E: 88 16 2059                       mov     cs:data_234,dl          ; (273F:2059=0)
273F:2E85  2E: 88 16 205A                       mov     cs:data_235,dl          ; (273F:205A=0)
273F:2E8A  2E: 88 16 205B                       mov     cs:data_236,dl          ; (273F:205B=0)
273F:2E8F  F6 D2                                not     dl
273F:2E91  51                                   push    cx
273F:2E92  53                                   push    bx
273F:2E93  56                                   push    si
273F:2E94  57                                   push    di
273F:2E95  2E: 8A 2E 1509                       mov     ch,cs:data_220          ; (273F:1509=0)
273F:2E9A  2E: F7 06 1500 0080                  test    word ptr cs:data_215,80h ; (273F:1500=0)
273F:2EA1  75 34                                jnz     loc_632                 ; Jump if not zero
273F:2EA3  2E: 03 36 1500                       add     si,word ptr cs:data_215 ; (273F:1500=0)
273F:2EA8  2E: 03 1E 1502                       add     bx,cs:data_216          ; (273F:1502=0)
273F:2EAD  8A 17                                mov     dl,[bx]
273F:2EAF  D3 E2                                shl     dx,cl                   ; Shift w/zeros fill
273F:2EB1  F6 D2                                not     dl
273F:2EB3  83 C3 01                             add     bx,1
273F:2EB6  AC                                   lodsb                           ; String [si] to al
273F:2EB7  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:2EB9  2E: A2 2058                          mov     cs:data_233,al          ; (273F:2058=0)
273F:2EBD  AC                                   lodsb                           ; String [si] to al
273F:2EBE  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:2EC0  2E: A2 2059                          mov     cs:data_234,al          ; (273F:2059=0)
273F:2EC4  AC                                   lodsb                           ; String [si] to al
273F:2EC5  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:2EC7  2E: A2 205A                          mov     cs:data_235,al          ; (273F:205A=0)
273F:2ECB  AC                                   lodsb                           ; String [si] to al
273F:2ECC  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:2ECE  2E: A2 205B                          mov     cs:data_236,al          ; (273F:205B=0)
273F:2ED2  F6 C5 FF                             test    ch,0FFh
273F:2ED5  74 78                                jz      loc_633                 ; Jump if zero
273F:2ED7                       loc_632:                                        ;  xref 273F:2EA1, 2F45
273F:2ED7  33 C0                                xor     ax,ax                   ; Zero register
273F:2ED9  8A 07                                mov     al,[bx]
273F:2EDB  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:2EDD  F7 D0                                not     ax
273F:2EDF  22 E2                                and     ah,dl
273F:2EE1  8B D0                                mov     dx,ax
273F:2EE3  AC                                   lodsb                           ; String [si] to al
273F:2EE4  32 E4                                xor     ah,ah                   ; Zero register
273F:2EE6  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:2EE8  2E: 0A 26 2058                       or      ah,cs:data_233          ; (273F:2058=0)
273F:2EED  2E: A2 2058                          mov     cs:data_233,al          ; (273F:2058=0)
273F:2EF1  26: 20 35                            and     es:[di],dh
273F:2EF4  26: 08 25                            or      es:[di],ah
273F:2EF7  83 C7 01                             add     di,1
273F:2EFA  AC                                   lodsb                           ; String [si] to al
273F:2EFB  32 E4                                xor     ah,ah                   ; Zero register
273F:2EFD  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:2EFF  2E: 0A 26 2059                       or      ah,cs:data_234          ; (273F:2059=0)
273F:2F04  2E: A2 2059                          mov     cs:data_234,al          ; (273F:2059=0)
273F:2F08  26: 20 35                            and     es:[di],dh
273F:2F0B  26: 08 25                            or      es:[di],ah
273F:2F0E  83 C7 01                             add     di,1
273F:2F11  AC                                   lodsb                           ; String [si] to al
273F:2F12  32 E4                                xor     ah,ah                   ; Zero register
273F:2F14  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:2F16  2E: 0A 26 205A                       or      ah,cs:data_235          ; (273F:205A=0)
273F:2F1B  2E: A2 205A                          mov     cs:data_235,al          ; (273F:205A=0)
273F:2F1F  26: 20 35                            and     es:[di],dh
273F:2F22  26: 08 25                            or      es:[di],ah
273F:2F25  83 C7 01                             add     di,1
273F:2F28  AC                                   lodsb                           ; String [si] to al
273F:2F29  32 E4                                xor     ah,ah                   ; Zero register
273F:2F2B  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:2F2D  2E: 0A 26 205B                       or      ah,cs:data_236          ; (273F:205B=0)
273F:2F32  2E: A2 205B                          mov     cs:data_236,al          ; (273F:205B=0)
273F:2F36  26: 20 35                            and     es:[di],dh
273F:2F39  26: 08 25                            or      es:[di],ah
273F:2F3C  83 C7 01                             add     di,1
273F:2F3F  83 C3 01                             add     bx,1
273F:2F42  80 ED 01                             sub     ch,1
273F:2F45  75 90                                jnz     loc_632                 ; Jump if not zero
273F:2F47  2E: F6 06 1504 FF                    test    cs:data_217,0FFh        ; (273F:1504=0)
273F:2F4D  74 31                                jz      loc_634                 ; Jump if zero
273F:2F4F                       loc_633:                                        ;  xref 273F:2ED5
273F:2F4F  2E: A0 2058                          mov     al,cs:data_233          ; (273F:2058=0)
273F:2F53  26: 20 15                            and     es:[di],dl
273F:2F56  26: 08 05                            or      es:[di],al
273F:2F59  83 C7 01                             add     di,1
273F:2F5C  2E: A0 2059                          mov     al,cs:data_234          ; (273F:2059=0)
273F:2F60  26: 20 15                            and     es:[di],dl
273F:2F63  26: 08 05                            or      es:[di],al
273F:2F66  83 C7 01                             add     di,1
273F:2F69  2E: A0 205A                          mov     al,cs:data_235          ; (273F:205A=0)
273F:2F6D  26: 20 15                            and     es:[di],dl
273F:2F70  26: 08 05                            or      es:[di],al
273F:2F73  83 C7 01                             add     di,1
273F:2F76  2E: A0 205B                          mov     al,cs:data_236          ; (273F:205B=0)
273F:2F7A  26: 20 15                            and     es:[di],dl
273F:2F7D  26: 08 05                            or      es:[di],al
273F:2F80                       loc_634:                                        ;  xref 273F:2F4D
273F:2F80  5F                                   pop     di
273F:2F81 81 C7 00A0                           add     di,data_1460e           ; (FF12:00A0=0)
273F:2F85  5E                                   pop     si
273F:2F86  2E: 03 36 1505                       add     si,cs:data_218          ; (273F:1505=0)
273F:2F8B  5B                                   pop     bx
273F:2F8C  2E: 03 1E 1507                       add     bx,cs:data_219          ; (273F:1507=0)
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 119

273F:2F91  59                                   pop     cx
273F:2F92  80 ED 01                             sub     ch,1
273F:2F95  74 03                                jz      loc_635                 ; Jump if zero
273F:2F97  E9 FEDF                              jmp     loc_631                 ; (2E79)
273F:2F9A                       loc_635:                                        ;  xref 273F:2E6E, 2F95
273F:2F9A  1F                                   pop     ds

273F:2F9B                       loc_ret_636:                                    ;  xref 273F:2CAA, 2CD0, 2D2A, 2D55
273F:2F9B  C3                                   retn
273F:2F9C                       loc_637:                                        ;  xref 273F:8E45
273F:2F9C D1 EF                                shr     di,1                    ; Shift w/zeros fill
273F:2F9E  D1 EB                                shr     bx,1                    ; Shift w/zeros fill
273F:2FA0  D1 EB                                shr     bx,1                    ; Shift w/zeros fill
273F:2FA2  D1 EB                                shr     bx,1                    ; Shift w/zeros fill
273F:2FA4  A1 4CE4                              mov     ax, data_segment2
273F:2FA7  8E C0                                mov     es,ax
273F:2FA9  BA 0008                              mov     dx,8
273F:2FAC                       loc_638:                                        ;  xref 273F:2FC2
273F:2FAC  57                                   push    di
273F:2FAD  8B CB                                mov     cx,bx

273F:2FAF                       locloop_639:                                    ;  xref 273F:2FBA
273F:2FAF  26: 8A 45 02                         mov     al,es:[di+2]
273F:2FB3  26: 30 45 01                         xor     es:[di+1],al
273F:2FB7  83 C7 04                             add     di,4
273F:2FBA  E2 F3                                loop    locloop_639             ; Loop if cx > 0

273F:2FBC  5F                                   pop     di
273F:2FBD 81 C7 00A0                           add     di,data_68e             ; (0031:00A0=0)
273F:2FC1  4A                                   dec     dx
273F:2FC2  75 E8                                jnz     loc_638                 ; Jump if not zero
273F:2FC4  C3                                   retn

                          ega_add_animation     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:2081
                                ;��������������������������������������������������������������������������

273F:2FC5                       sub_68          proc    near
273F:2FC5  1E                                   push    ds
273F:2FC6  A1 4CE4                              mov     ax, data_segment2
273F:2FC9  8E D8                                mov     ds,ax
273F:2FCB  33 F6                                xor     si,si                   ; Zero register
273F:2FCD  33 FF                                xor     di,di                   ; Zero register
273F:2FCF  B8 0802                              mov     ax,802h
273F:2FD2  B9 0004                              mov     cx,4

273F:2FD5                       locloop_640:                                    ;  xref 273F:2FEA
273F:2FD5  51                                   push    cx
273F:2FD6  56                                   push    si
273F:2FD7  57                                   push    di
273F:2FD8  EF                                   out     dx,ax                   ; port 3C4h, EGA sequencr index
                                                                                ;  al = 2, map mask register
273F:2FD9  B9 0140                              mov     cx,140h

273F:2FDC                       locloop_641:                                    ;  xref 273F:2FE0
273F:2FDC  A4                                   movsb                           ; Mov [si] to es:[di]
273F:2FDD  83 C6 03                             add     si,3
273F:2FE0  E2 FA                                loop    locloop_641             ; Loop if cx > 0

273F:2FE2  5F                                   pop     di
273F:2FE3  5E                                   pop     si
273F:2FE4  83 C6 01                             add     si,1
273F:2FE7  D0 EC                                shr     ah,1                    ; Shift w/zeros fill
273F:2FE9  59                                   pop     cx
273F:2FEA  E2 E9                                loop    locloop_640             ; Loop if cx > 0

273F:2FEC  1F                                   pop     ds
273F:2FED  80 2E 4BF0 01                        sub     byte ptr ds:[4BF0h],1   ; (273F:4BF0=3)
273F:2FF2  C3                                   retn
                                sub_68          endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                  ega_toggle_menu_highlight     proc    near

273F:2FF3  D1 EF                                shr     di,1                    ; Shift w/zeros fill
273F:2FF5  83 E7 FC                             and     di,0FFFCh
273F:2FF8  B1 03                                mov     cl,3
273F:2FFA  83 C3 07                             add     bx,7
273F:2FFD  D3 EB                                shr     bx,cl                   ; Shift w/zeros fill
273F:2FFF  A1 4CE4                              mov     ax, data_segment2
273F:3002  8E C0                                mov     es,ax
273F:3004  BA 0008                              mov     dx,8
273F:3007                       loc_642:                                        ;  xref 273F:3022
273F:3007  57                                   push    di
273F:3008  8B CB                                mov     cx,bx

273F:300A                       locloop_643:                                    ;  xref 273F:301A
273F:300A  26: 8A 05                            mov     al,es:[di]
273F:300D  F6 D0                                not     al
273F:300F  26: 30 45 01                         xor     es:[di+1],al
273F:3013  26: 30 45 02                         xor     es:[di+2],al
273F:3017  83 C7 04                             add     di,4
273F:301A  E2 EE                                loop    locloop_643             ; Loop if cx > 0

273F:301C  5F                                   pop     di
273F:301D  81 C7 00A0                           add     di,0A0h
273F:3021  4A                                   dec     dx
273F:3022  75 E3                                jnz     loc_642                 ; Jump if not zero
273F:3024  C3                                   retn

                  ega_toggle_menu_highlight     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:90CB
                                ;��������������������������������������������������������������������������

273F:3025                       sub_69          proc    near
273F:3025  1E                                   push    ds
273F:3026  A1 4CE4                              mov     ax, data_segment2
273F:3029  8E C0                                mov     es,ax
273F:302B BF 1F48                              mov     di,data_1407e           ; (44E4:1F48=0)
273F:302E  B8 44E4                              mov     ax, ega_talk_frame_seg
273F:3031  8E D8                                mov     ds,ax
273F:3033 BE 0030                              mov     si,offset data_1405     ; (44E4:0030=3Fh)
273F:3036  BB 0020                              mov     bx,20h
273F:3039  E8 F417                              call    sub_63                  ; (2453)
273F:303C  E8 F414                              call    sub_63                  ; (2453)
273F:303F  E8 F411                              call    sub_63                  ; (2453)
273F:3042 BE 000C                              mov     si,offset data_1404     ; (44E4:000C=0)
273F:3045  E8 F40B                              call    sub_63                  ; (2453)
273F:3048  E8 F408                              call    sub_63                  ; (2453)
273F:304B  1F                                   pop     ds
273F:304C  C3                                   retn
                                sub_69          endp

273F:304D  00                                   db      0

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:304E                    vga_show_screen    proc    near

273F:304E 80 0E 11D0 02                         or      menubar_state, 2
273F:3053 E8FD06                                call    sub_unknown_1

273F:3056 F6 06 4BF0 FF                         test    byte ptr [4BF0h], 0ffh
273F:305B 74 03                                 jz      vga_loc_1
273F:305D E8 0F 09                              call    menubar_copy_to_screen
273F:3060 BE 0A00             vga_loc_1:        mov     si, MENUBAR_BLOCK_SIZE  ; Set SI and DI to after menubar area
273F:3063 8B FE                                 mov     di, si
273F:3065 B9 060A                               mov     cx, 060Ah               ; 10x6 sets of 32x32 rectangles
273F:3068 8C DA                                 mov     dx, ds                  ; Make a backup of DS
273F:306A A1 0DB0                               mov     ax, screen_start_seg
273F:306D 8E C0                                 mov     es, ax
273F:306F BB DC 07                              mov     bx, offset display_mask

273F:3072                       loc_644:
273F:3072  F6 07 01                             test    byte ptr [bx],1         ; Is bit 0 turned on?
273F:3075  74 23                                jz      loc_646                 ; No, so jump
273F:3077  80 27 FE                             and     byte ptr [bx],0FEh      ; Clear bit 0

; The following code copies a rectangle from (x+0,y+0) - (x+31,y+31) from data_segment2 to screen_start_seg

273F:307A  57                                   push    di
273F:307B  51                                   push    cx
273F:307C  A1 4CE4                              mov     ax, data_segment2       ; Get screen source from data_segment2
273F:307F  8E D8                                mov     ds, ax
273F:3081  B8 0020                              mov     ax,20h                  ; Number of lines
273F:3084                       loc_645:
273F:3084  B9 0010                              mov     cx,10h                  ; Rep when cx >0 Mov [si] to es:[di]
273F:3087  F3/ A5                               rep     movsw                   ;  (moves first 32 pixels of line)
273F:3089  81 C6 0120                           add     si,120h                 ; Move to start of next line
273F:308D  81 C7 0120                           add     di,120h
273F:3091  2D 0001                              sub     ax,1                    ; Decrement number of lines to do
273F:3094  75 EE                                jnz     loc_645                 ; Jump if not zero
273F:3096  8E DA                                mov     ds,dx                   ; Restore data segment
273F:3098  59                                   pop     cx
273F:3099  5F                                   pop     di

273F:309A                       loc_646:
273F:309A  83 C7 20                             add     di,20h                  ; Move to next rectangle position
273F:309D  8B F7                                mov     si,di                   ; Match source to destination
273F:309F  83 C3 01                             add     bx,1                    ; Move to next mask position
273F:30A2  80 E9 01                             sub     cl,1                    ; Subtract remaining horiz blocks
273F:30A5  75 CB                                jnz     loc_644                 ; Jump if not yet end of line
273F:30A7  81 C7 26C0                           add     di,26C0h                ; Reset soruce/dest to start of next
273F:30AB  8B F7                                mov     si,di                   ;   rect vertically at start of line
273F:30AD  83 C3 08                             add     bx,8
273F:30B0  B1 0A                                mov     cl,0Ah                  ; Number of horizontal rectangles
273F:30B2  80 ED 01                             sub     ch,1                    ; Decrement remaining vertical rectangles
273F:30B5  75 BB                                jnz     loc_644                 ; Jump if not done

273F:30B7  E8 0704                              call    sub_73                  ; (37BE)
273F:30BA  A1 11D6                              mov     ax, mouse_x2
273F:30BD  39 06 11D1                           cmp     mouse_x, ax
273F:30C1  75 09                                jne     loc_647                 ; Jump if not equal
273F:30C3  A1 11D8                              mov     ax, mouse_y2
273F:30C6  39 06 11D3                           cmp     mouse_y, ax
273F:30CA  74 10                                je      loc_648                 ; Jump if equal
273F:30CC                       loc_647:                                        ;  xref 273F:30C1
273F:30CC  A1 11D1                              mov     ax, mouse_x
273F:30CF  A3 11D6                              mov     mouse_x2, ax
273F:30D2  A1 11D3                              mov     ax, mouse_y
273F:30D5  A3 11D8                              mov     mouse_y2, ax
273F:30D8  FF 16 075E                           call    word ptr ds:data_18e    ; (0000:075E=0)
273F:30DC                       loc_648:                                        ;  xref 273F:30CA
273F:30DC  80 26 11D0 FD                        and     byte ptr ds:data_26e,0FDh ; (0000:11D0=80h)

273F:30E1                       loc_ret_649:                                    ;  xref 273F:30EC
273F:30E1  C3                                   retn

                             vga_show_screen    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called indircetly via calls to word ptr [fade_out_proc]
                                ;��������������������������������������������������������������������������


273F:30E2                    vga_fade_out       proc    near
273F:30E2  80 26 11D0 CF                        and     menubar_state, 0CFh ; (273F:11D0=56h)
273F:30E7  F6 06 073C 20                        test    byte ptr ds:[73Ch],20h  ; (273F:073C=17h) ' '
273F:30EC  75 F3                                jnz     loc_ret_649             ; Jump if not zero
273F:30EE  80 0E 073C 20                        or      byte ptr ds:[73Ch],20h  ; (273F:073C=17h) ' '

273F:30F3 BE 1457                              mov     si, offset unprocessed_vga_palette
273F:30F6 BF 0DB5                              mov     di, offset processed_vga_palette
273F:30F9  1E                                   push    ds
273F:30FA  07                                   pop     es
273F:30FB  B9 0156                              mov     cx,156h
273F:30FE  F3/ A5                               rep     movsw                   ; Rep when cx >0 Mov [si] to es:[di]
273F:3100  B9 0040                              mov     cx,40h

273F:3103                       locloop_650:                                    ;  xref 273F:3156
273F:3103  51                                   push    cx
273F:3104 BB 0DB5                              mov     bx, offset processed_vga_palette
273F:3107  B9 00E4                              mov     cx,0E4h

273F:310A                       locloop_651:                                    ;  xref 273F:3129
273F:310A  F6 07 3F                             test    byte ptr [bx],3Fh       ; '?'
273F:310D  74 03                                jz      loc_652                 ; Jump if zero
273F:310F  80 2F 01                             sub     byte ptr [bx],1
273F:3112                       loc_652:                                        ;  xref 273F:310D
273F:3112  F6 47 01 3F                          test    byte ptr [bx+1],3Fh     ; '?'
273F:3116  74 04                                jz      loc_653                 ; Jump if zero
273F:3118  80 6F 01 01                          sub     byte ptr [bx+1],1
273F:311C                       loc_653:                                        ;  xref 273F:3116
273F:311C  F6 47 02 3F                          test    byte ptr [bx+2],3Fh     ; '?'
273F:3120  74 04                                jz      loc_654                 ; Jump if zero
273F:3122  80 6F 02 01                          sub     byte ptr [bx+2],1
273F:3126                       loc_654:                                        ;  xref 273F:3120
273F:3126  83 C3 03                             add     bx,3
273F:3129  E2 DF                                loop    locloop_651             ; Loop if cx > 0

273F:312B  E8 002B                              call    wait_for_video_port     ; (3159)
273F:312E  56                                   push    si
273F:312F  32 C0                                xor     al,al                   ; Zero register
273F:3131  BA 03C8                              mov     dx,3C8h
273F:3134  EE                                   out     dx,al                   ; port 3C8h, VGA pel address
273F:3135  42                                   inc     dx
273F:3136 BE 0DB5                              mov     si, offset processed_vga_palette
273F:3139  B9 0156                              mov     cx,156h

273F:313C                       locloop_655:                                    ;  xref 273F:313E
273F:313C  AC                                   lodsb                           ; String [si] to al
273F:313D  EE                                   out     dx,al                   ; port 3C9h, VGA pel data reg
273F:313E  E2 FC                                loop    locloop_655             ; Loop if cx > 0

273F:3140  E8 0016                              call    wait_for_video_port     ; (3159)
273F:3143  B0 72                                mov     al,72h                  ; 'r'
273F:3145  BA 03C8                              mov     dx,3C8h
273F:3148  EE                                   out     dx,al                   ; port 3C8h, VGA pel address
273F:3149  42                                   inc     dx
273F:314A BE 0F0B                              mov     si, offset processed_vga_palette + 156h
273F:314D  B9 0156                              mov     cx,156h

273F:3150                       locloop_656:                                    ;  xref 273F:3152
273F:3150  AC                                   lodsb                           ; String [si] to al
273F:3151  EE                                   out     dx,al                   ; port 3C9h, VGA pel data reg
273F:3152  E2 FC                                loop    locloop_656             ; Loop if cx > 0

273F:3154  5E                                   pop     si
273F:3155  59                                   pop     cx
273F:3156  E2 AB                                loop    locloop_650             ; Loop if cx > 0

273F:3158  C3                                   retn
                             vga_fade_out       endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:312B, 3140, 31A5, 31BA, 3C86
                                ;��������������������������������������������������������������������������

273F:3159              wait_for_video_port      proc    near
273F:3159  50                                   push    ax
273F:315A  06                                   push    es
273F:315B  52                                   push    dx
273F:315C  B8 0040                              mov     ax,40h
273F:315F  8E C0                                mov     es,ax
273F:3161  26: 8B 16 0063                       mov     dx,es:video_port        ; (0040:0063=3D4h)
273F:3166  80 C2 06                             add     dl,6
273F:3169                       loc_657:                                        ;  xref 273F:316C
273F:3169  EC                                   in      al,dx                   ; port 3DAh, CGA/EGA vid status
273F:316A  A8 08                                test    al,8
273F:316C  74 FB                                jz      loc_657                 ; Jump if zero
273F:316E                       loc_658:                                        ;  xref 273F:3171
273F:316E  EC                                   in      al,dx                   ; port 3DAh, CGA/EGA vid status
273F:316F  A8 08                                test    al,8
273F:3171  75 FB                                jnz     loc_658                 ; Jump if not zero
273F:3173  5A                                   pop     dx
273F:3174  07                                   pop     es
273F:3175  58                                   pop     ax
273F:3176  C3                                   retn
                       wait_for_video_port      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called indircetly via calls to word ptr [fade_in_proc]
                                ;��������������������������������������������������������������������������

                                vga_fade_in     proc    near
273F:3177  80 26 073C DF                        and     byte ptr ds:[73Ch],0DFh ; (273F:073C=17h)
273F:317C  1E                                   push    ds
273F:317D  07                                   pop     es
273F:317E BF 0DB5                              mov     di, offset processed_vga_palette
273F:3181  B9 0156                              mov     cx, 156h                ; Only first 228 palette entries used
273F:3184  33 C0                                xor     ax,ax                   ; Zero register
273F:3186  F3/ AB                               rep     stosw                   ; Rep when cx >0 Store ax to es:[di]

273F:3188 BE 0DB5                              mov     si, offset processed_vga_palette
273F:318B BF 1457                              mov     di, offset unprocessed_vga_palette
273F:318E  B9 0040                              mov     cx,40h                  ; Number of fade-in increments

273F:3191                       locloop_659:
273F:3191  51                                   push    cx
273F:3192  B9 02AC                              mov     cx,2ACh                 ; 228*3 (each paleete entry is 3 bytes)
273F:3195  33 DB                                xor     bx,bx
; Update the RGB components of each palette entry by 1 unless a colour has already reached it's final value
273F:3197                       locloop_660:
273F:3197  8A 00                                mov     al,[bx+si]              ; Get in current palette intensity
273F:3199  3A 01                                cmp     al,[bx+di]              ; Has it reached final intensity?
273F:319B  74 03                                je      loc_661                 ; Jump if equal
273F:319D  80 00 01                             add     byte ptr [bx+si],1      ; Increment the intensity
273F:31A0                       loc_661:
273F:31A0  83 C3 01                             add     bx,1
273F:31A3  E2 F2                                loop    locloop_660             ; Loop if cx > 0

273F:31A5  E8 FFB1                              call    wait_for_video_port     ; (3159)
273F:31A8  56                                   push    si
273F:31A9  32 C0                                xor     al,al                   ; Zero register
273F:31AB  BA 03C8                              mov     dx,3C8h
273F:31AE  EE                                   out     dx,al                   ; port 3C8h, VGA pel address
273F:31AF  42                                   inc     dx
; Output the first half ot the new set of palette entries
273F:31B0 BE 0DB5                              mov     si,0DB5h                ; (273F:0DB5=0C7h)
273F:31B3  B9 0156                              mov     cx,156h
273F:31B6                       locloop_662:                                    ;  xref 273F:31B8
273F:31B6  AC                                   lodsb                           ; String [si] to al
273F:31B7  EE                                   out     dx,al                   ; port 3C9h, VGA pel data reg
273F:31B8  E2 FC                                loop    locloop_662             ; Loop if cx > 0

273F:31BA  E8 FF9C                              call    wait_for_video_port     ; (3159)
273F:31BD  B0 72                                mov     al,72h                  ; 'r'
273F:31BF  BA 03C8                              mov     dx,3C8h
273F:31C2  EE                                   out     dx,al                   ; port 3C8h, VGA pel address
273F:31C3  42                                   inc     dx

; Output the second half ot the new set of palette entries
273F:31C4 BE 0F0B                              mov     si, offset processed_vga_palette + 156h
273F:31C7  B9 0156                              mov     cx,156h
273F:31CA                       locloop_663:                                    ;  xref 273F:31CC
273F:31CA  AC                                   lodsb                           ; String [si] to al
273F:31CB  EE                                   out     dx,al                   ; port 3C9h, VGA pel data reg
273F:31CC  E2 FC                                loop    locloop_663             ; Loop if cx > 0

; Loop for remaining increments of fade-in sequence
273F:31CE  5E                                   pop     si
273F:31CF  59                                   pop     cx
273F:31D0  E2 BF                                loop    locloop_659             ; Loop if cx > 0

273F:31D2  C3                                   retn
                                vga_fade_in     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:312B, 3140, 31A5, 31BA, 3C86
                                ;��������������������������������������������������������������������������

                        vga_set_lower_palette   proc    near

273F:31D3  80 26 073C DF                        and     byte ptr ds:[73Ch],0DFh ; (273F:073C=17h)
273F:31D8  1E                                   push    ds
273F:31D9  07                                   pop     es
273F:31DA BA 1457                              mov     dx,offset unprocessed_vga_palette
273F:31DD  B8 1012                              mov     ax,1012h
273F:31E0  BB 0000                              mov     bx,0
273F:31E3  B9 00E4                              mov     cx,0E4h
273F:31E6  CD 10                                int     10h                     ; Video display   ah=functn 10h
                                                                                ;  set cx color registers from
                                                                                ;   ptr es:dx, bx=first reg
273F:31E8  C3                                   retn

                        vga_set_lower_palette   endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:312B, 3140, 31A5, 31BA, 3C86
                                ;��������������������������������������������������������������������������

                          vga_empty_palette     proc    near

273F:31E9  80 0E 073C 20                        or      byte ptr ds:[73Ch],20h
273F:31EE  1E                                   push    ds
273F:31EF  07                                   pop     es
273F:31F0 BF 0DB5                              mov     di, offset processed_vga_palette
273F:31F3  B9 0156                              mov     cx,156h
273F:31F6  33 C0                                xor     ax,ax                   ; Zero register
273F:31F8  F3/ AB                               rep     stosw                   ; Rep when cx >0 Store ax to es:[di]
273F:31FA BA 0DB5                              mov     dx, offset processed_vga_palette
273F:31FD  B8 1012                              mov     ax,1012h
273F:3200  BB 0000                              mov     bx,0
273F:3203  B9 00E4                              mov     cx,0E4h
273F:3206  CD 10                                int     10h                     ; Video display   ah=functn 10h
                                                                                ;  set cx color registers from
                                                                                ;   ptr es:dx, bx=first reg
273F:3208  C3                                   retn

                          vga_empty_palette     endp

                     vga_display2_character     proc    near
273F:3209  1E                                   push    ds
273F:320A  57                                   push    di
273F:320B  56                                   push    si
273F:320C  98                                   cbw                             ; Convrt byte to word
273F:320D  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:320F  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:3211  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:3213  8B F0                                mov     si,ax
273F:3215  8B 16 4CF0                           mov     dx, font2_segment
273F:3219  8E DA                                mov     ds,dx
273F:321B  AC                                   lodsb                           ; String [si] to al
273F:321C  32 E4                                xor     ah,ah                   ; Zero register
273F:321E  50                                   push    ax
273F:321F  B2 07                                mov     dl,7
273F:3221                       loc_664:                                        ;  xref 273F:3239
273F:3221  AC                                   lodsb                           ; String [si] to al
273F:3222  B9 0008                              mov     cx,8

273F:3225                       locloop_665:                                    ;  xref 273F:322F
273F:3225  D0 E0                                shl     al,1                    ; Shift w/zeros fill
273F:3227  73 03                                jnc     loc_666                 ; Jump if carry=0
273F:3229  26: 88 3D                            mov     es:[di],bh
273F:322C                       loc_666:                                        ;  xref 273F:3227
273F:322C  83 C7 01                             add     di,1
273F:322F  E2 F4                                loop    locloop_665             ; Loop if cx > 0

273F:3231  03 FD                                add     di,bp
273F:3233  83 EF 08                             sub     di,8
273F:3236  80 EA 01                             sub     dl,1
273F:3239  75 E6                                jnz     loc_664                 ; Jump if not zero
273F:323B  58                                   pop     ax
273F:323C  5E                                   pop     si
273F:323D  5F                                   pop     di
273F:323E  1F                                   pop     ds
273F:323F  03 F8                                add     di,ax
273F:3241  C3                                   retn
                     vga_display2_character     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                            vga_talk_dialog     proc    near
273F:3242  1E                                   push    ds
273F:3243  A1 11C0                              mov     ax, talk_dialog_top
273F:3246  50                                   push    ax
273F:3247  05 0008                              add     ax, 8
273F:324A  8B D0                                mov     dx, ax
273F:324C  D1 E2                                shl     dx, 1                   ; Shift w/zeros fill
273F:324E  D1 E2                                shl     dx, 1                   ; Shift w/zeros fill
273F:3250  03 C2                                add     ax, dx
273F:3252  B1 06                                mov     cl, 6
273F:3254  D3 E0                                shl     ax, cl                  ; Shift w/zeros fill
273F:3256  8B F8                                mov     di, ax
273F:3258  03 3E 11C2                           add     di, talk_dialog_left
273F:325C  B8 0007                              mov     ax, 7
273F:325F  F7 26 B9FD                           mul     data_1122               ; dx:ax = data * ax
273F:3263  05 0013                              add     ax, 19                  ; Number of lines?
273F:3266  8B D0                                mov     dx, ax
273F:3268  A1 4CE4                              mov     ax, data_segment2
273F:326B  8E C0                                mov     es, ax
273F:326D  A1 4CE6                              mov     ax, talk_dialog_buffer
273F:3270  8E D8                                mov     ds, ax
273F:3272 BE 0000                              mov     si, 0
273F:3275                       loc_667:                                        ;  xref 273F:3281
273F:3275  B9 0040                              mov     cx, TALK_DIALOG_WIDTH/2
273F:3278  F3/ A5                               rep     movsw                   ; Rep when cx >0 Mov [si] to es:[di]
273F:327A  81 C7 00C0                           add     di, FULL_SCREEN_WIDTH-TALK_DIALOG_WIDTH 
273F:327E  80 EA 01                             sub     dl, 1
273F:3281  75 F2                                jnz     loc_667                 ; Jump if not zero
273F:3283  5B                                   pop     bx
273F:3284  1F                                   pop     ds
273F:3285  8B 16 11C6                           mov     dx, talk_dialog_height
273F:3289  A1 11C2                              mov     ax, talk_dialog_left
273F:328C  BD 0080                              mov     bp, 80h
273F:328F  B1 01                                mov     cl, 1
273F:3291  E8 D8FB                              call    sub_22                  ; Specify non-redraw area
273F:3294  C3                                   retn
                            vga_talk_dialog     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; Called by the table entry [draw_dialog_proc]
                                ;��������������������������������������������������������������������������
; DL = number of lines?
;???? Not sure about this method.

                               vga_draw_dialog  proc    near

273F:3295  32 E4                                xor     ah,ah                   ; Zero register
273F:3297  32 FF                                xor     bh,bh                   ; Zero register
273F:3299  32 ED                                xor     ch,ch                   ; Zero register
273F:329B  32 F6                                xor     dh,dh                   ; Zero register
273F:329D  52                                   push    dx
273F:329E  51                                   push    cx
273F:329F  53                                   push    bx
273F:32A0  50                                   push    ax
273F:32A1  8A EA                                mov     ch,dl
273F:32A3  93                                   xchg    bx,ax
273F:32A4  32 E4                                xor     ah,ah                   ; Zero register
273F:32A6  BA 0A00                              mov     dx,0A00h
273F:32A9  F7 E2                                mul     dx                      ; dx:ax = reg * ax
273F:32AB  2D 03C0                              sub     ax,3C0h
273F:32AE  3D 0640                              cmp     ax,640h
273F:32B1  75 03                                jne     loc_668                 ; Jump if not equal
273F:32B3  05 03C0                              add     ax,3C0h
273F:32B6                       loc_668:                                        ;  xref 273F:32B1
273F:32B6  32 FF                                xor     bh,bh                   ; Zero register
273F:32B8  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
273F:32BA  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
273F:32BC  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
273F:32BE  03 C3                                add     ax,bx
273F:32C0  2D 0003                              sub     ax,3
273F:32C3  8B F8                                mov     di,ax
273F:32C5  A1 4CE4                              mov     ax, data_segment2
273F:32C8  8E C0                                mov     es,ax
273F:32CA  8A D9                                mov     bl,cl
273F:32CC  32 FF                                xor     bh,bh                   ; Zero register
273F:32CE  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
273F:32D0  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
273F:32D2  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
273F:32D4  83 C3 04                             add     bx,4
273F:32D7  8A D5                                mov     dl,ch
273F:32D9  32 F6                                xor     dh,dh                   ; Zero register
273F:32DB  8B C2                                mov     ax,dx
273F:32DD  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
273F:32DF  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
273F:32E1  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
273F:32E3  F7 C5 FFFF                           test    bp,0FFFFh
273F:32E7  75 02                                jnz     loc_669                 ; Jump if not zero
273F:32E9  2B D0                                sub     dx,ax
273F:32EB                       loc_669:                                        ;  xref 273F:32E7
273F:32EB  83 C2 05                             add     dx,5
273F:32EE  E8 001A                              call    draw_dialog_frame
273F:32F1  58                                   pop     ax
273F:32F2  2D 0001                              sub     ax,1
273F:32F5  5B                                   pop     bx
273F:32F6  83 EB 02                             sub     bx,2
273F:32F9  73 02                                jnc     loc_670                 ; Jump if carry=0
273F:32FB  33 DB                                xor     bx,bx                   ; Zero register
273F:32FD                       loc_670:                                        ;  xref 273F:32F9
273F:32FD  5D                                   pop     bp
273F:32FE  83 C5 04                             add     bp,4
273F:3301  5A                                   pop     dx
273F:3302  83 C2 04                             add     dx,4
273F:3305  B1 81                                mov     cl,81h
273F:3307  E8 D879                              call    sub_21                  ; (0B83)
273F:330A  C3                                   retn

                               vga_draw_menu    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:32EE, 339D
                                ;��������������������������������������������������������������������������

273F:330B                draw_dialog_frame      proc    near
273F:330B  1E                                   push    ds
273F:330C  B8 44EA                              mov     ax, dialog_segment
273F:330F  8E D8                                mov     ds,ax
273F:3311  33 F6                                xor     si,si                   ; Zero register
273F:3313  BD 0009                              mov     bp,9
273F:3316                       loc_671:                                        ;  xref 273F:3331
273F:3316  57                                   push    di
273F:3317  B9 0007                              mov     cx,7
273F:331A  F3/ A4                               rep     movsb                   ; Rep when cx >0 Mov [si] to es:[di]
273F:331C  AC                                   lodsb                           ; String [si] to al
273F:331D  8B CB                                mov     cx,bx
273F:331F  83 C1 02                             add     cx,2
273F:3322  F3/ AA                               rep     stosb                   ; Rep when cx >0 Store al to es:[di]
273F:3324  B9 0009                              mov     cx,9
273F:3327  F3/ A4                               rep     movsb                   ; Rep when cx >0 Mov [si] to es:[di]
273F:3329  5F                                   pop     di
273F:332A 81 C7 0140                           add     di, SCREEN_WIDTH
273F:332E  83 ED 01                             sub     bp,1
273F:3331  75 E3                                jnz     loc_671                 ; Jump if not zero
273F:3333                       loc_672:                                        ;  xref 273F:334D
273F:3333  56                                   push    si
273F:3334  57                                   push    di
273F:3335  B9 0009                              mov     cx,9
273F:3338  F3/ A4                               rep     movsb                   ; Rep when cx >0 Mov [si] to es:[di]
273F:333A  AC                                   lodsb                           ; String [si] to al
273F:333B  8B CB                                mov     cx,bx
273F:333D  F3/ AA                               rep     stosb                   ; Rep when cx >0 Store al to es:[di]
273F:333F  B9 0009                              mov     cx,9
273F:3342  F3/ A4                               rep     movsb                   ; Rep when cx >0 Mov [si] to es:[di]
273F:3344  5F                                   pop     di
273F:3345  5E                                   pop     si
273F:3346 �81 C7 0140                           add     di, SCREEN_WIDTH
273F:334A  83 EA 01                             sub     dx,1
273F:334D  75 E4                                jnz     loc_672                 ; Jump if not zero
273F:334F  83 C6 13                             add     si,13h
273F:3352  BD 0009                              mov     bp,9
273F:3355                       loc_673:                                        ;  xref 273F:3370
273F:3355  57                                   push    di
273F:3356  B9 0009                              mov     cx,9
273F:3359  F3/ A4                               rep     movsb                   ; Rep when cx >0 Mov [si] to es:[di]
273F:335B  AC                                   lodsb                           ; String [si] to al
273F:335C  8B CB                                mov     cx,bx
273F:335E  83 C1 01                             add     cx,1
273F:3361  F3/ AA                               rep     stosb                   ; Rep when cx >0 Store al to es:[di]
273F:3363  B9 0008                              mov     cx,8
273F:3366  F3/ A4                               rep     movsb                   ; Rep when cx >0 Mov [si] to es:[di]
273F:3368  5F                                   pop     di
273F:3369  81 C7 0140                           add     di, SCREEN_WIDTH
273F:336D  83 ED 01                             sub     bp,1
273F:3370  75 E3                                jnz     loc_673                 ; Jump if not zero
273F:3372  1F                                   pop     ds
273F:3373  C3                                   retn

                         draw_dialog_frame      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:3374  32 FF                                xor     bh, bh
273F:3376  32 F6                                xor     dh, dh
273F:3378  BF 62C0                              mov     di, 62C0h
273F:337B  B9 004E                              mov     cx, 4Eh
273F:337E  8B C2                                mov     ax, dx
273F:3380  2D 0001                              sub     ax, 1
273F:3383  74 0C                                jz      loc_675                 ; Jump if zero
273F:3385  81 EF 0A00                           sub     di,0A00h
273F:3389  83 E9 08                             sub     cx,8
273F:338C  80 C2 01                             add     dl,1
273F:338F  EB EF                                jmp     short loc_674           ; (3380)
273F:3391                       loc_675:                                        ;  xref 273F:3383
273F:3391  51                                   push    cx
273F:3392  B1 03                                mov     cl,3
273F:3394  D3 E3                                shl     bx,cl                   ; Shift w/zeros fill
273F:3396  D3 E2                                shl     dx,cl                   ; Shift w/zeros fill
273F:3398  83 EB 01                             sub     bx,1
273F:339B  53                                   push    bx
273F:339C  52                                   push    dx
273F:339D  E8 FF6B                              call    draw_dialog_frame
273F:33A0  33 C0                                xor     ax,ax                   ; Zero register
273F:33A2  5A                                   pop     dx
273F:33A3  5D                                   pop     bp
273F:33A4  5B                                   pop     bx
273F:33A5  83 EB 08                             sub     bx,8
273F:33A8  83 C5 12                             add     bp,12h
273F:33AB  83 C2 14                             add     dx,14h
273F:33AE  B1 81                                mov     cl,81h
273F:33B0  E9 D7DC                              jmp     loc_93                  ; (0B8F)

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                       vga_draw_talk_dialog     proc    near
273F:33B3  8B C5                                mov     ax,bp
273F:33B5  D1 E5                                shl     bp,1                    ; Shift w/zeros fill
273F:33B7  D1 E5                                shl     bp,1                    ; Shift w/zeros fill
273F:33B9  D1 E5                                shl     bp,1                    ; Shift w/zeros fill
273F:33BB  2B E8                                sub     bp,ax
273F:33BD  83 C5 0D                             add     bp,0Dh
273F:33C0  89 2E 11C6                           mov     talk_dialog_height, bp
273F:33C4  83 06 11C6 12                        add     talk_dialog_height, 12h
273F:33C9  C7 06 11C4 0080                      mov     talk_dialog_width, TALK_DIALOG_WIDTH
273F:33CF  1E                                   push    ds
273F:33D0  B8 44FF                              mov     ax, vga_talk_frame_seg
273F:33D3  8E D8                                mov     ds,ax
273F:33D5  33 F6                                xor     si,si                   ; Zero register

273F:33D7  BA 0003                              mov     dx,3                    ; First three lines

273F:33DA                       loc_676:
273F:33DA  A5                                   movsw                           ; Mov [si] to es:[di]
273F:33DB  AC                                   lodsb                           ; String [si] to al
273F:33DC  B9 007B                              mov     cx,7Bh
273F:33DF  F3/ AA                               rep     stosb                   ; Rep when cx >0 Store al to es:[di]
273F:33E1  A5                                   movsw                           ; Mov [si] to es:[di]
273F:33E2  A4                                   movsb                           ; Mov [si] to es:[di]
273F:33E3  83 EA 01                             sub     dx,1
273F:33E6  75 F2                                jnz     loc_676                 ; Jump if not zero
273F:33E8                       loc_677:                                        ;  xref 273F:33F7
273F:33E8  56                                   push    si
273F:33E9  A5                                   movsw                           ; Mov [si] to es:[di]
273F:33EA  A4                                   movsb                           ; Mov [si] to es:[di]
273F:33EB  AC                                   lodsb                           ; String [si] to al
273F:33EC  B9 007A                              mov     cx,7Ah
273F:33EF  F3/ AA                               rep     stosb                   ; Rep when cx >0 Store al to es:[di]
273F:33F1  A5                                   movsw                           ; Mov [si] to es:[di]
273F:33F2  A4                                   movsb                           ; Mov [si] to es:[di]
273F:33F3  5E                                   pop     si
273F:33F4  83 ED 01                             sub     bp,1
273F:33F7  75 EF                                jnz     loc_677                 ; Jump if not zero
273F:33F9  83 C6 07                             add     si,7
273F:33FC  BA 0003                              mov     dx,3
273F:33FF                       loc_678:                                        ;  xref 273F:340B
273F:33FF  A5                                   movsw                           ; Mov [si] to es:[di]
273F:3400  A4                                   movsb                           ; Mov [si] to es:[di]
273F:3401  AC                                   lodsb                           ; String [si] to al
273F:3402  B9 007B                              mov     cx,7Bh
273F:3405  F3/ AA                               rep     stosb                   ; Rep when cx >0 Store al to es:[di]
273F:3407  A5                                   movsw                           ; Mov [si] to es:[di]
273F:3408  83 EA 01                             sub     dx,1
273F:340B  75 F2                                jnz     loc_678                 ; Jump if not zero
273F:340D  1F                                   pop     ds
273F:340E  C3                                   retn
                       vga_draw_talk_dialog     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                  vga_show_compressed_screen    proc    near

273F:340F BB 07DC                              mov     bx, offset display_mask
273F:3412  A1 4CE4                              mov     ax, data_segment2
273F:3415  8E C0                                mov     es,ax
273F:3417 BF 0A00                              mov     di,data_1463e           ; (FF12:0A00=0)
273F:341A  8B 16 4CE0                           mov     dx, current_room_segment
273F:341E  33 F6                                xor     si,si                   ; Zero register
273F:3420  B5 06                                mov     ch,6
273F:3422                       loc_679:                                        ;  xref 273F:3465
273F:3422  B1 0A                                mov     cl, NUM_HORIZ_RECTS
273F:3424                       loc_680:                                        ; Screen horizontal loop
273F:3424  F6 07 80                             test    byte ptr [bx],80h       ; Does rect need displaying?
273F:3427  74 23                                jz      loc_683                 ; If not then skip
273F:3429  80 27 7F                             and     byte ptr [bx],7Fh       ; Clear displayed bit
273F:342C  80 0F 01                             or      byte ptr [bx],1
273F:342F  57                                   push    di
273F:3430  56                                   push    si
273F:3431  1E                                   push    ds
273F:3432  8E DA                                mov     ds,dx

273F:3434  B6 20                                mov     dh, RECT_SIZE
273F:3436                       loc_681:                                        ; Vertical loop
273F:3436  B2 10                                mov     dl, RECT_SIZE/2
273F:3438                       loc_682:                                        ; Horizontal loop
273F:3438  A5                                   movsw                           ; Mov [si] to es:[di]
273F:3439  80 EA 01                             sub     dl,1
273F:343C  75 FA                                jnz     loc_682                 ; End of horizontal loop

273F:343E  81 C7 0120                           add     di, SCREEN_WIDTH-RECT_SIZE
273F:3442  80 EE 01                             sub     dh,1
273F:3445  75 EF                                jnz     loc_681                 ; End of vertical loop

273F:3447  8C DA                                mov     dx,ds
273F:3449  1F                                   pop     ds
273F:344A  5E                                   pop     si
273F:344B  5F                                   pop     di
273F:344C                       loc_683:                                        ;  xref 273F:3427
273F:344C  83 C3 01                             add     bx,1
273F:344F  83 C7 20                             add     di, RECT_SIZE           ; Next horizontal rect
273F:3452  81 C6 0400                           add     si, RECT_SIZE*RECT_SIZE ; Move to data for next src rect
273F:3456  80 E9 01                             sub     cl,1
273F:3459  75 C9                                jnz     loc_680                 ; Jump if not zero

273F:345B  83 C3 08                             add     bx,8
273F:345E 81 C7 26C0                           add     di,26C0h                ; (273F:26C0=0EDh)
273F:3462  80 ED 01                             sub     ch,1
273F:3465  75 BB                                jnz     loc_679                 ; Jump if not zero
273F:3467  80 0E 11D0 30                        or      menubar_state, 30h ; (273F:11D0=56h) '0'
273F:346C  C3                                   retn

                  vga_show_compressed_screen    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������
                  
273F:346D BE 0992                              mov     si, offset rects_layer_0
273F:3470  83 C6 4C                             add     si,4Ch
273F:3473  C7 06 0DA6 0D92                      mov     rect_x_start, room_layers
273F:3479  C7 06 0DAA 0D96                      mov     num_horiz_rects, 0D96h
273F:347F  B9 0003                              mov     cx,3
273F:3482                       loc_684:                                        ;  xref 273F:3523
273F:3482 �51                                   push    cx
273F:3483 BB 0100                              mov     bx,100h                 ; (273F:0100=6)
273F:3486                       loc_685:                                        ;  xref 273F:3509
273F:3486 �51                                   push    cx
273F:3487  56                                   push    si
273F:3488  8B 3E 0DA6                           mov     di, rect_x_start
273F:348C  8B 05                                mov     ax,[di]
273F:348E  8E C0                                mov     es,ax
273F:3490  8B 45 02                             mov     ax,[di+2]
273F:3493  A3 0DA8                              mov     rect_y_end, ax
273F:3496  8B 3E 0DAA                           mov     di, num_horiz_rects
273F:349A  8B 05                                mov     ax,[di]
273F:349C  8B D0                                mov     dx,ax
273F:349E  8B 45 02                             mov     ax,[di+2]
273F:34A1  A3 0DAC                              mov     word ptr ds:[0DACh],ax  ; (273F:0DAC=0EB09h)
273F:34A4  B5 06                                mov     ch,6
273F:34A6                       loc_686:                                        ;  xref 273F:34F8
273F:34A6  B1 0A                                mov     cl,0Ah
273F:34A8                       loc_687:                                        ;  xref 273F:34F0
273F:34A8  F6 04 80                             test    byte ptr [si],80h
273F:34AB  75 3D                                jnz     loc_690                 ; Jump if not zero
273F:34AD  F6 00 80                             test    byte ptr [bx+si],80h
273F:34B0  75 38                                jnz     loc_690                 ; Jump if not zero
273F:34B2  56                                   push    si
273F:34B3  52                                   push    dx
273F:34B4  8A 04                                mov     al,[si]
273F:34B6  32 E4                                xor     ah,ah                   ; Zero register
273F:34B8  F7 26 0DA8                           mul     rect_y_end
273F:34BC  8B F8                                mov     di,ax
273F:34BE  8A 00                                mov     al,[bx+si]
273F:34C0  32 E4                                xor     ah,ah                   ; Zero register
273F:34C2  F7 26 0DAC                           mul     word ptr ds:[0DACh]     ; (273F:0DAC=0EB09h) dx:ax = data * ax
273F:34C6  8B F0                                mov     si,ax
273F:34C8  5A                                   pop     dx
273F:34C9  1E                                   push    ds
273F:34CA  51                                   push    cx
273F:34CB  53                                   push    bx
273F:34CC  8E DA                                mov     ds,dx
273F:34CE  B9 0400                              mov     cx,400h
273F:34D1  8B DE                                mov     bx,si
273F:34D3  81 C3 0200                           add     bx,200h

273F:34D7                       locloop_688:                                    ;  xref 273F:34E2
273F:34D7  AC                                   lodsb                           ; String [si] to al
273F:34D8  0A C0                                or      al,al                   ; Zero ?
273F:34DA  74 03                                jz      loc_689                 ; Jump if zero
273F:34DC  26: 88 05                            mov     es:[di],al
273F:34DF                       loc_689:                                        ;  xref 273F:34DA
273F:34DF  83 C7 01                             add     di,1
273F:34E2  E2 F3                                loop    locloop_688             ; Loop if cx > 0

273F:34E4  5B                                   pop     bx
273F:34E5  59                                   pop     cx
273F:34E6  8C DA                                mov     dx,ds
273F:34E8  1F                                   pop     ds
273F:34E9  5E                                   pop     si
273F:34EA                       loc_690:                                        ;  xref 273F:34AB, 34B0
273F:34EA  83 C6 01                             add     si,1
273F:34ED  80 E9 01                             sub     cl,1
273F:34F0  75 B6                                jnz     loc_687                 ; Jump if not zero
273F:34F2  83 C6 08                             add     si,8
273F:34F5  80 ED 01                             sub     ch,1
273F:34F8  75 AC                                jnz     loc_686                 ; Jump if not zero
273F:34FA  83 06 0DAA 04                        add     num_horiz_rects, 4
273F:34FF  81 C3 0100                           add     bx,100h
273F:3503  5E                                   pop     si
273F:3504  59                                   pop     cx
273F:3505  E2 02                                loop    locloop_691             ; Loop if cx > 0

273F:3507  EB 03                                jmp     short loc_692           ; (350C)

273F:3509                       locloop_691:                                    ;  xref 273F:3505
273F:3509  E9 FF7A                              jmp     loc_685                 ; (3486)
273F:350C                       loc_692:                                        ;  xref 273F:3507
273F:350C  59                                   pop     cx
273F:350D  E2 02                                loop    locloop_693             ; Loop if cx > 0

273F:350F  EB 15                                jmp     short loc_ret_694       ; (3526)

273F:3511                       locloop_693:                                    ;  xref 273F:350D
273F:3511  81 C6 0100                           add     si,100h
273F:3515  83 06 0DA6 04                        add     rect_x_start, 4
273F:351A  A1 0DA6                              mov     ax, rect_x_start
273F:351D  05 0004                              add     ax,4
273F:3520  A3 0DAA                              mov     num_horiz_rects, ax
273F:3523  E9 FF5C                              jmp     loc_684                 ; (3482)

273F:3526                       loc_ret_694:                                    ;  xref 273F:350F
273F:3526  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;  es:di = pointer to decoded screen
                                ;     bx = buffer to store status of each screen rectangle
                                ;     cl = layer number (0 to 3)
                                ;��������������������������������������������������������������������������

                         vga_segment_screen     proc    near
273F:3527  88 0E 0DA5                           mov     current_layer, cl
273F:352B  C6 06 0DA4 00                        mov     num_occupied_rects, 0
273F:3530  C7 06 0DA2 0400                      mov     rectangle_size, RECTANGLE_SIZE
273F:3536  33 F6                                xor     si, si                  ; Zero register
273F:3538  B5 06                                mov     ch, NUM_VERT_RECTS
273F:353A                       loc_695:
273F:353A  B1 0A                                mov     cl, NUM_HORIZ_RECTS
273F:353C                       loc_696:
273F:353C  1E                                   push    ds
273F:353D  51                                   push    cx
273F:353E  56                                   push    si
273F:353F  57                                   push    di
273F:3540  A1 4CE4                              mov     ax, data_segment2
273F:3543  8E D8                                mov     ds,ax
273F:3545  E8 003A                              call    copy_rectangle
273F:3548  5F                                   pop     di
273F:3549  5E                                   pop     si
273F:354A  59                                   pop     cx
273F:354B  1F                                   pop     ds
273F:354C  F6 06 0DA5 FF                        test    current_layer, 0FFh     ; Background layer?
273F:3551  74 09                                jz      loc_697                 ; If yes, ignore empty check
273F:3553  0B D2                                or      dx,dx                   ; Was rectangle non-empty?
273F:3555  75 05                                jnz     loc_697                 ; If yes, then jump
273F:3557  C6 07 FF                             mov     byte ptr [bx], 0FFh     ; Flag rect as empty
273F:355A  EB 0E                                jmp     short loc_698
273F:355C                       loc_697:
273F:355C  03 3E 0DA2                           add     di, rectangle_size
273F:3560  A0 0DA4                              mov     al, num_occupied_rects
273F:3563  88 07                                mov     [bx], al
273F:3565  80 06 0DA4 01                        add     num_occupied_rects, 1
273F:356A                       loc_698:                                        ;  xref 273F:355A
273F:356A  83 C6 20                             add     si, RECT_SIZE           ; Move to next src rect
273F:356D  83 C3 01                             add     bx, 1
273F:3570  80 E9 01                             sub     cl, 1
273F:3573  75 C7                                jnz     loc_696                 ; Loop for horiz rects
273F:3575 �81 C6 26C0                           add     si, (RECT_SIZE-1) * SCREEN_WIDTH
273F:3579  83 C3 08                             add     bx, 8
273F:357C  80 ED 01                             sub     ch, 1
273F:357F  75 B9                                jnz     loc_695                 ; Loop for vert rects
273F:3581  C3                                   retn
                         vga_segment_screen     endp
                             
                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:3545
                                ;��������������������������������������������������������������������������

273F:3582               copy_rectangle          proc    near
273F:3582  33 D2                                xor     dx,dx                   ; Zero register
273F:3584  B9 0020                              mov     cx, 32

273F:3587                       locloop_699:                                    ;  xref 273F:3596
273F:3587  51                                   push    cx
273F:3588  B9 0010                              mov     cx, 32/2

273F:358B                       locloop_700:                                    ; Horizontal loop
273F:358B  AD                                   lodsw
273F:358C  0B D0                                or      dx, ax
273F:358E  AB                                   stosw                           ; Store ax to es:[di]
273F:358F  E2 FA                                loop    locloop_700             ; Loop if cx > 0

273F:3591  81 C6 0120                           add     si, 320 - 32            ; Move to next line
273F:3595  59                                   pop     cx
273F:3596  E2 EF                                loop    locloop_699             ; Vertical loop

273F:3598  C3                                   retn
                        copy_rectangle          endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; ax = Y rect, dx = x rect, bp = current layer num
                                ; bx = rect mapping index
                                ;��������������������������������������������������������������������������

                               vga_add_rect     proc    near
273F:3599  8B CD                                mov     cx, bp
273F:359B                       locloop_701:                                    ;  xref 273F:35A7
273F:359B  80 39 FE                             cmp     byte ptr [bx+di],0FEh
273F:359E  72 0A                                jb      loc_702                 ; Jump if below
273F:35A0 81 C7 0100                           add     di, 100h
273F:35A4  83 C6 04                             add     si, 4
273F:35A7  E2 F2                                loop    locloop_701             ; Loop if cx > 0

273F:35A9  C3                                   retn
273F:35AA                       loc_702:                                        ;  xref 273F:359E
273F:35AA  1E                                   push    ds
273F:35AB  52                                   push    dx
273F:35AC  8B D0                                mov     dx, ax                  ; dx = y rect
273F:35AE  D1 E0                                shl     ax, 1                   ; ax=y*2
273F:35B0  D1 E0                                shl     ax, 1                   ; ax=y*4
273F:35B2  03 D0                                add     dx, ax                  ; dx=y*5
273F:35B4  B1 0B                                mov     cl, 11
273F:35B6  D3 E2                                shl     dx,cl                   ; dx=y*(32*320)
273F:35B8  81 C2 0A00                           add     dx, MENUBAR_BLOCK_SIZE  ; dx =Y start on screen
273F:35BC  58                                   pop     ax                      ; ax = x rect
273F:35BD  B1 05                                mov     cl,5
273F:35BF  D3 E0                                shl     ax,cl                   ; ax=x*32
273F:35C1  03 D0                                add     dx,ax                   ; dx=start pos on screen

273F:35C3  8A 01                                mov     al, [bx+di]             ; get cell status
273F:35C5  8B 1E 4CE4                           mov     bx, data_segment2
273F:35C9  8E C3                                mov     es,bx
273F:35CB  8B 1C                                mov     bx, [si]                ; Get segment for layer to use
273F:35CD  8E DB                                mov     ds, bx                  ; ds = source data
273F:35CF  8B FA                                mov     di, dx                  ; es:di = destination
273F:35D1  32 E4                                xor     ah, ah
273F:35D3  B1 0A                                mov     cl, 10
273F:35D5  D3 E0                                shl     ax, cl                  ; ax=cell status*1024
273F:35D7  8B F0                                mov     si, ax

273F:35D9  B9 0020                              mov     cx, 32                  ; Number of rows

273F:35DC                       locloop_703:                                    ;  xref 273F:35F2
273F:35DC  51                                   push    cx
273F:35DD  B9 0020                              mov     cx, 32                  ; Set pixel width

273F:35E0                       locloop_704:
273F:35E0  AC                                   lodsb                           ; Get next pixel
273F:35E1  0A C0                                or      al,al                   ; Zero (transparent)?
273F:35E3  74 03                                jz      loc_705                 ; If yes, then skip
273F:35E5  26: 88 05                            mov     es:[di],al              ; Store pixel
273F:35E8                       loc_705:
273F:35E8  83 C7 01                             add     di,1                    ; Move to next dest pos
273F:35EB  E2 F3                                loop    locloop_704

273F:35ED 81 C7 0120                           add     di, 320 - 32            ; Move to next line of rect
273F:35F1  59                                   pop     cx
273F:35F2  E2 E8                                loop    locloop_703             ; Loop remaining lines

273F:35F4  1F                                   pop     ds
273F:35F5  C3                                   retn
                               vga_add_rect     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                      vga_display_character     proc    near

273F:35F6  57                                   push    di
273F:35F7  1E                                   push    ds
273F:35F8  53                                   push    bx
273F:35F9  51                                   push    cx
273F:35FA  56                                   push    si
273F:35FB  8E DD                                mov     ds,bp
273F:35FD  2C 20                                sub     al,20h                  ; ' '
273F:35FF  32 E4                                xor     ah,ah                   ; Zero register
273F:3601  B1 03                                mov     cl,3
273F:3603  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:3605  8B F0                                mov     si,ax
273F:3607  B3 08                                mov     bl,8                    ; Number of rows
273F:3609                       loc_706:
273F:3609  B9 0008                              mov     cx,8
273F:360C  AC                                   lodsb                           ; String [si] to al

273F:360D                       locloop_707:                                    ;  xref 273F:361C
273F:360D  D0 E0                                shl     al,1                    ; Shift w/zeros fill
273F:360F  72 05                                jc      loc_708                 ; Jump if carry Set
273F:3611  26: 88 15                            mov     es:[di],dl
273F:3614  EB 03                                jmp     short loc_709           ; (3619)
273F:3616                       loc_708:                                        ;  xref 273F:360F
273F:3616  26: 88 35                            mov     es:[di],dh
273F:3619                       loc_709:                                        ;  xref 273F:3614
273F:3619  83 C7 01                             add     di,1
273F:361C  E2 EF                                loop    locloop_707             ; Loop if cx > 0

273F:361E 81 C7 0138                           add     di,data_1445e           ; (A000:0138=0)
273F:3622  80 EB 01                             sub     bl,1
273F:3625  75 E2                                jnz     loc_706                 ; Jump if not zero
273F:3627  5E                                   pop     si
273F:3628  59                                   pop     cx
273F:3629  5B                                   pop     bx
273F:362A  1F                                   pop     ds
273F:362B  5F                                   pop     di
273F:362C  C3                                   retn

                      vga_display_character     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                              vga_menu_items    proc    near

273F:362D  B8 A000                              mov     ax, VGA_SEGMENT
273F:3630  8E C0                                mov     es,ax
273F:3632  B1 03                                mov     cl,3
273F:3634  BA 0048                              mov     dx,48h
273F:3637  8A 1E 334E                           mov     bl,byte ptr ds:[334Eh]  ; (273F:334E=0E4h)
273F:363B  32 FF                                xor     bh,bh                   ; Zero register
273F:363D  D3 E3                                shl     bx,cl                   ; Shift w/zeros fill
273F:363F  1E                                   push    ds
273F:3640  8B 36 335A                           mov     si,word ptr ds:[335Ah]  ; (273F:335A=0ACA4h)
273F:3644  8B FE                                mov     di,si
273F:3646  A1 3376                              mov     ax,data_265             ; (273F:3376=0F632h)
273F:3649  8E D8                                mov     ds,ax
273F:364B                       loc_710:                                        ;  xref 273F:365A
273F:364B  56                                   push    si
273F:364C  8B CB                                mov     cx,bx
273F:364E  F3/ A4                               rep     movsb                   ; Rep when cx >0 Mov [si] to es:[di]
273F:3650  5E                                   pop     si
273F:3651  81 C6 0140                           add     si,140h
273F:3655  8B FE                                mov     di,si
273F:3657  83 EA 01                             sub     dx,1
273F:365A  75 EF                                jnz     loc_710                 ; Jump if not zero
273F:365C  1F                                   pop     ds

273F:365D                       loc_ret_711:                                    ;  xref 273F:366F
273F:365D  C3                                   retn
273F:365E                       loc_712:                                        ;  xref 273F:36AD
273F:365E  80 26 11D0 FB                        and     menubar_state, 0FBh ; (273F:11D0=56h)
273F:3663  C3                                   retn

                              vga_menu_items    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called indircetly via calls to word ptr [show_cursor_proc]
                                ;��������������������������������������������������������������������������

                                  vga_cursor    proc    near

273F:3664  C7 06 F010 0000                      mov     timer_ticks, 0
273F:366A  F6 06 11D0 04                        test    menubar_state, 4   ; (273F:11D0=56h)
273F:366F  75 EC                                jnz     loc_ret_711             ; Jump if not zero
273F:3671  80 0E 11D0 04                        or      menubar_state, 4   ; (273F:11D0=56h)
273F:3676  8B 3E 11E8                           mov     di,word ptr ds:[11E8h]  ; (273F:11E8=14B9h)
273F:367A BE 11EE                              mov     si, offset data_641
273F:367D  8B 1E 11EA                           mov     bx,word ptr ds:[11EAh]  ; (273F:11EA=8B00h)
273F:3681  8B 16 11EC                           mov     dx,word ptr ds:[11ECh]  ; (273F:11EC=1B55h)
273F:3685  0B D2                                or      dx,dx                   ; Zero ?
273F:3687  74 1F                                jz      loc_714                 ; Jump if zero

273F:3689  B8 A000                              mov     ax, VGA_SEGMENT
273F:368C  8E C0                                mov     es,ax
273F:368E                       loc_713:                                        ;  xref 273F:36A0
273F:368E  56                                   push    si
273F:368F  57                                   push    di
273F:3690  8B CB                                mov     cx,bx
273F:3692  F3/ A4                               rep     movsb                   ; Rep when cx >0 Mov [si] to es:[di]
273F:3694  5F                                   pop     di
273F:3695  5E                                   pop     si
273F:3696  83 C6 10                             add     si,10h
273F:3699  81 C7 0140                           add     di,140h
273F:369D  83 EA 01                             sub     dx,1
273F:36A0  75 EC                                jnz     loc_713                 ; Jump if not zero
273F:36A2  C7 06 11EC 0000                      mov     word ptr ds:[11ECh],0   ; (273F:11EC=1B55h)
273F:36A8                       loc_714:                                        ;  xref 273F:3687
273F:36A8  F6 06 11D0 01                        test    menubar_state, 1   ; (273F:11D0=56h)
273F:36AD  75 AF                                jnz     loc_712                 ; Jump if not zero
273F:36AF  A1 11D8                              mov     ax, mouse_y2
273F:36B2  2B 06 11DF                           sub     ax, cursor_centroid
273F:36B6  73 02                                jnc     loc_715                 ; Jump if carry=0
273F:36B8  33 C0                                xor     ax,ax                   ; Zero register
273F:36BA                       loc_715:                                        ;  xref 273F:36B6
273F:36BA  BA 00C8                              mov     dx,0C8h
273F:36BD  2B D0                                sub     dx,ax
273F:36BF  83 FA 11                             cmp     dx,11h
273F:36C2  72 03                                jb      loc_716                 ; Jump if below
273F:36C4  BA 0010                              mov     dx,10h
273F:36C7                       loc_716:                                        ;  xref 273F:36C2
273F:36C7  89 16 11EC                           mov     word ptr ds:[11ECh],dx  ; (273F:11EC=1B55h)
273F:36CB  8B 36 11D6                           mov     si, mouse_x2
273F:36CF  2B 36 11DF                           sub     si, cursor_centroid
273F:36D3  73 02                                jnc     loc_717                 ; Jump if carry=0
273F:36D5  33 F6                                xor     si,si                   ; Zero register
273F:36D7                       loc_717:                                        ;  xref 273F:36D3
273F:36D7  BD 0140                              mov     bp,140h
273F:36DA  2B EE                                sub     bp,si
273F:36DC  83 FD 11                             cmp     bp,11h
273F:36DF  72 03                                jb      loc_718                 ; Jump if below
273F:36E1  BD 0010                              mov     bp,10h
273F:36E4                       loc_718:                                        ;  xref 273F:36DF
273F:36E4  89 2E 11EA                           mov     word ptr ds:[11EAh],bp  ; (273F:11EA=8B00h)
273F:36E8  8B C8                                mov     cx,ax
273F:36EA  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:36EC  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:36EE  03 C1                                add     ax,cx
273F:36F0  B1 06                                mov     cl,6
273F:36F2  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:36F4  03 F0                                add     si,ax
273F:36F6  89 36 11E8                           mov     word ptr ds:[11E8h],si  ; (273F:11E8=14B9h)
273F:36FA  1E                                   push    ds
273F:36FB  FF 36 4CF4                           push    cursors_segment
273F:36FF  FF 36 11E1                           push    cursor_index
273F:3703  1E                                   push    ds
273F:3704  07                                   pop     es
273F:3705  B8 A000                              mov     ax, VGA_SEGMENT
273F:3708  8E D8                                mov     ds,ax
273F:370A BF 11EE                              mov     di, offset data_641
273F:370D  56                                   push    si
273F:370E  52                                   push    dx
273F:370F                       loc_719:                                        ;  xref 273F:3721
273F:370F  56                                   push    si
273F:3710  57                                   push    di
273F:3711  8B CD                                mov     cx,bp
273F:3713  F3/ A4                               rep     movsb                   ; Rep when cx >0 Mov [si] to es:[di]
273F:3715  5F                                   pop     di
273F:3716  5E                                   pop     si
273F:3717 �81 C6 0140                           add     si,data_1451e           ; (B2DE:0140=0)
273F:371B  83 C7 10                             add     di,10h
273F:371E  83 EA 01                             sub     dx,1
273F:3721  75 EC                                jnz     loc_719                 ; Jump if not zero
273F:3723  1E                                   push    ds
273F:3724  07                                   pop     es

273F:3725  5A                                   pop     dx
273F:3726  5F                                   pop     di
273F:3727  58                                   pop     ax
273F:3728  86 E0                                xchg    ah,al
273F:372A  8B F0                                mov     si,ax
273F:372C  1F                                   pop     ds
273F:372D                       loc_720:                                        ;  xref 273F:374A
273F:372D  56                                   push    si
273F:372E  57                                   push    di
273F:372F  8B CD                                mov     cx,bp

273F:3731                       locloop_721:                                    ;  xref 273F:373C
273F:3731  AC                                   lodsb                           ; String [si] to al
273F:3732  0A C0                                or      al,al                   ; Zero ?
273F:3734  74 03                                jz      loc_722                 ; Jump if zero
273F:3736  26: 88 05                            mov     es:[di],al
273F:3739                       loc_722:                                        ;  xref 273F:3734
273F:3739  83 C7 01                             add     di,1
273F:373C  E2 F3                                loop    locloop_721             ; Loop if cx > 0

273F:373E  5F                                   pop     di
273F:373F  5E                                   pop     si
273F:3740  83 C6 10                             add     si,10h
273F:3743  81 C7 0140                           add     di,140h
273F:3747  83 EA 01                             sub     dx,1
273F:374A  75 E1                                jnz     loc_720                 ; Jump if not zero
273F:374C  1F                                   pop     ds
273F:374D  80 26 11D0 FB                        and     menubar_state, 0FBh ; (273F:11D0=56h)

273F:3752                       loc_ret_723:                                    ;  xref 273F:3758
273F:3752  C3                                   retn

                                  vga_cursor    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                             sub_unknown_1      proc    near

273F:3753  F6 06 11D0 01                        test    menubar_state, 1
273F:3758  75 F8                                jnz     loc_ret_723
273F:375A  1E                                   push    ds
273F:375B  8B 36 11E8                           mov     si,word ptr ds:[11E8h]
273F:375F  8B 1E 11EA                           mov     bx,word ptr ds:[11EAh]
273F:3763  8B 16 11EC                           mov     dx,word ptr ds:[11ECh]
273F:3767  0B D2                                or      dx,dx
273F:3769  74 51                                jz      loc_728
273F:376B  FF 36 4CF4                           push    cursors_segment
273F:376F  FF 36 11E1                           push    cursor_index
273F:3773  52                                   push    dx
273F:3774  56                                   push    si
273F:3775  1E                                   push    ds
273F:3776  07                                   pop     es
273F:3777  A1 4CE4                              mov     ax, data_segment2
273F:377A  8E D8                                mov     ds,ax
273F:377C BF 11EE                              mov     di,11EEh
273F:377F                       loc_724:
273F:377F  56                                   push    si
273F:3780  57                                   push    di
273F:3781  8B CB                                mov     cx,bx
273F:3783  F3/ A4                               rep     movsb                   ; Rep when cx >0 Mov [si] to es:[di]
273F:3785  5F                                   pop     di
273F:3786  5E                                   pop     si
273F:3787  83 C7 10                             add     di,10h
273F:378A 81 C6 0140                           add     si,data_1451e           ; (B2DE:0140=0)
273F:378E  83 EA 01                             sub     dx,1
273F:3791  75 EC                                jnz     loc_724                 ; Jump if not zero
273F:3793  1E                                   push    ds
273F:3794  07                                   pop     es
273F:3795  5F                                   pop     di
273F:3796  5A                                   pop     dx
273F:3797  58                                   pop     ax
273F:3798  86 E0                                xchg    ah,al
273F:379A  8B F0                                mov     si,ax
273F:379C  1F                                   pop     ds
273F:379D                       loc_725:                                        ;  xref 273F:37BA
273F:379D  57                                   push    di
273F:379E  56                                   push    si
273F:379F  8B CB                                mov     cx,bx

273F:37A1                       locloop_726:                                    ;  xref 273F:37AC
273F:37A1  AC                                   lodsb                           ; String [si] to al
273F:37A2  0A C0                                or      al,al                   ; Zero ?
273F:37A4  74 03                                jz      loc_727                 ; Jump if zero
273F:37A6  26: 88 05                            mov     es:[di],al
273F:37A9                       loc_727:                                        ;  xref 273F:37A4
273F:37A9  83 C7 01                             add     di,1
273F:37AC  E2 F3                                loop    locloop_726             ; Loop if cx > 0

273F:37AE  5E                                   pop     si
273F:37AF  5F                                   pop     di
273F:37B0  83 C6 10                             add     si,10h
273F:37B3 81 C7 0140                           add     di, SCREEN_WIDTH
273F:37B7  83 EA 01                             sub     dx,1
273F:37BA  75 E1                                jnz     loc_725                 ; Jump if not zero
273F:37BC                       loc_728:                                        ;  xref 273F:3769
273F:37BC  1F                                   pop     ds
273F:37BD  C3                                   retn

                             sub_unknown_1      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:30B7
                                ;��������������������������������������������������������������������������

273F:37BE                       sub_73          proc    near
273F:37BE  F6 06 11D0 01                        test    menubar_state, 1   ; (273F:11D0=56h)
273F:37C3  75 2C                                jnz     loc_ret_730             ; Jump if not zero
273F:37C5  A1 4CE4                              mov     ax, data_segment2
273F:37C8  8E C0                                mov     es,ax
273F:37CA  8B 3E 11E8                           mov     di,word ptr ds:[11E8h]  ; (273F:11E8=14B9h)
273F:37CE  8B 1E 11EA                           mov     bx,word ptr ds:[11EAh]  ; (273F:11EA=8B00h)
273F:37D2  8B 16 11EC                           mov     dx,word ptr ds:[11ECh]  ; (273F:11EC=1B55h)
273F:37D6  0B D2                                or      dx,dx                   ; Zero ?
273F:37D8  74 17                                jz      loc_ret_730             ; Jump if zero
273F:37DA BE 11EE                              mov     si,11EEh                ; (273F:11EE=3Bh)
273F:37DD                       loc_729:                                        ;  xref 273F:37EF
273F:37DD  57                                   push    di
273F:37DE  56                                   push    si
273F:37DF  8B CB                                mov     cx,bx
273F:37E1  F3/ A4                               rep     movsb                   ; Rep when cx >0 Mov [si] to es:[di]
273F:37E3  5E                                   pop     si
273F:37E4  5F                                   pop     di
273F:37E5  81 C7 0140                           add     di,140h
273F:37E9  83 C6 10                             add     si,10h
273F:37EC  83 EA 01                             sub     dx,1
273F:37EF  75 EC                                jnz     loc_729                 ; Jump if not zero

273F:37F1                       loc_ret_730:                                    ;  xref 273F:37C3, 37D8
273F:37F1  C3                                   retn
                                sub_73          endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                         vga_add_animation      proc    near
273F:37F2  2E: C7 06 1500 0000                  mov     word ptr cs:data_215,0  ; (273F:1500=0)
273F:37F9  C6 06 11B0 00                        mov     data_11b0, 0
273F:37FE  8A 6F 06                             mov     ch, [bx+ANIM_HEIGHT]    ; Get height
273F:3801  8A 4F 04                             mov     cl, [bx+ANIM_WIDTH]     ; Get width
273F:3804  8B 47 02                             mov     ax, [bx+ANIM_Y]         ; Get Y position
273F:3807  2D 0088                              sub     ax, 88h
273F:380A  73 16                                jnc     loc_731

273F:380C  8B D0                                mov     dx, ax                  ; Top clipping
273F:380E  02 D5                                add     dl, ch
273F:3810  73 15                                jnc     loc_ret_732             ; Jump if carry=0
273F:3812  74 13                                jz      loc_ret_732             ; Jump if zero
273F:3814  F7 D8                                neg     ax
273F:3816  2A E8                                sub     ch, al
273F:3818  F6 E1                                mul     cl                      ; ax = reg * al
273F:381A  D1 E8                                shr     ax, 1
273F:381C  03 F0                                add     si, ax
273F:381E  33 C0                                xor     ax, ax                  ; Zero register
273F:3820  EB 13                                jmp     short loc_734
273F:3822                       loc_731:                                        ;  xref 273F:380A
273F:3822  3D 00C0                              cmp     ax, 192                 ; Below bottom row?
273F:3825  72 01                                jb      loc_733

273F:3827                       loc_ret_732:                                    ;  xref 273F:3810, 3812
273F:3827  C3                                   retn
273F:3828                       loc_733:
273F:3828  8B D0                                mov     dx, ax                  ; Get start row
273F:382A  03 57 06                             add     dx, [bx+ANIM_HEIGHT]    ; Add number of rows
273F:382D  81 EA 00C0                           sub     dx, 192                 ; Bottom row > 192?
273F:3831  76 02                                jbe     loc_734
273F:3833  2A EA                                sub     ch, dl                  ; Yes, reduce height to fit
273F:3835                       loc_734:
273F:3835  51                                   push    cx
273F:3836  8B D0                                mov     dx, ax                  ; ax = line number, and
273F:3838  D1 E0                                shl     ax, 1                   ; will be * 320
273F:383A  D1 E0                                shl     ax, 1
273F:383C  03 D0                                add     dx, ax
273F:383E  B1 06                                mov     cl, 6
273F:3840  D3 E2                                shl     dx, cl
273F:3842  8B FA                                mov     di, dx                  ; di = start of line
273F:3844 �81 C7 0A00                           add     di, MENUBAR_BLOCK_SIZE  ; Compensate for menubar
273F:3848  59                                   pop     cx

273F:3849  8B 07                                mov     ax, [bx+ANIM_X]         ; Get start X position
273F:384B  2D 0080                              sub     ax, 80h
273F:384E  73 21                                jnc     loc_736                 ; Completely on-screen
273F:3850  8B D0                                mov     dx, ax
273F:3852  02 D1                                add     dl, cl
273F:3854  72 01                                jc      loc_735                 ; Jump if carry Set
273F:3856  C3                                   retn
273F:3857                       loc_735:                                        ;  xref 273F:3854
273F:3857  F7 D0                                not     ax
273F:3859  2A C8                                sub     cl, al
273F:385B  2E: A3 1500                          mov     word ptr cs:data_215, ax
273F:385F  C6 06 11B0 01                        mov     data_11b0, 1
273F:3864  8B 47 04                             mov     ax, [bx+ANIM_WIDTH]
273F:3867  D1 E8                                shr     ax, 1
273F:3869  2E: A3 1505                          mov     cs:data_218, ax
273F:386D  33 C0                                xor     ax, ax                  ; Zero register
273F:386F  EB 22                                jmp     short loc_738           ; (3893)
273F:3871                       loc_736:                                        ;  xref 273F:384E
273F:3871  3D 0140                              cmp     ax, SCREEN_WIDTH
273F:3874  72 01                                jb      loc_737                 ; Jump if below
273F:3876  C3                                   retn

273F:3877                       loc_737:                                        ;  xref 273F:3874
273F:3877  8B D0                                mov     dx, ax
273F:3879  03 57 04                             add     dx, [bx+ANIM_WIDTH]
273F:387C  81 EA 0140                           sub     dx, SCREEN_WIDTH
273F:3880  76 11                                jbe     loc_738                 ; Jump if below or =
273F:3882  2A CA                                sub     cl, dl
273F:3884  C6 06 11B0 01                        mov     data_11b0, 1

273F:3889  8B 57 04                             mov     dx, [bx+ANIM_WIDTH]
273F:388C  D1 EA                                shr     dx, 1
273F:388E  2E: 89 16 1505                       mov     cs:data_218, dx
273F:3893                       loc_738:                               
273F:3893  03 F8                                add     di, ax
273F:3895  8A 5F 28                             mov     bl, [bx+ANIM_START_COLOUR] ; Colour offset start
273F:3898  F6 06 11B0 FF                        test    data_11b0, 0FFh
273F:389D  75 47                                jnz     loc_743                   ; Jump if not zero
273F:389F  1E                                   push    ds
273F:38A0  06                                   push    es
273F:38A1  A1 4CE4                              mov     ax, data_segment2
273F:38A4  8E C0                                mov     es, ax
273F:38A6  1F                                   pop     ds
273F:38A7  8A D1                                mov     dl, cl
273F:38A9  8A CD                                mov     cl, ch
273F:38AB  32 ED                                xor     ch, ch                  ; Zero register
273F:38AD  32 F6                                xor     dh, dh                  ; Zero register
273F:38AF  D1 EA                                shr     dx, 1                   ; Divide by 2

; This seems to be the loop for applying an animation to the off-screen buffer
; cx = height, dx = width/2, es:di = dest, bl = starting colour offset
; ds:si = source - each byte consists of two pixels. An output pixel will
; be the starting colour offset + the nibble value of the source byte

273F:38B1                       locloop_739:                                    ;  xref 273F:38E2
273F:38B1  51                                   push    cx
273F:38B2  52                                   push    dx
273F:38B3  B1 04                                mov     cl, 4
273F:38B5  57                                   push    di
273F:38B6                       loc_740:                                        ;  xref 273F:38D9
273F:38B6  AC                                   lodsb                           ; String [si] to al
273F:38B7  8A E0                                mov     ah, al
273F:38B9  D2 EC                                shr     ah, cl                  ; Shift w/zeros fill
273F:38BB  25 0F0F                              and     ax, 0F0Fh
273F:38BE  0A E4                                or      ah,ah                   ; Zero ?
273F:38C0  74 05                                jz      loc_741                 ; Jump if zero
273F:38C2  02 E3                                add     ah,bl
273F:38C4  26: 88 25                            mov     es:[di],ah
273F:38C7                       loc_741:                                        ;  xref 273F:38C0
273F:38C7  83 C7 01                             add     di, 1
273F:38CA  0A C0                                or      al, al                  ; Zero ?
273F:38CC  74 05                                jz      loc_742                 ; Jump if zero
273F:38CE  02 C3                                add     al, bl
273F:38D0  26: 88 05                            mov     es:[di], al
273F:38D3                       loc_742:                                        ;  xref 273F:38CC
273F:38D3  83 C7 01                             add     di,1
273F:38D6  83 EA 01                             sub     dx,1
273F:38D9  75 DB                                jnz     loc_740                 ; Jump if not zero

273F:38DB  5F                                   pop     di
273F:38DC 81 C7 0140                           add     di, SCREEN_WIDTH
273F:38E0  5A                                   pop     dx
273F:38E1  59                                   pop     cx
273F:38E2  E2 CD                                loop    locloop_739             ; Loop if cx > 0

273F:38E4  1F                                   pop     ds
273F:38E5  C3                                   retn


273F:38E6                       loc_743:                                        ;  xref 273F:389D
273F:38E6  1E                                   push    ds
273F:38E7  06                                   push    es
273F:38E8  A1 4CE4                              mov     ax, data_segment2
273F:38EB  8E C0                                mov     es, ax
273F:38ED  1F                                   pop     ds
273F:38EE  8A D1                                mov     dl, cl
273F:38F0  8A CD                                mov     cl, ch
273F:38F2  32 ED                                xor     ch, ch                  ; Zero register
273F:38F4  32 F6                                xor     dh, dh                  ; Zero register

273F:38F6                       locloop_744:                                    ;  xref 273F:3944
273F:38F6  51                                   push    cx
273F:38F7  8B CA                                mov     cx,dx
273F:38F9  57                                   push    di
273F:38FA  56                                   push    si
273F:38FB  2E: A1 1500                          mov     ax,word ptr cs:data_215 ; (273F:1500=0)
273F:38FF  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:3901  9C                                   pushf                           ; Push flags
273F:3902  03 F0                                add     si,ax
273F:3904  9D                                   popf                            ; Pop flags
273F:3905  73 05                                jnc     locloop_745             ; Jump if carry=0
273F:3907  AC                                   lodsb                           ; String [si] to al
273F:3908  24 0F                                and     al,0Fh
273F:390A  EB 1E                                jmp     short locloop_747       ; (392A)

273F:390C                       locloop_745:                                    ;  xref 273F:3905, 3936
273F:390C  AC                                   lodsb                           ; String [si] to al
273F:390D  8A E0                                mov     ah,al
273F:390F  D0 EC                                shr     ah,1                    ; Shift w/zeros fill
273F:3911  D0 EC                                shr     ah,1                    ; Shift w/zeros fill
273F:3913  D0 EC                                shr     ah,1                    ; Shift w/zeros fill
273F:3915  D0 EC                                shr     ah,1                    ; Shift w/zeros fill
273F:3917  25 0F0F                              and     ax,0F0Fh
273F:391A  0A E4                                or      ah,ah                   ; Zero ?
273F:391C  74 05                                jz      loc_746                 ; Jump if zero
273F:391E  02 E3                                add     ah,bl
273F:3920  26: 88 25                            mov     es:[di],ah
273F:3923                       loc_746:                                        ;  xref 273F:391C
273F:3923  83 C7 01                             add     di,1
273F:3926  E2 02                                loop    locloop_747             ; Loop if cx > 0

273F:3928  EB 0E                                jmp     short loc_749           ; (3938)

273F:392A                       locloop_747:                                    ;  xref 273F:390A, 3926
273F:392A  0A C0                                or      al,al                   ; Zero ?
273F:392C  74 05                                jz      loc_748                 ; Jump if zero
273F:392E  02 C3                                add     al,bl
273F:3930  26: 88 05                            mov     es:[di],al
273F:3933                       loc_748:                                        ;  xref 273F:392C
273F:3933  83 C7 01                             add     di,1
273F:3936  E2 D4                                loop    locloop_745             ; Loop if cx > 0

273F:3938                       loc_749:                                        ;  xref 273F:3928
273F:3938  5E                                   pop     si
273F:3939  2E: 03 36 1505                       add     si,cs:data_218          ; (273F:1505=0)
273F:393E  5F                                   pop     di
273F:393F 81 C7 0140                           add     di, SCREEN_WIDTH
273F:3943  59                                   pop     cx
273F:3944  E2 B0                                loop    locloop_744             ; Loop if cx > 0

273F:3946  1F                                   pop     ds
273F:3947  C3                                   retn
                         vga_add_animation      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                                                                                ;* No entry point to code
273F:3948  A1 4CE4                              mov     ax, data_segment2
273F:394B  8E C0                                mov     es,ax
273F:394D  B2 08                                mov     dl,8
273F:394F                       loc_750:                                        ;  xref 273F:396C
273F:394F  57                                   push    di
273F:3950  8B CB                                mov     cx,bx

273F:3952                       locloop_751:                                    ;  xref 273F:3963
273F:3952  26: 80 3D E2                         cmp     byte ptr es:[di],0E2h
273F:3956  74 06                                je      loc_752                 ; Jump if equal
273F:3958  26: 80 3D FF                         cmp     byte ptr es:[di],0FFh
273F:395C  75 04                                jne     loc_753                 ; Jump if not equal
273F:395E                       loc_752:                                        ;  xref 273F:3956
273F:395E  26: 80 35 1D                         xor     byte ptr es:[di],1Dh
273F:3962                       loc_753:                                        ;  xref 273F:395C
273F:3962  47                                   inc     di
273F:3963  E2 ED                                loop    locloop_751             ; Loop if cx > 0

273F:3965  5F                                   pop     di
273F:3966 �81 C7 0140                           add     di,data_1446e           ; (A000:0140=0)
273F:396A  FE CA                                dec     dl
273F:396C  75 E1                                jnz     loc_750                 ; Jump if not zero
273F:396E  C3                                   retn

                         vga_add_animation      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                      menubar_copy_to_screen    proc    near

273F:396F  B8 A000                              mov     ax, VGA_SEGMENT
273F:3972  8E C0                                mov     es,ax
273F:3974  1E                                   push    ds
273F:3975  A1 4CE4                              mov     ax, data_segment2
273F:3978  8E D8                                mov     ds,ax
273F:397A  B9 0500                              mov     cx, MENUBAR_BLOCK_SIZE/2 ; 500h words
500h
273F:397D  33 F6                                xor     si,si                   ; Zero register
273F:397F  33 FF                                xor     di,di                   ; Zero register
273F:3981  F3/ A5                               rep     movsw                   ; Rep when cx >0 Mov [si] to es:[di]
273F:3983  1F                                   pop     ds
273F:3984  C6 06 4BF0 00                        mov     byte ptr ds:[4BF0h],0   ; (273F:4BF0=3)
273F:3989  C3                                   retn

                      menubar_copy_to_screen    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0BF9, 7B99, A7CC
                                ;��������������������������������������������������������������������������

273F:398A                  decode_file_entry    proc    near
273F:398A  83 C2 08                             add     dx,8
273F:398D  1E                                   push    ds
273F:398E  8C C3                                mov     bx,es
273F:3990  8E C2                                mov     es,dx
273F:3992  8E DA                                mov     ds,dx
273F:3994  A1 0402                              mov     ax, ds:[402h]
273F:3997  B1 0C                                mov     cl,0Ch
273F:3999  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:399B  03 D0                                add     dx,ax
273F:399D  A1 0400                              mov     ax, ds:[400h]
273F:39A0  B1 04                                mov     cl,4
273F:39A2  D3 E8                                shr     ax,cl                   ; Shift w/zeros fill
273F:39A4  03 D0                                add     dx,ax
273F:39A6  8B 36 0400                           mov     si, ds:[400h]
273F:39AA  83 E6 0F                             and     si,0Fh
273F:39AD  8E DA                                mov     ds,dx
273F:39AF  8B D3                                mov     dx,bx
273F:39B1  33 FF                                xor     di,di                   ; Zero register
273F:39B3 BB 0404                              mov     bx, ds:[404h]
273F:39B6  26: 8A 2F                            mov     ch,es:[bx]
273F:39B9  83 C3 01                             add     bx,1
273F:39BC  B1 09                                mov     cl,9
273F:39BE                       loc_754:                                        ;  xref 273F:3A70
273F:39BE AC                                   lodsb                           ; String [si] to al
273F:39BF  06                                   push    es
273F:39C0  8E C2                                mov     es,dx
273F:39C2  AA                                   stosb                           ; Store al to es:[di]
273F:39C3  07                                   pop     es
273F:39C4  32 E4                                xor     ah,ah                   ; Zero register
273F:39C6  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:39C8  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:39CA  8B E8                                mov     bp,ax
273F:39CC                       loc_755:                                        ;  xref 273F:3A02, 3A1D, 3A9C
273F:39CC 80 E9 01                             sub     cl,1
273F:39CF  75 08                                jnz     loc_756                 ; Jump if not zero
273F:39D1  26: 8A 2F                            mov     ch,es:[bx]
273F:39D4  B1 08                                mov     cl,8
273F:39D6  83 C3 01                             add     bx,1
273F:39D9                       loc_756:                                        ;  xref 273F:39CF
273F:39D9  D0 E5                                shl     ch,1                    ; Shift w/zeros fill
273F:39DB  72 42                                jc      loc_761                 ; Jump if carry Set
273F:39DD  80 E9 01                             sub     cl,1
273F:39E0  75 08                                jnz     loc_757                 ; Jump if not zero
273F:39E2  26: 8A 2F                            mov     ch,es:[bx]
273F:39E5  B1 08                                mov     cl,8
273F:39E7  83 C3 01                             add     bx,1
273F:39EA                       loc_757:                                        ;  xref 273F:39E0
273F:39EA  D0 E5                                shl     ch,1                    ; Shift w/zeros fill
273F:39EC  72 16                                jc      loc_759                 ; Jump if carry Set
273F:39EE  87 DD                                xchg    bx,bp
273F:39F0  26: 8A 07                            mov     al,es:[bx]
273F:39F3  8B DD                                mov     bx,bp
273F:39F5                       loc_758:                                        ;  xref 273F:3A49, 3A53, 3A6E
273F:39F5 06                                   push    es
273F:39F6  8E C2                                mov     es,dx
273F:39F8  AA                                   stosb                           ; Store al to es:[di]
273F:39F9  07                                   pop     es
273F:39FA  32 E4                                xor     ah,ah                   ; Zero register
273F:39FC  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:39FE  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:3A00  8B E8                                mov     bp,ax
273F:3A02  EB C8                                jmp     short loc_755           ; (39CC)
273F:3A04                       loc_759:                                        ;  xref 273F:39EC
273F:3A04  8B C5                                mov     ax,bp
273F:3A06  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:3A08  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:3A0A  8A 24                                mov     ah,[si]
273F:3A0C  83 C6 01                             add     si,1
273F:3A0F  0A E4                                or      ah,ah                   ; Zero ?
273F:3A11  74 60                                jz      loc_768                 ; Jump if zero
273F:3A13  06                                   push    es
273F:3A14  8E C2                                mov     es,dx
273F:3A16                       loc_760:                                        ;  xref 273F:3A1A
273F:3A16  AA                                   stosb                           ; Store al to es:[di]
273F:3A17  80 EC 01                             sub     ah,1
273F:3A1A  75 FA                                jnz     loc_760                 ; Jump if not zero
273F:3A1C  07                                   pop     es
273F:3A1D  EB AD                                jmp     short loc_755           ; (39CC)
273F:3A1F                       loc_761:                                        ;  xref 273F:39DB
273F:3A1F  80 E9 01                             sub     cl,1
273F:3A22  75 08                                jnz     loc_762                 ; Jump if not zero
273F:3A24  26: 8A 2F                            mov     ch,es:[bx]
273F:3A27  B1 08                                mov     cl,8
273F:3A29  83 C3 01                             add     bx,1
273F:3A2C                       loc_762:                                        ;  xref 273F:3A22
273F:3A2C  D0 E5                                shl     ch,1                    ; Shift w/zeros fill
273F:3A2E  72 25                                jc      loc_765                 ; Jump if carry Set
273F:3A30  80 E9 01                             sub     cl,1
273F:3A33  75 08                                jnz     loc_763                 ; Jump if not zero
273F:3A35  26: 8A 2F                            mov     ch,es:[bx]
273F:3A38  B1 08                                mov     cl,8
273F:3A3A  83 C3 01                             add     bx,1
273F:3A3D                       loc_763:                                        ;  xref 273F:3A33
273F:3A3D  D0 E5                                shl     ch,1                    ; Shift w/zeros fill
273F:3A3F  72 0A                                jc      loc_764                 ; Jump if carry Set
273F:3A41  87 DD                                xchg    bx,bp
273F:3A43  26: 8A 47 01                         mov     al,es:[bx+1]
273F:3A47  8B DD                                mov     bx,bp
273F:3A49  EB AA                                jmp     short loc_758           ; (39F5)
273F:3A4B                       loc_764:                                        ;  xref 273F:3A3F
273F:3A4B  87 DD                                xchg    bx,bp
273F:3A4D  26: 8A 47 02                         mov     al,es:[bx+2]
273F:3A51  8B DD                                mov     bx,bp
273F:3A53  EB A0                                jmp     short loc_758           ; (39F5)
273F:3A55                       loc_765:                                        ;  xref 273F:3A2E
273F:3A55  80 E9 01                             sub     cl,1
273F:3A58  75 08                                jnz     loc_766                 ; Jump if not zero
273F:3A5A  26: 8A 2F                            mov     ch,es:[bx]
273F:3A5D  B1 08                                mov     cl,8
273F:3A5F  83 C3 01                             add     bx,1
273F:3A62                       loc_766:                                        ;  xref 273F:3A58
273F:3A62  D0 E5                                shl     ch,1                    ; Shift w/zeros fill
273F:3A64  72 0A                                jc      loc_767                 ; Jump if carry Set
273F:3A66  87 DD                                xchg    bx,bp
273F:3A68  26: 8A 47 03                         mov     al,es:[bx+3]
273F:3A6C  8B DD                                mov     bx,bp
273F:3A6E  EB 85                                jmp     short loc_758           ; (39F5)
273F:3A70                       loc_767:                                        ;  xref 273F:3A64
273F:3A70  E9 FF4B                              jmp     loc_754                 ; (39BE)
273F:3A73                       loc_768:                                        ;  xref 273F:3A11
273F:3A73  AC                                   lodsb                           ; String [si] to al
273F:3A74  0A C0                                or      al,al                   ; Zero ?
273F:3A76  74 27                                jz      loc_769                 ; Jump if zero
273F:3A78  8B C7                                mov     ax,di
273F:3A7A  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:3A7C  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:3A7E  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:3A80  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:3A82  03 D0                                add     dx,ax
273F:3A84  83 E7 0F                             and     di,0Fh
273F:3A87  51                                   push    cx
273F:3A88  8C D9                                mov     cx,ds
273F:3A8A  8B C6                                mov     ax,si
273F:3A8C  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:3A8E  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:3A90  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:3A92  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:3A94  03 C8                                add     cx,ax
273F:3A96  8E D9                                mov     ds,cx
273F:3A98  83 E6 0F                             and     si,0Fh
273F:3A9B  59                                   pop     cx
273F:3A9C  E9 FF2D                              jmp     loc_755                 ; (39CC)
273F:3A9F                       loc_769:                                        ;  xref 273F:3A76
273F:3A9F  1F                                   pop     ds
273F:3AA0  83 C7 0F                             add     di,0Fh
273F:3AA3  D1 EF                                shr     di,1                    ; Shift w/zeros fill
273F:3AA5  D1 EF                                shr     di,1                    ; Shift w/zeros fill
273F:3AA7  D1 EF                                shr     di,1                    ; Shift w/zeros fill
273F:3AA9  D1 EF                                shr     di,1                    ; Shift w/zeros fill
273F:3AAB  03 D7                                add     dx,di
273F:3AAD  C3                                   retn
                           decode_file_entry    endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:00C9, 70CA, 8FFA
                                ;��������������������������������������������������������������������������

273F:3AAE               replace_vga_palette     proc    near
273F:3AAE  1E                                   push    ds
273F:3AAF  07                                   pop     es
273F:3AB0 BE 1757                              mov     si,offset replacement_vga_palette
273F:3AB3 BF 15DA                              mov     di,offset unprocessed_vga_palette2
273F:3AB6  B9 00B4                              mov     cx, 60*3                ; Move 60 palette entries
273F:3AB9  F3/ A4                               rep     movsb

273F:3ABB               replace_vga_palette2:
273F:3ABB BE 180B                              mov     si, offset replacement_vga_ palette2
273F:3ABE BF 16EB                              mov     di, offset unprocessed_vga_palette3
273F:3AC1  B9 0018                              mov     cx, 8*3                 ; Move 8 palette entries
273F:3AC4  F3/ A4                               rep     movsb                   ; Rep when cx >0 Mov [si] to es:[di]
273F:3AC6  C3                                   retn
                        replace_vga_palette     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0C13, 0C35, 0C5A, 3C95, 75AE, 75D2, 75F0
                                ;                             760E, A549, A5BB, A66D, A6C4, A914
                                ;��������������������������������������������������������������������������

273F:3AC7                     read_palette      proc    near
273F:3AC7  8C D9                                mov     cx,ds
273F:3AC9  BA 1457                              mov     dx, unprocessed_vga_palette
273F:3ACC  56                                   push    si
273F:3ACD  E8 C844                              call    read_entry              ; (0314)
273F:3AD0  5E                                   pop     si
273F:3AD1  C6 06 1456 FF                        mov     current_room_num, 0FFh  ; (31E4:1456=0FFh)
273F:3AD6  C3                                   retn
                              read_palette      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                  vga_toggle_menu_highlight     proc    near

273F:3AD7  A1 4CE4                              mov     ax, data_segment2
273F:3ADA  8E C0                                mov     es,ax
273F:3ADC  BA 0008                              mov     dx,8                    ; Number of lines
273F:3ADF  B0 F7                                mov     al,0F7h
273F:3AE1                       loc_770:                                        ;  xref 273F:3AFA
273F:3AE1  57                                   push    di
273F:3AE2  8B CB                                mov     cx,bx

273F:3AE4                       locloop_771:                                    ;  xref 273F:3AF2
273F:3AE4  26: 84 05                            test    al,es:[di]
273F:3AE7  74 05                                jz      loc_772                 ; Jump if zero
273F:3AE9  26: 38 05                            cmp     es:[di],al
273F:3AEC  75 03                                jne     loc_773                 ; Jump if not equal
273F:3AEE                       loc_772:                                        ;  xref 273F:3AE7
273F:3AEE  26: 30 05                            xor     es:[di],al
273F:3AF1                       loc_773:                                        ;  xref 273F:3AEC
273F:3AF1  47                                   inc     di
273F:3AF2  E2 F0                                loop    locloop_771             ; Loop if cx > 0

273F:3AF4  5F                                   pop     di
273F:3AF5  81 C7 0140                           add     di,140h
273F:3AF9  4A                                   dec     dx
273F:3AFA  75 E5                                jnz     loc_770                 ; Jump if not zero
273F:3AFC  C3                                   retn

                  vga_toggle_menu_highlight     endp

273F:3AFD  00                                   db      0

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                     copy_protection_check      proc    near

273F:3AFE  F6 06 1854 FF                        test    cp_num_digits, 0FFh     ; Sequence previously entered?
273F:3B03  74 01                                jz      loc_3B06
273F:3B05  C3                                   ret
273F:3B06  8B 04              loc_3B06:         mov     ax, [si]
273F:3B08  E8 86 01                             call    read_screen_alt
273F:3B0B  BB 1830                              mov     bx, offset animation_rec_1
273F:3B0E  E8 D1 3C                             call    animation_decode
273F:3B11  BB 1839                              mov     bx, offset animation_rec_2
273F:3B14  E8 CB 3C                             call    animation_decode
273F:3B17  BB 1842                              mov     bx, offset animation_rec_3
273F:3B1A  E8 C5 3C                             call    animation_decode

; Make a backup copy of the first 10 animation table entries

273F:3B1D  A1 4D00                              mov     ax, buffer_segment
273F:3B20  8EC0                                 mov     es, ax
273F:3B22  BE4EB1                               mov     si, offset animation_table
273F:3B25  33FF                                 xor     di, di
273F:3B27  B9CD00                               mov     cx, ANIMATION_SLOT_SIZE*10/2 ; 00CDh
273F:3B2A  F3 A5                                rep     movsw

; Current hard coded jump to bypass copy protection code

273F:3B2C  E92401                               jmp     loc_784

; Original program's code below

273F:3B2C  1E                                   push    ds
273F:3B2D  07                                   pop     es
273F:3B2E  BF B14E                              mov     di, offset animation_table
273F:3B31  BE 1850                              mov     si, offset anim_src_table
273F:3B34  BB 1830                              mov     bx, offset animation_rec_1
273F:3B37  8B4703                               mov     ax, [bx+3]
273F:3B3A  B200                                 mov     dl, 0
273F:3B3C  E8BE01                               call    animation_set_entry
273F:3B3F  E8BB01                               call    animation_set_entry
273F:3B42  BB3918                               mov     bx, offset animation_rec_2
273F:3B45  8B4703                               mov     ax, [bx+03]
273F:3B48  B220                                 mov     dl, 20
273F:3B4A  E8B001                               call    animation_set_entry
273F:3B4D  BB4218                               mov     bx, offset animation_rec_3
273F:3B50  8B4703                               mov     ax, [bx+3]
273F:3B53  E8A701                               call    animation_set_entry
273F:3B56  E8A401                               call    animation_set_entry
273F:3B59  E8A101                               call    animation_set_entry
273F:3B5C  E89E01                               call    animation_set_entry
273F:3B5F  FF164407                             call    [show_screen_proc]
273F:3B63  FF166207                             call    [set_lower_palette_proc]

273F:3B67                       loc_774:                                        ;  xref 273F:3C48
273F:3B67 B8 0002                              mov     ax,2
273F:3B6A BB 0001                              mov     bx,1                    ; (273F:0001=0E4h)
273F:3B6D  E8 0169                              call    animation_draw
273F:3B70  FF 16 0744                           call    word ptr [show_screen_proc]
273F:3B74                       loc_775:                                        ;  xref 273F:3B82
273F:3B74  B8 0005                              mov     ax,5
273F:3B77  E8 0E6F                              call    sleep                   ; (49E9)
273F:3B7A  E8 00EE                              call    protection_cycle_characters
273F:3B7D  F6 06 11D5 FF                        test    mouse_buttons, 0FFh
273F:3B82  75 F0                                jnz     loc_775                 ; Jump if not zero
273F:3B84                       loc_776:                                        ;  xref 273F:3B87
273F:3B84  E8 5999                              call    check_keypress                 ; (9520)
273F:3B87  75 FB                                jnz     loc_776                 ; Jump if not zero

273F:3B89                       loc_777:                                        ;  xref 273F:3B9C
273F:3B89  B8 0005                              mov     ax,5
273F:3B8C  E8 0E5A                              call    sleep                   ; (49E9)
273F:3B8F  E8 00D9                              call    protection_cycle_characters
273F:3B92  E8 598B                              call    check_keypress                 ; (9520)
273F:3B95  75 07                                jnz     loc_778                 ; Jump if not zero
273F:3B97  F6 06 11D5 FF                        test    mouse_buttons, 0FFh
273F:3B9C  74 EB                                jz      loc_777                 ; Jump if zero
273F:3B9E                       loc_778:                                        ;  xref 273F:3B95
273F:3B9E  B8 0002                              mov     ax,2                    ; Change title text
273F:3BA1  33 DB                                xor     bx,bx                   ; Anim #2, frame #0
273F:3BA3  E8 0133                              call    animation_draw
273F:3BA6  FF 16 0744                           call    word ptr [show_screen_proc]
273F:3BAA  C6 06 1854 00                        mov     cp_num_digits, 0

273F:3BAF                       loc_779:                                        ; Get keypress
273F:3BAF E8 596E                              call    check_keypress
273F:3BB2  74 FB                                jz      loc_779
273F:3BB4  3C 08                                cmp     al,8                    ; Backspace?
273F:3BB6  74 28                                je      cp_backspace            ; Jump if equal
273F:3BB8  3C 30                                cmp     al,30h                  ; '0'
273F:3BBA  72 F3                                jb      loc_779                 ; Jump if below
273F:3BBC  3C 3A                                cmp     al,3Ah                  ; '9' + 1
273F:3BBE  73 EF                                jae     loc_779                 ; Jump if above or =

; At this point a numeric key has been pressed

273F:3BC0  25 000F                              and     ax,0Fh
273F:3BC3  8B D8                                mov     bx,ax
273F:3BC5  A0 1854                              mov     al, cp_num_digits
273F:3BC8  05 0003                              add     ax,3
273F:3BCB  E8 010B                              call    animation_draw
273F:3BCE  FF 16 0744                           call    word ptr [show_screen_proc]
273F:3BD2  80 06 1854 01                        add     cp_num_digits, 1
273F:3BD7  80 3E 1854 04                        cmp     cp_num_digits, 4
273F:3BDC  72 D1                                jb      loc_779                 ; Jump if below
273F:3BDE  73 1F                                jnc     cp_done                 ; Entered all 4 digits

273F:3BE0                    cp_backspace:                                      ;  xref 273F:3BB6
273F:3BE0  F6 06 1854 FF                        test    cp_num_digits, 0FFh
273F:3BE5  74 C8                                jz      loc_779                 ; Jump if zero
273F:3BE7  80 2E 1854 01                        sub     cp_num_digits, 1
273F:3BEC  A0 1854                              mov     al, cp_num_digits
273F:3BEF  04 03                                add     al,3
273F:3BF1  32 E4                                xor     ah,ah                   ; Zero register
273F:3BF3 BB 000A                              mov     bx,0Ah                  ; (273F:000A=23h)
273F:3BF6  E8 00E0                              call    animation_draw
273F:3BF9  FF 16 0744                           call    word ptr [show_screen_proc]
273F:3BFD  EB B0                                jmp     short loc_779           ; (3BAF)

; At this point four digits have been entered, so it's time to check if it's valid

273F:3BFF                       cp_done:                                        ;  xref 273F:3BDE
273F:3BFF  C7 06 38B1 0000                      mov     time_ctr, 0
273F:3C05                       loc_782:                                        ;  xref 273F:3C0B
273F:3C05  81 3E 38B1 00C8                      cmp     time_ctr, 0C8h
273F:3C0B  72 F8                                jb      loc_782

273F:3C0D  FF 16 1856                           call    [cp_proc]
273F:3C11  73 7D                                jnc     loc_ret_786             ; Numbers correct

; Redraw the originally displayed message

273F:3C13  C6 06 1854 00                        mov     cp_num_digits, 0
273F:3C18  B8 0003                              mov     ax,3
273F:3C1B BB 000A                              mov     bx,0Ah                  ; (273F:000A=23h)
273F:3C1E  E8 00B8                              call    animation_draw
273F:3C21  B8 0004                              mov     ax,4
273F:3C24 BB 000A                              mov     bx,0Ah                  ; (273F:000A=23h)
273F:3C27  E8 00AF                              call    animation_draw
273F:3C2A  B8 0005                              mov     ax,5
273F:3C2D BB 000A                              mov     bx,0Ah                  ; (273F:000A=23h)
273F:3C30  E8 00A6                              call    animation_draw
273F:3C33  B8 0006                              mov     ax,6
273F:3C36 BB 000A                              mov     bx,0Ah                  ; (273F:000A=23h)
273F:3C39  E8 009D                              call    animation_draw
273F:3C3C  80 06 1855 01                        add     cp_num_tries, 1
273F:3C41  80 3E 1855 03                        cmp     cp_num_tries, 3
273F:3C46  73 03                                jae     loc_783                 ; Jump if above or =
273F:3C48  E9 FF1C                              jmp     loc_774                 ; (3B67)
273F:3C4B                       loc_783:                                        
273F:3C4B  B8 000A                              mov     ax,0Ah                  ; Copy protection failed
273F:3C4E  B6 01                                mov     dh,1
273F:3C50  E8 0351                              call    display_message         ; (3FA4)

; Restore the backup copy of the current animation table

273F:3C53                       loc_784:
273F:3C53  1E                                   push    ds
273F:3C54  1E                                   push    ds
273F:3C55  07                                   pop     es
273F:3C56  A1 4D00                              mov     ax, buffer_segment
273F:3C59  8E D8                                mov     ds,ax
273F:3C5B  33 F6                                xor     si,si                   ; Zero register
273F:3C5D BF B14E                              mov     di, offset animation_table
273F:3C60  B9 00CD                              mov     cx, ANIMATION_SLOT_SIZE*10/2 ; 0CDh
273F:3C63  F3/ A5                               rep     movsw                   ; Rep when cx >0 Mov [si] to es:[di]
273F:3C65  1F                                   pop     ds
273F:3C66  FF 16 0766                           call    word ptr ds:[fade_out_proc]
273F:3C6A  C3                                   retn

                     copy_protection_check      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:3B7A, 3B8F
                                ;��������������������������������������������������������������������������

273F:3C6B       protection_cycle_characters     proc    near

273F:3C6B  56                                   push    si
273F:3C6C  57                                   push    di
273F:3C6D  06                                   push    es
273F:3C6E  B9 0014                              mov     cx,14h

; Loop below to choose two random frames from the animation of possible characters.
; If both selections are identical, it will loop back and re-generate two new values

273F:3C71                       loc_785:                                        ;  xref 273F:3C81
273F:3C71  E8 07F8                              call    random
273F:3C74  F7 E1                                mul     cx                      ; dx:ax = reg * ax
273F:3C76  8B DA                                mov     bx,dx
273F:3C78  E8 07F1                              call    random
273F:3C7B  F7 E1                                mul     cx                      ; dx:ax = reg * ax
273F:3C7D  8B C2                                mov     ax,dx
273F:3C7F  3B C3                                cmp     ax,bx                   ; Prevent both images
273F:3C81  74 EE                                je      loc_785                 ;  being identical

273F:3C83  E8 0045                              call    protection_draw_characters
273F:3C86  E8 F4D0                              call    wait_for_video_port     
273F:3C89  FF 16 0744                           call    word ptr [show_screen_proc]
273F:3C8D  07                                   pop     es
273F:3C8E  5F                                   pop     di
273F:3C8F  5E                                   pop     si

273F:3C90                       loc_ret_786:                                    ;  xref 273F:3C11
273F:3C90  C3                                   retn

                protection_cycle_characters     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:3D22
                                ;��������������������������������������������������������������������������

273F:3C91                read_screen_alt        proc    near
273F:3C91  50                                   push    ax
273F:3C92  2D 0001                              sub     ax,1
273F:3C95  E8 FE2F                              call    read_palette            ; (3AC7)
273F:3C98  E8 336A                              call    menubar_clear_image
273F:3C9B  58                                   pop     ax
273F:3C9C  8B 0E 4CE2                           mov     cx, data_segment
273F:3CA0  BA 0080                              mov     dx,80h
273F:3CA3  E8 C66E                              call    read_entry              ; (0314)
273F:3CA6  A1 4CE4                              mov     ax, data_segment2
273F:3CA9  8B 1E 074C                           mov     bx, menubar_block_size
273F:3CAD  B1 04                                mov     cl,4
273F:3CAF  D3 EB                                shr     bx,cl                   ; Shift w/zeros fill
273F:3CB1  03 C3                                add     ax,bx
273F:3CB3  8E C0                                mov     es,ax
273F:3CB5  8B 16 4CE2                           mov     dx, data_segment
273F:3CB9  FF 16 077C                           call    [decode_entry_proc]
273F:3CBD  E8 CCA1                              call    clear_hotspot_rects
273F:3CC0  80 0E 11D0 10                        or      menubar_state, 10h      ; (273F:11D0=56h)
273F:3CC5  80 26 11D0 DF                        and     menubar_state, 0DFh     ; (273F:11D0=56h)
273F:3CCA  C3                                   retn
                         read_screen_alt        endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:3C83
                                ;��������������������������������������������������������������������������

273F:3CCB        protection_draw_characters     proc    near
273F:3CCB  50                                   push    ax
273F:3CCC  B8 0001                              mov     ax,1
273F:3CCF  E8 0007                              call    animation_draw          ; Draw right character
273F:3CD2  5B                                   pop     bx
273F:3CD3  33 C0                                xor     ax,ax
273F:3CD5  E8 0001                              call    animation_draw          ; Draw left character
273F:3CD8  C3                                   retn
                 protection_draw_characters     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:3B6D, 3BA3, 3BCB, 3BF6, 3C1E, 3C27, 3C30
                                ;                             3C39, 3CCF, 3CD5, 3D48, 3D51, 3D8F, 3D98
                                ;                             3DE1, 3DEA, 3E11, 3E1A
                                ;��������������������������������������������������������������������������

                            animation_draw      proc    near
273F:3CD9  B9 0029                              mov     cx, ANIMATION_SLOT_SIZE
273F:3CDC  F7 E1                                mul     cx
273F:3CDE  05 B14E                              add     ax, offset animation_table ; Calculate anim offset
273F:3CE1  93                                   xchg    bx,ax
273F:3CE2  8B 77 19                             mov     si,[bx+19h]             ; Get address for hotspot
273F:3CE5  F7 64 07                             mul     word ptr [si+7]         ; multiply by frame size
273F:3CE8  8B F0                                mov     si,ax                   ; Store pixel data start
273F:3CEA  89 77 08                             mov     [bx+8],si               
273F:3CED  53                                   push    bx
273F:3CEE  FF 77 0A                             push    word ptr [bx+0Ah]       ; Pixel segment
273F:3CF1  07                                   pop     es
273F:3CF2  FF 16 0754                           call    [add_animation_proc]
273F:3CF6  5F                                   pop     di
273F:3CF7  B0 01                                mov     al,1
273F:3CF9  E8 CE2C                              call    flag_covered_cells
273F:3CFC  C3                                   retn
                            animation_draw      endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:3D3E, 3D41
                                ;��������������������������������������������������������������������������

273F:3CFD              animation_set_entry      proc    near

273F:3CFD  89 45 0A                             mov     [di+0Ah],ax
273F:3D00  89 5D 19                             mov     [di+19h],bx
273F:3D03  88 55 28                             mov     [di+28h],dl
273F:3D06  B9 0004                              mov     cx,4
273F:3D09  F3/ A5                               rep     movsw        ; Copy first 8 bytes
273F:3D0B  83 C7 21                             add     di, ANIMATION_SLOT_SIZE - 8
273F:3D0E  C3                                   retn

                       animation_set_entry      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                                  cp_proc_1     proc    near

273F:3D0F  E8 075A                              call    random
273F:3D12  8A 1E 1855                           mov     bl, cp_num_tries
273F:3D16  F6 26 1854                           mul     cp_num_digits           ; ax = data * al
273F:3D1A  F8                                   clc                             ; Clear carry flag
273F:3D1B  0B C0                                or      ax,ax                   ; Zero ?
273F:3D1D  C3                                   retn

                                  cp_proc_1     proc    near

273F:3D1E  00                                   db      0

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:937C
                                ;��������������������������������������������������������������������������

273F:3D1F           restart_restore_dialog      proc    near

273F:3D1F  B8 7900                              mov     ax,7900h                ; Restart/Restore image
273F:3D22  E8 FF6C                              call    sub_79                  ; Decode it
273F:3D25 BB 184B                              mov     bx, offset animation_rec_4
273F:3D28  E8 3AB7                              call    animation_decode
273F:3D2B  E8 E247                              call    show_arrow_cursor
273F:3D2E  1E                                   push    ds
273F:3D2F  07                                   pop     es
273F:3D30 BF B14E                              mov     di, offset animation_table
273F:3D33 BE 1890                              mov     si, 1890h
273F:3D36 BB 184B                              mov     bx, offset animation_rec_4
273F:3D39  8B 47 03                             mov     ax, [bx+3]
273F:3D3C  B2 00                                mov     dl, 0
273F:3D3E  E8 FFBC                              call    animation_set_entry
273F:3D41  E8 FFB9                              call    animation_set_entry
273F:3D44  33 C0                                xor     ax,ax                   ; Zero register
273F:3D46  33 DB                                xor     bx,bx                   ; Zero register
273F:3D48  E8 FF8E                              call    animation_draw
273F:3D4B  B8 0001                              mov     ax,1
273F:3D4E BB 0001                              mov     bx,offset copyright+1   ; (31E4:0001='o')
273F:3D51  E8 FF85                              call    animation_draw
273F:3D54  FF 16 0744                           call    word ptr [show_screen_proc]
273F:3D58  FF 16 0760                           call    word ptr [fade_in_proc]
273F:3D5C  C6 06 11DA 00                        mov     mouse_buttons2, 0
273F:3D61                       loc_787:                                        ;  xref 273F:3DB0, 3E02, 3E30
273F:3D61 FF 16 0744                           call    word ptr [show_screen_proc]
273F:3D65                       loc_788:                                        ;  xref 273F:3DA8
273F:3D65  E8 5660                              call    room_check_keypresses
273F:3D68  A1 11D6                              mov     ax, mouse_x2  
273F:3D6B  05 0080                              add     ax,80h
273F:3D6E  2B 06 1890                           sub     ax,word ptr ds:[1890h]  ; (31E4:1890=0F6h)
273F:3D72  72 47                                jc      loc_791                 ; Jump if carry Set
273F:3D74  3D 0025                              cmp     ax,25h
273F:3D77  73 42                                jae     loc_791                 ; Jump if above or =
273F:3D79  A1 11D8                              mov     ax, mouse_y2  
273F:3D7C  05 0080                              add     ax,80h
273F:3D7F  2B 06 1892                           sub     ax,word ptr ds:[1892h]  ; (31E4:1892=118h)
273F:3D83  72 36                                jc      loc_791                 ; Jump if carry Set
273F:3D85  3D 000E                              cmp     ax,0Eh
273F:3D88  73 31                                jae     loc_791                 ; Jump if above or =
273F:3D8A  33 C0                                xor     ax,ax                   ; Zero register
273F:3D8C BB 0002                              mov     bx,offset copyright+2   ; (31E4:0002='py')
273F:3D8F  E8 FF47                              call    animation_draw
273F:3D92  B8 0001                              mov     ax,1
273F:3D95 BB 0001                              mov     bx,offset copyright+1   ; (31E4:0001='o')
273F:3D98  E8 FF3E                              call    animation_draw
273F:3D9B  F6 06 11DA FF                        test    mouse_buttons2, 0FFh
273F:3DA0  75 10                                jnz     loc_790                 ; Jump if not zero
273F:3DA2  2E: 80 3E 3D1E 01                    cmp     cs:data_288,1           ; (273F:3D1E=0)
273F:3DA8                       loc_789:                                        ;  xref 273F:3DFA
273F:3DA8  74 BB                                je      loc_788                 ; Jump if equal
273F:3DAA  2E: C6 06 3D1E 01                    mov     cs:data_288,1           ; (273F:3D1E=0)
273F:3DB0  EB AF                                jmp     short loc_787           ; (3D61)
273F:3DB2                       loc_790:                                        ;  xref 273F:3DA0
273F:3DB2  C6 06 11DA 00                        mov     mouse_buttons2, 0
273F:3DB7  0D 0001                              or      ax,1
273F:3DBA  C3                                   retn
273F:3DBB                       loc_791:                                        ;  xref 273F:3D72, 3D77, 3D83, 3D88
273F:3DBB  A1 11D6                              mov     ax, mouse_x2
273F:3DBE  05 0080                              add     ax,80h
273F:3DC1  2B 06 1898                           sub     ax,word ptr ds:[1898h]  ; (31E4:1898=128h)
273F:3DC5  72 46                                jc      loc_794                 ; Jump if carry Set
273F:3DC7  3D 0025                              cmp     ax,25h
273F:3DCA  73 41                                jae     loc_794                 ; Jump if above or =
273F:3DCC  A1 11D8                              mov     ax, mouse_y2
273F:3DCF  05 0080                              add     ax,80h
273F:3DD2  2B 06 189A                           sub     ax,word ptr ds:[189Ah]  ; (31E4:189A=118h)
273F:3DD6  72 35                                jc      loc_794                 ; Jump if carry Set
273F:3DD8  3D 000E                              cmp     ax,0Eh
273F:3DDB  73 30                                jae     loc_794                 ; Jump if above or =
273F:3DDD  33 C0                                xor     ax,ax                   ; Zero register
273F:3DDF  33 DB                                xor     bx,bx                   ; Zero register
273F:3DE1  E8 FEF5                              call    animation_draw
273F:3DE4  B8 0001                              mov     ax,1
273F:3DE7 BB 0003                              mov     bx,offset copyright+3   ; (31E4:0003='y')
273F:3DEA  E8 FEEC                              call    animation_draw
273F:3DED  F6 06 11DA FF                        test    mouse_buttons2, 0FFh
273F:3DF2  75 11                                jnz     loc_793                 ; Jump if not zero
273F:3DF4  2E: 80 3E 3D1E 02                    cmp     cs:data_288,2           ; (273F:3D1E=0)
273F:3DFA                       loc_792:                                        ;  xref 273F:3E28
273F:3DFA  74 AC                                je      loc_789                 ; Jump if equal
273F:3DFC  2E: C6 06 3D1E 02                    mov     cs:data_288,2           ; (273F:3D1E=0)
273F:3E02  E9 FF5C                              jmp     loc_787                 ; (3D61)
273F:3E05                       loc_793:                                        ;  xref 273F:3DF2
273F:3E05  C6 06 11DA 00                        mov     mouse_buttons2, 0
273F:3E0A  33 C0                                xor     ax,ax                   ; Zero register
273F:3E0C  C3                                   retn
273F:3E0D                       loc_794:                                        ;  xref 273F:3DC5, 3DCA, 3DD6, 3DDB
273F:3E0D  33 C0                                xor     ax,ax                   ; Zero register
273F:3E0F  33 DB                                xor     bx,bx                   ; Zero register
273F:3E11  E8 FEC5                              call    animation_draw
273F:3E14  B8 0001                              mov     ax,1
273F:3E17 BB 0001                              mov     bx,offset copyright+1   ; (31E4:0001='o')
273F:3E1A  E8 FEBC                              call    animation_draw
273F:3E1D  C6 06 11DA 00                        mov     mouse_buttons2, 0
273F:3E22  2E: F6 06 3D1E FF                    test    cs:data_288,0FFh        ; (273F:3D1E=0)
273F:3E28  74 D0                                jz      loc_792                 ; Jump if zero
273F:3E2A  2E: C6 06 3D1E 00                    mov     cs:data_288,0           ; (273F:3D1E=0)
273F:3E30  E9 FF2E                              jmp     loc_787                 ; (3D61)

                    restart_restore_dialog      endp

273F:3E33  00                                   db      0

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:000B, 009D, 2053, 4792, 4FAB, 5024, 5423
                                ;                             5738, 57D3, 5838, 58DA, 592B, 5AF2, 5B55
                                ;                             5BCF, 5C21, 5C66, 5C87, 5CD7, 5D40, 8A0D
                                ;                             8AFF, 8C52, 8C67, 8C7A, 8CA4, 95F7, 962F
                                ;                             9635
                                ;��������������������������������������������������������������������������

273F:3E34                 sequence_execute      proc    near
273F:3E34 57                                   push    di
273F:3E35  56                                   push    si
273F:3E36  55                                   push    bp
273F:3E37  53                                   push    bx
273F:3E38  8B F0                                mov     si,ax
273F:3E3A  C7 06 BA1D 0000                      mov     sequence_result, 0
273F:3E40  E8 000A                              call    sequence_execute_inner
273F:3E43  5B                                   pop     bx
273F:3E44  5D                                   pop     bp
273F:3E45  5E                                   pop     si
273F:3E46  5F                                   pop     di
273F:3E47  A1 BA1D                              mov     ax, sequence_result
273F:3E4A  0B C0                                or      ax,ax                   ; Zero ?
273F:3E4C  C3                                   retn
                          sequence_execute      endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:3E40, 3F51
                                ;��������������������������������������������������������������������������


                       sequence_execute_inner   proc    near
273F:3E4D  89 26 1910                           mov     current_sp, sp
273F:3E51  BF 1910                              mov     di, offset current_sp   ; Set up stack frame
273F:3E54  B8 450F                              mov     ax, scripts_seg
273F:3E57  8E C0                                mov     es,ax

273F:3E59                       loc_796:
273F:3E59 26: 8A 1C                            mov     bl,es:[si]
273F:3E5C  83 C6 01                             add     si,1
273F:3E5F  F6 C3 01                             test    bl,1
273F:3E62  74 06                                jz      loc_797                 ; Jump if zero
273F:3E64  26: 8B 14                            mov     dx,es:[si]
273F:3E67  83 C6 02                             add     si,2
273F:3E6A                       loc_797:                                        ;  xref 273F:3E62
273F:3E6A  81 E3 00FE                           and     bx,0FEh
273F:3E6E  FF A7 18A0                           jmp     word ptr ds:[sequence_table][bx]
                       sequence_execute_inner   endp


273F:3E72  8B 05             sequence_add:      mov     ax,[di]
273F:3E74  01 45 02                             add     [di+2],ax
273F:3E77  83 C7 02                             add     di,2
273F:3E7A  EB DD                                jmp     short loc_796           ; (3E59)


                                                                                ;* No entry point to code
273F:3E7C  8B 05         sequence_subtract:     mov     ax,[di]
273F:3E7E  29 45 02                             sub     [di+2],ax
273F:3E81  83 C7 02                             add     di,2
273F:3E84  EB D3                                jmp     short loc_796           ; (3E59)
                                                                                ;* No entry point to code
273F:3E86  8B 05         sequence_multiply:     mov     ax,[di]
273F:3E88  F7 65 02                             mul     word ptr [di+2]         ; dx:ax = data * ax
273F:3E8B  83 C7 02                             add     di,2
273F:3E8E  89 05                                mov     [di],ax
273F:3E90  EB C7                                jmp     short loc_796           ; (3E59)

273F:3E92  8B 45 02        sequence_divide:     mov     ax,[di+2]
273F:3E95  33 D2                                xor     dx,dx                   ; Zero register
273F:3E97  F7 35                                div     word ptr [di]           ; ax,dxrem=dx:ax/data
273F:3E99  83 C7 02                             add     di,2
273F:3E9C  89 05                                mov     [di],ax
273F:3E9E  EB B9                                jmp     short loc_796           ; (3E59)

273F:3EA0  8B 05       sequence_not_equals:     mov     ax,[di]
273F:3EA2  3B 45 02                             cmp     ax,[di+2]
273F:3EA5  74 0A                                je      loc_one                 ; Jump if equal

273F:3EA7 C7 45 02 0000        loc_zero:       mov     word ptr [di+2],0
273F:3EAC  83 C7 02                             add     di,2
273F:3EAF  EB A8                                jmp     short loc_796           ; (3E59)

273F:3EB1 83 C7 02             loc_one:        add     di,2
273F:3EB4  C7 05 0001                           mov     word ptr [di],1
273F:3EB8  EB 9F                                jmp     short loc_796           ; (3E59)
273F:3EBA  8B 05             sequence_equals:   mov     ax,[di]
273F:3EBC  3B 45 02                             cmp     ax,[di+2]
273F:3EBF  75 F0                                jne     loc_one                 ; Jump if not equal
273F:3EC1  EB E4                                jmp     short loc_zero           ; (3EA7)

273F:3EC3  8B 45 02       sequence_greater:     mov     ax,[di+2]
273F:3EC6  2B 05                                sub     ax,[di]
273F:3EC8  72 E7                                jc      loc_one                 ; Jump if carry Set
273F:3ECA  EB DB                                jmp     short loc_zero           ; (3EA7)

273F:3ECC  8B 05          sequence_smaller:     mov     ax,[di]
273F:3ECE  2B 45 02                             sub     ax,[di+2]
273F:3ED1  72 DE                                jc      loc_one                 ; Jump if carry Set
273F:3ED3  EB D2                                jmp     short loc_zero           ; (3EA7)

273F:3ED5  8B 05          sequence_smaller2:    mov     ax,[di]
273F:3ED7  2B 45 02                             sub     ax,[di+2]
273F:3EDA  78 CB                                js      loc_zero                 ; Jump if sign=1
273F:3EDC  EB D3                                jmp     short loc_one           ; (3EB1)

273F:3EDE  8B 45 02       sequence_greater2:    mov     ax,[di+2]
273F:3EE1  2B 05                                sub     ax,[di]
273F:3EE3  78 C2                                js      loc_zero                 ; Jump if sign=1
273F:3EE5  EB CA                                jmp     short loc_one           ; (3EB1)

273F:3EE7  8B 05               sequence_and:    mov     ax,[di]
273F:3EE9  21 45 02                             and     [di+2],ax
273F:3EEC  83 C7 02                             add     di,2
273F:3EEF  E9 FF67                              jmp     loc_796                 ; (3E59)

273F:3EF2  8B 05                sequence_or:    mov     ax,[di]
273F:3EF4  09 45 02                             or      [di+2],ax
273F:3EF7  83 C7 02                             add     di,2
273F:3EFA  E9 FF5C                              jmp     loc_796                 ; (3E59)

273F:3EFD  F7 45 02 FFFF  sequence_logical_and: test    word ptr [di+2],0FFFFh
273F:3F02  74 A3                                jz      loc_zero                 ; Jump if zero
273F:3F04  F7 05 FFFF                           test    word ptr [di],0FFFFh
273F:3F08  74 9D                                jz      loc_zero                 ; Jump if zero
273F:3F0A  EB A5                                jmp     short loc_one           ; (3EB1)

273F:3F0C  F7 45 02 FFFF  sequence_logical_or: test    word ptr [di+2],0FFFFh
273F:3F11  75 9E                                jnz     loc_one                 ; Jump if not zero
273F:3F13  F7 05 FFFF                           test    word ptr [di],0FFFFh
273F:3F17  75 98                                jnz     loc_one                 ; Jump if not zero
273F:3F19  EB 8C                                jmp     short loc_zero           ; (3EA7)

273F:3F1B  83 EF 02       sequence_get_field:   sub     di,2
273F:3F1E  81 C2 BA15                           add     dx, offset room_number_2
273F:3F22  57                                   push    di
273F:3F23  8B FA                                mov     di,dx
273F:3F25  8B 05                                mov     ax,[di]
273F:3F27  5F                                   pop     di
273F:3F28  89 05                                mov     [di],ax
273F:3F2A  E9 FF2C                              jmp     loc_796                 ; (3E59)

273F:3F2D  81 C2 BA15     sequence_set_field:   add     dx, offset room_number_2
273F:3F31  8B 05                                mov     ax,[di]                 ; Get value off stack
273F:3F33  57                                   push    di
273F:3F34  8B FA                                mov     di,dx
273F:3F36  89 05                                mov     [di],ax                 ; Set field value
273F:3F38  5F                                   pop     di
273F:3F39  83 C7 02                             add     di,2                    ; Pop stack element
273F:3F3C  E9 FF1A                              jmp     loc_796

273F:3F3F  E8 052A           sequence_random:   call    random
273F:3F42  8A D4                                mov     dl,ah
273F:3F44  32 F6                                xor     dh,dh                   ; Zero register

273F:3F46  83 EF 02      sequence_push_value:   sub     di,2
273F:3F49  89 15                                mov     [di],dx
273F:3F4B  E9 FF0B                              jmp     loc_796                 ; (3E59)
                                                                                ;* No entry point to code
273F:3F4E  56            sequence_subroutine:   push    si
273F:3F4F  8B F2                                mov     si,dx
273F:3F51  E8 FEF9                              call    sequence_execute_inner
273F:3F54  5E                                   pop     si
273F:3F55                       loc_800:                                        ;  xref 273F:3F97
273F:3F55  E9 FF01                              jmp     loc_796                 ; (3E59)

273F:3F58  D1 E2        sequence_call_method:   shl     dx,1
273F:3F5A  81 C2 BABF                           add     dx, offset sequence_method_list
273F:3F5E  57                                   push    di
273F:3F5F  8B FA                                mov     di,dx
273F:3F61  8B 05                                mov     ax,[di]                 ; Get address of method
273F:3F63  5F                                   pop     di
273F:3F64 81 FF 1910                           cmp     di, offset current_sp   ; Any value on stack?
273F:3F68  74 1B                                je      loc_801                 ; No, so go call method
273F:3F6A  8B 1D                                mov     bx,[di]                 ; bx = top stack value
273F:3F6C  83 C7 02                             add     di,2
273F:3F6F 81 FF 1910                           cmp     di, offset current_sp   ; Any value on stack?
273F:3F73  74 10                                je      loc_801                 ; No, so go call method
273F:3F75  8B 0D                                mov     cx,[di]                 ; cx = top stack value
273F:3F77  83 C7 02                             add     di,2
273F:3F7A 81 FF 1910                           cmp     di, offset current_sp   ; Any value on stack?
273F:3F7E  74 05                                je      loc_801                 ; No, so go call method
273F:3F80  8B 15                                mov     dx,[di]                 ; dx = top stack value
273F:3F82  83 C7 02                             add     di,2
273F:3F85                       loc_801:
273F:3F85  56                                   push    si
273F:3F86  57                                   push    di
273F:3F87  06                                   push    es
273F:3F88  FF D0                                call    ax                      ; Call method
273F:3F8A  07                                   pop     es
273F:3F8B  5F                                   pop     di
273F:3F8C  5E                                   pop     si
273F:3F8D  E9 FEC9                              jmp     loc_796                 ; (3E59)

273F:3F90  8B 05        sequence_cond_jump:     mov     ax,[di]
273F:3F92  83 C7 02                             add     di,2
273F:3F95  0B C0                                or      ax,ax                   ; Zero ?
273F:3F97  75 BC                                jnz     loc_800                 ; Jump if not zero
273F:3F99  03 F2             sequence_jump:     add     si,dx
273F:3F9B  E9 FEBB                              jmp     loc_796                 ; (3E59)

273F:3F9E  C3             sequence_end:         retn

273F:3F9F  8B 26 10 19    sequence_restore_sp:  mov     sp, current_sp
273F:3FA3  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:029A, 02A6, 0365, 03BB, 03C7, 0426, 04FC
                                ;                             0691, 3C50, 7041, 7591, 7B04, 902C, 9414
                                ;                             AA1B
                                ;��������������������������������������������������������������������������

273F:3FA4                       display_message proc    near
273F:3FA4  80 0E 073D 01                        or      status_flags2, 1
273F:3FA9  80 0E 11D0 08                        or      menubar_state, 8   
273F:3FAE  3D 000C                              cmp     ax,0Ch
273F:3FB1  72 03                                jb      loc_802                 ; Jump if below
273F:3FB3  B8 000C                              mov     ax,0Ch
273F:3FB6                       loc_802:                                        ;  xref 273F:3FB1
273F:3FB6  F6 C6 FF                             test    dh,0FFh
273F:3FB9  75 03                                jnz     loc_803                 ; Jump if not zero
273F:3FBB  E9 0128                              jmp     loc_816                 ; (40E6)
273F:3FBE                       loc_803:                                        ;  xref 273F:3FB9
273F:3FBE  50                                   push    ax
273F:3FBF  B8 31E4                              mov     ax,data_seg
273F:3FC2  8E D8                                mov     ds,ax
273F:3FC4  F6 06 073C 04                        test    status_flags, STATUS_TIMER_SET
273F:3FC9  74 12                                jz      loc_804                 ; Jump if zero
273F:3FCB  1E                                   push    ds
273F:3FCC  2E: A1 04AC                          mov     ax,word ptr cs:old_timer_int_proc+2 ; (273F:04AC=40h)
273F:3FD0  8E D8                                mov     ds,ax
273F:3FD2  2E: 8B 16 04AA                       mov     dx,cs:old_timer_int_proc
273F:3FD7  B8 2508                              mov     ax,2508h
273F:3FDA  CD 21                                int     21h                     ; DOS Services  ah=function 25h
                                                                                ;  set intrpt vector al to ds:dx
273F:3FDC  1F                                   pop     ds
273F:3FDD                       loc_804:                                        ;  xref 273F:3FC9
273F:3FDD  F6 06 073C 10                        test    status_flags, STATUS_CRITICAL_SET
273F:3FE2  74 12                                jz      loc_805                 ; Jump if zero
273F:3FE4  1E                                   push    ds
273F:3FE5  2E: A1 04B4                          mov     ax,cs:old_critical_int_proc+2
273F:3FE9  8E D8                                mov     ds,ax
273F:3FEB  2E: 8B 16 04B2                       mov     dx,cs:old_critical_int_proc
273F:3FF0  B8 2524                              mov     ax,2524h
273F:3FF3  CD 21                                int     21h                     ; DOS Services  ah=function 25h
                                                                                ;  set intrpt vector al to ds:dx
273F:3FF5  1F                                   pop     ds
273F:3FF6                       loc_805:                                        ;  xref 273F:3FE2
273F:3FF6  F6 06 073C 40                        test    status_flags, STATUS_KEYBOARD_SET
273F:3FFB  74 12                                jz      loc_806                 ; Jump if zero
273F:3FFD  1E                                   push    ds
273F:3FFE  2E: A1 04B0                          mov     ax, word ptr cs:old_kbd_int_proc+2
273F:4002  8E D8                                mov     ds,ax
273F:4004  2E: 8B 16 04AE                       mov     dx, cs:old_kbd_int_proc
273F:4009  B8 2509                              mov     ax,2509h
273F:400C  CD 21                                int     21h                     ; DOS Services  ah=function 25h
                                                                                ;  set intrpt vector al to ds:dx
273F:400E  1F                                   pop     ds
273F:400F                       loc_806:                                        ;  xref 273F:3FFB
273F:400F  F6 06 073C 01                        test    status_flags, STATUS_VIDEO_MODE_SET
273F:4014  74 07                                jz      loc_807                 ; Jump if zero
273F:4016  A0 073B                              mov     al,data_542             ; (31E4:073B=0)
273F:4019  32 E4                                xor     ah,ah                   ; Zero register
273F:401B  CD 10                                int     10h                     ; Video display   ah=functn 00h
                                                                                ;  set display mode in al
273F:401D                       loc_807:                                        ;  xref 273F:4014
273F:401D  B8 0000                              mov     ax,0
273F:4020  CD 33                                int     33h                     ; Mouse driver    ax=func 0000h
                                                                                ;  installed?, ax=0 no, =-1 yes
                                                                                ;   bx=number of mouse buttons
273F:4022  F6 06 073C 08                        test    status_flags, STATUS_CTRL_BREAK_SET
273F:4027  74 24                                jz      loc_808                 ; Jump if zero
273F:4029  B8 3301                              mov     ax,3301h
273F:402C  8A 16 073E                           mov     dl, old_ctrl_break_flag
273F:4030  CD 21                                int     21h                     ; DOS Services  ah=function 33h
                                                                                ;  set ctrl-break flag dl=off/on
273F:4032  B8 0040                              mov     ax,40h
273F:4035  8E C0                                mov     es,ax
273F:4037  A0 073F                              mov     al,data_546             ; (31E4:073F=1)
273F:403A  24 70                                and     al,70h                  ; 'p'
273F:403C  26: 80 26 0017 8F                    and     byte ptr es:keybd_flags_1,8Fh ; (0040:0017=0)
273F:4042  26: 08 06 0017                       or      es:keybd_flags_1,al     ; (0040:0017=0)
273F:4047  B4 06                                mov     ah,6
273F:4049  B2 FF                                mov     dl,0FFh
273F:404B  CD 21                                int     21h                     ; DOS Services  ah=function 06h
                                                                                ;  special char i/o, dl=subfunc
273F:404D                       loc_808:                                        ;  xref 273F:4027
273F:404D  58                                   pop     ax
273F:404E  0B C0                                or      ax,ax                   ; Zero ?
273F:4050  74 15                                jz      loc_809                 ; Jump if zero
273F:4052  50                                   push    ax
273F:4053  B4 09                                mov     ah,9
273F:4055 BA 3848                              mov     dx,offset data_779      ; (31E4:3848='')
273F:4058  CD 21                                int     21h                     ; DOS Services  ah=function 09h
                                                                                ;  display char string at ds:dx
273F:405A  58                                   pop     ax
273F:405B  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:405D  8B D8                                mov     bx,ax
273F:405F  8B 97 3670                           mov     dx,errormsg_list[bx]    ; (31E4:3670=0)
273F:4063  B4 09                                mov     ah,9
273F:4065  CD 21                                int     21h                     ; DOS Services  ah=function 09h
                                                                                ;  display char string at ds:dx
273F:4067                       loc_809:                                        ;  xref 273F:4050
273F:4067  E8 6189                              call    sub_257                 ; (A1F3)
273F:406A  B9 FFFF                              mov     cx,0FFFFh
273F:406D  B0 36                                mov     al,36h                  ; '6'
273F:406F  E6 43                                out     43h,al                  ; port 43h, 8253 timer control
273F:4071  EB 00                                jmp     short $+2               ; delay for I/O
273F:4073  EB 00                                jmp     short $+2               ; delay for I/O
273F:4075  8A C1                                mov     al,cl
273F:4077  E6 40                                out     40h,al                  ; port 40h, 8253 timer 0 clock
273F:4079  EB 00                                jmp     short $+2               ; delay for I/O
273F:407B  EB 00                                jmp     short $+2               ; delay for I/O
273F:407D  8A C5                                mov     al,ch
273F:407F  E6 40                                out     40h,al                  ; port 40h, 8253 timer 0 clock
273F:4081  B0 00                                mov     al,0
273F:4083  B4 4C                                mov     ah,4Ch
273F:4085  CD 21                                int     21h                     ; DOS Services  ah=function 4Ch
                                                                                ;  terminate with al=return code
273F:4087                       loc_810:                                        ;  xref 273F:40F2
273F:4087  50                                   push    ax
273F:4088  A0 073B                              mov     al,data_542             ; (31E4:073B=0)
273F:408B  32 E4                                xor     ah,ah                   ; Zero register
273F:408D  CD 10                                int     10h                     ; Video display   ah=functn 00h
                                                                                ;  set display mode in al
273F:408F  EB 01                                jmp     short loc_812           ; (4092)
273F:4091                       loc_811:                                        ;  xref 273F:40EB
273F:4091  50                                   push    ax
273F:4092                       loc_812:                                        ;  xref 273F:408F
273F:4092  B4 09                                mov     ah,9
273F:4094 BA 3848                              mov     dx,offset data_779      ; (31E4:3848='')
273F:4097  CD 21                                int     21h                     ; DOS Services  ah=function 09h
                                                                                ;  display char string at ds:dx
273F:4099  58                                   pop     ax
273F:409A  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:409C  8B D8                                mov     bx,ax
273F:409E  8B 97 3670                           mov     dx,errormsg_list[bx]    ; (31E4:3670=0)
273F:40A2  83 C2 02                             add     dx,2
273F:40A5  B4 09                                mov     ah,9
273F:40A7  CD 21                                int     21h                     ; DOS Services  ah=function 09h
                                                                                ;  display char string at ds:dx
273F:40A9  B4 09                                mov     ah,9
273F:40AB BA 3848                              mov     dx,offset data_779      ; (31E4:3848='')
273F:40AE  CD 21                                int     21h                     ; DOS Services  ah=function 09h
                                                                                ;  display char string at ds:dx
273F:40B0  F6 06 073C 80                        test    status_flags, STATUS_MOUSE_HANDLER_SET
273F:40B5  74 09                                jz      loc_813                 ; Jump if zero
273F:40B7  B4 09                                mov     ah,9
273F:40B9 BA 37D0                              mov     dx,offset data_777      ; (31E4:37D0='Press a mouse bu')
273F:40BC  CD 21                                int     21h                     ; DOS Services  ah=function 09h
                                                                                ;  display char string at ds:dx
273F:40BE  EB 07                                jmp     short loc_814           ; (40C7)
273F:40C0                       loc_813:                                        ;  xref 273F:40B5
273F:40C0  B4 09                                mov     ah,9
273F:40C2 BA 37F2                              mov     dx,offset data_778      ; (31E4:37F2='and press any ke')
273F:40C5  CD 21                                int     21h                     ; DOS Services  ah=function 09h
                                                                                ;  display char string at ds:dx
273F:40C7                       loc_814:                                        ;  xref 273F:40BE
273F:40C7  E8 DECC                              call    pause_for_input         ; (1F96)
273F:40CA  50                                   push    ax
273F:40CB  E8 DEBD                              call    mouse_wait              ; (1F8B)
273F:40CE  F6 06 073C 01                        test    status_flags, STATUS_VIDEO_MODE_SET
273F:40D3  74 0A                                jz      loc_815                 ; Jump if zero
273F:40D5  A0 0743                              mov     al,video_mode           ; (31E4:0743=0)
273F:40D8  32 E4                                xor     ah,ah                   ; Zero register
273F:40DA  CD 10                                int     10h                     ; Video display   ah=functn 00h
                                                                                ;  set display mode in al
273F:40DC  E8 00A6                              call    set_upper_vga_palette   ; (4185)
273F:40DF                       loc_815:                                        ;  xref 273F:40D3
273F:40DF  58                                   pop     ax
273F:40E0  80 26 073D FE                        and     status_flags2, 0FEh
273F:40E5  C3                                   retn
273F:40E6                       loc_816:                                        ;  xref 273F:3FBB
273F:40E6  F6 06 073C 01                        test    status_flags, STATUS_VIDEO_MODE_SET
273F:40EB  74 A4                                jz      loc_811                 ; Jump if zero
273F:40ED  F6 06 073C 02                        test    status_flags, STATUS_UNKNOWN
273F:40F2  74 93                                jz      loc_810                 ; Jump if zero
273F:40F4  8A 1E 11D0                           mov     bl,data_623             ; (31E4:11D0=3)
273F:40F8  53                                   push    bx
273F:40F9  50                                   push    ax
273F:40FA  80 0E 11D0 01                        or      menubar_state, 1     ; (31E4:11D0=3)
273F:40FF  FF 16 075E                           call    word ptr [show_cursor_proc]
273F:4103  F6 06 11D0 10                        test    menubar_state, 10h   ; (31E4:11D0=3)
273F:4108  75 14                                jnz     loc_817                 ; Jump if not zero
273F:410A  A1 4CE4                              mov     ax, data_segment2
273F:410D  8E C0                                mov     es,ax
273F:410F  33 C0                                xor     ax,ax                   ; Zero register
273F:4111  8B 0E 0746                           mov     cx, screen_size
273F:4115  D1 E9                                shr     cx,1                    ; Shift w/zeros fill
273F:4117  33 FF                                xor     di,di                   ; Zero register
273F:4119  F3/ AB                               rep     stosw                   ; Rep when cx >0 Store ax to es:[di]
273F:411B  E8 C843                              call    clear_hotspot_rects
273F:411E                       loc_817:                                        ;  xref 273F:4108
273F:411E  58                                   pop     ax
273F:411F  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:4121  8B D8                                mov     bx,ax
273F:4123  8B B7 3670                           mov     si,errormsg_list[bx]    ; (31E4:3670=0)
273F:4127  8B 34                                mov     si,[si]
273F:4129  E8 47E1                              call    sub_216                 ; (890D)
273F:412C  F6 06 073C 20                        test    status_flags, STATUS_UNKNOWN2
273F:4131  74 0C                                jz      loc_818                 ; Jump if zero
273F:4133  FF 36 073C                           push    status_flags
273F:4137  FF 16 0762                           call    [set_lower_palette_proc] 
273F:413B  8F 06 073C                           pop     status_flags
273F:413F                       loc_818:                                        ;  xref 273F:4131
273F:413F  E8 DE49                              call    mouse_wait              ; (1F8B)
273F:4142  E8 DE51                              call    pause_for_input         ; (1F96)
273F:4145  5B                                   pop     bx
273F:4146  50                                   push    ax
273F:4147  53                                   push    bx
273F:4148  F6 06 073C 20                        test    status_flags, STATUS_UNKNOWN2
273F:414D  74 09                                jz      loc_819                 ; Jump if zero
273F:414F  80 26 073C DF                        and     status_flags, !STATUS_UNKNOWN2
273F:4154  FF 16 0764                           call    [empty_palette_proc]
273F:4158                       loc_819:                                    
273F:4158  58                                   pop     ax
273F:4159  24 01                                and     al,1
273F:415B  75 09                                jnz     loc_820                 ; Jump if not zero
273F:415D  80 26 11D0 FE                        and     menubar_state, 0FEh  ; (31E4:11D0=3)
273F:4162  FF 16 075E                           call    word ptr [show_cursor_proc]
273F:4166                       loc_820:                                        ;  xref 273F:415B
273F:4166  F6 06 11D0 20                        test    menubar_state, 20h   ; (31E4:11D0=3) ' '
273F:416B  74 0B                                jz      loc_821                 ; Jump if zero
273F:416D  FF 16 0752                           call    [show_compressed_screen_proc]
273F:4171  E8 D39A                              call    room_add_animations
273F:4174  FF 16 0744                           call    word ptr [show_screen_proc]
273F:4178                       loc_821:                                        ;  xref 273F:416B
273F:4178  58                                   pop     ax
273F:4179  80 26 073D FE                        and     status_flags2, 0FEh
273F:417E  C3                                   retn
                                display_message endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                            seq_kill_player     proc    near
273F:417F  80 0E 073D 50                        or      status_flags2, FLAG_RESTART|FLAG_RESTORERESTART ;50h
273F:4184  C3                                   retn
                            seq_kill_player     endp

                                ;��������������������������������������������������������������������������
                                ; Sets the upper 16 palette entries of the VGA palette
                                ;
                                ;         Called from:   273F:075B, 40DC
                                ;��������������������������������������������������������������������������

273F:4185             set_upper_vga_palette     proc    near
273F:4185  1E                                   push    ds
273F:4186  07                                   pop     es
273F:4187  B8 1012                              mov     ax,1012h
273F:418A  BB 00F0                              mov     bx,0F0h                 ; Start with palette entry #F0h
273F:418D  B9 0010                              mov     cx,10h                  ; Set 16 palette entries
273F:4190 BA 1727                              mov     dx,offset vga_palette   ; es:dx pointer to table
273F:4193  CD 10                                int     10h                     ; Video display   ah=functn 10h
                                                                                ;  set cx color registers from
                                                                                ;   ptr es:dx, bx=first reg
273F:4195  C3                                   retn
                      set_upper_vga_palette     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:00AF, 0110, 60FF, 9762
                                ;��������������������������������������������������������������������������

                            animation_tick      proc    near

273F:4196 BF B14E                              mov     di, offset animation_table
273F:4199  B9 002D                              mov     cx, NUM_ANIMATION_SLOTS

273F:419C                       locloop_822:
273F:419C  F6 45 0C FF                          test    byte ptr [di+0Ch], 0FFh
273F:41A0  74 16                                jz      loc_823

273F:41A2  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]
273F:41A5  A3 BA17                              mov     character_hotspot, ax
273F:41A8  89 3E 1927                           mov     active_animation_offset, di
273F:41AC  8B 45 11                             mov     ax, [di+ANIM_TICK_PROC]
273F:41AF  8B 75 19                             mov     si, [di+ANIM_HOTSPOT_OFFSET]
273F:41B2  57                                   push    di
273F:41B3  51                                   push    cx
273F:41B4  FF D0                                call    ax                      ; Call entry's handler proc
273F:41B6  59                                   pop     cx
273F:41B7  5F                                   pop     di

273F:41B8                       loc_823:
273F:41B8  83 C7 29                             add     di, ANIMATION_SLOT_SIZE
273F:41BB  E2 DF                                loop    locloop_822             ; Loop if cx > 0

273F:41BD  C3               null_tick_proc:     retn

                            animation_tick      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:5F41
                                ;��������������������������������������������������������������������������

273F:41BE                action_dispatch        proc    near
273F:41BE C7 44 52 0000                        mov     [si+HS_DEST_HOTSPOT], 0
273F:41C3  8B 5F 01                             mov     bx, [bx+CURRENT_ACTION_SUPPORT_TABLE]
273F:41C6  8B EB                                mov     bp, bx
273F:41C8  8B 1F                                mov     bx, [bx]
273F:41CA  89 1E BB45                           mov     current_action_num, bx
273F:41CE  83 C5 02                             add     bp, 2
273F:41D1  D1 E3                                shl     bx, 1                   ; Shift w/zeros fill
273F:41D3  8B 87 3850                           mov     ax,word ptr ds:[actions2_proc_list][bx]
273F:41D7  FF E0                                jmp     ax
                         action_dispatch        endp

                                ;��������������������������������������������������������������������������
                                ;                              JUMP POINT
                                ;
                                ;��������������������������������������������������������������������������

273F:41D9                       loc_825:                                        ;  xref 273F:52BB
273F:41D9 8B DE                                mov     bx, si
273F:41DB  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:41DE  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:41E1  F7 44 61 FFFF                        test    word ptr [si+HS_ACTION_OFFSET], 0FFFFh
273F:41E6  74 0F                                jz      loc_826                 ; Jump if zero
273F:41E8  83 6C 61 05                          sub     word ptr [si+HS_ACTION_OFFSET], CURRENT_ACTION_RECORD_SIZE
273F:41EC  83 EB 05                             sub     bx, CURRENT_ACTION_RECORD_SIZE
273F:41EF  C6 44 4D 00                          mov     byte ptr [si+4Dh], 0
273F:41F3  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION
273F:41F6  C3                                   retn
273F:41F7                       loc_826:                                        ;  xref 273F:41E6
273F:41F7  C6 07 00                             mov     byte ptr [bx], CHAR_ACTION_NONE
273F:41FA  81 7D 1B 03E8                        cmp     word ptr [di+ANIM_HOTSPOT_ID], PLAYER_HOTSPOT_ID
273F:41FF  75 0B                                jne     loc_ret_827             ; Jump if not equal
273F:4201  C6 06 9834 00                        mov     cursor_state, CURSORSTATE_NONE
273F:4206  C7 06 11E4 FFFF                      mov     hotspot_name_id2, 0FFFFh

273F:420C                       loc_ret_827:                                    ;  xref 273F:41FF
273F:420C  C3                                   retn


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:51EE, 5FE0
                                ;��������������������������������������������������������������������������

               character_translate_movements    proc    near
273F:420D  8B 4C 21                             mov     cx, [si+HS_PIXEL_OFFSET]
273F:4210  8B 44 5A                             mov     ax, [si+HS_MOVEMENT_SRC_OFFSET]
273F:4213  89 44 24                             mov     [si+HS_MOVEMENT_OFFSET], ax
273F:4216  C7 44 26 0000                        mov     word ptr [si+HS_STEP_CTR], 0
273F:421B  C7 44 28 0000                        mov     word ptr [si+HS_FRAME_OFFSET], 0
273F:4220  56                                   push    si
273F:4221  57                                   push    di
273F:4222  53                                   push    bx
273F:4223  8B F8                                mov     di, ax
273F:4225  8B F1                                mov     si, cx
273F:4227  8B DA                                mov     bx, dx

273F:4229                       loc_828:
273F:4229 �8B 0F                                mov     cx, [bx]
273F:422B  0B C9                                or      cx, cx                  ; No more movements needed?
273F:422D  74 51                                jz      loc_832                 ; Exit if yes
273F:422F  8B 57 02                             mov     dx, [bx+2]              ; Get direction
273F:4232  83 C3 04                             add     bx, 4                   ; Move ptr to next move rec
273F:4235  83 FA 01                             cmp     dx, FACING2_LEFT
273F:4238  74 26                                je      loc_830                 ; Jump if equal
273F:423A  83 FA 02                             cmp     dx, FACING2_RIGHT
273F:423D  74 31                                je      loc_831                 ; Jump if equal
273F:423F  83 FA 04                             cmp     dx, FACING2_UP
273F:4242  74 0E                                je      loc_829                 ; Jump if equal
273F:4244  83 C1 01                             add     cx, 1
273F:4247  D1 E9                                shr     cx, 1
273F:4249  8B 44 0B                             mov     ax, [si+PIXEL_MOVEREC_DOWN]
273F:424C  AB                                   stosw                           ; Store movement records
273F:424D  8B C1                                mov     ax,cx
273F:424F  AB                                   stosw                           ; Store steps
273F:4250  EB D7                                jmp     short loc_828
273F:4252                       loc_829:
273F:4252  83 C1 01                             add     cx, 1
273F:4255  D1 E9                                shr     cx, 1
273F:4257  8B 44 09                             mov     ax, [si+PIXEL_MOVEREC_UP]
273F:425A  AB                                   stosw                           ; Store movement records
273F:425B  8B C1                                mov     ax,cx
273F:425D  AB                                   stosw                           ; Store steps
273F:425E  EB C9                                jmp     short loc_828
273F:4260                       loc_830:
273F:4260  83 C1 03                             add     cx, 3
273F:4263  D1 E9                                shr     cx, 1
273F:4265  D1 E9                                shr     cx, 1
273F:4267  8B 44 0D                             mov     ax, [si+PIXEL_MOVEREC_LEFT]
273F:426A  AB                                   stosw                           ; Store movement records
273F:426B  8B C1                                mov     ax,cx
273F:426D  AB                                   stosw                           ; Store steps
273F:426E  EB B9                                jmp     short loc_828
273F:4270                       loc_831:
273F:4270  83 C1 03                             add     cx, 3
273F:4273  D1 E9                                shr     cx, 1
273F:4275  D1 E9                                shr     cx, 1
273F:4277  8B 44 0F                             mov     ax, [si+PIXEL_MOVEREC_RIGHT]
273F:427A  AB                                   stosw                           ; Store movement records
273F:427B  8B C1                                mov     ax,cx
273F:427D  AB                                   stosw                           ; Store steps
273F:427E  EB A9                                jmp     short loc_828
273F:4280                       loc_832:
273F:4280  B8 FFFF                              mov     ax,0FFFFh
273F:4283  AB                                   stosw                           ; Store end makrer
273F:4284  5B                                   pop     bx
273F:4285  5F                                   pop     di
273F:4286  5E                                   pop     si
273F:4287  C3                                   retn
               character_translate_movements    endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:5242
                                ;��������������������������������������������������������������������������

                 character_check_room_change    proc    near
273F:4288 �56                                   push    si
273F:4289  8B 45 0E                             mov     ax, [di+ANIM_ROOM_NUM]
273F:428C  E8 CA5B                              call    get_room_resource_pointer2 ; Get room resource
273F:428F  83 C6 1D                             add     si, ROOM_EXITS_START    ; Get pointer to room exits list
273F:4292  8B 05                                mov     ax, [di+ANIM_X]         ; get X start
273F:4294  8B 4D 13                             mov     cx, [di+ANIM_WIDTH_COPY]; Get animation width
273F:4297  D1 E9                                shr     cx, 1
273F:4299  03 C1                                add     ax, cx
273F:429B  8B 55 02                             mov     dx, [di+ANIM_Y]
273F:429E  03 55 15                             add     dx, [di+ANIM_HEIGHT_COPY]
273F:42A1  8B 4D 17                             mov     cx, [di+ANIM_Y_CORRECTION]
273F:42A4  D1 E9                                shr     cx,1
273F:42A6  2B D1                                sub     dx,cx                   ; ax=x, dx=y

273F:42A8                       loc_834:
273F:42A8 83 3C FF                             cmp     word ptr [si],0FFFFh    ; End of list reached?
273F:42AB  74 3A                                je      loc_837                 ; Jump if yes
273F:42AD  3B 04                                cmp     ax, [si+ROOMREC_EXIT_X_START] ; Check bounds of the
273F:42AF  72 27                                jb      loc_836                 ;  room exit against character
273F:42B1  3B 44 02                             cmp     ax, [si+ROOMREC_EXIT_X_END]
273F:42B4  73 22                                jae     loc_836
273F:42B6  3B 54 04                             cmp     dx, [si+ROOMREC_EXIT_Y_START]
273F:42B9  72 1D                                jb      loc_836
273F:42BB  3B 54 06                             cmp     dx, [si+ROOMREC_EXIT_Y_END]
273F:42BE  73 18                                jae     loc_836
273F:42C0  8B 44 08                             mov     ax, [si+ROOMREC_EXIT_SEQUENCE]
273F:42C3  3D FFFF                              cmp     ax, 0FFFFh              ; Any sequence to run?
273F:42C6  74 04                                je      loc_835                 ; If no, go set room directly
273F:42C8  5E                                   pop     si
273F:42C9  E9 FB68                              jmp     sequence_execute
273F:42CC                       loc_835:                                        ;  xref 273F:42C6
273F:42CC  8B 54 0A                             mov     dx, [si+ROOMREC_EXIT_ROOM_NUM] ; Get new room #/direction
273F:42CF  8B 4C 0C                             mov     cx, [si+ROOMREC_EXIT_NEW_X]    ; Get new X
273F:42D2  8B 5C 0E                             mov     bx, [si+ROOMREC_EXIT_NEW_Y]    ; Get new Y
273F:42D5  5E                                   pop     si
273F:42D6  EB 11                                jmp     character_change_room
273F:42D8                       loc_836:
273F:42D8  8B 5C 08                             mov     bx, [si+ROOMREC_EXIT_SEQUENCE] ; Get sequence Id
273F:42DB  83 C6 0A                             add     si, 0Ah                 ; Move to next entry
273F:42DE  0B DB                                or      bx, bx                  ; Did entry have a script?
273F:42E0  79 C6                                jns     loc_834                 ; If not, go check next record
273F:42E2  83 C6 06                             add     si, 6                   ; Skip over room/x/y vals
273F:42E5  EB C1                                jmp     short loc_834           ; Check next record
273F:42E7                       loc_837:
273F:42E7  5E                                   pop     si
273F:42E8  C3                                   retn
                 character_check_room_change    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:960F, 9628
                                ;��������������������������������������������������������������������������

                      character_change_room     proc    near
273F:42E9  A1 BA17                              mov     ax, character_hotspot
273F:42EC  3D 03E8                              cmp     ax, PLAYER_HOTSPOT_ID   ; Is character the player?
273F:42EF  75 2E                                jne     loc_840                 ; Jump if not
273F:42F1  F6 06 9834 FF                        test    cursor_state, 0FFh
273F:42F6  75 26                                jnz     loc_ret_839             ; Jump if not zero

; Room change code for the player
273F:42F8 BE 6CEF                              mov     si, offset player_hotspot_rec
273F:42FB  88 74 50                             mov     [si+HS_DIRECTION], dh
273F:42FE  C6 44 51 00                          mov     byte ptr [si+HS_DIRECTION+1], 0
273F:4302  32 F6                                xor     dh,dh                   ; Zero register
273F:4304  83 EB 30                             sub     bx, 48
273F:4307  89 16 982C                           mov     new_room_number_2, dx
273F:430B  89 0E 982E                           mov     new_room_x, cx
273F:430F  89 1E 9830                           mov     new_room_y, bx
273F:4313  E8 1D23                              call    character_change_room_check_bumped
273F:4316  75 06                                jnz     loc_ret_839             ; Jump if not zero
273F:4318  C7 06 982C 0000                      mov     new_room_number_2, 0
273F:431E                       loc_ret_839:    retn

; Room change code for other characters
273F:431F                       loc_840:
273F:431F  8B 3E 1927                           mov     di, active_animation_offset
273F:4323  8B 75 19                             mov     si, [di+ANIM_HOTSPOT_OFFSET]
273F:4326  53                                   push    bx
273F:4327  51                                   push    cx
273F:4328  52                                   push    dx
273F:4329  E8 017D                              call    check_for_impinging_characters
273F:432C  5A                                   pop     dx
273F:432D  59                                   pop     cx
273F:432E  5B                                   pop     bx
273F:432F  75 06                                jnz     loc_841                 ; Jump if not zero
273F:4331  33 C0                                xor     ax,ax                   ; Zero register
273F:4333  E8 01F2                              call    set_new_dispatch_action
273F:4336  C3                                   retn
273F:4337                       loc_841:                                        ;  xref 273F:432F
273F:4337  83 E1 F8                             and     cx, 0FFF8h
273F:433A  83 C9 05                             or      cx, 5
273F:433D  89 0D                                mov     [di+ANIM_X], cx
273F:433F  89 4C 0D                             mov     [si+HS_X], cx
273F:4342  8A CE                                mov     cl, dh
273F:4344  32 F6                                xor     dh, dh                  ; Zero register
273F:4346  89 55 0E                             mov     [di+ANIM_ROOM_NUM], dx
273F:4349  89 54 06                             mov     [si+HS_ROOM_NUM], dx
273F:434C  2B 5C 1B                             sub     bx, [si+HS_HEIGHT_COPY]
273F:434F  83 E3 F8                             and     bx, 0FFF8h
273F:4352  89 5D 02                             mov     [di+ANIM_Y], bx
273F:4355  89 5C 0F                             mov     [si+HS_Y], bx
273F:4358  8B DE                                mov     bx, si
273F:435A  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:435D  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:4360  E9 0EE3                              jmp     character_change_room_2
                      character_change_room     endp

                                ;��������������������������������������������������������������������������
                                ;                              JUMP POINT
                                ;
                                ;��������������������������������������������������������������������������

                 character_update_movement_2:
273F:4363 �88 44 44                             mov     [si+HS_CHAR_MODE], al


                   character_update_movement    proc    near
273F:4366 �53                                   push    bx
273F:4367  8B DE                                mov     bx, si
273F:4369  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:436C  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:436F  8A 07                                mov     al, [bx]
273F:4371  5B                                   pop     bx
273F:4372  3C 03                                cmp     al, CHAR_ACTION_EXEC_SCRIPT
273F:4374  74 10                                je      loc_ret_845             ; Exit if running script
273F:4376  F6 44 49 FF                          test    byte ptr [si+HS_PATHFIND_COVERED], 0FFh
273F:437A  75 07                                jnz     loc_844                 ; Jump if not zero
273F:437C  C6 44 49 01                          mov     byte ptr [si+HS_PATHFIND_COVERED], 1
273F:4380  E8 2DAB                              call    pathfind_flag_covered_cells
273F:4383                       loc_844:                                        ;  xref 273F:437A
273F:4383  E9 032B                              jmp     character_reset_direction

273F:4386                       loc_ret_845:                                    ;  xref 273F:4374, 438B
273F:4386  C3                                   retn
                   character_update_movement    endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:5050, 50B1, 512D, 5224, 5EC4, 5EF1, 5F5C
                                ;                             7758
                                ;��������������������������������������������������������������������������

                    character_pathfind_clear    proc    near
273F:4387  F6 44 49 FF                          test    byte ptr [si+HS_PATHFIND_COVERED], 0FFh
273F:438B  74 F9                                jz      loc_ret_845             ; Jump if zero
273F:438D  C6 44 49 00                          mov     byte ptr [si+HS_PATHFIND_COVERED], 0
273F:4391  E9 2DAF                              jmp     pathfind_clear_covered_cells
                    character_pathfind_clear    endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:56D0, 712F, 7144
                                ;��������������������������������������������������������������������������

                          pathfind_get_cell     proc    near
273F:4394  8B 45 0E                             mov     ax, [di+ANIM_ROOM_NUM]
273F:4397  2D 0001                              sub     ax, 1                   ; ax=room # - 1
273F:439A  8B D8                                mov     bx, ax
273F:439C  B1 04                                mov     cl, 4
273F:439E  D3 E3                                shl     bx, cl                  ; bx=(R-1)*16
273F:43A0  2B D8                                sub     bx, ax                  ; bx=(R-1)*15
273F:43A2  B1 03                                mov     cl, 3
273F:43A4  D3 E3                                shl     bx, cl                  ; bx=(R-1)*120
273F:43A6  81 C3 984A                           add     bx, offset pathfind_data2
273F:43AA  8B 45 02                             mov     ax, [di+ANIM_Y]
273F:43AD  2D 0088                              sub     ax, 88h
273F:43B0  03 45 15                             add     ax, [di+ANIM_HEIGHT_COPY]
273F:43B3  2D 0004                              sub     ax, 4
273F:43B6  D3 E8                                shr     ax, cl
273F:43B8  3D 0018                              cmp     ax, 18h                 ; (y+height-8-4) >= 200?
273F:43BB  73 50                                jae     loc_850                 ; If yes then jump to exit
273F:43BD  8B D0                                mov     dx, ax                  ; ax=0->17
273F:43BF  D1 E0                                shl     ax, 1
273F:43C1  D1 E0                                shl     ax, 1                   ; ax=ax*4
273F:43C3  03 C2                                add     ax, dx                  ; ax=ax*5
273F:43C5  03 D8                                add     bx, ax                  ; Add bx onto offset

; At this point bx = (Room# - 1) * 120 + (Y# * 5), where Y# is between 0 to 17
273F:43C7  8B 05                                mov     ax, [di+ANIM_X]
273F:43C9  D3 E8                                shr     ax, cl
273F:43CB  8B 55 13                             mov     dx, [di+ANIM_WIDTH_COPY]
273F:43CE  D3 EA                      `          shr     dx, cl                  ; ax=left/8, dx=width/8
273F:43D0  75 03                                jnz     loc_846                 ; Is width < 8 pixels?
273F:43D2  BA 0001                              mov     dx, 1                   ; Yes, default to 1 (8 pixels)
273F:43D5                       loc_846:
273F:43D5  2D 0010                              sub     ax, 10h                 ; Is left < 0
273F:43D8  73 0A                                jnc     loc_847                 ; Jump if not
273F:43DA  F7 D8                                neg     ax
273F:43DC  2B D0                                sub     dx, ax
273F:43DE  72 2D                                jc      loc_850                 ; Exit if offscreen to left
273F:43E0  74 2B                                jz      loc_850
273F:43E2  33 C0                                xor     ax, ax                  ; Default to 0
273F:43E4                       loc_847:
273F:43E4  8B E8                                mov     bp, ax
273F:43E6  03 EA                                add     bp, dx                  ; Add width
273F:43E8  83 ED 29                             sub     bp, ROOM_PATHS_WIDTH+1
273F:43EB  72 09                                jc      loc_848                 ; Jump if on screen
273F:43ED  83 C5 01                             add     bp, 1
273F:43F0  2B D5                                sub     dx, bp
273F:43F2  72 19                                jc      loc_850                 ; Jump if carry Set
273F:43F4  74 17                                jz      loc_850                 ; Jump if zero
273F:43F6                       loc_848:
273F:43F6  8B E8                                mov     bp, ax                  ; bp,ax=(left/8)-10h
273F:43F8  D3 E8                                shr     ax, cl
273F:43FA  03 D8                                add     bx, ax                  ; Increment X offset
273F:43FC  8B CD                                mov     cx, bp
273F:43FE  B8 0080                              mov     ax, 80h
273F:4401  83 E1 07                             and     cx, 7
273F:4404  74 02                                jz      loc_849
273F:4406  D3 E8                                shr     ax, cl                  ; Setup bit mask
273F:4408                       loc_849:                                        ;  xref 273F:4404
273F:4408  8B CA                                mov     cx, dx
273F:440A  0B C9                                or      cx, cx 
273F:440C  C3                                   retn
273F:440D                       loc_850:                                        ;  xref 273F:43BB, 43DE, 43E0, 43F2
                                                                                ;            43F4
273F:440D  33 C9                                xor     cx, cx                  ; Zero register
273F:440F  C3                                   retn
                          pathfind_get_cell     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0107, 60FC
                                ;��������������������������������������������������������������������������

            character_paused_list_countdown     proc    near
273F:4410  BB B0AE                              mov     bx, offset character_pause_list
273F:4413  B9 0014                              mov     cx, NUM_PAUSED_CHARS_SLOTS

273F:4416                       locloop_851:
273F:4416  F7 07 FFFF                           test    word ptr [bx+PC_HOTSPOT_PTR],0FFFFh ; Entry position in use?
273F:441A  74 1F                                jz      loc_853                 ; Skip entry if not
273F:441C  83 6F 04 01                          sub     word ptr [bx+PC_COUNTER], 1 ; Decrement entry counter
273F:4420  8B 47 04                             mov     ax, [bx+PC_COUNTER]
273F:4423  0B C0                                or      ax,ax                   ; Reached zero?
273F:4425  75 04                                jnz     loc_852                 ; Jump if not
273F:4427  C7 07 0000                           mov     word ptr [bx+PC_SRC_CHAR_ID], 0 ; Clear slot
273F:442B                       loc_852:
273F:442B  81 7F 02 2710                        cmp     word ptr [bx+PC_DEST_CHAR_ID], START_EXIT_HOTSPOT_ID
273F:4430  73 09                                jae     loc_853                 ; Jump if >= 2710h
273F:4432  8B 77 06                             mov     si, [bx+PC_HOTSPOT_PTR]
273F:4435  05 0001                              add     ax, 1
273F:4438  89 44 4A                             mov     [si+HS_PAUSE_CTR], ax 
273F:443B                       loc_853:
273F:443B  83 C3 08                             add     bx, PAUSED_CHAR_SLOT_SIZE
273F:443E  E2 D6                                loop    locloop_851             ; Loop if cx > 0

273F:4440  C3                                   retn
            character_paused_list_countdown     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:479F, 51A8, 5FB9
                                ;��������������������������������������������������������������������������

                character_paused_list_reset     proc    near
273F:4441  53                                   push    bx
273F:4442  BB B0AE                              mov     bx, offset character_pause_list
273F:4445  B9 0014                              mov     cx, NUM_PAUSED_CHARS_SLOTS
273F:4448  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]

273F:444B                       locloop_854:
273F:444B  3B 07                                cmp     ax, [bx+PC_SRC_CHAR_ID]
273F:444D  75 16                                jne     loc_855                 ; Skip if entry is empty
273F:444F  C7 47 04 0001                        mov     word ptr [bx+PC_COUNTER], 1
273F:4454  81 7F 02 2710                        cmp     word ptr [bx+PC_DEST_CHAR_ID], START_EXIT_HOTSPOT_ID
273F:4459  73 0A                                jae     loc_855                 ; Jump if above or =
273F:445B  56                                   push    si
273F:445C  8B 77 06                             mov     si, [bx+PC_HOTSPOT_PTR]
273F:445F  C7 44 4A 0001                        mov     word ptr [si+HS_PAUSE_CTR], 1
273F:4464  5E                                   pop     si
273F:4465                       loc_855:                                        ; Move to next entry
273F:4465  83 C3 08                             add     bx, PAUSED_CHAR_SLOT_SIZE
273F:4468  E2 E1                                loop    locloop_854             ; Loop through list

273F:446A  5B                                   pop     bx
273F:446B  C3                                   retn
                character_paused_list_reset     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:3C71, 3C78, 3D0F, 3F3F, 4971, 5687, 5697
                                ;                             7CAF, 7D2C, 81E1, 8224, 830A, 833D, 8385
                                ;                             988C, 9F4B
                                ;��������������������������������������������������������������������������

                                random          proc    near
273F:446C  56                                   push    si
273F:446D  57                                   push    di
273F:446E  53                                   push    bx
273F:446F  51                                   push    cx
273F:4470  8B 16 38A2                           mov     dx, random_v1
273F:4474  A1 38A4                              mov     ax, random_v2
273F:4477  B9 015A                              mov     cx,15Ah
273F:447A  BB 4E35                              mov     bx,4E35h
273F:447D  56                                   push    si
273F:447E  96                                   xchg    si,ax
273F:447F  92                                   xchg    dx,ax
273F:4480  85 C0                                test    ax,ax
273F:4482  74 02                                jz      loc_856                 ; Jump if zero
273F:4484  F7 E3                                mul     bx                      ; dx:ax = reg * ax
273F:4486                       loc_856:                                        ;  xref 273F:4482
273F:4486  91                                   xchg    cx,ax
273F:4487  85 C0                                test    ax,ax
273F:4489  74 04                                jz      loc_857                 ; Jump if zero
273F:448B  F7 E6                                mul     si                      ; dx:ax = reg * ax
273F:448D  03 C8                                add     cx,ax
273F:448F                       loc_857:                                        ;  xref 273F:4489
273F:448F  96                                   xchg    si,ax
273F:4490  F7 E3                                mul     bx                      ; dx:ax = reg * ax
273F:4492  03 D1                                add     dx,cx
273F:4494  5E                                   pop     si
273F:4495  05 0001                              add     ax,1
273F:4498  83 D2 00                             adc     dx,0
273F:449B  89 16 38A2                           mov     random_v1, dx
273F:449F  A3 38A4                              mov     random_v2, ax
273F:44A2  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:44A4  59                                   pop     cx
273F:44A5  5B                                   pop     bx
273F:44A6  5F                                   pop     di
273F:44A7  5E                                   pop     si
273F:44A8  C3                                   retn
                                random          endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:4329, 603C
                                ;��������������������������������������������������������������������������

             check_for_impinging_characters     proc    near
273F:44A9 BB B14E                              mov     bx, offset animation_table
273F:44AC  B9 002D                              mov     cx, NUM_ANIMATION_SLOTS
273F:44AF  8B 55 0E                             mov     dx, [di+ANIM_ROOM_NUM]

273F:44B2                       locloop_858:                                    ;  xref 273F:44D0
273F:44B2  F6 47 1D FF                          test    byte ptr [bx+ANIM_SKIP], 0FFh
273F:44B6  74 15                                jz      loc_859                 ; Jump if zero
273F:44B8  F6 47 0C FF                          test    byte ptr [bx+ANIM_LAYER], 0FFh
273F:44BC  74 0F                                jz      loc_859                 ; Jump if zero
273F:44BE  3B 57 0E                             cmp     dx, [bx+ANIM_ROOM_NUM]
273F:44C1  75 0A                                jne     loc_859                 ; Jump if not equal
273F:44C3  53                                   push    bx
273F:44C4  8B 5F 19                             mov     bx, [bx+ANIM_HOTSPOT_OFFSET]
273F:44C7  E8 10D7                              call    characters_impinging_check
273F:44CA  5B                                   pop     bx
273F:44CB  75 09                                jnz     loc_860                 ; Jump if not zero
273F:44CD                       loc_859:                                        ;  xref 273F:44B6, 44BC, 44C1
273F:44CD  83 C3 29                             add     bx, ANIMATION_SLOT_SIZE
273F:44D0  E2 E0                                loop    locloop_858             ; Loop if cx > 0

273F:44D2  0D 0001                              or      ax, 1
273F:44D5  C3                                   retn
273F:44D6                       loc_860:                                        ;  xref 273F:44CB
273F:44D6  33 C0                                xor     ax, ax
273F:44D8  C3                                   retn
             check_for_impinging_characters     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:476C, 85A3
                                ;��������������������������������������������������������������������������

                             char_face_up       proc    near
273F:44D9 8B 5C 21                             mov     bx, [si+HS_PIXEL_OFFSET]
273F:44DC  8A 47 11                             mov     al, [bx+PIXEL_FRAMENUM_UP]
273F:44DF  C7 45 22 0004                        mov     word ptr [di+ANIM_CHAR_RECT_Y], 4
273F:44E4  C6 45 26 00                          mov     byte ptr [di+ANIM_DIRECTION], FACING_UP
273F:44E8  EB 33                                jmp     short char_face_end
                             char_face_up       endp

                           char_face_down       proc    near
273F:44EA 8B 5C 21                             mov     bx, [si+HS_PIXEL_OFFSET]
273F:44ED  8A 47 12                             mov     al, [bx+PIXEL_FRAMENUM_DOWN]
273F:44F0  C7 45 22 0004                        mov     word ptr [di+ANIM_CHAR_RECT_Y], 4
273F:44F5  C6 45 26 01                          mov     byte ptr [di+ANIM_DIRECTION], FACING_DOWN
273F:44F9  EB 22                                jmp     short char_face_end
                           char_face_down       endp

                           char_face_left       proc    near
273F:44FB 8B 5C 21                             mov     bx, [si+HS_PIXEL_OFFSET]
273F:44FE  8A 47 13                             mov     al, [bx+PIXEL_FRAMENUM_LEFT]
273F:4501  C7 45 22 0000                        mov     word ptr [di+ANIM_CHAR_RECT_Y], 0
273F:4506  C6 45 26 02                          mov     byte ptr [di+ANIM_DIRECTION], FACING_LEFT
273F:450A  EB 11                                jmp     short char_face_end
                           char_face_left       endp

                          char_face_right       proc    near
273F:450C 8B 5C 21                             mov     bx, [si+HS_PIXEL_OFFSET]
273F:450F  8A 47 14                             mov     al, [bx+PIXEL_FRAMENUM_RIGHT]
273F:4512  C7 45 22 0000                        mov     word ptr [di+ANIM_CHAR_RECT_Y], 0
273F:4517  C6 45 26 03                          mov     byte ptr [di+ANIM_DIRECTION], FACING_RIGHT
273F:451B  EB 00                                jmp     short char_face_end
                          char_face_right       endp

273F:451D                 char_face_end:
273F:451D  8B 5F 07                             mov     bx, [bx+PIXEL_FRAME_SIZE] ; Calculate frame offset
273F:4520  32 E4                                xor     ah, ah
273F:4522  F7 E3                                mul     bx
273F:4524  89 45 08                             mov     [di+ANIM_FRAME_OFFSET], ax
273F:4527  C3                                   retn


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:4333
                                ;��������������������������������������������������������������������������

                     set_new_dispatch_action    proc    near
273F:4528 �83 44 61 05                          add     word ptr [si+HS_ACTION_OFFSET], CURRENT_ACTION_RECORD_SIZE
273F:452C  EB 0C                                jmp     short loc_868
                     set_new_dispatch_action    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                 seq_set_new_dispatch_action    proc    near
273F:452E  53                                   push    bx
273F:452F  8B C1                                mov     ax, cx                  ; Get param
273F:4531  E8 C7B6                              call    get_room_resource_pointer2 ; Get HS resource
273F:4534  58                                   pop     ax
273F:4535                       loc_867:
273F:4535 C7 44 61 0005                        mov     word ptr [si+HS_ACTION_OFFSET], CURRENT_ACTION_RECORD_SIZE
273F:453A                       loc_868:
273F:453A  C6 44 4D 00                          mov     byte ptr [si+HS_V4D], 0
273F:453E  D1 E0                                shl     ax, 1                    ; Shift w/zeros fill
273F:4540  05 1380                              add     ax, offset support_data_offset_list
273F:4543  8B D8                                mov     bx, ax
273F:4545  8B 07                                mov     ax, [bx]                ; Get support entry
273F:4547  8B DE                                mov     bx, si
273F:4549  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:454C  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:454F  89 47 01                             mov     [bx+CURRENT_ACTION_SUPPORT_TABLE], ax
273F:4552  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION
273F:4555  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]
273F:4558  89 47 03                             mov     [bx+CURRENT_ACTION_ROOM_NUM], ax
273F:455B  C6 44 2A 00                          mov     byte ptr [si+HS_ACTION_CTR], 0
273F:455F  C3                                   retn
                 seq_set_new_dispatch_action    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:5133, 5F63
                                ;��������������������������������������������������������������������������

                  character_paused_list_scan    proc    near
273F:4560 F6 44 4C FF                          test    byte ptr [si+HS_BLOCKED_FLAG], 0FFh
273F:4564  74 2C                                jz      loc_ret_873             ; Jump if zero
                  character_paused_list_scan_2:
273F:4566 �53                                   push    bx
273F:4567  BB B0AE                              mov     bx, offset character_pause_list
273F:456A  B9 0014                              mov     cx, NUM_PAUSED_CHARS_SLOTS
273F:456D  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]

273F:4570                       locloop_871:                                    ;  xref 273F:458F
273F:4570  3B 07                                cmp     ax, [bx+PC_SRC_CHAR_ID] ; Found slot for hotspot?
273F:4572  75 18                                jne     loc_872                 ; Skip if not
273F:4574  C7 47 04 000F                        mov     word ptr [bx+PC_COUNTER], 15
273F:4579  81 7F 02 2710                        cmp     word ptr [bx+PC_DEST_CHAR_ID], START_EXIT_HOTSPOT_ID
273F:457E  73 0C                                jae     loc_872
273F:4580  56                                   push    si
273F:4581  51                                   push    cx
273F:4582  8B 77 06                             mov     si, [bx+PC_HOTSPOT_PTR]
273F:4585  C7 44 4A 000F                        mov     word ptr [si+HS_PAUSE_CTR], 15
273F:458A  59                                   pop     cx
273F:458B  5E                                   pop     si
273F:458C                       loc_872:                                        ;  xref 273F:4572, 457E
273F:458C  83 C3 08                             add     bx, PAUSED_CHAR_SLOT_SIZE
273F:458F  E2 DF                                loop    locloop_871             ; Loop if cx > 0

273F:4591  5B                                   pop     bx

273F:4592                       loc_ret_873:                                    ;  xref 273F:4564
273F:4592  C3                                   retn
                  character_paused_list_scan    endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:131F, 56FC
                                ;��������������������������������������������������������������������������

                       is_roomexit_hotspot      proc    near
273F:4593                       loc_874:                                        ;  xref 273F:459F
273F:4593  3B 04                                cmp     ax,[si]
273F:4595  74 0D                                je      loc_875                 ; Jump if equal
273F:4597  83 C6 02                             add     si,2
273F:459A  F7 44 FE FFFF                        test    word ptr [si-2],0FFFFh
273F:459F  75 F2                                jnz     loc_874                 ; Jump if not zero
273F:45A1  0C 01                                or      al,1
273F:45A3  C3                                   retn
273F:45A4                       loc_875:                                        ;  xref 273F:4595
273F:45A4  33 C0                                xor     ax,ax                   ; Zero register
273F:45A6  C3                                   retn
                       is_roomexit_hotspot      endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:5402, 5713, 5816, 5909, 5944, 5AB8, 5B30
                                ;                             5B96, 5C34, 5CB3, 5D7E, 5DAA, 89F0
                                ;��������������������������������������������������������������������������

                    hotspot_action_precheck     proc    near
273F:45A7  3D 0420                              cmp     ax, 420h
273F:45AA  74 0A                                je      loc_876                 ; Jump if equal
273F:45AC  3D 0436                              cmp     ax, 436h
273F:45AF  74 05                                je      loc_876                 ; Jump if equal
273F:45B1  3D 0429                              cmp     ax, 429h
273F:45B4  75 1A                                jne     loc_879                 ; Jump if not equal
273F:45B6                       loc_876:                                        ;  xref 273F:45AA, 45AF
273F:45B6  50                                   push    ax
273F:45B7  55                                   push    bp
273F:45B8  E8 3F9F                              call    sub_213                 ; (855A)
273F:45BB  5D                                   pop     bp
273F:45BC  0B C0                                or      ax, ax                  ; Zero ?
273F:45BE  74 0B                                jz      loc_878                 ; Jump if zero
273F:45C0  58                                   pop     ax
273F:45C1  56                                   push    si
273F:45C2  E8 C725                              call    get_room_resource_pointer2
273F:45C5  5B                                   pop     bx
273F:45C6  87 F3                                xchg    si, bx                  ; si=char, bx=hotspot
273F:45C8                       loc_877:
273F:45C8  E9 00BB                              jmp     loc_888                 
273F:45CB                       loc_878:
273F:45CB  58                                   pop     ax
273F:45CC  B8 0003                              mov     ax, 3                   ; Initial call for action
273F:45CF  C3                                   retn                            ;  (prior to moving to it)
273F:45D0                       loc_879:
273F:45D0  56                                   push    si
273F:45D1  E8 C716                              call    get_room_resource_pointer2
273F:45D4  5B                                   pop     bx
273F:45D5  87 DE                                xchg    bx, si

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:58B0

                   hotspot_action_precheck_2:
273F:45D7  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]    ; Is object in same room
273F:45DA  3B 47 06                             cmp     ax, [bx+HS_ROOM_NUM]    ;  as the character?
273F:45DD  75 72                                jne     loc_884                 ; Jump if not
273F:45DF  F6 44 2A FF                          test    byte ptr [si+HS_ACTION_CTR], 0FFh
273F:45E3  75 46                                jnz     loc_883                 ; Jump if not zero
273F:45E5  C6 44 2A 01                          mov     byte ptr [si+HS_ACTION_CTR], 1
273F:45E9  81 3E BA1B 0408                      cmp     active_hotspot_id, FIRST_OBJECT_HOTSPOT_ID
273F:45EF  72 09                                jb      loc_881                 ; Jump if below
273F:45F1                       loc_880:                                        ;  xref 273F:4606, 463B, 4641, 4647
                                                                                ;            464F
273F:45F1 E8 0E95                              call    character_walking_check
273F:45F4  75 D2                                jnz     loc_877                 ; Jump if not zero
273F:45F6  B8 0003                              mov     ax, 3                   ; Flag walking is required
273F:45F9  C3                                   retn
273F:45FA                       loc_881:                                        ;  xref 273F:45EF
273F:45FA  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]
273F:45FD  3B 47 50                             cmp     ax, [bx+HS_DIRECTION]
273F:4600  74 C6                                je      loc_877                 ; Jump if equal
273F:4602  80 7F 44 04                          cmp     byte ptr [bx+HS_CHAR_MODE], CHARMODE_4
273F:4606  74 E9                                je      loc_880                 ; Jump if equal
273F:4608  80 3E BAB9 02                        cmp     byte ptr script_val_88, 2
273F:460D  74 0D                                je      loc_882                 ; Jump if equal
273F:460F  53                                   push    bx
273F:4610  BB 0005                              mov     bx,5
273F:4613  E8 1D8C                              call    display_message_dialog_2
273F:4616  5B                                   pop     bx
273F:4617  C7 44 42 0004                        mov     word ptr [si+HS_DELAY_CTR], 4
273F:461C                       loc_882:                                        ;  xref 273F:460D
273F:461C  C7 47 2B 002A                        mov     word ptr [bx+HS_V2B], 2Ah
273F:4621  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]
273F:4624  89 47 2F                             mov     [bx+HS_USE_HOTSPOT_ID], ax
273F:4627  B8 0003                              mov     ax,3
273F:462A  C3                                   retn
273F:462B                       loc_883:                                        ;  xref 273F:45E3
273F:462B  80 44 2A 01                          add     byte ptr [si+HS_ACTION_CTR], 1
273F:462F  80 7C 2A 06                          cmp     byte ptr [si+HS_ACTION_CTR], 6
273F:4633  73 41                                jae     loc_887                 ; Jump if above or =
273F:4635  81 3E BA1B 0408                      cmp     active_hotspot_id, FIRST_OBJECT_HOTSPOT_ID
273F:463B  73 B4                                jae     loc_880                 ; Jump if above or =
273F:463D  80 7F 44 08                          cmp     byte ptr [bx+HS_CHAR_MODE], CHARMODE_8
273F:4641  74 AE                                je      loc_880                 ; Jump if equal
273F:4643  80 7F 44 04                          cmp     byte ptr [bx+HS_CHAR_MODE], CHARMODE_4
273F:4647  74 A8                                je      loc_880                 ; Jump if equal
273F:4649  80 7F 44 07                          cmp     byte ptr [bx+HS_CHAR_MODE], CHARMODE_7
273F:464D  75 17                                jne     loc_886                 ; Jump if not equal
273F:464F  EB A0                                jmp     short loc_880           ; (45F1)
273F:4651                       loc_884:                                        ;  xref 273F:45DD
273F:4651  F6 44 2A FF                          test    byte ptr [si+HS_ACTION_CTR],0FFh
273F:4655  75 07                                jnz     loc_885                 ; Jump if yes
273F:4657  33 C0                                xor     ax, ax                  ; Zero register
273F:4659  53                                   push    bx
273F:465A  E8 1D54                              call    display_message_dialog_3
273F:465D  5B                                   pop     bx
273F:465E                       loc_885:
273F:465E  C6 44 2A 00                          mov     byte ptr [si+HS_ACTION_CTR], 0
273F:4662  B8 0001                              mov     ax, 1
273F:4665  C3                                   retn
273F:4666                       loc_886:                                        ;  xref 273F:464D
273F:4666  C6 44 2A 00                          mov     byte ptr [si+HS_ACTION_CTR], 0
273F:466A  B8 000E                              mov     ax, 0Eh
273F:466D  53                                   push    bx
273F:466E  E8 1D40                              call    display_message_dialog_3
273F:4671  5B                                   pop     bx
273F:4672  B8 0002                              mov     ax,2
273F:4675  C3                                   retn
273F:4676                       loc_887:                                        ;  xref 273F:4633
273F:4676  C6 44 2A 00                          mov     byte ptr [si+HS_ACTION_CTR], 0
273F:467A  B8 000D                              mov     ax, 0Dh
273F:467D  53                                   push    bx
273F:467E  E8 1D30                              call    display_message_dialog_3
273F:4681  5B                                   pop     bx
273F:4682  B8 0004                              mov     ax,4
273F:4685  C3                                   retn
273F:4686                       loc_888:                                        ;  xref 273F:45C8
273F:4686  C6 44 2A 00                          mov     byte ptr [si+HS_ACTION_CTR], 0
273F:468A  81 3E BA1B 0408                      cmp     active_hotspot_id, FIRST_OBJECT_HOTSPOT_ID
273F:4690  73 0F                                jae     loc_889                 ; Jump if above or =
273F:4692  C6 47 44 08                          mov     byte ptr [bx+HS_CHAR_MODE], CHARMODE_8
273F:4696  C7 47 42 001E                        mov     word ptr [bx+HS_DELAY_CTR], 30
273F:469B  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]
273F:469E  89 47 50                             mov     [bx+HS_DIRECTION], ax
273F:46A1                       loc_889:                                        ;  xref 273F:4690
273F:46A1  33 C0                                xor     ax,ax                   ; Zero register
273F:46A3  C3                                   retn
                    hotspot_action_precheck     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                             seq_method_45      proc    near
273F:46A4  E8 C641                              call    get_room_resource_pointer
273F:46A7  C6 44 44 07                          mov     byte ptr [si+HS_CHAR_MODE], CHARMODE_7
273F:46AB  C7 44 42 0082                        mov     word ptr [si+HS_DELAY_CTR], 130
273F:46B0  C3                                   retn
                             seq_method_45      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                  character_reset_direction     proc    near
273F:46B1  53                                   push    bx
273F:46B2  80 25 F8                             and     byte ptr [di+ANIM_X], 0F8h
273F:46B5  80 64 0D F8                          and     byte ptr [si+HS_X], 0F8h
273F:46B9  80 0D 05                             or      byte ptr [di+ANIM_X], 5
273F:46BC  80 4C 0D 05                          or      byte ptr [si+HS_X], 5
273F:46C0  8B 5C 21                             mov     bx, [si+HS_PIXEL_OFFSET]
273F:46C3  8A 45 26                             mov     al, [di+ANIM_DIRECTION]
273F:46C6  3C 01                                cmp     al, FACING_DOWN
273F:46C8  72 10                                jb      loc_893                 ; Jump if up
273F:46CA  74 09                                jz      loc_892                 ; Jump if down
273F:46CC  3C 03                                cmp     al, 3
273F:46CE  72 0F                                jb      loc_894                 ; Jump if left
273F:46D0                       loc_891:
273F:46D0 8A 47 14                             mov     al, [bx+PIXEL_FRAMENUM_RIGHT]
273F:46D3  EB 0D                                jmp     short loc_895
273F:46D5                       loc_892:
273F:46D5  8A 47 12                             mov     al, [bx+PIXEL_FRAMENUM_DOWN]
273F:46D8  EB 08                                jmp     short loc_895
273F:46DA                       loc_893:
273F:46DA  8A 47 11                             mov     al, [bx+PIXEL_FRAMENUM_UP]
273F:46DD  EB 03                                jmp     short loc_895
273F:46DF                       loc_894:
273F:46DF  8A 47 13                             mov     al, [bx+PIXEL_FRAMENUM_LEFT]
273F:46E2                       loc_895:
273F:46E2  8B 5F 07                             mov     bx, [bx+PIXEL_FRAME_SIZE]
273F:46E5  32 E4                                xor     ah, ah                  ; Zero register
273F:46E7  F7 E3                                mul     bx                      ; dx:ax = reg * ax
273F:46E9  89 45 08                             mov     [di+ANIM_FRAME_OFFSET], ax
273F:46EC  5B                                   pop     bx
273F:46ED  C3                                   retn
                  character_reset_direction     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:5411, 572B, 57C6, 58C3, 5920, 5958, 5ACA
                                ;                             5B43, 5BAA, 5C76, 5CC7, 8A00
                                ;��������������������������������������������������������������������������

                    character_face_hotspot      proc    near
273F:46EE  53                                   push    bx
273F:46EF  57                                   push    di
273F:46F0  56                                   push    si
273F:46F1  EB 17                                jmp     short loc_896           ; (470A)
                                                                                ;* No entry point to code

273F:46F3  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]
273F:46F6  8B 1E BA1B                           mov     bx, active_hotspot_id

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:61C5, 61CA

                  character_face_hotspot_2:
273F:46FA  53                                   push    bx
273F:46FB  57                                   push    di
273F:46FC  56                                   push    si
273F:46FD  50                                   push    ax
273F:46FE  E8 C5E7                              call    get_room_resource_pointer
273F:4701  5B                                   pop     bx
273F:4702  56                                   push    si
273F:4703  E8 C5E2                              call    get_room_resource_pointer
273F:4706  5B                                   pop     bx
273F:4707  8B 7C 0B                             mov     di, [si+HS_ANIM_OFFSET]
273F:470A                       loc_896:                                        ;  xref 273F:46F1
273F:470A  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]
273F:470D  3D 03E8                              cmp     ax, PLAYER_HOTSPOT_ID
273F:4710  72 70                                jb      loc_903                 ; Jump if below
273F:4712  3D 0408                              cmp     ax, FIRST_OBJECT_HOTSPOT_ID
273F:4715  73 6B                                jae     loc_903                 ; Jump if above or =
273F:4717  53                                   push    bx
273F:4718  8B DE                                mov     bx, si
273F:471A  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:471D  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:4720  8A 07                                mov     al, [bx]                ; Get current action
273F:4722  5B                                   pop     bx
273F:4723  81 3E BA1B 7530                      cmp     active_hotspot_id, 7530h
273F:4729  72 17                                jb      loc_897
273F:472B  5E                                   pop     si                      ; Non selectable hotspot
273F:472C  5F                                   pop     di
273F:472D  8A 47 08                             mov     al, [bx+HS_LOAD_FLAG]
273F:4730  88 45 26                             mov     [di+ANIM_DIRECTION], al
273F:4733  8B 5C 21                             mov     bx, [si+HS_PIXEL_OFFSET]
273F:4736  3C 01                                cmp     al, FACING_DOWN
273F:4738  72 A0                                jb      loc_893                 ; Jump if up
273F:473A  74 99                                jz      loc_892                 ; Jump if down
273F:473C  3C 03                                cmp     al, FACING_LEFT
273F:473E  72 9F                                jb      loc_894                 ; Jump if left
273F:4740  EB 8E                                jmp     short loc_891           ; Jump for right
273F:4742                       loc_897:
273F:4742  8B 54 0F                             mov     dx, [si+HS_Y]
273F:4745  03 54 1B                             add     dx, [si+HS_HEIGHT_COPY]
273F:4748  2B 57 0F                             sub     dx, [bx+HS_Y]
273F:474B  2B 57 1B                             sub     dx, [bx+HS_HEIGHT_COPY]
273F:474E  8B 4C 0D                             mov     cx, [si+HS_X]
273F:4751  2B 4F 0D                             sub     cx, [bx+HS_X]
273F:4754  8B C1                                mov     ax, cx
273F:4756  0B C0                                or      ax, ax                   ; Zero ?
273F:4758  79 02                                jns     loc_898                 ; Jump if not sign
273F:475A  F7 D8                                neg     ax
273F:475C                       loc_898:                                        ;  xref 273F:4758
273F:475C  8B DA                                mov     bx, dx
273F:475E  0B DB                                or      bx, bx                  ; Zero ?
273F:4760  79 02                                jns     loc_899                 ; Jump if not sign
273F:4762  F7 DB                                neg     bx
273F:4764                       loc_899:                                        ;  xref 273F:4760
273F:4764  3B D8                                cmp     bx, ax
273F:4766  72 09                                jb      loc_900                 ; Jump if below
273F:4768  0B D2                                or      dx, dx                   ; Zero ?
273F:476A  78 0E                                js      loc_901                 ; Jump if sign=1
273F:476C  E8 FD6A                              call    char_face_up
273F:476F  EB 11                                jmp     short loc_903           ; (4782)
273F:4771                       loc_900:                                        ;  xref 273F:4766
273F:4771  0B C9                                or      cx,cx                   ; Zero ?
273F:4773  78 0A                                js      loc_902                 ; Jump if sign=1
273F:4775  E8 FD83                              call    char_face_left
273F:4778  EB 08                                jmp     short loc_903           ; (4782)
273F:477A                       loc_901:                                        ;  xref 273F:476A
273F:477A  E8 FD6D                              call    char_face_down
273F:477D  EB 03                                jmp     short loc_903           ; (4782)
273F:477F                       loc_902:                                        ;  xref 273F:4773
273F:477F  E8 FD8A                              call    char_face_right
273F:4782                       loc_903:                                        ;  xref 273F:4710, 4715, 476F, 4778
                                                                                ;            477D
273F:4782  5E                                   pop     si
273F:4783  5F                                   pop     di
273F:4784  5B                                   pop     bx
273F:4785  C3                                   retn
                    character_face_hotspot      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                    npc_execute_script_proc     proc    near
273F:4786  8B DD                                mov     bx, bp
273F:4788  8B 07                                mov     ax, [bx]
273F:478A  50                                   push    ax
273F:478B  83 C5 02                             add     bp, 2
273F:478E  E8 0DF0                              call    character_walking_end
273F:4791  58                                   pop     ax
273F:4792  E8 F69F                              call    sequence_execute
273F:4795  C3                                   retn
                    npc_execute_script_proc     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                      npc_reset_paused_list     proc    near
273F:4796  C6 44 44 01                          mov     byte ptr [si+HS_CHAR_MODE], CHARMODE_1
273F:479A  C7 44 42 0016                        mov     word ptr [si+HS_DELAY_CTR], 16h
273F:479F  E8 FC9F                              call    character_paused_list_reset
273F:47A2  8B DE                                mov     bx,si                   ; Move to next npc action
273F:47A4  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:47A7  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:47AA  89 6F 01                             mov     [bx+CURRENT_ACTION_SUPPORT_TABLE], bp
273F:47AD  C3                                   retn
                      npc_reset_paused_list     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:1E6F, 6279, 6585
                                ; si = hotspot record
                                ;��������������������������������������������������������������������������

                        room_check_x_extents    proc    near
273F:47AE  53                                   push    bx
273F:47AF  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]
273F:47B2  B3 09                                mov     bl, RH_TABLE_ENTRY_SIZE
273F:47B4  F6 E3                                mul     bl                      ; Calculate offset
273F:47B6  8B D8                                mov     bx, ax
273F:47B8  8B 9F BF40                           mov     bx, [room_info_table][bx] ; Get room record ptr
273F:47BC  83 C3 19                             add     bx, ROOM_X_START
273F:47BF  8B 44 0D                             mov     ax, [si+HS_X]           ; Get X start
273F:47C2  3B 07                                cmp     ax, [bx]
273F:47C4  72 13                                jb      loc_905                 ; Jump if below
273F:47C6  05 0020                              add     ax, 20h
273F:47C9  F7 47 02 FFFF                        test    word ptr [bx+2], 0FFFFh
273F:47CE  74 05                                jz      loc_904                 ; Jump if zero
273F:47D0  3B 47 02                             cmp     ax, [bx+2]
273F:47D3  73 04                                jae     loc_905                 ; Jump if above or =
273F:47D5                       loc_904:                                        ;  xref 273F:47CE
273F:47D5  5B                                   pop     bx
273F:47D6  33 C0                                xor     ax,ax                   ; Zero register
273F:47D8  C3                                   retn
273F:47D9                       loc_905:                                        ;  xref 273F:47C4, 47D3
273F:47D9  5B                                   pop     bx
273F:47DA  0D 0001                              or      ax,1
273F:47DD  C3                                   retn
                        room_check_x_extents    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:00A3
                                ;��������������������������������������������������������������������������

273F:47DE                       sub_113         proc    near
273F:47DE  A1 9832                              mov     ax, room_number
273F:47E1  E8 C506                              call    get_room_resource_pointer2
273F:47E4  83 7C 13 FF                          cmp     word ptr [si+ROOM_ENTRY_TIME], 0FFFFh
273F:47E8  74 3F                                je      loc_909                 ; Jump if equal
273F:47EA  8B 0E B0AA                           mov     cx, game_time_ctr
273F:47EE  2B 4C 13                             sub     cx, [si+ROOM_ENTRY_TIME]
273F:47F1  74 36                                jz      loc_909                 ; Jump if zero
273F:47F3  C6 06 1926 01                        mov     data_669, 1

273F:47F8  81 F9 012C                           cmp     cx, 12Ch
273F:47FC  72 03                                jb      locloop_906             ; Jump if below
273F:47FE  B9 012C                              mov     cx, 12Ch

273F:4801                       locloop_906:                                    ;  xref 273F:47FC, 4827
273F:4801  51                                   push    cx
273F:4802 BF B14E                              mov     di, offset animation_table
273F:4805  B9 002D                              mov     cx, NUM_ANIMATION_SLOTS

273F:4808                       locloop_907:                                    ;  xref 273F:4824
273F:4808  F6 45 0C FF                          test    byte ptr [di+ANIM_LAYER], 0FFh
273F:480C  74 13                                jz      loc_908                 ; Jump if zero
273F:480E  81 7D 1B 0408                        cmp     word ptr [di+ANIM_HOTSPOT_ID], FIRST_OBJECT_HOTSPOT_ID
273F:4813  72 0C                                jb      loc_908                 ; Jump if below
273F:4815  8B 75 19                             mov     si, [di+ANIM_HOTSPOT_OFFSET]
273F:4818  8B 45 11                             mov     ax, [di+ANIM_TICK_PROC]
273F:481B  57                                   push    di
273F:481C  51                                   push    cx
273F:481D  FF D0                                call    ax
273F:481F  59                                   pop     cx
273F:4820  5F                                   pop     di
273F:4821                       loc_908:                                        ;  xref 273F:480C, 4813
273F:4821  83 C7 29                             add     di, ANIMATION_SLOT_SIZE
273F:4824  E2 E2                                loop    locloop_907             ; Loop if cx > 0

273F:4826  59                                   pop     cx
273F:4827  E2 D8                                loop    locloop_906             ; Loop if cx > 0

273F:4829                       loc_909:                                        ;  xref 273F:47E8, 47F1
273F:4829  C6 06 1926 00                        mov     data_669, 0
273F:482E  C3                                   retn
                                sub_113         endp

273F:482F  00                                   db      0

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:2031
                                ;��������������������������������������������������������������������������

                        add_sequence_delay      proc    near
273F:4830  03 0E B8AB                           add     cx, seq_timer_ctr
273F:4834  33 C0                                xor     ax,ax                   ; Zero register
273F:4836  13 06 B8AD                           adc     ax, seq_timer_ctr_2
273F:483A  BE B8AF                              mov     si, offset sequence_delay_table
273F:483D  EB 62                                jmp     short add_sequence_delay_2
                        add_sequence_delay      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0024
                                ;��������������������������������������������������������������������������

                 clear_sequence_delay_table     proc    near
273F:483F BE B8AF                              mov     si,offset sequence_delay_table
273F:4842  B9 0028                              mov     cx, NUM_DELAY_ENTRIES

273F:4845                       locloop_910:                                    ;  xref 273F:4857
273F:4845  F6 44 06 FF                          test    byte ptr [si+6], 0FFh   ; Can the entry be cleared?
273F:4849  74 09                                jz      loc_911                 ; Skip if not
273F:484B  C7 04 0000                           mov     word ptr [si], 0        ; Clear the entry
273F:484F  C7 44 02 0000                        mov     word ptr [si+2], 0
273F:4854                       loc_911:                                  
273F:4854  83 C6 07                             add     si, DELAY_ENTRY_SIZE
273F:4857  E2 EC                                loop    locloop_910             ; Loop if cx > 0

273F:4859  C3                                   retn
                 clear_sequence_delay_table     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                      sequence_delay_check      proc    near
273F:485A  8B 16 B8AB                           mov     dx, seq_timer_ctr
273F:485E  8B 1E B8AD                           mov     bx, seq_timer_ctr_2
273F:4862 BE B8AF                              mov     si, offset sequence_delay_table
273F:4865  B9 0028                              mov     cx, NUM_DELAY_ENTRIES

273F:4868                       locloop_912:                                    ;  xref 273F:4889
273F:4868  F7 04 FFFF                           test    word ptr [si], 0FFFFh   ; Any entry here?
273F:486C  74 18                                jz      loc_913                 ; Skip if not
273F:486E  3B 5C 02                             cmp     bx, [si+2]              ; Check high word of expiry time
273F:4871  72 13                                jb      loc_913                 ; Jump if below
273F:4873  3B 14                                cmp     dx, [si]                ; Check low word
273F:4875  72 0F                                jb      loc_913                 ; Jump if below
273F:4877  C7 04 0000                           mov     word ptr [si], 0        ; Timeout for entry reached
273F:487B  C7 44 02 0000                        mov     word ptr [si+2], 0
273F:4880  8B 44 04                             mov     ax, [si+4]              ; Get script to execute
273F:4883  E9 F5AE                              jmp     sequence_execute        ; Execute the script
273F:4886                       loc_913:
273F:4886  83 C6 07                             add     si, DELAY_ENTRY_SIZE    ; Move to next entry
273F:4889  E2 DD                                loop    locloop_912             ; Loop if cx > 0
273F:488B  C3                                   retn
                      sequence_delay_check      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                    sequence_delay_list_init    proc    near
273F:488C BE B8AF                              mov     si, offset sequence_delay_table
273F:488F  B9 0028                              mov     cx, NUM_DELAY_ENTRIES
273F:4892                       locloop_914:
273F:4892  C7 04 0000                           mov     word ptr [si], 0
273F:4896  83 C6 07                             add     si, DELAY_ENTRY_SIZE
273F:4899  E2 F7                                loop    locloop_914             ; Loop if cx > 0
273F:489B  C3                                   retn
                    sequence_delay_list_init    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������


273F:489C  BE B8AF                              mov     si, offset sequence_delay_table
273F:489F  33 C0                                xor     ax, ax
                       add_sequence_delay_2:
273F:48A1  8B E9                                mov     bp, cx
273F:48A3  B9 0028                              mov     cx, NUM_DELAY_ENTRIES

273F:48A6                       locloop_916:
273F:48A6  F7 04 FFFF                           test    word ptr [si],0FFFFh    ; Slot free?
273F:48AA  75 13                                jnz     loc_917                 ; If not, then skip
273F:48AC  F7 44 02 FFFF                        test    word ptr [si+2],0FFFFh
273F:48B1  75 0C                                jnz     loc_917
273F:48B3  89 2C                                mov     [si],bp                 ; Store low word of expiry time
273F:48B5  89 44 02                             mov     [si+2], ax              ; Store high word of expiry time
273F:48B8  89 5C 04                             mov     [si+4], bx              ; Store script offset
273F:48BB  88 54 06                             mov     [si+6], dl
273F:48BE  C3                                   retn
273F:48BF                       loc_917:
273F:48BF  83 C6 07                             add     si, DELAY_ENTRY_SIZE    ; Loop through table
273F:48C2  E2 E2                                loop    locloop_916

273F:48C4  03 00                                add     ax, [bx+si]

                                ;��������������������������������������������������������������������������
                                ;
                                ;                       External Entry Point
                                ;
                                ; Timer Handler
                                ;��������������������������������������������������������������������������

273F:48C6                       timer_handler   proc    far                     ;  xref 273F:06AA
273F:48C6  50                                   push    ax
273F:48C7  53                                   push    bx
273F:48C8  51                                   push    cx
273F:48C9  52                                   push    dx
273F:48CA  56                                   push    si
273F:48CB  57                                   push    di
273F:48CC  55                                   push    bp
273F:48CD  1E                                   push    ds
273F:48CE  06                                   push    es
273F:48CF  9C                                   pushf                           ; Push flags
273F:48D0  B8 31E4                              mov     ax,data_seg
273F:48D3  8E D8                                mov     ds,ax

; Timer ticks incrementor

273F:48D5  81 3E F010 2EE0                      cmp     timer_ticks, TIMER_TICKS_MAX
273F:48DB  73 05                                jae     loc_918                 ; Jump if above or =
273F:48DD  83 06 F010 01                        add     timer_ticks, 1          ; (31E4:F010=0)
273F:48E2                       loc_918:

; Code below is responsible for blinking musical note and playing music if a music sequence is set

273F:48E2  F6 06 5668 FF                        test    note_flag, 0FFh        ; Any need to display note?
273F:48E7  74 52                                jz      loc_923                 ; No, so skip this section
273F:48E9  A0 5668                              mov     al, note_flag
273F:48EC  24 3F                                and     al,3Fh
273F:48EE  75 46                                jnz     loc_922                 ; Not yet at blink switch over
273F:48F0  80 0E 5668 0F                        or      note_flag, 0Fh         ; Reset for blink interval
273F:48F5  80 36 5668 40                        xor     note_flag, 40h         ; Toggle whether note is visble
273F:48FA  B8 A000                              mov     ax, VGA_SEGMENT
273F:48FD  8E C0                                mov     es,ax
273F:48FF BF E740                              mov     di, NOTE_DISPLAY_ADDR   ; Where note will be displayed
273F:4902  BB 0007                              mov     bx, NOTE_IMAGE_WIDTH/2  ; Number of horiz words (width/2)
273F:4905  BA 000E                              mov     dx, NOTE_IMAGE_HEIGHT   ; Number of lines to display
273F:4908  F6 06 5668 40                        test    note_flag, MUSIC_NOTE_VISIBLE
273F:490D  74 18                                jz      loc_920                 ; No, so wipe out area
273F:490F  1E                                   push    ds
273F:4910  B8 4502                              mov     ax, musical_note_seg
273F:4913  8E D8                                mov     ds,ax
273F:4915  33 F6                                xor     si,si
273F:4917                       loc_919:
273F:4917  8B CB                                mov     cx,bx
273F:4919  F3/ A5                               rep     movsw                   ; Loop for moving one line of image
273F:491B 81 C7 0132                           add     di, 320-MUSIC_NOTE_WIDTH ; Move to start of next line
273F:491F  83 EA 01                             sub     dx,1
273F:4922  75 F3                                jnz     loc_919                 ; Jump if not zero
273F:4924  1F                                   pop     ds
273F:4925  EB 14                                jmp     short loc_923           ; (493B)
273F:4927                       loc_920:                                        ;  xref 273F:490D
273F:4927  33 C0                                xor     ax,ax                   ; Blank out area where note is
273F:4929                       loc_921:
273F:4929  8B CB                                mov     cx,bx
273F:492B  F3/ AB                               rep     stosw                   ; Rep when cx >0 Store ax to es:[di]
273F:492D  81 C7 0132                           add     di,132h
273F:4931  83 EA 01                             sub     dx,1
273F:4934  75 F3                                jnz     loc_921                 ; Jump if not zero
273F:4936                       loc_922:                                        ;  xref 273F:48EE
273F:4936  80 2E 5668 01                        sub     note_flag, 1           ; Decrement remaining time until
273F:493B                       loc_923:                                        ;  next time note is shown/hidden
273F:493B  F6 06 5660 04                        test    music_status,4          ; Once every 8 cycles (approx every
273F:4940  74 0D                                jz      loc_924                 ; 1/2 second), keep music playing
273F:4942  F6 06 5660 02                        test    music_status,2
273F:4947  75 06                                jnz     loc_924
273F:4949  B4 02                                mov     ah,2
273F:494B  FF 1E 5662                           call    dword ptr [play_music_proc]

; Remaining code is as of yet unknown

273F:494F                       loc_924:
273F:494F  F6 06 38B0 FF                        test    data_781, 0FFh
273F:4954  75 1E                                jnz     loc_925                 ; Jump if not zero
273F:4956  80 2E 38B3 01                        sub     byte ptr data_783,1     ; (31E4:38B3=32h)
273F:495B  75 17                                jnz     loc_925                 ; Jump if not zero
273F:495D  83 06 B8AB 01                        add     seq_timer_ctr, 1
273F:4962  83 16 B8AD 00                        adc     seq_timer_ctr_2, 0
273F:4967  C6 06 38B3 32                        mov     byte ptr data_783,32h   ; (31E4:38B3=32h) '2'
273F:496C  80 0E 073D 02                        or      status_flags2, 2
273F:4971  E8 FAF8                              call    random
273F:4974                       loc_925:                                        ;  xref 273F:4954, 495B
273F:4974  83 06 38B1 01                        add     time_ctr, 1             ; (31E4:38B1=0)
273F:4979  2E: 80 2E 48C4 01                    sub     byte ptr cs:[48C4h],1   ; (273F:48C4=3)
273F:497F  75 2C                                jnz     loc_928                 ; Jump if not zero
273F:4981  B0 02                                mov     al,2
273F:4983  2E: 80 3E 48C5 44                    cmp     byte ptr cs:[48C5h],44h ; (273F:48C5=0) 'D'
273F:4989  73 02                                jae     loc_926                 ; Jump if above or =
273F:498B  04 01                                add     al,1
273F:498D                       loc_926:                                        ;  xref 273F:4989
273F:498D  2E: A2 48C4                          mov     byte ptr cs:[48C4h],al  ; (273F:48C4=3)
273F:4991  2E: 80 06 48C5 01                    add     byte ptr cs:[48C5h],1   ; (273F:48C5=0)
273F:4997  2E: 80 3E 48C5 5B                    cmp     byte ptr cs:[48C5h],5Bh ; (273F:48C5=0) '['
273F:499D  72 06                                jb      loc_927                 ; Jump if below
273F:499F  2E: C6 06 48C5 00                    mov     byte ptr cs:[48C5h],0   ; (273F:48C5=0)


; Interrupt ending code - either send to old timer interrupt, or signal end without calling it

273F:49A5                       loc_927:                                        ;  xref 273F:499D
273F:49A5  9C                                   pushf                           ; Push flags
273F:49A6  2E: FF 1E 04AA                       call    dword ptr cs:old_timer_int_proc
273F:49AB  EB 04                                jmp     short loc_929           ; (49B1)
273F:49AD                       loc_928:                                        ;  xref 273F:497F
273F:49AD  B0 20                                mov     al,20h                  ; ' '
273F:49AF  E6 20                                out     20h,al                  ; port 20h, 8259-1 int command
                                                                                ;  al = 20h, end of interrupt
273F:49B1                       loc_929:                                        ;  xref 273F:49AB
273F:49B1  9D                                   popf                            ; Pop flags
273F:49B2  07                                   pop     es
273F:49B3  1F                                   pop     ds
273F:49B4  5D                                   pop     bp
273F:49B5  5F                                   pop     di
273F:49B6  5E                                   pop     si
273F:49B7  5A                                   pop     dx
273F:49B8  59                                   pop     cx
273F:49B9  5B                                   pop     bx
273F:49BA  58                                   pop     ax
273F:49BB  CF                                   iret                            ; Interrupt return
                                timer_handler   endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0127
                                ;��������������������������������������������������������������������������

273F:49BC                       room_sleep      proc    near
273F:49BC  83 3E 9832 23                        cmp     room_number, ROOMNUM_VILLAGE_SHOP
273F:49C1  75 26                                jne     sleep
273F:49C3  F7 06 BA25 FFFF                      test    old_room_number, 0FFFFh
273F:49C9  75 1E                                jnz     sleep
273F:49CB  F6 06 073D 02                        test    status_flags2, 2
273F:49D0  74 17                                jz      sleep
273F:49D2  50                                   push    ax
273F:49D3  BB 0010                              mov     bx,10h
273F:49D6  F6 06 073D 04                        test    status_flags2, 4
273F:49DB  75 03                                jnz     loc_930                 ; Jump if not zero
273F:49DD  BB 0032                              mov     bx,32h
273F:49E0                       loc_930:                                        ;  xref 273F:49DB
273F:49E0  E8 561A                              call    play_sound                 ; (9FFD)
273F:49E3  80 36 073D 06                        xor     status_flags2, 6
273F:49E8  58                                   pop     ax

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:3B77, 3B8C, 75BC, 75C8, 75DA, 75E6, 75F8
                                ;                             7604, 7616, 764A, 977D, A1C3, A1D9, A5E6
                                ;                             A615, A63A, A68D, A6F0, A93F, AA03

273F:49E9                       sleep:
273F:49E9                       loc_931:                                        ;  xref 273F:49C1, 49C9, 49D0, 49ED
273F:49E9  39 06 38B1                           cmp     time_ctr, ax
273F:49ED  72 FA                                jb      loc_931
273F:49EF  C7 06 38B1 0000                      mov     time_ctr, 0
273F:49F5  C3                                   retn
                                room_sleep      endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:5142, 5F79
                                ; ax=character Hotspot Id, bx=dest x, cx=dest y, dl=[4ch]
                                ;��������������������������������������������������������������������������

                        character_pathfind      proc    near
273F:49F6  89 26 3942                           mov     pathfind_sp, sp         ; Backup current SP
273F:49FA  C7 06 3944 0FA0                      mov     pathfind_countdown_ctr, 0FA0h
273F:4A00  F6 06 3946 FF                        test    pathfind_in_progress, 0FFh
273F:4A05  74 0E                                jz      loc_933                 ; Jump if zero
273F:4A07  3D 03E8                              cmp     ax, PLAYER_HOTSPOT_ID
273F:4A0A  74 03                                je      loc_932                 ; Jump if equal
273F:4A0C  33 C0                                xor     ax,ax                   ; Zero register
273F:4A0E  C3                                   retn
273F:4A0F                       loc_932:
273F:4A0F BE 3983                              mov     si, offset player_pathfind_data
273F:4A12  8B 24                                mov     sp, [si]                ; Get SP for restore point
273F:4A14  C3                                   retn                            ; (ie. carry on where we left off)
273F:4A15                       loc_933:
273F:4A15  BE 3983                              mov     si, offset player_pathfind_data
273F:4A18  BD 03E8                              mov     bp, PLAYER_HOTSPOT_ID
273F:4A1B  3D 03E8                              cmp     ax, PLAYER_HOTSPOT_ID
273F:4A1E  74 17                                je      loc_935                 ; Jump if equal
273F:4A20 BE 4227                              mov     si, offset chars_pathfind_data
273F:4A23  BD 057A                              mov     bp, 57Ah
273F:4A26  F7 04 FFFF                           test    word ptr [si], 0FFFFh
273F:4A2A  74 10                                jz      loc_936                 ; Jump if zero
273F:4A2C  3B 44 02                             cmp     ax, [si+2]
273F:4A2F  74 03                                je      loc_934                 ; Jump if equal
273F:4A31  33 C0                                xor     ax, ax                  ; Zero register
273F:4A33  C3                                   retn
273F:4A34                       loc_934:                                        ;  xref 273F:4A2F
273F:4A34  8B 24                                mov     sp, [si]
273F:4A36  C3                                   retn
273F:4A37                       loc_935:                                        ;  xref 273F:4A1E
273F:4A37  C6 06 3946 01                        mov     pathfind_in_progress, 1
273F:4A3C                       loc_936:                                        ;  xref 273F:4A2A
273F:4A3C  88 54 04                             mov     [si+PATHFIND_HS4C], dl
273F:4A3F  89 44 02                             mov     [si+PATHFIND_CHARACTER_ID], ax ; Store character Id
273F:4A42  8B E5                                mov     sp, bp

; Handle adjusting destination X for left & right screen edges to place it completely
; off-screen. This will allows characters to walk completely off-screen as they exit
273F:4A44  81 FB 008A                           cmp     bx, 80h + 10            ; dest x >= 10?
273F:4A48  73 05                                jae     loc_937                 ; Jump if yes
273F:4A4A  83 EB 32                             sub     bx, 50
273F:4A4D  EB 09                                jmp     short loc_938           ; (4A58)
273F:4A4F                       loc_937:                                        ;  xref 273F:4A48
273F:4A4F  81 FB 01B6                           cmp     bx, 80h + 310
273F:4A53  72 03                                jb      loc_938                 ; Jump if below
273F:4A55  83 C3 32                             add     bx, 50
273F:4A58                       loc_938:
273F:4A58  89 5C 06                             mov     [si+PATHFIND_DEST_X], bx    ; Store X
273F:4A5B  89 4C 08                             mov     [si+PATHFIND_DEST_Y], cx    ; Store Y

273F:4A5E  8B 6D 13                             mov     bp, [di+ANIM_WIDTH_COPY]
273F:4A61  83 ED 01                             sub     bp, 1
273F:4A64  B1 03                                mov     cl, 3
273F:4A66  D3 ED                                shr     bp, cl                  ; bp=(width copy-1)/8
273F:4A68  57                                   push    di                                         
273F:4A69 81 C6 08A2                           add     si, 8A2h

; Figure out the address for the bit-compressed data for screen walkable areas
273F:4A6D  8B 45 0E                             mov     ax, [di+ANIM_ROOM_NUM]
273F:4A70  8B D8                                mov     bx, ax
273F:4A72  B1 04                                mov     cl, 4
273F:4A74  D3 E0                                shl     ax, cl
273F:4A76  2B C3                                sub     ax, bx
273F:4A78  B1 03                                mov     cl, 3
273F:4A7A  D3 E0                                shl     ax, cl                  ; ax=Room # * 120

; Extract the bit-compressed data of the pathfinding data for the room into an
; uncompressed 26*42 byte array indicating whether each 8x8 pixel block on screen
; (and a surrounding column and row around the screen edge) can be traveled on
; cx = bit number, dl = number of columns, dh = number of rows

273F:4A7C  05 9849                              add     ax, offset pathfind_data2 - 1
273F:4A7F  1E                                   push    ds
273F:4A80  07                                   pop     es
273F:4A81  8B FE                                mov     di, si                  ; for player di=4225h
273F:4A83  8B F0                                mov     si, ax                  ; si=end of pathfind layer for room
273F:4A85  FD                                   std                             ; Set for reverse direction
273F:4A86  33 C0                                xor     ax, ax
273F:4A88  B9 002B                              mov     cx, 2Bh                 ; # cols + end col of 2nd last row
273F:4A8B  F3/ AB                               rep     stosw                   ; Clear area
273F:4A8D  83 C7 01                             add     di, 1                   ; For player di=41D0h

273F:4A90  B6 18                                mov     dh, 24                  ; Number of rows on-screen
273F:4A92                       loc_939:
273F:4A92  B2 05                                mov     dl, 5                   ; Number of bytes horizontally

273F:4A94                       loc_940:
273F:4A94  AC                                   lodsb                           ; Get next byte
273F:4A95  86 E0                                xchg    ah, al                  ; Move it into AH
273F:4A97  32 C0                                xor     al, al                  ; Reset AL to 0 for storage
273F:4A99  B9 0008                              mov     cx, 8                   ; Number of bits in the byte

273F:4A9C                       locloop_941:                                    ;  xref 273F:4AA2, 4AB3
273F:4A9C  D0 EC                                shr     ah, 1                   ; Move next bit for processing
273F:4A9E  72 06                                jc      loc_942                 ; Jump if bit set (block occupied)
273F:4AA0  AA                                   stosb                           ; Store 0 to es:[di]
273F:4AA1  AA                                   stosb                           ; Store 0 to es:[di]
273F:4AA2  E2 F8                                loop    locloop_941             ; Loop for remaining bits

273F:4AA4  EB 33                                jmp     short loc_948
273F:4AA6                       loc_942:                                        ; Handling for occupied blocks
273F:4AA6  F6 D0                                not     al
273F:4AA8  AA                                   stosb                           ; Store 0FFh to es:[di]
273F:4AA9  AA                                   stosb                           ; Store 0FFh to es:[di]
273F:4AAA  F6 D0                                not     al
273F:4AAC  8B DD                                mov     bx, bp                  ; Get width/8 val
273F:4AAE  83 EB 01                             sub     bx, 1
273F:4AB1  73 1D                                jnc     loc_947                 ; Jump if width/8 val != 0
273F:4AB3                       loc_943:
273F:4AB3  E2 E7                                loop    locloop_941             ; Keep looping

273F:4AB5  EB 22                                jmp     short loc_948           ; (4AD9)
273F:4AB7                       loc_944:                                        ;  xref 273F:4AD5
273F:4AB7  B9 0008                              mov     cx,8
273F:4ABA  AC                                   lodsb                           ; String [si] to al
273F:4ABB  86 E0                                xchg    ah,al
273F:4ABD  32 C0                                xor     al,al                   ; Zero register

273F:4ABF                       locloop_945:                                    ;  xref 273F:4AD0
273F:4ABF  D0 EC                                shr     ah,1                    ; Shift w/zeros fill
273F:4AC1  73 02                                jnc     loc_946                 ; Jump if carry=0
273F:4AC3  8B DD                                mov     bx,bp
273F:4AC5                       loc_946:                                        ;  xref 273F:4AC1
273F:4AC5  F6 D0                                not     al
273F:4AC7  AA                                   stosb                           ; Store al to es:[di]
273F:4AC8  AA                                   stosb                           ; Store al to es:[di]
273F:4AC9  F6 D0                                not     al
273F:4ACB  83 EB 01                             sub     bx,1
273F:4ACE  72 E3                                jc      loc_943                 ; Jump if carry Set
273F:4AD0                       loc_947:                                        ;  xref 273F:4AB1
273F:4AD0  E2 ED                                loop    locloop_945             ; Loop if cx > 0

273F:4AD2  80 EA 01                             sub     dl,1
273F:4AD5  75 E0                                jnz     loc_944                 ; Jump if not zero
273F:4AD7  EB 05                                jmp     short loc_949           ; (4ADE)

273F:4AD9                       loc_948:                                        ;  xref 273F:4AA4, 4AB5
273F:4AD9  80 EA 01                             sub     dl,1
273F:4ADC  75 B6                                jnz     loc_940                 ; Jump if not zero
273F:4ADE                       loc_949:
273F:4ADE  B9 0004                              mov     cx, 4                   ; Store end col, next row start col
273F:4AE1  F3/ AA                               rep     stosb                   
273F:4AE3  B2 05                                mov     dl, 5
273F:4AE5  80 EE 01                             sub     dh, 1
273F:4AE8  75 A8                                jnz     loc_939                 ; Jump if not zero

273F:4AEA  83 EF 01                             sub     di, 1
273F:4AED  B9 0029                              mov     cx, 29h                 ; Handle final top off-screen row
273F:4AF0  33 C0                                xor     ax, ax
273F:4AF2  F3/ AB                               rep     stosw

; End of decompression code for the path finding layer.

273F:4AF4  83 EF 1A                             sub     di, 1Ah                 ; di=3983 again (skips local variables)
273F:4AF7  5E                                   pop     si                      ; si=anim slot
273F:4AF8  33 C0                                xor     ax, ax                  ; Zero register
273F:4AFA  89 45 0A                             mov     [di+PATHFIND_Y], ax
273F:4AFD  89 45 0C                             mov     [di+PATHFIND_X], ax
273F:4B00  89 45 10                             mov     [di+PATHFIND_DEST_X2], ax
273F:4B03  89 45 0E                             mov     [di+PATHFIND_0E], ax
273F:4B06  88 45 05                             mov     [di+PATHFIND_DEST_STATE], al
273F:4B09  81 2E 3944 02BC                      sub     pathfind_countdown_ctr, 2BCh       ; v2=0FA0h-2BCh=CE4h
273F:4B0F  8B 04                                mov     ax, [si+ANIM_X]         ; Get current X
273F:4B11  2D 0080                              sub     ax, 80h                 ; Subtract the 80h offset
273F:4B14  73 05                                jnc     loc_950                 ; Jump if current X on-screen
273F:4B16  89 45 0C                             mov     [di+PATHFIND_X], ax
273F:4B19  33 C0                                xor     ax, ax                  ; Zero register
273F:4B1B                       loc_950:                                        ; ax = max(0, X)
273F:4B1B  BB 013F                              mov     bx, 319
273F:4B1E  2B 5C 13                             sub     bx, [si+ANIM_WIDTH_COPY]
273F:4B21  3B C3                                cmp     ax, bx
273F:4B23  72 07                                jb      loc_951                 ; X + full width on screen?
273F:4B25  2B C3                                sub     ax, bx
273F:4B27  89 45 0C                             mov     [di+PATHFIND_X], ax         ; X = min(X, 319 - width)
273F:4B2A  8B C3                                mov     ax, bx
273F:4B2C                       loc_951:
273F:4B2C  8B 5C 02                             mov     bx, [si+ANIM_Y]
273F:4B2F  80 E3 F8                             and     bl, 0F8h
273F:4B32  03 5C 15                             add     bx, [si+ANIM_HEIGHT_COPY]
273F:4B35  83 EB 04                             sub     bx, 4
273F:4B38  81 EB 0088                           sub     bx, 88h                 ; bx=(Y&0F8h+height-4-8)
273F:4B3C  73 05                                jnc     loc_952                 ; Jump if bx (y bottom) < 0
273F:4B3E  89 5D 0A                             mov     [di+PATHFIND_Y], bx
273F:4B41  33 DB                                xor     bx, bx                  ; Zero register
273F:4B43                       loc_952:
273F:4B43  81 FB 00C0                           cmp     bx, 192                 ; Is it on-screen?
273F:4B47  72 0A                                jb      loc_953                 ; Jump if below
273F:4B49  81 EB 00BF                           sub     bx, 191
273F:4B4D  89 5D 0A                             mov     [di+PATHFIND_Y], bx
273F:4B50  BB 00BF                              mov     bx, 191

273F:4B53                       loc_953:
273F:4B53  8B 4D 06                             mov     cx, [di+PATHFIND_DEST_X]
273F:4B56  81 E9 0080                           sub     cx, 128
273F:4B5A  73 05                                jnc     loc_954                 ; Jump if x >= 0
273F:4B5C  89 4D 10                             mov     [di+PATHFIND_DEST_X2], cx   ; Store X (will be negative)
273F:4B5F  33 C9                                xor     cx, cx
273F:4B61                       loc_954:
273F:4B61  BA 0140                              mov     dx, SCREEN_WIDTH
273F:4B64  2B 54 13                             sub     dx, [si+ANIM_WIDTH_COPY]
273F:4B67  3B CA                                cmp     cx, dx
273F:4B69  72 07                                jb      loc_955                 ; Jump if fully on screen
273F:4B6B  2B CA                                sub     cx, dx
273F:4B6D  89 4D 10                             mov     [di+PATHFIND_DEST_X2], cx
273F:4B70  8B CA                                mov     cx, dx
273F:4B72                       loc_955:
273F:4B72  8B 55 08                             mov     dx, [di+PATHFIND_DEST_Y]
273F:4B75  81 EA 0088                           sub     dx, 88h
273F:4B79  73 02                                jnc     loc_956                 ; Jump if y >= 0
273F:4B7B  33 D2                                xor     dx, dx                  ; Zero register
273F:4B7D                       loc_956:                                        
273F:4B7D  81 FA 00C0                           cmp     dx, 192
273F:4B81  72 03                                jb      loc_957                 ; Jump if below
273F:4B83  BA 00BF                              mov     dx, 191
273F:4B86                       loc_957:                                        ;  xref 273F:4B81
273F:4B86  8B E9                                mov     bp, cx

; current=(ax,bx), dest=(bp,dx). Check to see if a move of only a few pixels is required
273F:4B88  B1 03                                mov     cl, 3
273F:4B8A  D3 E8                                shr     ax, cl
273F:4B8C  D3 EB                                shr     bx, cl
273F:4B8E  D3 ED                                shr     bp, cl
273F:4B90  D3 EA                                shr     dx, cl
273F:4B92  3B C5                                cmp     ax, bp                  ; Is x/8=dest_x/8?
273F:4B94  75 2B                                jne     loc_961                 ; Jump if not
273F:4B96  3B DA                                cmp     bx, dx                  ; Is y/8=dest_y/8?
273F:4B98  75 27                                jne     loc_961                 ; Jump if not

; Destination is very close to source.
; If (I think) the PATHFIND_DEST_X2 != 0 (ie. dest is partially off-screen), then
; an initial walk entry is placed. Then irrespective, control jumps to loc_1003,
; which puts another left/right walking entry to move the character to dest X

273F:4B9A BB 3940                              mov     bx, offset pathfind_buffer_end
273F:4B9D  C7 07 0000                           mov     word ptr [bx], 0        ; Set end of pathfind sequence
273F:4BA1  8B 45 10                             mov     ax, [di+PATHFIND_DEST_X2]
273F:4BA4  0B C0                                or      ax, ax                  ; Any partial off-screen move?
273F:4BA6  74 16                                jz      loc_960                 ; Jump if zero
273F:4BA8  78 07                                js      loc_958                 ; Jump if sign=1
273F:4BAA  C7 47 FE 0002                        mov     word ptr [bx-2], FACING2_RIGHT
273F:4BAF  EB 07                                jmp     short loc_959           ; (4BB8)
273F:4BB1                       loc_958:                                        ;  xref 273F:4BA8
273F:4BB1  C7 47 FE 0001                        mov     word ptr [bx-2], FACING2_LEFT
273F:4BB6  F7 D8                                neg     ax
273F:4BB8                       loc_959:                                        ;  xref 273F:4BAF
273F:4BB8  89 47 FC                             mov     [bx-4], ax              ; Store # steps
273F:4BBB  83 EB 04                             sub     bx, 4                   ; Move back for next record
273F:4BBE                       loc_960:
273F:4BBE  E9 02B3                              jmp     loc_1003

; Destination isn't close, so here's where the actual pathfinding needs to be done
; current=(ax,bx)/8, dest=(bp,dx)/8

273F:4BC1                       loc_961:                                        ;  xref 273F:4B94, 4B98
273F:4BC1  50                                   push    ax
273F:4BC2  53                                   push    bx
273F:4BC3  55                                   push    bp
273F:4BC4  52                                   push    dx
273F:4BC5  89 6D 06                             mov     [di+PATHFIND_DEST_X], bp    ; Store dest pos/8
273F:4BC8  89 55 08                             mov     [di+PATHFIND_DEST_Y], dx

273F:4BCB  D1 E0                                shl     ax, 1                   ; ax=sb_x*2
273F:4BCD  8B F3                                mov     si, bx                  ; si=sb_y
273F:4BCF  B1 02                                mov     cl, 2
273F:4BD1  D3 E3                                shl     bx, cl                  ; bx=sb_y*4
273F:4BD3  03 DE                                add     bx, si                  ; bx=sb_y*5
273F:4BD5  D3 E3                                shl     bx, cl                  ; bx=sb_y*20
273F:4BD7  03 DE                                add     bx, si                  ; bx=sb_y*21
273F:4BD9  D3 E3                                shl     bx, cl                  ; bx=sb_y*84
273F:4BDB  03 D8                                add     bx, ax                  ; bx=sb_y*84 + sb_x*2
273F:4BDD  83 C3 72                             add     bx, 72h                 ; Add on buffer & blank line offset
273F:4BE0  03 DF                                add     bx, di                  ; bx=source cell
273F:4BE2  C7 07 0001                           mov     word ptr [bx],1         ; Flag source cell
273F:4BE6  D1 E5                                shl     bp, 1
273F:4BE8  8B F2                                mov     si, dx
273F:4BEA  D3 E6                                shl     si, cl
273F:4BEC  03 F2                                add     si, dx
273F:4BEE  D3 E6                                shl     si, cl
273F:4BF0  03 F2                                add     si, dx
273F:4BF2  D3 E6                                shl     si, cl
273F:4BF4  03 F5                                add     si, bp
273F:4BF6  83 C6 72                             add     si, 72h
273F:4BF9  03 F7                                add     si, di                  ; si=dest cell
273F:4BFB  C6 45 12 00                          mov     byte ptr [di+PATHFIND_DEST_OCCUPIED], 0
273F:4BFF  F6 04 FF                             test    byte ptr [si], 0FFh     ; Is dest cell blocked?
273F:4C02  74 0C                                jz      loc_962                 ; Jump if clear
273F:4C04  C7 04 0000                           mov     word ptr [si], 0        ; Mark dest cell as unblocked
273F:4C08  C6 45 12 01                          mov     byte ptr [di+PATHFIND_DEST_OCCUPIED], 1
273F:4C0C  C6 45 05 01                          mov     byte ptr [di+PATHFIND_DEST_STATE], 1 ; Dest occupied
273F:4C10                       loc_962:
273F:4C10  F6 45 04 FF                          test    byte ptr [di+PATHFIND_HS4C],0FFh
273F:4C14  74 00                                jz      $+2
273F:4C16  5A                                   pop     dx
273F:4C17  59                                   pop     cx
273F:4C18  5D                                   pop     bp
273F:4C19  58                                   pop     ax

; Source/8=(ax,bp), Dest/8=(cx,dx), bx=source cell, si=dest cell 
273F:4C1A  3B C1                                cmp     ax,cx                   ; Start X against Dest X
273F:4C1C  73 19                                jae     loc_964                 ; Jump if >=
273F:4C1E  0B C0                                or      ax,ax                   ; Is Start X 0?
273F:4C20  74 06                                jz      loc_963                 ; Jump if yes
273F:4C22  2D 0001                              sub     ax, 1
273F:4C25  83 EB 02                             sub     bx, 2
273F:4C28                       loc_963:
273F:4C28  C7 45 14 0002                        mov     word ptr [di+PATHFIND_X_CHANGE1], 2
273F:4C2D  B9 0028                              mov     cx, ROOM_PATHS_WIDTH
273F:4C30  2B C8                                sub     cx, ax
273F:4C32  89 4D 18                             mov     [di+PATHFIND_X_CHANGE2], cx
273F:4C35  EB 17                                jmp     short loc_966           ; (4C4E)
273F:4C37                       loc_964:                                        ;  xref 273F:4C1C
273F:4C37  3D 0027                              cmp     ax, ROOM_PATHS_WIDTH - 1
273F:4C3A  74 06                                je      loc_965                 ; Jump if equal
273F:4C3C  05 0001                              add     ax, 1
273F:4C3F  83 C3 02                             add     bx, 2
273F:4C42                       loc_965:                                        ;  xref 273F:4C3A
273F:4C42  C7 45 14 FFFE                        mov     word ptr [di+PATHFIND_X_CHANGE1], 0FFFEh
273F:4C47  89 45 18                             mov     [di+PATHFIND_X_CHANGE2],ax
273F:4C4A  83 45 18 01                          add     word ptr [di+PATHFIND_X_CHANGE2], 1
273F:4C4E                       loc_966:                                        ;  xref 273F:4C35
273F:4C4E  3B EA                                cmp     bp, dx
273F:4C50  72 19                                jb      loc_968                 ; Jump if below
273F:4C52  83 FD 17                             cmp     bp, ROOM_PATHS_HEIGHT - 1
273F:4C55  74 06                                je      loc_967                 ; Jump if equal
273F:4C57  83 C5 01                             add     bp, 1
273F:4C5A  83 C3 54                             add     bx, DECODED_PATHS_WIDTH * 2
273F:4C5D                       loc_967:                                        ;  xref 273F:4C55
273F:4C5D  C7 45 16 FFAC                        mov     [di+PATHFIND_Y_CHANGE1], -DECODED_PATHS_WIDTH*2
273F:4C62  89 6D 1A                             mov     [di+PATHFIND_Y_CHANGE2], bp
273F:4C65  83 45 1A 01                          add     [di+PATHFIND_Y_CHANGE2], 1
273F:4C69  EB 17                                jmp     short loc_970           ; (4C82)
273F:4C6B                       loc_968:                                        ;  xref 273F:4C50
273F:4C6B  0B ED                                or      bp, bp                   ; Zero ?
273F:4C6D  74 06                                jz      loc_969                 ; Jump if zero
273F:4C6F  83 ED 01                             sub     bp, 1
273F:4C72  83 EB 54                             sub     bx, DECODED_PATHS_WIDTH * 2
273F:4C75                       loc_969:                                        ;  xref 273F:4C6D
273F:4C75  C7 45 16 0054                        mov     word ptr [di+PATHFIND_Y_CHANGE1], DECODED_PATHS_WIDTH * 2
273F:4C7A  B9 0018                              mov     cx, ROOM_PATHS_HEIGHT
273F:4C7D  2B CD                                sub     cx, bp
273F:4C7F  89 4D 1A                             mov     [di+PATHFIND_Y_CHANGE2], cx
273F:4C82                       loc_970:

; This next section populates the walkable sections of the decompressed array
; with incrementing numbers indicating the number of cells away each cell is
; from the source. A walkable path can be later formed by following the
; path of decrementing numbers from the destination to the source and reversing it

273F:4C82  8B 55 14                             mov     dx,[di+PATHFIND_X_CHANGE1]
273F:4C85                       loc_971:                                        ;  xref 273F:4CC6, 4CCE, 4CDA
273F:4C85 56                                   push    si
273F:4C86  53                                   push    bx
273F:4C87  8B 36 3944                           mov     si, pathfind_countdown_ctr
273F:4C8B  8B 4D 1A                             mov     cx, [di+PATHFIND_Y_CHANGE2]

273F:4C8E                       locloop_972:                                    ;  xref 273F:4C9F
273F:4C8E  51                                   push    cx
273F:4C8F  53                                   push    bx
273F:4C90  8B 4D 18                             mov     cx, [di+PATHFIND_X_CHANGE2]

273F:4C93                       locloop_973:                                    ;  xref 273F:4C98
273F:4C93  E8 021A                              call    pathfind_populate_cells
273F:4C96  03 DA                                add     bx, dx
273F:4C98  E2 F9                                loop    locloop_973             ; Loop if cx > 0

273F:4C9A  5B                                   pop     bx
273F:4C9B  59                                   pop     cx
273F:4C9C  03 5D 16                             add     bx, [di+PATHFIND_Y_CHANGE1]
273F:4C9F  E2 ED                                loop    locloop_972             ; Loop if cx > 0

273F:4CA1  89 36 3944                           mov     pathfind_countdown_ctr, si
273F:4CA5  5B                                   pop     bx
273F:4CA6  5E                                   pop     si
273F:4CA7  F7 04 FFFF                           test    word ptr [si], 0FFFFh   ; Dest been filled in yet?
273F:4CAB  75 2F                                jnz     loc_977                 ; Jump if yes

273F:4CAD  80 7D 1A 18                          cmp     byte ptr [di+PATHFIND_Y_CHANGE2], ROOM_PATHS_HEIGHT
273F:4CB1  75 08                                jne     loc_974                 ; Jump if not equal
273F:4CB3  80 7D 18 28                          cmp     byte ptr [di+PATHFIND_X_CHANGE2], ROOM_PATHS_WIDTH
273F:4CB7  74 17                                je      loc_976                 ; Jump if equal
273F:4CB9  EB 07                                jmp     short loc_975
273F:4CBB                       loc_974:                                        ;  xref 273F:4CB1
273F:4CBB  2B 5D 16                             sub     bx, [di+PATHFIND_Y_CHANGE1]
273F:4CBE  83 45 1A 01                          add     word ptr [di+PATHFIND_Y_CHANGE2], 1
273F:4CC2                       loc_975:
273F:4CC2  80 7D 18 28                          cmp     byte ptr [di+PATHFIND_X_CHANGE2], ROOM_PATHS_WIDTH
273F:4CC6  74 BD                                je      loc_971                 ; Jump if equal
273F:4CC8  2B DA                                sub     bx, dx
273F:4CCA  83 45 18 01                          add     word ptr [di+PATHFIND_X_CHANGE2], 1
273F:4CCE  EB B5                                jmp     short loc_971

273F:4CD0                       loc_976:
273F:4CD0  F6 45 13 FF                          test    byte ptr [di+PATHFIND_CELL_POPULATED], 0FFh
273F:4CD4  74 08                                jz      loc_978                 ; Jump if no cell populated
273F:4CD6  C6 45 13 00                          mov     byte ptr [di+PATHFIND_CELL_POPULATED], 0
273F:4CDA  EB A9                                jmp     short loc_971           ; Jump for another try
273F:4CDC                       loc_977:
273F:4CDC  EB 66                                jmp     short loc_982
273F:4CDE                       loc_978:
273F:4CDE  C6 45 05 02                          mov     byte ptr [di+PATHFIND_DEST_STATE], 2 ; No path to destination
273F:4CE2                       loc_979:
273F:4CE2  F6 45 12 FF                          test    byte ptr [di+PATHFIND_DEST_OCCUPIED], 0FFh
273F:4CE6  74 08                                jz      loc_980                 ; Jump if zero
273F:4CE8  C7 04 FFFF                           mov     word ptr [si], 0FFFFh   ; Restore destination occupied
273F:4CEC  C6 45 12 00                          mov     byte ptr [di+PATHFIND_DEST_OCCUPIED], 0
273F:4CF0                       loc_980:

; Do a scan of the lines, if necessary, to allow the character to walk up to
; a wall without walking into it
273F:4CF0  57                                   push    di
273F:4CF1  8B EE                                mov     bp, si
273F:4CF3  8B DE                                mov     bx, si                  ; bx=bp=destination cell
273F:4CF5  B2 FF                                mov     dl, 0FFh
273F:4CF7  8B 4D 06                             mov     cx, [di+PATHFIND_DEST_X]
273F:4CFA  83 C1 01                             add     cx, 1
273F:4CFD  BF FFFE                              mov     di, 0FFFEh
273F:4D00  E8 0220                              call    pathfind_scan_line
273F:4D03  5F                                   pop     di
273F:4D04  57                                   push    di
273F:4D05  B9 0028                              mov     cx, ROOM_PATHS_WIDTH
273F:4D08  2B 4D 06                             sub     cx, [di+PATHFIND_DEST_X]
273F:4D0B  BF 0002                              mov     di, 2
273F:4D0E  E8 0212                              call    pathfind_scan_line
273F:4D11  5F                                   pop     di
273F:4D12  57                                   push    di
273F:4D13  8B 4D 08                             mov     cx, [di+PATHFIND_DEST_Y]
273F:4D16  83 C1 01                             add     cx, 1
273F:4D19  BF FFAC                              mov     di, -DECODED_PATHS_WIDTH*2
273F:4D1C  E8 0204                              call    pathfind_scan_line
273F:4D1F  5F                                   pop     di
273F:4D20  57                                   push    di
273F:4D21  B9 0018                              mov     cx, ROOM_PATHS_HEIGHT
273F:4D24  2B 4D 08                             sub     cx, [di+PATHFIND_DEST_Y]
273F:4D27  BF 0054                              mov     di, DECODED_PATHS_WIDTH*2
273F:4D2A  E8 01F6                              call    pathfind_scan_line
273F:4D2D  5F                                   pop     di
273F:4D2E  8B F5                                mov     si, bp
273F:4D30  3B DE                                cmp     bx, si
273F:4D32  75 0E                                jne     loc_981                 ; Jump if not equal
273F:4D34  C6 45 05 03                          mov     byte ptr [di+PATHFIND_DEST_STATE], 3
273F:4D38 BB 3940                              mov     bx, offset pathfind_buffer_end
273F:4D3B  C7 07 0000                           mov     word ptr [bx], 0
273F:4D3F  E9 0132                              jmp     loc_1003                ; (4E74)
273F:4D42                       loc_981:                                        ;  xref 273F:4D32
273F:4D42  8B F3                                mov     si, bx

273F:4D44                       loc_982:                                        ;  xref 273F:4CDC
273F:4D44  F6 45 12 FF                          test    byte ptr [di+PATHFIND_DEST_OCCUPIED], 0FFh
273F:4D48  75 98                                jnz     loc_979                 ; Jump if not zero

; end of cell population
; Fill out any cells that are still blank (ie. anywhere that can't reach the
; destination) as occupied

273F:4D4A  FC                                   cld                             ; Clear direction
273F:4D4B  57                                   push    di
273F:4D4C  83 C7 1C                             add     di, 1Ch                 ; di=start of grid
273F:4D4F  B9 0445                              mov     cx, DECODED_PATHS_WIDTH*DECODED_PATHS_HEIGHT+1 ;445h
273F:4D52  33 C0                                xor     ax, ax
273F:4D54                       loc_983:                              
273F:4D54 F2/ AF                               repne   scasw                   ; Scan for an empty cell
273F:4D56  0B C9                                or      cx, cx                  ; Reached end of list?
273F:4D58  74 07                                jz      loc_984                 ; Jump if yes
273F:4D5A  C7 45 FE FFFF                        mov     word ptr [di-2], 0FFFFh ; Replace it with occupied state
273F:4D5F  EB F3                                jmp     short loc_983
           
273F:4D61                       loc_984:                                        
273F:4D61  5F                                   pop     di
273F:4D62  33 D2                                xor     dx, dx
273F:4D64  B1 FF                                mov     cl,0FFh
273F:4D66 BB 3940                              mov     bx, offset pathfind_buffer_end
273F:4D69  C7 07 0000                           mov     word ptr [bx], 0
273F:4D6D  F6 45 05 FF                          test    byte ptr [di+PATHFIND_DEST_STATE], 0FFh
273F:4D71  75 1D                                jnz     loc_987                 ; Jump if not zero
273F:4D73  8B 45 10                             mov     ax, [di+PATHFIND_DEST_X2]
273F:4D76  0B C0                                or      ax,ax                   ; Zero ?
273F:4D78  74 16                                jz      loc_987                 ; Jump if zero
273F:4D7A  78 07                                js      loc_985                 ; Jump if sign=1
273F:4D7C  C7 47 FE 0002                        mov     word ptr [bx-2], FACING2_RIGHT
273F:4D81  EB 07                                jmp     short loc_986           ; (4D8A)
273F:4D83                       loc_985:                                        ;  xref 273F:4D7A
273F:4D83  C7 47 FE 0001                        mov     word ptr [bx-2], FACING2_LEFT
273F:4D88  F7 D8                                neg     ax
273F:4D8A                       loc_986:                                        ;  xref 273F:4D81
273F:4D8A  89 47 FC                             mov     [bx-4], ax              ; Save # steps
273F:4D8D  83 EB 04                             sub     bx, 4
273F:4D90                       loc_987:                                        ;  xref 273F:4D71, 4D78, 4E64, 4E6F

273F:4D90 53                                   push    bx
273F:4D91  56                                   push    si

; Form a set of steps starting at the source
273F:4D92                       loc_988:
273F:4D92 8B 04                                mov     ax, [si]                ; Get steps value from current pos
273F:4D94  2D 0001                              sub     ax, 1
273F:4D97  74 4A                                jz      loc_992                 ; Jump if zero
273F:4D99  F6 C2 26                             test    dl, 38
273F:4D9C  75 11                                jnz     loc_989                 ; Jump if not zero
273F:4D9E  39 44 AC                             cmp     [si-DECODED_PATHS_WIDTH*2], ax
273F:4DA1  74 67                                je      loc_996                 ; Jump if equal
273F:4DA3  39 44 54                             cmp     [si+DECODED_PATHS_WIDTH*2], ax
273F:4DA6  74 60                                je      loc_995                 ; Jump if equal
273F:4DA8  39 44 02                             cmp     [si+2], ax
273F:4DAB  74 38                                je      loc_993                 ; Jump if equal
273F:4DAD  EB 11                                jmp     short loc_990           ; (4DC0)
273F:4DAF                       loc_989:                                        ;  xref 273F:4D9C
273F:4DAF  39 44 02                             cmp     [si+2], ax
273F:4DB2  74 31                                je      loc_993                 ; Jump if equal
273F:4DB4  39 44 FE                             cmp     [si-2], ax
273F:4DB7  74 07                                je      loc_990                 ; Jump if equal
273F:4DB9  39 44 54                             cmp     [si+DECODED_PATHS_WIDTH*2], ax
273F:4DBC  74 70                                je      loc_998                 ; Jump if equal
273F:4DBE  EB 4A                                jmp     short loc_996           ; (4E0A)
273F:4DC0                       loc_990:                                        ;  xref 273F:4DAD, 4DB7
273F:4DC0  80 E2 03                             and     dl,3
273F:4DC3  F6 C2 02                             test    dl,2
273F:4DC6  75 10                                jnz     loc_991                 ; Jump if not zero
273F:4DC8  80 C6 01                             add     dh,1
273F:4DCB  C7 47 FE 0002                        mov     word ptr [bx-2], FACING2_RIGHT
273F:4DD0  C7 47 FC 0000                        mov     word ptr [bx-4], 0
273F:4DD5  83 EB 04                             sub     bx, 4
273F:4DD8                       loc_991:                                        ;  xref 273F:4DC6
273F:4DD8  83 EE 02                             sub     si,2
273F:4DDB  83 07 08                             add     word ptr [bx],8
273F:4DDE  80 CA 02                             or      dl,2
273F:4DE1  EB AF                                jmp     short loc_988           ; (4D92)
273F:4DE3                       loc_992:                                        ;  xref 273F:4D97
273F:4DE3  EB 6D                                jmp     short loc_1000          ; (4E52)
273F:4DE5                       loc_993:                                        ;  xref 273F:4DAB, 4DB2
273F:4DE5  80 E2 05                             and     dl,5
273F:4DE8  F6 C2 04                             test    dl,4
273F:4DEB  75 10                                jnz     loc_994                 ; Jump if not zero
273F:4DED  80 C6 01                             add     dh,1
273F:4DF0  C7 47 FE 0001                        mov     word ptr [bx-2], FACING2_LEFT
273F:4DF5  C7 47 FC 0000                        mov     word ptr [bx-4], 0
273F:4DFA  83 EB 04                             sub     bx, 4
273F:4DFD                       loc_994:                                        ;  xref 273F:4DEB
273F:4DFD  83 C6 02                             add     si, 2
273F:4E00  83 07 08                             add     word ptr [bx], 8        ; Add # steps
273F:4E03  80 CA 04                             or      dl, 4
273F:4E06  EB 8A                                jmp     short loc_988           ; (4D92)
273F:4E08                       loc_995:                                        ;  xref 273F:4DA6
273F:4E08  EB 24                                jmp     short loc_998           ; (4E2E)
273F:4E0A                       loc_996:                                        ;  xref 273F:4DA1, 4DBE
273F:4E0A  80 E2 09                             and     dl,9
273F:4E0D  F6 C2 08                             test    dl,8
273F:4E10  75 10                                jnz     loc_997                 ; Jump if not zero
273F:4E12  80 C6 01                             add     dh,1
273F:4E15  C7 47 FE 0008                        mov     word ptr [bx-2], FACING2_DOWN
273F:4E1A  C7 47 FC 0000                        mov     word ptr [bx-4], 0
273F:4E1F  83 EB 04                             sub     bx, 4
273F:4E22                       loc_997:                                        ;  xref 273F:4E10
273F:4E22  83 EE 54                             sub     si, DECODED_PATHS_WIDTH*2
273F:4E25  83 07 08                             add     word ptr [bx], 8        ; Add # steps
273F:4E28  80 CA 08                             or      dl, 8
273F:4E2B  E9 FF64                              jmp     loc_988                 ; (4D92)
273F:4E2E                       loc_998:                                        ;  xref 273F:4DBC, 4E08
273F:4E2E  80 E2 11                             and     dl,11h
273F:4E31  F6 C2 10                             test    dl,10h
273F:4E34  75 10                                jnz     loc_999                 ; Jump if not zero
273F:4E36  80 C6 01                             add     dh,1
273F:4E39  C7 47 FE 0004                        mov     word ptr [bx-2], FACING2_UP
273F:4E3E  C7 47 FC 0000                        mov     word ptr [bx-4], 0
273F:4E43  83 EB 04                             sub     bx, 4
273F:4E46                       loc_999:                                        ;  xref 273F:4E34
273F:4E46  83 C6 54                             add     si, DECODED_PATHS_WIDTH*2
273F:4E49  83 07 08                             add     word ptr [bx], 8        ; Add # steps
273F:4E4C  80 CA 10                             or      dl, 10h
273F:4E4F  E9 FF40                              jmp     loc_988                 ; (4D92)

; This post-check is used to go through the paths two times - the first two
; tries the path using standard direction checks, the second using the alternate
; checks. If the first run through was the shortest, redo the process a third
; time to get the walking sequence that was obtained the first time
273F:4E52                       loc_1000:
273F:4E52  F6 C2 01                             test    dl, 1                   ; Test for exit flag
273F:4E55  75 1B                                jnz     loc_1002                ; Jump if yes
273F:4E57  F6 C1 80                             test    cl, 80h
273F:4E5A  74 0B                                jz      loc_1001                ; Jump if zero
273F:4E5C  5E                                   pop     si
273F:4E5D  5B                                   pop     bx
273F:4E5E  8A CE                                mov     cl, dh                  ; Store number of steps
273F:4E60  32 F6                                xor     dh, dh                  ; Reset counter
273F:4E62  B2 20                                mov     dl, 20h                 ; Flag for alt direction check
273F:4E64  E9 FF29                              jmp     loc_987                 ; Go get directions again
273F:4E67                       loc_1001:
273F:4E67  3A CE                                cmp     cl, dh
273F:4E69  73 07                                jae     loc_1002                ; Jump if above or =
273F:4E6B  5E                                   pop     si
273F:4E6C  5B                                   pop     bx
273F:4E6D  B2 01                                mov     dl, 1                   ; Flag for exit after retry
273F:4E6F  E9 FF1E                              jmp     loc_987

273F:4E72                       loc_1002:
273F:4E72  5E                                   pop     si
273F:4E73  58                                   pop     ax

273F:4E74                       loc_1003:
273F:4E74  FC                                   cld                             ; Clear direction
273F:4E75  8B 45 0C                             mov     ax, [di+PATHFIND_X]
273F:4E78  A9 FFFF                              test    ax, 0FFFFh              ; Check X position
273F:4E7B  74 19                                jz      loc_1006
273F:4E7D  78 0A                                js      loc_1004                ; Move
273F:4E7F  C7 47 FE 0001                        mov     word ptr [bx-2], FACING2_LEFT
273F:4E84  89 47 FC                             mov     [bx-4], ax              ; Save # steps
273F:4E87  EB 0A                                jmp     short loc_1005
273F:4E89                       loc_1004:                                       ;  xref 273F:4E7D
273F:4E89  C7 47 FE 0002                        mov     word ptr [bx-2], FACING2_RIGHT
273F:4E8E  F7 D8                                neg     ax
273F:4E90  89 47 FC                             mov     [bx-4], ax              ; Save # steps
273F:4E93                       loc_1005:
273F:4E93  83 EB 04                             sub     bx, 4                   ; Move back one record
273F:4E96                       loc_1006:                                       ; End of pathfinding
273F:4E96  C7 05 0000                           mov     word ptr [di], 0
273F:4E9A  8B 26 3942                           mov     sp, pathfind_sp
273F:4E9E  C6 06 3946 00                        mov     pathfind_in_progress, 0 ; Reset in-progress flag
273F:4EA3  B8 0001                              mov     ax, 1                   ; Set return value
273F:4EA6  02 45 05                             add     al, [di+PATHFIND_DEST_STATE]
273F:4EA9  50                                   push    ax
273F:4EAA  53                                   push    bx
273F:4EAB  06                                   push    es
273F:4EAC  07                                   pop     es
273F:4EAD  5B                                   pop     bx
273F:4EAE  58                                   pop     ax
273F:4EAF  C3                                   retn
                        character_pathfind      endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:4C93
                                ;��������������������������������������������������������������������������

                     pathfind_populate_cells    proc    near
273F:4EB0  F7 07 FFFF                           test    word ptr [bx], 0FFFFh   ; Is cell occupied?
273F:4EB4  75 48                                jnz     loc_1013                ; Jump if it is
273F:4EB6  BD FFFF                              mov     bp, 0FFFFh
273F:4EB9  8B 47 AC                             mov     ax, [bx-(DECODED_PATHS_WIDTH*2)] ; Get cell from one line up
273F:4EBC  0B C0                                or      ax, ax                  ; Is it occupied
273F:4EBE  74 06                                jz      loc_1007                ; Jump if not
273F:4EC0  3B C5                                cmp     ax, bp                  ; Is it standard occupied indicator?
273F:4EC2  73 02                                jae     loc_1007
273F:4EC4  8B E8                                mov     bp,ax                   ; Store loaded cell value
273F:4EC6                       loc_1007:
273F:4EC6  8B 47 54                             mov     ax, [bx+(DECODED_PATHS_WIDTH*2)] ; Get cell from next line
273F:4EC9  0B C0                                or      ax, ax                  ; Is it occupied?
273F:4ECB  74 06                                jz      loc_1008                ; Jump if not
273F:4ECD  3B C5                                cmp     ax, bp
273F:4ECF  73 02                                jae     loc_1008
273F:4ED1  8B E8                                mov     bp, ax                  ; Store loaded cell value
273F:4ED3                       loc_1008:
273F:4ED3  8B 47 FE                             mov     ax, [bx-2]              ; Get cell from left
273F:4ED6  0B C0                                or      ax, ax                  ; Is it occupied?
273F:4ED8  74 06                                jz      loc_1009                ; Jump if not
273F:4EDA  3B C5                                cmp     ax, bp
273F:4EDC  73 02                                jae     loc_1009                ; Store loaded cell value
273F:4EDE  8B E8                                mov     bp, ax
273F:4EE0                       loc_1009:
273F:4EE0  8B 47 02                             mov     ax, [bx+2]              ; Get cell from right
273F:4EE3  0B C0                                or      ax, ax                  ; Is it occupied?
273F:4EE5  74 06                                jz      loc_1010                ; Jump if not
273F:4EE7  3B C5                                cmp     ax, bp
273F:4EE9  73 02                                jae     loc_1010
273F:4EEB  8B E8                                mov     bp, ax                  ; Store loaded cell value
273F:4EED                       loc_1010:

; At this point, bp contains the lowest value from the surrounding cells, not
; counting entries with 0ffff (occupied). Below we will now add 1 to the value
; and store it in the cell. By repeated calls processing the entire grid, we
; can figure out a path to the destination by following sequential numbers
273F:4EED  83 C5 01                             add     bp, 1
273F:4EF0  74 06                                jz      loc_1011                ; If no vals found, skip save
273F:4EF2  89 2F                                mov     [bx], bp                ; Store value
273F:4EF4  C6 45 13 01                          mov     byte ptr [di+PATHFIND_CELL_POPULATED], 1
273F:4EF8                       loc_1011:                                       ;  xref 273F:4EF0
273F:4EF8  83 EE 03                             sub     si, 3                   ; Decrement countdown ctr
273F:4EFB  72 06                                jc      loc_1014                ; Break if countdown ended

273F:4EFD                       loc_ret_1012:                                   ;  xref 273F:4F01
273F:4EFD  C3                                   retn
273F:4EFE                       loc_1013:                                       ;  xref 273F:4EB4
273F:4EFE  83 EE 01                             sub     si, 1                   ; Decrement countdown ctr
273F:4F01  73 FA                                jnc     loc_ret_1012            ; Don't break if countdown not ended
273F:4F03                       loc_1014:                                       
273F:4F03  89 36 3944                           mov     pathfind_countdown_ctr, si
273F:4F07  50                                   push    ax
273F:4F08  53                                   push    bx
273F:4F09  51                                   push    cx
273F:4F0A  52                                   push    dx
273F:4F0B  56                                   push    si
273F:4F0C  57                                   push    di
273F:4F0D  55                                   push    bp
273F:4F0E  1E                                   push    ds
273F:4F0F  06                                   push    es
273F:4F10  9C                                   pushf
273F:4F11  E8 0034                              call    pathfind_return_to_sp
273F:4F14  9D                                   popf
273F:4F15  07                                   pop     es
273F:4F16  1F                                   pop     ds
273F:4F17  5D                                   pop     bp
273F:4F18  5F                                   pop     di
273F:4F19  5E                                   pop     si
273F:4F1A  5A                                   pop     dx
273F:4F1B  59                                   pop     cx
273F:4F1C  5B                                   pop     bx
273F:4F1D  58                                   pop     ax
273F:4F1E  8B 36 3944                           mov     si, pathfind_countdown_ctr
273F:4F22  C3                                   retn
                     pathfind_populate_cells    endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:4D00, 4D0E, 4D1C, 4D2A
                                ;��������������������������������������������������������������������������

                         pathfind_scan_line     proc    near
273F:4F23  8B F5                                mov     si, bp
273F:4F25  32 F6                                xor     dh, dh

273F:4F27                       locloop_1015:                                   ;  xref 273F:4F45
273F:4F27  03 F7                                add     si, di                  ; Add increment amount
273F:4F29  80 C6 01                             add     dh,1
273F:4F2C  F7 04 FFFF                           test    word ptr [si], 0FFFFh   ; Check cell
273F:4F30  74 13                                jz      loc_1018                ; Skip if empty (unpopulated)
273F:4F32  78 11                                js      loc_1018                ; Or if occupied
273F:4F34  3A D6                                cmp     dl, dh                  ; Check ctr against max
273F:4F36  72 0C                                jb      loc_ret_1017            ; Exit if below
273F:4F38  75 06                                jnz     loc_1016                ; Jump if not equal
273F:4F3A  8B 04                                mov     ax, [si]
273F:4F3C  3B 07                                cmp     ax, [bx]
273F:4F3E  73 04                                jae     loc_ret_1017            ; Jump if above or =
273F:4F40                       loc_1016:                                       ;  xref 273F:4F38
273F:4F40  8B DE                                mov     bx,si
273F:4F42  8A D6                                mov     dl, dh

273F:4F44                       loc_ret_1017:                                   ;  xref 273F:4F36, 4F3E
273F:4F44  C3                                   retn
273F:4F45                       loc_1018:                                       ;  xref 273F:4F30, 4F32
273F:4F45  E2 E0                                loop    locloop_1015            ; Loop if cx > 0

273F:4F47  C3                                   retn
                         pathfind_scan_line     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:4F11
                                ;��������������������������������������������������������������������������

                     pathfind_return_to_sp      proc    near
273F:4F48  89 25                                mov     [di], sp
273F:4F4A  8B 26 3942                           mov     sp, pathfind_sp
273F:4F4E  33 C0                                xor     ax, ax
273F:4F50  FC                                   cld                             ; Clear direction
273F:4F51  C3                                   retn
                     pathfind_return_to_sp      endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:5039, 5127, 5EB0, 5EE9, 5F56
                                ;��������������������������������������������������������������������������

                             pathfind_reset     proc    near
273F:4F52  53                                   push    bx
273F:4F53  3D 03E8                              cmp     ax, PLAYER_HOTSPOT_ID
273F:4F56  75 0E                                jne     loc_1019                ; Jump if not equal
273F:4F58 BB 3983                              mov     bx, offset player_pathfind_data
273F:4F5B  C6 06 3946 00                        mov     pathfind_in_progress, 0
273F:4F60  C7 07 0000                           mov     word ptr [bx], 0
273F:4F64  5B                                   pop     bx
273F:4F65  C3                                   retn
273F:4F66                       loc_1019:                                       ;  xref 273F:4F56
273F:4F66 BB 4227                              mov     bx, offset chars_pathfind_data
273F:4F69  3B 47 02                             cmp     ax, [bx+2]
273F:4F6C  75 04                                jne     loc_1020                ; Jump if not equal
273F:4F6E  C7 07 0000                           mov     word ptr [bx], 0
273F:4F72                       loc_1020:                                       ;  xref 273F:4F6C
273F:4F72  5B                                   pop     bx
273F:4F73  C3                                   retn
                             pathfind_reset     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:8FE4
                                ;��������������������������������������������������������������������������

                         seq_pathfind_reset     proc    near
273F:4F74  C6 06 3946 00                        mov     pathfind_in_progress, 0
273F:4F79 BE 4227                              mov     si, offset chars_pathfind_data
273F:4F7C  C7 04 0000                           mov     word ptr [si], 0
273F:4F80  C3                                   retn
                         seq_pathfind_reset     endp

273F:4F81  00                                   db      0

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; Contains all the standard handling for characters, such as the Skorl
                                ;��������������������������������������������������������������������������

                standard_character_tick_proc    proc    near
273F:4F82 8B DE                                mov     bx, si
273F:4F84  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:4F87  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:4F8A  E8 11EB                              call    talk_countdown_handler
273F:4F8D  F7 44 2F FFFF                        test    word ptr [si+HS_USE_HOTSPOT_ID], 0FFFFh
273F:4F92  74 1F                                jz      loc_1023                ; Jump if no hotspot to use
273F:4F94  8B 44 2B                             mov     ax, [si+HS_V2B]
273F:4F97  3D 002A                              cmp     ax, 2Ah
273F:4F9A  74 03                                je      loc_1022                ; Jump if equal
273F:4F9C  E9 F3C7                              jmp     character_update_movement

273F:4F9F                       loc_1022:                                       ;  xref 273F:4F9A
273F:4F9F  A3 BA1B                              mov     active_hotspot_id, ax
273F:4FA2  8B 44 2F                             mov     ax, [si+HS_USE_HOTSPOT_ID]
273F:4FA5  A3 BA19                              mov     use_hotspot_id, ax
273F:4FA8  8B 44 2D                             mov     ax, [si+HS_HOTSPOT_SCRIPT_ID]
273F:4FAB  E8 EE86                              call    sequence_execute
273F:4FAE  C7 44 2F 0000                        mov     word ptr [si+HS_USE_HOTSPOT_ID], 0
273F:4FB3                       loc_1023:
273F:4FB3  F7 44 1F FFFF                        test    word ptr [si+HS_FRAME_CTR], 0FFFFh
273F:4FB8  74 05                                jz      loc_1024
273F:4FBA  83 6C 1F 01                          sub     word ptr [si+HS_FRAME_CTR], 1
273F:4FBE  C3                                   retn
273F:4FBF                       loc_1024:
273F:4FBF  E8 C149                              call    character_find_impinging_chars
273F:4FC2  F6 45 1D FF                          test    byte ptr [di+ANIM_SKIP], 0FFh
273F:4FC6  74 4C                                jz      loc_1028                ; Skip if necessary
273F:4FC8  F7 06 10BE FFFF                      test    num_impinging_chars, 0FFFFh ; Bumped into anyone?
273F:4FCE  74 40                                jz      loc_1027                ; Jump if not
273F:4FD0  56                                   push    si
273F:4FD1 BE 10C0                              mov     si, offset impinging_char_list
273F:4FD4                       loc_1025:
273F:4FD4  AD                                   lodsw                           ; Get character Id
273F:4FD5  0B C0                                or      ax, ax                  ; End of list reached?
273F:4FD7  74 2C                                jz      loc_1026                ; Jump if yes
273F:4FD9  3D 03E8                              cmp     ax, PLAYER_HOTSPOT_ID   ; Is it the player?
273F:4FDC  75 F6                                jne     loc_1025                ; Skip if yes
273F:4FDE  80 3E 6D33 02                        cmp     [player_hotspot_rec+HS_CHAR_MODE], CHARMODE_IDLE
273F:4FE3  75 20                                jne     loc_1026                ; Jump if not equal
273F:4FE5  5E                                   pop     si                      ; Signal the player to move
273F:4FE6 BE 6CEF                              mov     si, offset player_hotspot_rec   ; out of the way
273F:4FE9  BF B14E                              mov     di, offset animation_table
273F:4FEC  8B DE                                mov     bx, si
273F:4FEE  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:4FF1  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:4FF4  C6 44 4C 01                          mov     byte ptr [si+HS_BLOCKED_FLAG], BS_INITIAL
273F:4FF8  C7 44 52 0000                        mov     [si+HS_DEST_HOTSPOT], 0
273F:4FFD  C6 06 9834 04                        mov     cursor_state, CURSORSTATE_BUMPED
273F:5002  E9 0661                              jmp     character_set_random_dest

273F:5005                       loc_1026:
273F:5005  5E                                   pop     si
273F:5006  C6 44 44 03                          mov     byte ptr [si+HS_CHAR_MODE], CHARMODE_PAUSED
273F:500A  C7 44 42 000A                        mov     word ptr [si+HS_DELAY_CTR], 10
273F:500F  C3                                   retn

273F:5010                       loc_1027:
273F:5010  C6 45 1D 00                          mov     byte ptr [di+ANIM_SKIP], 0
273F:5014                       loc_1028:
273F:5014  F7 44 47 FFFF                        test    [si+SCRIPT_HOTSPOT_ID], 0FFFFh
273F:5019  74 11                                jz      loc_1029                ; Jump if zero
273F:501B  8B 44 47                             mov     ax, [si+SCRIPT_HOTSPOT_ID]
273F:501E  A3 BA19                              mov     use_hotspot_id, ax
273F:5021  8B 44 45                             mov     ax, [si+HS_TICK_SCRIPT_OFFSET]
273F:5024  E8 EE0D                              call    sequence_execute
273F:5027  C7 44 47 0000                        mov     word ptr [si+SCRIPT_HOTSPOT_ID], 0

273F:502C                       loc_1029:
273F:502C  F7 44 4A FFFF                        test    word ptr [si+HS_PAUSE_CTR], 0FFFFh
273F:5031  74 21                                jz      loc_1031                ; Jump if zero
273F:5033  E8 F330                              call    character_update_movement
273F:5036  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]
273F:5039  E8 FF16                              call    pathfind_reset
273F:503C  83 7C 4A 01                          cmp     word ptr [si+HS_PAUSE_CTR], 1
273F:5040  74 03                                je      loc_1030                ; Jump if equal
273F:5042  E9 F521                              jmp     character_paused_list_scan_2
273F:5045                       loc_1030:                                       ;  xref 273F:5040
273F:5045  C7 44 4A 0000                        mov     word ptr [si+HS_PAUSE_CTR], 0
273F:504A  F6 44 44 FF                          test    byte ptr [si+HS_CHAR_MODE], 0FFh
273F:504E  75 04                                jnz     loc_1031                ; Jump if not zero
273F:5050  E8 F334                              call    character_pathfind_clear
273F:5053  C3                                   retn

273F:5054                       loc_1031:                                       ;  xref 273F:5031, 504E
273F:5054  F6 44 44 FF                          test    byte ptr [si+HS_CHAR_MODE], 0FFh
273F:5058  75 02                                jnz     loc_1032                ; Jump if not zero
273F:505A  EB 6C                                jmp     short loc_1040          ; (50C8)
273F:505C                       loc_1032:                                       ;  xref 273F:5058
273F:505C  8A 44 44                             mov     al, [si+HS_CHAR_MODE]
273F:505F  3C 06                                cmp     al, CHARMODE_6
273F:5061  75 17                                jne     loc_1034                ; Jump if not equal
273F:5063  E8 F300                              call    character_update_movement
273F:5066  53                                   push    bx
273F:5067 BB 10BE                              mov     bx, offset num_impinging_chars
273F:506A                       loc_1033:                                       ;  xref 273F:5076
273F:506A  8B 07                                mov     ax, [bx]                ; Get impinging char Id
273F:506C  0B C0                                or      ax, ax                  ; End of list reached?
273F:506E  74 37                                jz      loc_1037
273F:5070  83 C3 02                             add     bx, 2                   ; Move to next entry
273F:5073  3D 03E8                              cmp     ax, PLAYER_HOTSPOT_ID   ; Is character the player?
273F:5076  75 F2                                jne     loc_1033                ; Keep looping
273F:5078  5B                                   pop     bx
273F:5079  C3                                   retn

273F:507A                       loc_1034:                                       ; HS[44h] != 6
273F:507A  F7 44 42 FFFF                        test    word ptr [si+HS_DELAY_CTR], 0FFFFh
273F:507F  74 27                                jz      loc_1038                ; Jump if zero
273F:5081  E8 F2E2                              call    character_update_movement
273F:5084  F7 44 50 FFFF                        test    word ptr [si+HS_DIRECTION], 0FFFFh
273F:5089  74 17                                jz      loc_1035                ; Jump if zero
273F:508B  56                                   push    si
273F:508C  8B 5C 50                             mov     bx, [si+HS_DIRECTION]
273F:508F  E8 BC56                              call    get_room_resource_pointer
273F:5092  5B                                   pop     bx
273F:5093  87 F3                                xchg    si, bx                  ; si=char Id,
273F:5095  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]
273F:5098  3B 47 06                             cmp     ax, [bx+HS_ROOM_NUM]
273F:509B  75 0B                                jne     loc_1038                ; Jump if not equal
273F:509D  E8 0501                              call    characters_impinging_check
273F:50A0  74 06                                jz      loc_1038                ; Jump if zero
273F:50A2                       loc_1035:                                       ;  xref 273F:5089
273F:50A2  83 6C 42 01                          sub     word ptr [si+HS_DELAY_CTR], 1

273F:50A6                       loc_ret_1036:                                   ;  xref 273F:50BB
273F:50A6  C3                                   retn
273F:50A7                       loc_1037:                                       ;  xref 273F:506E
273F:50A7  5B                                   pop     bx
273F:50A8                       loc_1038:                                       ;  xref 273F:507F, 509B, 50A0
273F:50A8  33 C0                                xor     ax,ax                   ; Zero register
273F:50AA  89 44 50                             mov     [si+HS_DIRECTION], ax
273F:50AD  86 44 44                             xchg    [si+HS_CHAR_MODE], al
273F:50B0  50                                   push    ax
273F:50B1  E8 F2D3                              call    character_pathfind_clear
273F:50B4  58                                   pop     ax
273F:50B5  3C 04                                cmp     al, CHARMODE_4
273F:50B7  74 04                                je      loc_1039                ; Jump if equal
273F:50B9  3C 07                                cmp     al, CHARMODE_7
273F:50BB  75 E9                                jne     loc_ret_1036            ; Jump if not equal
273F:50BD                       loc_1039:                                       ;  xref 273F:50B7
273F:50BD  C7 44 33 0000                        mov     word ptr [si+HS_V33], 0
273F:50C2  B8 0001                              mov     ax, 1
273F:50C5  E9 12E9                              jmp     display_message_dialog

273F:50C8                       loc_1040:                                       ;  xref 273F:505A
273F:50C8  F7 44 58 FFFF                        test    word ptr [si+HS_V58], 0FFFFh
273F:50CD  74 0F                                jz      loc_1041                ; Jump if zero
273F:50CF  F6 06 6D52 FF                        test    player_action_state, 0FFh
273F:50D4  74 08                                jz      loc_1041                ; Jump if zero
273F:50D6  C6 44 2A C7                          mov     byte ptr [si+HS_ACTION_CTR], 199
273F:50DA  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION
273F:50DD  C3                                   retn

273F:50DE                       loc_1041:                                       ;  xref 273F:50CD, 50D4
273F:50DE  8A 07                                mov     al, [bx]                ; Get current atcion
273F:50E0  0A C0                                or      al,al                   ; Any defined?
273F:50E2  75 06                                jnz     loc_1042                ; Jump if yes
273F:50E4  B8 0002                              mov     ax, 2
273F:50E7  E9 F279                              jmp     character_update_movement_2
273F:50EA                       loc_1042:                                       ;  xref 273F:50E2
273F:50EA  3C 05                                cmp     al, CHAR_ACTION_CONTINUE_WALK
273F:50EC  74 28                                je      loc_1045
273F:50EE  3C 01                                cmp     al, CHAR_ACTION_START_WALK
273F:50F0  74 32                                je      loc_1048                ; Jump if equal
273F:50F2  3C 04                                cmp     al, CHAR_ACTION_PROCESSING_PATH
273F:50F4  74 3A                                je      loc_1049                ; Jump if equal
273F:50F6  3C 03                                cmp     al, CHAR_ACTION_EXEC_SCRIPT
273F:50F8  74 1F                                je      loc_1046                ; Jump if equal

; Dispatching action
273F:50FA  8B 45 0E                             mov     ax, [di+ANIM_ROOM_NUM]
273F:50FD  F7 47 03 FFFF                        test    word ptr [bx+CURRENT_ACTION_ROOM_NUM], 0FFFFh
273F:5102  75 03                                jnz     loc_1043                ; Jump if not zero
273F:5104  89 47 03                             mov     [bx+CURRENT_ACTION_ROOM_NUM], ax
273F:5107                       loc_1043:                                       ;  xref 273F:5102
273F:5107  3B 47 03                             cmp     ax, [bx+CURRENT_ACTION_ROOM_NUM] ; Compare against room number
273F:510A  74 03                                je      loc_1044                ; Jump if equal
273F:510C  E9 01F6                              jmp     npc_change_room
273F:510F                       loc_1044:                                       ;  xref 273F:510A
273F:510F  C6 45 1D 00                          mov     byte ptr [di+ANIM_SKIP], 0
273F:5113  E9 F0A8                              jmp     action_dispatch
273F:5116                       loc_1045:                                       ;  xref 273F:50EC
273F:5116  E9 00E0                              jmp     loc_1060                ; (51F9)
273F:5119                       loc_1046:                                       ;  xref 273F:50F8
273F:5119  E8 BE8D                              call    hotspot_script_execute
273F:511C  0B C0                                or      ax,ax                   ; Zero ?
273F:511E  75 03                                jnz     loc_ret_1047            ; Jump if not zero
273F:5120  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION

273F:5123                       loc_ret_1047:                                   ;  xref 273F:511E
273F:5123  C3                                   retn
273F:5124                       loc_1048:                                       ; Start walk
273F:5124  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]
273F:5127  E8 FE28                              call    pathfind_reset
273F:512A  C6 07 04                             mov     byte ptr [bx], CHAR_ACTION_PROCESSING_PATH
273F:512D  E8 F257                              call    character_pathfind_clear

273F:5130                       loc_1049:                                       ; Processing walk path
273F:5130  56                                   push    si
273F:5131  57                                   push    di
273F:5132  53                                   push    bx
273F:5133  E8 F42A                              call    character_paused_list_scan
273F:5136  8B 4C 56                             mov     cx, [si+HS_DEST_Y]
273F:5139  8B 5C 54                             mov     bx, [si+HS_DEST_X]
273F:513C  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]
273F:513F  8A 54 4C                             mov     dl, [si+HS_BLOCKED_FLAG]
273F:5142  E8 F8B1                              call    character_pathfind
273F:5145  5A                                   pop     dx
273F:5146  5F                                   pop     di
273F:5147  5E                                   pop     si
273F:5148  0B C0                                or      ax,ax                   ; Zero ?
273F:514A  75 01                                jnz     loc_1050                ; Jump if not zero
273F:514C  C3                                   retn
273F:514D                       loc_1050:                                       ;  xref 273F:514A
273F:514D  3D 0001                              cmp     ax, PF_OK
273F:5150  74 0C                                je      loc_1051                ; Jump if equal
273F:5152  F7 44 52 FFFF                        test    [si+HS_DEST_HOTSPOT], 0FFFFh
273F:5157  75 07                                jnz     loc_1052                ; Jump if not zero
273F:5159  3D 0002                              cmp     ax, PF_DEST_OCCUPIED
273F:515C  75 02                                jne     loc_1052                ; Jump if not equal
273F:515E                       loc_1051:                                       ;  xref 273F:5150
273F:515E  EB 79                                jmp     short loc_1058          ; (51D9)
273F:5160                       loc_1052:                                       ;  xref 273F:5157, 515C
273F:5160  87 D3                                xchg    dx,bx
273F:5162  80 7C 4C 02                          cmp     byte ptr [si+HS_BLOCKED_FLAG], BS_FINAL
273F:5166  74 24                                je      loc_1054                ; Jump if equal
273F:5168  80 44 4C 01                          add     byte ptr [si+HS_BLOCKED_FLAG], 1
273F:516C  F6 44 4D FF                          test    byte ptr [si+HS_V4D], 0FFh
273F:5170  75 0B                                jnz     loc_1053                ; Jump if not zero
273F:5172  83 44 61 05                          add     word ptr [si+HS_ACTION_OFFSET], CURRENT_ACTION_RECORD_SIZE
273F:5176  C6 44 4D 01                          mov     byte ptr [si+HS_V4D], 1
273F:517A  83 C3 05                             add     bx, CURRENT_ACTION_RECORD_SIZE
273F:517D                       loc_1053:                                       ;  xref 273F:5170
273F:517D  C7 47 01 13C2                        mov     word ptr [bx+CURRENT_ACTION_SUPPORT_TABLE], 13C2h
273F:5182  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION
273F:5185  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]
273F:5188  89 47 03                             mov     [bx+CURRENT_ACTION_ROOM_NUM], ax
273F:518B  C3                                   retn
273F:518C                       loc_1054:                                       ;  xref 273F:5166
273F:518C  53                                   push    bx
273F:518D BB 10C0                              mov     bx, offset impinging_char_list
273F:5190                       loc_1055:                                       ;  xref 273F:519C
273F:5190  8B 07                                mov     ax, [bx]
273F:5192  0B C0                                or      ax,ax                   ; Zero ?
273F:5194  74 11                                jz      loc_1056                ; Jump if zero
273F:5196  83 C3 02                             add     bx,2
273F:5199  3D 03E8                              cmp     ax, PLAYER_HOTSPOT_ID
273F:519C  75 F2                                jne     loc_1055                ; Jump if not equal
273F:519E  5B                                   pop     bx
273F:519F  E8 0006                              call    sub_125                 ; (51A8)
273F:51A2  C6 44 44 06                          mov     byte ptr [si+HS_CHAR_MODE], CHARMODE_6
273F:51A6  C3                                   retn
273F:51A7                       loc_1056:                                       ;  xref 273F:5194
273F:51A7  5B                                   pop     bx

273F:51A8                       sub_125         proc    near
273F:51A8  E8 F296                              call    character_paused_list_reset
273F:51AB  E8 F1B8                              call    character_update_movement
273F:51AE  83 6C 61 05                          sub     word ptr [si+HS_ACTION_OFFSET], CURRENT_ACTION_RECORD_SIZE
273F:51B2  C6 44 4D 00                          mov     byte ptr [si+HS_V4D], 0
273F:51B6  C6 44 4C 00                          mov     byte ptr [si+HS_BLOCKED_FLAG], BS_NONE
273F:51BA  C6 44 44 03                          mov     byte ptr [si+HS_CHAR_MODE], CHARMODE_3
273F:51BE  C7 44 42 0002                        mov     word ptr [si+HS_DELAY_CTR], 2
273F:51C3  8B DE                                mov     bx, si
273F:51C5  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:51C8  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:51CB  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]
273F:51CE  3B 47 03                             cmp     ax, [bx+CURRENT_ACTION_ROOM_NUM]
273F:51D1  74 05                                je      loc_ret_1057            ; Jump if equal
273F:51D3  C7 44 52 FFFF                        mov     [si+HS_DEST_HOTSPOT], 0FFFFh

273F:51D8                       loc_ret_1057:                                   ;  xref 273F:51D1
273F:51D8  C3                                   retn
                                sub_125         endp
                standard_character_tick_proc    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:51D9                       loc_1058:                                       ;  xref 273F:515E
273F:51D9  C6 44 4C 00                          mov     byte ptr [si+HS_BLOCKED_FLAG], BS_NONE
273F:51DD  F7 07 FFFF                           test    word ptr [bx], 0FFFFh   ; Any pathfinding set defined?
273F:51E1  75 06                                jnz     loc_1059                ; Jump if yes
273F:51E3  8B DA                                mov     bx, dx
273F:51E5  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION
273F:51E8  C3                                   retn
273F:51E9                       loc_1059:                                       ;  xref 273F:51E1
273F:51E9  87 DA                                xchg    bx,dx
273F:51EB  C6 07 05                             mov     byte ptr [bx], CHAR_ACTION_CONTINUE_WALK
273F:51EE  E8 F01C                              call    character_translate_movements
273F:51F1  83 65 02 F8                          and     word ptr [di+ANIM_Y], 0FFF8h
273F:51F5  83 64 0F F8                          and     word ptr [si+HS_Y], 0FFF8h
273F:51F9                       loc_1060:                                       ;  xref 273F:5116
273F:51F9  8B 44 52                             mov     ax, [si+HS_DEST_HOTSPOT]
273F:51FC  0B C0                                or      ax,ax                   ; Zero ?
273F:51FE  74 17                                jz      loc_1062                ; Jump if zero
273F:5200  3D FFFF                              cmp     ax,0FFFFh
273F:5203  74 12                                je      loc_1062                ; Jump if equal
273F:5205  56                                   push    si
273F:5206  53                                   push    bx
273F:5207  E8 1FE4                              call    room_exit_hs_get_pointer
273F:520A  8A 44 0C                             mov     al,[si+REHS_EXIT_BLOCKED]
273F:520D  5B                                   pop     bx
273F:520E  5E                                   pop     si
273F:520F  0A C0                                or      al,al                   ; Zero ?
273F:5211  74 04                                jz      loc_1062                ; Jump if zero
273F:5213  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION

273F:5216                       loc_ret_1061:                                   ;  xref 273F:521C
273F:5216  C3                                   retn
273F:5217                       loc_1062:                                       ;  xref 273F:51FE, 5203, 5211
273F:5217  E8 BF9B                              call    character_paused_list_check
273F:521A  0B C0                                or      ax,ax                   ; Zero ?
273F:521C  75 F8                                jnz     loc_ret_1061            ; Jump if not zero
273F:521E  F6 44 49 FF                          test    byte ptr [si+HS_PATHFIND_COVERED], 0FFh
273F:5222  74 03                                jz      loc_1063                ; Jump if zero
273F:5224  E8 F160                              call    character_pathfind_clear
273F:5227                       loc_1063:
273F:5227  8B DE                                mov     bx,si
273F:5229  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:522C  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:522F  E8 BC7E                              call    character_update_frame
273F:5232  0A C0                                or      al, al                  ; Zero ?
273F:5234  75 02                                jnz     loc_1064                ; Jump if not zero
273F:5236  EB 03                                jmp     short loc_1065
273F:5238                       loc_1064:
273F:5238  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION
273F:523B                       loc_1065:
273F:523B  F7 44 52 FFFF                        test    [si+HS_DEST_HOTSPOT], 0FFFFh ; Walking to exit?
273F:5240  74 03                                jz      loc_ret_1066            ; If not then return
273F:5242  E8 F043                              call    character_check_room_change ; Room change check

273F:5245                       loc_ret_1066:
273F:5245  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              JUMP POINT
                                ;
                                ;��������������������������������������������������������������������������

                     character_change_room_2:
273F:5246  80 25 F8                             and     byte ptr [di+ANIM_X], 0F8h
273F:5249  80 64 0D F8                          and     byte ptr [si+HS_X], 0F8h
273F:524D  80 0D 05                             or      byte ptr [di+ANIM_X], 5
273F:5250  80 4C 0D 05                          or      byte ptr [si+HS_X], 5
273F:5254  C6 44 60 00                          mov     byte ptr [si+HS_EXIT_CTR], 0
273F:5258  C6 45 1D 2A                          mov     byte ptr [di+ANIM_SKIP], 2Ah
273F:525C  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION
273F:525F  F6 C1 FF                             test    cl, 0FFh                ; Any direction specified?
273F:5262  74 12                                jz      loc_ret_1068            ; Exit if not
273F:5264  F6 C1 80                             test    cl, 80h
273F:5267  75 0E                                jnz     loc_1069                ; Face up
273F:5269  F6 C1 40                             test    cl, 40h
273F:526C  75 0C                                jnz     loc_1070                ; Face down
273F:526E  F6 C1 20                             test    cl, 20h
273F:5271  75 0A                                jnz     loc_1071                ; Face left
273F:5273  E9 F296                              jmp     char_face_right

273F:5276                       loc_ret_1068:
273F:5276  C3                                   retn
273F:5277                       loc_1069:
273F:5277  E9 F25F                              jmp     char_face_up
273F:527A                       loc_1070:
273F:527A  E9 F26D                              jmp     char_face_down
273F:527D                       loc_1071:
273F:527D  E9 F27B                              jmp     char_face_left

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                              npc_unknown_1     proc    near
273F:5280  F6 06 6D52 FF                        test    player_action_state, 0FFh
273F:5285  74 0E                                jz      loc_1072                ; Jump if zero
273F:5287  C7 44 42 000C                        mov     word ptr [si+HS_DELAY_CTR], 0Ch
273F:528C  C6 44 44 03                          mov     byte ptr [si+HS_CHAR_MODE], CHARMODE_3
273F:5290  C6 44 2A 00                          mov     byte ptr [si+HS_ACTION_CTR], 0
273F:5294  C3                                   retn
273F:5295                       loc_1072:
273F:5295  8B 4D 1B                             mov     cx, [di+ANIM_HOTSPOT_ID]
273F:5298  89 0E 983F                           mov     data_1090, cx
273F:529C  C7 06 9841 0000                      mov     data_1091, 0
273F:52A2  55                                   push    bp
273F:52A3  BB 0022                              mov     bx,22h
273F:52A6  BA 03E8                              mov     dx, PLAYER_HOTSPOT_ID
273F:52A9  E8 10E4                              call    display_message_dialog

273F:52AC  C6 44 44 04                          mov     byte ptr [si+HS_CHAR_MODE], CHARMODE_4
273F:52B0  C7 44 42 0082                        mov     word ptr [si+HS_DELAY_CTR], 82h
273F:52B5  5B                                   pop     bx
273F:52B6  8B 07                                mov     ax, [bx]
273F:52B8  89 44 33                             mov     [si+HS_V33], ax
273F:52BB  E9 EF1B                              jmp     loc_825                 ; (41D9)
                              npc_unknown_1     endp

                                ;��������������������������������������������������������������������������
                                ;                              JUMP POINT
                                ;
                                ;��������������������������������������������������������������������������

273F:52BE                       loc_1073:                                       ;  xref 273F:530D
273F:52BE  C6 44 60 00                          mov     byte ptr [si+HS_EXIT_CTR], 0
273F:52C2  F7 44 61 FFFF                        test    word ptr [si+HS_ACTION_OFFSET], 0FFFFh
273F:52C7  74 28                                jz      loc_1077                ; Jump if no cached actions
273F:52C9  53                                   push    bx
273F:52CA  F7 44 4E FFFF                        test    word ptr [si+HS_V4E], 0FFFFh
273F:52CF  74 18                                jz      loc_1075                ; Jump if zero
273F:52D1  8B 5F 01                             mov     bx, [bx+CURRENT_ACTION_SUPPORT_TABLE]
273F:52D4  81 FB 13BE                           cmp     bx, 13BEh
273F:52D8  72 06                                jb      loc_1074                ; Jump if below
273F:52DA 81 FB 13CE                           cmp     bx, 13CEh               ; (273F:13CE=54h)
273F:52DE  72 09                                jb      loc_1075                ; Jump if below
273F:52E0                       loc_1074:                                       ;  xref 273F:52D8
273F:52E0  C7 07 0017                           mov     word ptr [bx], ACTION_RETURN
273F:52E4  C7 47 02 0000                        mov     word ptr [bx+2], 0
273F:52E9                       loc_1075:                                       ;  xref 273F:52CF, 52DE
273F:52E9  5B                                   pop     bx
273F:52EA  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]
273F:52ED  89 47 03                             mov     [bx+CURRENT_ACTION_ROOM_NUM], ax

273F:52F0                       loc_ret_1076:                                   ;  xref 273F:52F6
273F:52F0  C3                                   retn
273F:52F1                       loc_1077:                                       ;  xref 273F:52C7
273F:52F1  F7 44 5E FFFF                        test    word ptr [si+HS_BLOCKED_SUPPORT_OFFSET], 0FFFFh
273F:52F6  74 F8                                jz      loc_ret_1076            ; Jump if zero
273F:52F8  8B 44 5E                             mov     ax, [si+HS_BLOCKED_SUPPORT_OFFSET]
273F:52FB  89 47 01                             mov     [bx+CURRENT_ACTION_SUPPORT_TABLE], ax
273F:52FE  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]
273F:5301  89 47 03                             mov     [bx+CURRENT_ACTION_ROOM_NUM], ax
273F:5304  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              JUMP POINT
                                ;
                                ; This code is jumped to if the NPC is not in the room designated
                                ; by the room number in the current action record. It starts the
                                ; character walking to the exit to route them to the right room
                                ;��������������������������������������������������������������������������

                             npc_change_room:
273F:5305  80 44 60 01                          add     byte ptr [si+HS_EXIT_CTR], 1
273F:5309  80 7C 60 05                          cmp     byte ptr [si+HS_EXIT_CTR], 5
273F:530D  73 AF                                jae     loc_1073                ; Jump if above or =
273F:530F  53                                   push    bx
273F:5310  8B 5F 03                             mov     bx,[bx+CURRENT_ACTION_ROOM_NUM]
273F:5313  E8 00C4                              call    room_exit_get_coordinates
273F:5316  81 7D 1B 03E9                        cmp     word ptr [di+ANIM_HOTSPOT_ID], RATPOUCH_HOTSPOT_ID
273F:531B  74 39                                je      loc_1081                ; Jump if equal

; The following loop counts up the number of characters in that room into dl
273F:531D  51                                   push    cx
273F:531E  52                                   push    dx
273F:531F BB B14E                              mov     bx, offset animation_table
273F:5322  B9 002D                              mov     cx, NUM_ANIMATION_SLOTS
273F:5325  33 D2                                xor     dx,dx                   ; Zero register
273F:5327                       locloop_1079:                                   ;  xref 273F:5346
273F:5327  39 47 0E                             cmp     [bx+ANIM_ROOM_NUM], ax
273F:532A  75 17                                jne     loc_1080                ; Jump if not equal
273F:532C  F6 47 0C FF                          test    byte ptr [bx+ANIM_LAYER], 0FFh
273F:5330  74 11                                jz      loc_1080                ; Jump if zero
273F:5332  81 7F 1B 03E8                        cmp     word ptr [bx+ANIM_HOTSPOT_ID], PLAYER_HOTSPOT_ID
273F:5337  72 0A                                jb      loc_1080                ; Jump if below
273F:5339  81 7F 1B 0408                        cmp     word ptr [bx+ANIM_HOTSPOT_ID], FIRST_OBJECT_HOTSPOT_ID
273F:533E  73 03                                jae     loc_1080                ; Jump if above or =
273F:5340  80 C2 01                             add     dl,1
273F:5343                       loc_1080:
273F:5343  83 C3 29                             add     bx, ANIMATION_SLOT_SIZE
273F:5346  E2 DF                                loop    locloop_1079            ; Loop if cx > 0
273F:5348  8A C2                                mov     al,dl
273F:534A  5A                                   pop     dx
273F:534B  59                                   pop     cx

273F:534C  3C 04                                cmp     al,4                    ; 4 or more chars in room?
273F:534E  72 06                                jb      loc_1081                ; Jump if not
273F:5350  5B                                   pop     bx
273F:5351  33 C0                                xor     ax,ax                   ; Set action to index #0 in list
273F:5353  E9 F1D2                              jmp     set_new_dispatch_action

273F:5356                       loc_1081:
273F:5356  5B                                   pop     bx
273F:5357  8A C6                                mov     al,dh
273F:5359  80 E6 0F                             and     dh,0Fh
273F:535C  89 4C 54                             mov     [si+HS_DEST_X],cx
273F:535F  89 54 56                             mov     [si+HS_DEST_Y],dx
273F:5362  C7 44 52 FFFF                        mov     [si+HS_DEST_HOTSPOT], 0FFFFh
273F:5367  53                                   push    bx

273F:5368 BB 2E57                              mov     bx, offset room_exit_hotspots
273F:536B  24 F0                                and     al, 0F0h
273F:536D  8B 54 06                             mov     dx, [si+HS_ROOM_NUM]
273F:5370                       loc_1082:                                       ;  xref 273F:5381
273F:5370 F6 07 FF                             test    byte ptr [bx], 0FFh
273F:5373  74 5C                                jz      loc_1085                ; Jump if zero
273F:5375  3A 17                                cmp     dl, [bx]
273F:5377  75 05                                jne     loc_1083                ; Jump if not equal
273F:5379  3A 47 01                             cmp     al, [bx+1]
273F:537C  74 05                                je      loc_1084                ; Jump if equal
273F:537E                       loc_1083:                                       ;  xref 273F:5377
273F:537E  83 C3 04                             add     bx, 4
273F:5381  EB ED                                jmp     short loc_1082          ; (5370)
273F:5383                       loc_1084:
273F:5383  8B 47 02                             mov     ax, [bx+2]              ; Found an entry, set it
273F:5386  89 44 52                             mov     [si+HS_DEST_HOTSPOT], ax ; into the dest hotspot Id
273F:5389  50                                   push    ax
273F:538A  56                                   push    si
273F:538B  E8 1E60                              call    room_exit_hs_get_pointer
273F:538E  5B                                   pop     bx
273F:538F  87 DE                                xchg    bx,si
273F:5391  58                                   pop     ax
273F:5392  F6 47 0C FF                          test    byte ptr [bx+REHS_EXIT_BLOCKED], 0FFh ; Exit blocked?
273F:5396  74 39                                jz      loc_1085                ; Jump if not blocked

; Code reaches this point if the needed exit is blocked
273F:5398  50                                   push    ax                      ; Save dest hotspot Id
273F:5399  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]; Calc offset into support
273F:539C  BB 0006                              mov     bx, 6                   ;   data set starting at 0bb95h
273F:539F  2D 03E9                              sub     ax, RATPOUCH_HOTSPOT_ID
273F:53A2  F7 E3                                mul     bx
273F:53A4 BB BB95                              mov     bx, offset support_data_rec_bb95
273F:53A7  03 D8                                add     bx, ax
273F:53A9  58                                   pop     ax                      ; Restore dest hotspot Id
273F:53AA  89 47 02                             mov     [bx+2], ax              ; Store id into record as param #1
273F:53AD  C6 44 4D 00                          mov     byte ptr [si+HS_V4D], 0
273F:53B1  83 44 61 05                          add     word ptr [si+HS_ACTION_OFFSET], CURRENT_ACTION_RECORD_SIZE
273F:53B5  8B C3                                mov     ax, bx
273F:53B7  5B                                   pop     bx
273F:53B8  8B DE                                mov     bx, si
273F:53BA  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:53BD  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:53C0  89 47 01                             mov     [bx+CURRENT_ACTION_SUPPORT_TABLE], ax
273F:53C3  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION
273F:53C6  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]
273F:53C9  89 47 03                             mov     [bx+CURRENT_ACTION_ROOM_NUM], ax
273F:53CC  C6 44 2A 00                          mov     byte ptr [si+HS_ACTION_CTR], 0
273F:53D0  C3                                   retn

; Exit has no hotspot, or has one that's not not blocked, so it's safe to simply start walking to it
273F:53D1                       loc_1085:
273F:53D1  5B                                   pop     bx
273F:53D2  C6 07 01                             mov     byte ptr [bx], CHAR_ACTION_START_WALK
273F:53D5  C6 45 27 01                          mov     byte ptr [di+ANIM_WALK_FLAG], 1
273F:53D9  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:13B8, 5313
                                ;��������������������������������������������������������������������������

                   room_exit_get_coordinates    proc    near
273F:53DA  48                                   dec     ax
273F:53DB  B9 0058                              mov     cx,58h
273F:53DE  F7 E1                                mul     cx                      ; dx:ax = reg * ax
273F:53E0  05 1929                              add     ax, offset exit_coord_list
273F:53E3  03 D8                                add     bx, ax                  ; Move offset for indexing
273F:53E5  8A 5F 23                             mov     bl, [bx+23h]
273F:53E8  32 FF                                xor     bh, bh                  ; Zero register
273F:53EA  03 D8                                add     bx, ax
273F:53EC  8B 0F                                mov     cx, [bx]
273F:53EE  8B 57 02                             mov     dx, [bx+2]
273F:53F1  8B 47 04                             mov     ax, [bx+4]
273F:53F4  C3                                   retn
                   room_exit_get_coordinates    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; bp = Address of offset 2 in the Support data for the DISPATCH_ACTION
                                ; character action that launched this action
                                ;��������������������������������������������������������������������������

                                 get_proc       proc    near
273F:53F5  8B DD                                mov     bx, bp
273F:53F7  8B 07                                mov     ax, [bx]                ; Get hotspot Id
273F:53F9  83 C5 02                             add     bp,2
273F:53FC  A3 BA19                              mov     use_hotspot_id, ax
273F:53FF  A3 BA1B                              mov     active_hotspot_id, ax
273F:5402  E8 F1A2                              call    hotspot_action_precheck
273F:5405  0B C0                                or      ax,ax                   ; Zero ?
273F:5407  74 08                                jz      loc_1086                ; Jump if zero
273F:5409  3D 0003                              cmp     ax,3
273F:540C  74 4E                                je      loc_ret_1090            ; Jump if equal
273F:540E  E9 0170                              jmp     character_walking_end
273F:5411                       loc_1086:                                       ;  xref 273F:5407
273F:5411  E8 F2DA                              call    character_face_hotspot
273F:5414  53                                   push    bx
273F:5415  E8 0169                              call    character_walking_end
273F:5418  5B                                   pop     bx
273F:5419  E8 01DA                              call    hotspot_get_action_sequence
273F:541C  79 03                                jns     loc_1087                ; Jump if not sign
273F:541E  E9 0F90                              jmp     display_message_dialog_3
273F:5421                       loc_1087:                                       ;  xref 273F:541C
273F:5421  74 0D                                jz      loc_1088                ; Jump if zero
273F:5423  E8 EA0E                              call    sequence_execute
273F:5426  74 08                                jz      loc_1088                ; Jump if zero
273F:5428  3D 0001                              cmp     ax,1
273F:542B  74 2F                                je      loc_ret_1090            ; Jump if equal
273F:542D  E9 0F81                              jmp     display_message_dialog_3
273F:5430                       loc_1088:
273F:5430  8B 45 1B                             mov     ax,[di+ANIM_HOTSPOT_ID] ; Move item into char's inventory
273F:5433  89 47 06                             mov     [bx+HS_ROOM_NUM], ax
273F:5436  E8 0920                              call    player_inc_inventory_items
273F:5439  81 3E BA19 7530                      cmp     use_hotspot_id, 7530h
273F:543F  73 1B                                jae     loc_ret_1090            ; Jump if above or =
273F:5441  56                                   push    si
273F:5442  57                                   push    di
273F:5443  8B F3                                mov     si,bx
273F:5445  8B 7C 0B                             mov     di,[si+HS_ANIM_OFFSET]
273F:5448  0B FF                                or      di,di                   ; Zero ?
273F:544A  74 03                                jz      loc_1089                ; Jump if zero
273F:544C  E8 BE23                              call    animation_unload
273F:544F                       loc_1089:                                       ;  xref 273F:544A
273F:544F  A1 BA19                              mov     ax, use_hotspot_id    ; Get hotspot header
273F:5452  E8 B8CC                              call    get_room_resource_pointer3
273F:5455  C7 44 06 0000                        mov     word ptr [si+HSH_DESC_2], 0 ; Remove first description
273F:545A  5F                                   pop     di
273F:545B  5E                                   pop     si

273F:545C                       loc_ret_1090:                                   ;  xref 273F:540C, 542B, 543F, 5487
273F:545C  C3                                   retn
                                 get_proc       endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                          npc_walking_check     proc    near
273F:545D  8B DD                                mov     bx, bp
273F:545F  8B 07                                mov     ax, [bx]                ; Get hotspot Id
273F:5461  83 C5 02                             add     bp, 2
273F:5464  8B DE                                mov     bx, si
273F:5466  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:5469  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:546C  89 6F 01                             mov     [bx+CURRENT_ACTION_SUPPORT_TABLE], bp
273F:546F  A3 BA19                              mov     use_hotspot_id, ax
273F:5472  A3 BA1B                              mov     active_hotspot_id, ax
273F:5475  3D 03E8                              cmp     ax, PLAYER_HOTSPOT_ID
273F:5478  72 0F                                jb      character_walking_check
273F:547A  56                                   push    si
273F:547B  E8 B86C                              call    get_room_resource_pointer2
273F:547E  5B                                   pop     bx
273F:547F  87 DE                                xchg    bx, si
273F:5481  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]    ; Make sure hotspot
273F:5484  3B 47 06                             cmp     ax, [bx+HS_ROOM_NUM]    ;   is in char's room
273F:5487  75 D3                                jne     loc_ret_1090            

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:45F1
                                ;��������������������������������������������������������������������������

                    character_walking_check     proc    near
273F:5489  57                                   push    di
273F:548A BF BC4B                              mov     di, offset hotspot_walkto_list
273F:548D  A1 BA1B                              mov     ax, active_hotspot_id
273F:5490                       loc_1092:                                       ;  xref 273F:549D
273F:5490 F7 05 FFFF                           test    word ptr [di+WALKTO_HOTSPOT_ID], 0FFFFh ; End of list reached?
273F:5494  74 4F                                jz      loc_1094                ; Jump if yes
273F:5496  3B 05                                cmp     ax, [di+WALKTO_HOTSPOT_ID] ; Found entry for active hotspot?
273F:5498  74 05                                je      loc_1093                ; Jump if yes
273F:549A  83 C7 06                             add     di, WALKTO_RECORD_SIZE  ; Move to next record
273F:549D  EB F1                                jmp     short loc_1092
273F:549F                       loc_1093:
273F:549F  8B 4D 02                             mov     cx, [di+WALKTO_X]
273F:54A2  8B 55 04                             mov     dx, [di+WALKTO_Y]
273F:54A5  B0 01                                mov     al, 1
273F:54A7  F6 C6 80                             test    dh, 80h
273F:54AA  74 47                                jz      loc_1095                ; Jump if zero
273F:54AC  5F                                   pop     di
273F:54AD  88 45 27                             mov     [di+ANIM_WALK_FLAG], al
273F:54B0  80 E6 7F                             and     dh, 7Fh
273F:54B3  8B 44 0D                             mov     ax, [si+HS_X]
273F:54B6  D1 E8                                shr     ax, 1
273F:54B8  D1 E8                                shr     ax, 1
273F:54BA  D1 E8                                shr     ax, 1                   ; ax = player X / 8
273F:54BC  51                                   push    cx
273F:54BD  D1 E9                                shr     cx, 1
273F:54BF  D1 E9                                shr     cx, 1
273F:54C1  D1 E9                                shr     cx, 1                   ; cx = list[2] / 8
273F:54C3  2B C1                                sub     ax, cx                  ; ax -= cx
273F:54C5  59                                   pop     cx
273F:54C6  75 51                                jnz     character_start_walking ; If NZ, jump to start walking
273F:54C8  8B 44 0F                             mov     ax, [si+HS_Y]
273F:54CB  03 44 1B                             add     ax, [si+HS_HEIGHT_COPY]
273F:54CE  D1 E8                                shr     ax, 1
273F:54D0  D1 E8                                shr     ax, 1
273F:54D2  D1 E8                                shr     ax, 1
273F:54D4  2D 0001                              sub     ax, 1                   ; ax = (HS+height)/8 - 1
273F:54D7  52                                   push    dx
273F:54D8  D1 EA                                shr     dx, 1
273F:54DA  D1 EA                                shr     dx, 1
273F:54DC  D1 EA                                shr     dx, 1
273F:54DE  2B C2                                sub     ax, dx                  ; ax -= dx
273F:54E0  5A                                   pop     dx
273F:54E1  75 36                                jnz     character_start_walking ; If NZ, jump to start walking
273F:54E3  EB 65                                jmp     short loc_1100

273F:54E5                       loc_1094:                                       ;  xref 273F:5494
273F:54E5  8B 4F 0D                             mov     cx, [bx+HS_X]
273F:54E8  8B 57 0F                             mov     dx, [bx+HS_Y]
273F:54EB  03 57 1B                             add     dx, [bx+HS_HEIGHT_COPY]
273F:54EE  83 EA 04                             sub     dx, 4
273F:54F1  B0 00                                mov     al, 0
273F:54F3                       loc_1095:                                       ;  xref 273F:54AA
273F:54F3  5F                                   pop     di
273F:54F4  88 45 27                             mov     [di+ANIM_WALK_FLAG], al
273F:54F7  8B 44 0D                             mov     ax, [si+HS_X]
273F:54FA  2B C1                                sub     ax, cx
273F:54FC  73 02                                jnc     loc_1096                ; Jump if carry=0
273F:54FE  F7 D8                                neg     ax
273F:5500                       loc_1096:                                       ;  xref 273F:54FC
273F:5500  3D 0008                              cmp     ax, 8
273F:5503  73 14                                jae     character_start_walking ; If NZ, jump to start walking
273F:5505  8B 44 0F                             mov     ax, [si+HS_Y]
273F:5508  03 44 1B                             add     ax, [si+HS_HEIGHT_COPY]
273F:550B  2D 0001                              sub     ax, 1
273F:550E  2B C2                                sub     ax, dx
273F:5510  73 02                                jnc     loc_1097                ; Jump if carry=0
273F:5512  F7 D8                                neg     ax
273F:5514                       loc_1097:                                       ;  xref 273F:5510
273F:5514  3D 0013                              cmp     ax, 13h
273F:5517  72 31                                jb      loc_1100                ; Jump if below

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:8541

                    character_start_walking     proc    near
273F:5519  81 FE 6CEF                           cmp     si, offset player_hotspot_rec
273F:551D  75 17                                jne     loc_1099                ; Jump if not equal
273F:551F  C7 06 11E1 0002                      mov     cursor_index, CURSOR_TIME_UP
273F:5525  C6 06 11DF 00                        mov     cursor_centroid, 0
273F:552A  56                                   push    si
273F:552B  57                                   push    di
273F:552C  51                                   push    cx
273F:552D  52                                   push    dx
273F:552E  FF 16 075E                           call    [show_cursor_proc]
273F:5532  5A                                   pop     dx
273F:5533  59                                   pop     cx
273F:5534  5F                                   pop     di
273F:5535  5E                                   pop     si
273F:5536                       loc_1099:                                       ;  xref 273F:551D
273F:5536  8B DE                                mov     bx,si
273F:5538  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:553B  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:553E  C6 07 01                             mov     byte ptr [bx], CHAR_ACTION_START_WALK
273F:5541  89 54 56                             mov     [si+HS_DEST_Y], dx
273F:5544  89 4C 54                             mov     [si+HS_DEST_X], cx
273F:5547  33 C0                                xor     ax, ax
273F:5549  C3                                   retn
273F:554A                       loc_1100:                                       ;  xref 273F:54E3, 5517
273F:554A  0D 0001                              or      ax,1
273F:554D  C3                                   retn
                    character_start_walking     endp
                    character_walking_check     endp
                          npc_walking_check     endp
                          
                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

         npc_set_support_offset_conditional     proc    near
273F:554E  8B DD                                mov     bx, bp
273F:5550  8B 07                                mov     ax, [bx]                ; Get sequence offset
273F:5552  E8 DF E8                             call    sequence_execute        ; Execute it
273F:5555  74 11                                jz      loca_5568               ; Skip if zero return
273F:5557  8B 47 02                             mov     ax, [bx+2]              ; Get new action offset
273F:555A                       loc_1101:
273F:555A 8B DE                                mov     bx, si
273F:555C  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:555F  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:5562  89 47 01                             mov     [bx+CURRENT_ACTION_SUPPORT_TABLE], ax  ; Set it action rec
273F:5565  E9 EC56                              jmp     action_dispatch
                               loca_5568:
273F:5568  8B C5                                mov     ax, bp
273F:556A  05 0004                              add     ax, 4
273F:556D  EB EB                                jmp     short loc_1101          ; (555A)
         npc_set_support_offset_conditional     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                     npc_set_support_offset     proc    near
273F:556F  8B DD                                mov     bx,bp
273F:5571  8B 07                                mov     ax, [bx]
273F:5573  8B DE                                mov     bx, si
273F:5575  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:5578  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:557B  89 47 01                             mov     [bx+CURRENT_ACTION_SUPPORT_TABLE], ax
273F:557E  E9 EC3D                              jmp     action_dispatch
                     npc_set_support_offset     endp                                

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:478E, 5415, 5723, 57BE, 58CC, 591C, 5954
                                ;                             5968, 5ACE, 5B47, 5BA6, 5C15, 5C7A, 5D32
                                ;��������������������������������������������������������������������������

                       character_walking_end    proc    near
273F:5581 �81 7D 1B 03E8                        cmp     word ptr [di+ANIM_HOTSPOT_ID], PLAYER_HOTSPOT_ID
273F:5586  75 05                                jne     character_walking_end_2
273F:5588  80 26 9834 02                        and     cursor_state, 2

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;

                     character_walking_end_2:
273F:558D 33 C0                                xor     ax, ax
273F:558F  89 45 24                             mov     [di+ANIM_VOICE_CTR], ax
273F:5592  88 44 2A                             mov     [si+HS_ACTION_CTR], al
273F:5595  8B DE                                mov     bx, si
273F:5597  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:559A  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:559D  89 6F 01                             mov     [bx+CURRENT_ACTION_SUPPORT_TABLE], bp
273F:55A0  C3                                   retn
                       character_walking_end    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:44C7, 509D, 7F5D
                                ;��������������������������������������������������������������������������

                  characters_impinging_check    proc    near
273F:55A1  8B 47 0D                             mov     ax, [bx+HS_X]
273F:55A4  03 47 19                             add     ax, [bx+HS_WIDTH_COPY]
273F:55A7  05 0004                              add     ax, 4
273F:55AA  3B 44 0D                             cmp     ax, [si+HS_X]
273F:55AD  72 44                                jb      loc_1104                ; Jump if below
273F:55AF  8B 44 0D                             mov     ax, [si+HS_X]
273F:55B2  03 44 19                             add     ax, [si+HS_WIDTH_COPY]
273F:55B5  05 0004                              add     ax, 4
273F:55B8  3B 47 0D                             cmp     ax, [bx+HS_X]
273F:55BB  72 36                                jb      loc_1104                ; Jump if below

273F:55BD  8B 44 0F                             mov     ax, [si+HS_Y]
273F:55C0  03 44 1B                             add     ax, [si+HS_HEIGHT_COPY]
273F:55C3  2B 44 1D                             sub     ax, [si+HS_Y_CORRECTION]
273F:55C6  2D 0002                              sub     ax, 2
273F:55C9  8B 4F 0F                             mov     cx, [bx+HS_Y]
273F:55CC  03 4F 1B                             add     cx, [bx+HS_HEIGHT_COPY]
273F:55CF  83 C1 02                             add     cx, 2
273F:55D2  3B C1                                cmp     ax, cx
273F:55D4  73 1D                                jae     loc_1104                ; Jump if above or =
273F:55D6  8B 44 0F                             mov     ax, [si+HS_Y]
273F:55D9  03 44 1B                             add     ax, [si+HS_HEIGHT_COPY]
273F:55DC  05 0002                              add     ax, 2
273F:55DF  8B 4F 0F                             mov     cx, [bx+HS_Y]
273F:55E2  03 4F 1B                             add     cx, [bx+HS_HEIGHT_COPY]
273F:55E5  2B 4F 1D                             sub     cx, [bx+HS_Y_CORRECTION]
273F:55E8  83 E9 02                             sub     cx, 2
273F:55EB  3B C1                                cmp     ax, cx
273F:55ED  72 04                                jb      loc_1104                ; Jump if below
273F:55EF  0D 0001                              or      ax,1
273F:55F2  C3                                   retn
273F:55F3                       loc_1104:                                       ;  xref 273F:55AD, 55BB, 55D4, 55ED
273F:55F3  33 C0                                xor     ax,ax                   ; Zero register
273F:55F5  C3                                   retn
                  characters_impinging_check    endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:5419, 572E, 57C9, 5830, 58D0, 5923, 595B
                                ;                             5AE2, 5B4B, 5BC5, 5C19, 5C82, 5CD0, 5D36
                                ;                             8A03
                                ;��������������������������������������������������������������������������

                hotspot_get_action_sequence     proc    near
273F:55F6  53                                   push    bx
273F:55F7  8B 5F 04                             mov     bx, [bx+HS_ACTIONS_OFFSET]
273F:55FA  0B DB                                or      bx, bx                  ; Hotspot have actions?
273F:55FC  74 1C                                jz      loc_1107                ; Jump if not

273F:55FE  8B 0F                                mov     cx,[bx]                 ; Get # entries
273F:5600  83 C3 02                             add     bx,2                    ; Move to first entry
273F:5603  A1 BB45                              mov     ax, current_action_num  ; Get action number
273F:5606  0B C9                                or      cx,cx                   ; List have any items?
273F:5608  74 10                                jz      loc_1107                ; Jump if not

273F:560A                       locloop_1105:
273F:560A  3A 07                                cmp     al, [bx]                ; Get action number
273F:560C  75 07                                jne     loc_1106                ; Skip if not wanted action
273F:560E  8B 47 01                             mov     ax, [bx+1]              ; Get sequence offset
273F:5611  5B                                   pop     bx
273F:5612  0B C0                                or      ax, ax                  ; Zero ?
273F:5614  C3                                   retn
273F:5615                       loc_1106:                                       ;  xref 273F:560C
273F:5615  83 C3 03                             add     bx,3
273F:5618  E2 F0                                loop    locloop_1105            ; Loop if cx > 0

273F:561A                       loc_1107:                                       ;  xref 273F:55FC, 5608
273F:561A  5B                                   pop     bx
273F:561B  33 C0                                xor     ax, ax                  ; Zero register
273F:561D  C3                                   retn
                hotspot_get_action_sequence     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                npc_set_blocked_offset_proc     proc    near
273F:561E  8B DD                                mov     bx, bp
273F:5620  8B 07                                mov     ax, [bx]
273F:5622  8B 4F 02                             mov     cx, [bx+2]
273F:5625  83 C5 04                             add     bp, 4
273F:5628  89 4C 5E                             mov     [si+HS_BLOCKED_SUPPORT_OFFSET], cx
273F:562B  C6 44 60 00                          mov     byte ptr [si+HS_EXIT_CTR], 0
273F:562F  8B DE                                mov     bx, si
273F:5631  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:5634  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:5637  89 47 03                             mov     [bx+CURRENT_ACTION_ROOM_NUM], ax
273F:563A  E9 FF44                              jmp     character_walking_end
                npc_set_blocked_offset_proc     endp
                             
                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                                go_to_proc      proc    near
273F:563D  8B DD                                mov     bx,bp
273F:563F  8B 07                                mov     ax,[bx]
273F:5641  83 C5 02                             add     bp,2
273F:5644  C7 44 5E 0000                        mov     word ptr [si+HS_BLOCKED_SUPPORT_OFFSET], 0
273F:5649  C6 44 60 00                          mov     byte ptr [si+HS_EXIT_CTR], 0
273F:564D  8B DE                                mov     bx,si
273F:564F  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:5652  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:5655  89 47 03                             mov     [bx+CURRENT_ACTION_ROOM_NUM], ax
273F:5658  E9 FF26                              jmp     character_walking_end
                                go_to_proc      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                        npc_set_random_dest     proc    near
273F:565B  8B DE                                mov     bx, si
273F:565D  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:5660  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:5663  89 6F 01                             mov     [bx+CURRENT_ACTION_SUPPORT_TABLE], bp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:606B
                                ;��������������������������������������������������������������������������

                  character_set_random_dest     proc    near
273F:5666 C6 07 01                             mov     byte ptr [bx], CHAR_ACTION_START_WALK
273F:5669  C6 45 27 01                          mov     byte ptr [di+ANIM_WALK_FLAG], 1
273F:566D  56                                   push    si
273F:566E  56                                   push    si
273F:566F  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]    ; Get char's room rsc
273F:5672  E8 B675                              call    get_room_resource_pointer2
273F:5675  8A 5C 18                             mov     bl, [si+ROOM_BOUNDS_INDEX]
273F:5678  32 FF                                xor     bh, bh
273F:567A  B1 03                                mov     cl, 3
273F:567C  D3 E3                                shl     bx, cl
273F:567E  81 C3 2EB1                           add     bx, offset room_bounds_table
273F:5682  B9 0014                              mov     cx, 20                  ; # attempts
273F:5685  5E                                   pop     si

273F:5686                       locloop_1109:                                   ;  xref 273F:56C3
273F:5686  51                                   push    cx

; Chooses a random destination for the character within the given rectangle
273F:5687  E8 EDE2                              call    random                  ; Get random value
273F:568A  8B 4F 02                             mov     cx, [bx+2]
273F:568D  2B 0F                                sub     cx, [bx]
273F:568F  F7 E1                                mul     cx                      ; dx:ax = reg * ax
273F:5691  03 17                                add     dx,[bx]
273F:5693  89 54 54                             mov     [si+HS_DEST_X],dx
273F:5696  52                                   push    dx
273F:5697  E8 EDD2                              call    random
273F:569A  8B 4F 06                             mov     cx, [bx+6]
273F:569D  2B 4F 04                             sub     cx, [bx+4]
273F:56A0  F7 E1                                mul     cx                      ; dx:ax = reg * ax
273F:56A2  03 57 04                             add     dx, [bx+4]
273F:56A5  89 54 56                             mov     [si+HS_DEST_Y], dx
273F:56A8  8B C2                                mov     ax, dx
273F:56AA  5A                                   pop     dx
273F:56AB  B9 0003                              mov     cx,3
273F:56AE  E8 001D                              call    character_check_dest_occupied
273F:56B1  0B C0                                or      ax, ax                  ; Occupied?
273F:56B3  75 0D                                jnz     loc_1110                ; Jump if yes
273F:56B5  05 0008                              add     ax, 8
273F:56B8  B9 0003                              mov     cx, 3
273F:56BB  E8 0010                              call    character_check_dest_occupied
273F:56BE  0B C0                                or      ax, ax                  ; Occupied
273F:56C0  74 07                                jz      loc_1111                ; Jump if not
273F:56C2                       loc_1110:
273F:56C2  59                                   pop     cx                      ; Loop to choose another
273F:56C3  E2 C1                                loop    locloop_1109            ;   random destination

273F:56C5  5B                                   pop     bx
273F:56C6  87 DE                                xchg    bx,si
273F:56C8  C3                                   retn
273F:56C9                       loc_1111:                                       ;  xref 273F:56C0
273F:56C9  59                                   pop     cx
273F:56CA  5B                                   pop     bx
273F:56CB  87 DE                                xchg    bx,si
273F:56CD  C3                                   retn
                  character_set_random_dest     endp
                        npc_set_random_dest     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:56AE, 56BB
                                ;��������������������������������������������������������������������������

              character_check_dest_occupied     proc    near
273F:56CE  53                                   push    bx
273F:56CF  51                                   push    cx
273F:56D0  E8 ECC1                              call    pathfind_get_cell
273F:56D3  59                                   pop     cx

273F:56D4                       locloop_1112:                                   ;  xref 273F:56E1
273F:56D4  85 07                                test    ax,[bx]                 ; Is the dest occupied?
273F:56D6  75 0F                                jnz     loc_1114                ; Jump if yes
273F:56D8  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:56DA  73 05                                jnc     loc_1113                ; Jump if carry=0
273F:56DC  83 C3 01                             add     bx,1
273F:56DF  B0 80                                mov     al,80h
273F:56E1                       loc_1113:                                       ;  xref 273F:56DA
273F:56E1  E2 F1                                loop    locloop_1112            ; Loop if cx > 0

273F:56E3  5B                                   pop     bx
273F:56E4  33 C0                                xor     ax,ax                   ; Zero register
273F:56E6  C3                                   retn
273F:56E7                       loc_1114:                                       ;  xref 273F:56D6
273F:56E7  5B                                   pop     bx
273F:56E8  B0 01                                mov     al,1
273F:56EA  C3                                   retn
              character_check_dest_occupied     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                                 open_proc      proc    near
273F:56EB  8B DD                                mov     bx,bp
273F:56ED  8B 07                                mov     ax,[bx]
273F:56EF  83 C5 02                             add     bp,2
273F:56F2  A3 BA19                              mov     use_hotspot_id, ax
273F:56F5  A3 BA1B                              mov     active_hotspot_id, ax
273F:56F8  56                                   push    si
273F:56F9 BE 4CB0                              mov     si, offset exit_hotspots_list
273F:56FC  E8 EE94                              call    is_roomexit_hotspot
273F:56FF  75 0E                                jnz     loc_1115                ; Not a valid door
273F:5701  53                                   push    bx
273F:5702  A1 BA19                              mov     ax, use_hotspot_id
273F:5705  E8 1AE6                              call    room_exit_hs_get_pointer
273F:5708  5B                                   pop     bx
273F:5709  F6 44 0C FF                          test    byte ptr [si+REHS_EXIT_BLOCKED], 0FFh
273F:570D  74 58                                jz      loc_1120                ; Jump if exit blocked (closed)
273F:570F                       loc_1115:
273F:570F  5E                                   pop     si
273F:5710  A1 BA19                              mov     ax, use_hotspot_id
273F:5713  E8 EE91                              call    hotspot_action_precheck
273F:5716  0B C0                                or      ax, ax                  ; Execute?
273F:5718  74 08                                jz      loc_1116                ; Jump if yes
273F:571A  3D 0003                              cmp     ax, 3                   ; Initial?
273F:571D  74 47                                je      loc_ret_1119            ; Exit if not
273F:571F  E9 FE5F                              jmp     character_walking_end
273F:5722                       loc_1116:                                       ;  xref 273F:5718
273F:5722  53                                   push    bx
273F:5723  E8 FE5B                              call    character_walking_end
273F:5726  5B                                   pop     bx
273F:5727  C6 44 2A 00                          mov     byte ptr [si+HS_ACTION_CTR], 0
273F:572B  E8 EFC0                              call    character_face_hotspot
273F:572E  E8 FEC5                              call    hotspot_get_action_sequence
273F:5731  79 03                                jns     loc_1117                ; Jump if not sign
273F:5733  E9 0C7B                              jmp     display_message_dialog_3
273F:5736                       loc_1117:                                       ;  xref 273F:5731
273F:5736  74 0A                                jz      loc_1118                ; Jump if zero
273F:5738  E8 E6F9                              call    sequence_execute
273F:573B  3D 0001                              cmp     ax,1
273F:573E  74 26                                je      loc_ret_1119            ; Jump if equal
273F:5740  73 2F                                jnc     loc_1121                ; Jump if carry=0
273F:5742                       loc_1118:                                       ;  xref 273F:5736
273F:5742  A1 BA19                              mov     ax, use_hotspot_id
273F:5745  56                                   push    si
273F:5746  E8 1AA5                              call    room_exit_hs_get_pointer
273F:5749  5B                                   pop     bx
273F:574A  87 F3                                xchg    si,bx
273F:574C  F6 47 0C FF                          test    byte ptr [bx+REHS_EXIT_BLOCKED], 0FFh
273F:5750  74 14                                jz      loc_ret_1119            ; Jump if zero
273F:5752  C6 47 0C 00                          mov     byte ptr [bx+REHS_EXIT_BLOCKED], 0
273F:5756  81 7D 1B 03E8                        cmp     word ptr [di+ANIM_HOTSPOT_ID], PLAYER_HOTSPOT_ID
273F:575B  74 09                                je      loc_ret_1119            ; Jump if equal
273F:575D  C6 44 44 03                          mov     byte ptr [si+HS_CHAR_MODE], CHARMODE_3
273F:5761  C7 44 42 0004                        mov     word ptr [si+HS_DELAY_CTR], 4

273F:5766                       loc_ret_1119:                                   ;  xref 273F:571D, 573E, 5750, 575B
273F:5766  C3                                   retn
273F:5767                       loc_1120:                                       ;  xref 273F:570D
273F:5767  5E                                   pop     si
273F:5768  B8 0004                              mov     ax,4
273F:576B  E8 0C43                              call    display_message_dialog_3
273F:576E  E9 FE10                              jmp     character_walking_end
273F:5771                       loc_1121:                                       ;  xref 273F:5740
273F:5771  F6 44 60 FF                          test    byte ptr [si+HS_EXIT_CTR],0FFh
273F:5775  74 04                                jz      loc_1122                ; Jump if zero
273F:5777  C6 44 60 04                          mov     byte ptr [si+HS_EXIT_CTR], 4
273F:577B                       loc_1122:                                       ;  xref 273F:5775
273F:577B  E9 0C33                              jmp     display_message_dialog_3
                                 open_proc      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                                close_proc      proc    near
273F:577E 8B DD                                 mov     bx, bp
273F:5780 8B07                                  mov     ax, [bx]
273F:5782 83C502                                add     bp, 2
273F:5785 A319BA                                mov     use_hotspot_id, ax
273F:5788 A31BBA                                mov     active_hotspot_id, ax
273F:578B 56                                    push    si
273F:578C BEB04C                                mov     si, offset exit_hotspots_list
273F:578F E801EE                                call    is_roomexit_hotspot
273F:5792 7516                                  jnz     close_proc_2
273F:5794 A119BA                                mov     ax, use_hotspot_id
273F:5797 E8541A                                call    room_exit_hs_get_pointer
273F:579A F6440CFF                              test    byte ptr [si+REHS_EXIT_BLOCKED], 0FFh
273F:579E 740A                                  jz      close_proc_2
273F:57A0 5E                                    pop     si
273F:57A1 B80300                                mov     ax, 3
273F:57A4 E80A0C                                call    display_message_dialog_3
273F:57A7 E9D7FD                                jmp     character_walking_end
273F:57AA A119BA            close_proc_2:       mov     ax, use_hotspot_id
273F:57AD 5E                                    pop     si
273F:57AE E8F6ED                                call    hotspot_action_precheck
273F:57B1 0BC0                                  or      ax, ax
273F:57B3 7408                                  jz      loc_1123
273F:57B5 3D0300                                cmp     ax, 3
273F:57B8 7448                                  jz      loc_ret_1127
273F:57BA E9C4FD                                jmp     character_walking_end
273F:57BD                       loc_1123:
273F:57BD  53                                   push    bx
273F:57BE  E8 FDC0                              call    character_walking_end
273F:57C1  5B                                   pop     bx
273F:57C2  C6 44 2A 00                          mov     byte ptr [si+HS_ACTION_CTR], 0
273F:57C6  E8 EF25                              call    character_face_hotspot
273F:57C9  E8 FE2A                              call    hotspot_get_action_sequence
273F:57CC  79 03                                jns     loc_1125                ; Jump if not sign
273F:57CE                       loc_1124:                                       ;  xref 273F:57D6
273F:57CE  E9 0BE0                              jmp     display_message_dialog_3
273F:57D1                       loc_1125:                                       ;  xref 273F:57CC
273F:57D1  74 05                                jz      loc_1126                ; Jump if zero
273F:57D3  E8 E65E                              call    sequence_execute
273F:57D6  75 F6                                jnz     loc_1124                ; Jump if not zero
273F:57D8                       loc_1126:                                       ;  xref 273F:57D1
273F:57D8  56                                   push    si
273F:57D9  A1 BA19                              mov     ax, use_hotspot_id
273F:57DC  E8 1A0F                              call    room_exit_hs_get_pointer 
273F:57DF  5B                                   pop     bx
273F:57E0  87 DE                                xchg    bx,si
273F:57E2  F6 47 0C FF                          test    byte ptr [bx+REHS_EXIT_BLOCKED], 0FFh
273F:57E6  75 1A                                jnz     loc_ret_1127            ; Jump if not zero
273F:57E8  8B EB                                mov     bp, bx

273F:57EA  8B 5F 0D                             mov     bx, [bx+REHS_HOTSPOT1_OFFSET]
273F:57ED  E8 1A7B                              call    door_close_check
273F:57F0  74 11                                jz      loc_1128                ; Jump if can't close
273F:57F2  8B DD                                mov     bx, bp
273F:57F4  8B 5F 0F                             mov     bx, [bx+REHS_HOTSPOT2_OFFSET]
273F:57F7  E8 1A71                              call    door_close_check
273F:57FA  74 07                                jz      loc_1128                ; Jump if can't close
273F:57FC  8B DD                                mov     bx,bp
273F:57FE  C6 47 0C 01                          mov     byte ptr [bx+REHS_EXIT_BLOCKED], 1

273F:5802                       loc_ret_1127:                                   ;  xref 273F:57E6, 581F
273F:5802  C3                                   retn
273F:5803                       loc_1128:                                       ;  xref 273F:57F0, 57FA
273F:5803  B8 0002                              mov     ax,2
273F:5806  E9 0BA8                              jmp     display_message_dialog_3

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                                 tell_proc      proc    near
273F:5809  8B DD                                mov     bx,bp
273F:580B  8B 07                                mov     ax,[bx]
273F:580D  83 C5 02                             add     bp,2
273F:5810  A3 BA19                              mov     use_hotspot_id, ax
273F:5813  A3 BA1B                              mov     active_hotspot_id, ax
273F:5816  E8 ED8E                              call    hotspot_action_precheck
273F:5819  0B C0                                or      ax,ax                   ; Zero ?
273F:581B  74 06                                jz      loc_1129                ; Jump if zero
273F:581D  3C 03                                cmp     al,3
273F:581F  74 E1                                je      loc_ret_1127            ; Jump if equal
273F:5821  EB 68                                jmp     short loc_1134          ; (588B)
273F:5823                       loc_1129:                                       ;  xref 273F:581B
273F:5823  8B 0E BA19                           mov     cx, use_hotspot_id
273F:5827  B8 0001                              mov     ax,1
273F:582A  BA 007C                              mov     dx,7Ch
273F:582D  E8 0922                              call    talk_converse_2
273F:5830  E8 FDC3                              call    hotspot_get_action_sequence
273F:5833  79 03                                jns     loc_1130                ; Jump if not sign
273F:5835  E9 0B79                              jmp     display_message_dialog_3
273F:5838                       loc_1130:                                       ;  xref 273F:5833
273F:5838  E8 E5F9                              call    sequence_execute
273F:583B  75 4E                                jnz     loc_1134                ; Jump if not zero
273F:583D  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]
273F:5840  89 47 4E                             mov     [bx+HS_V4E],ax
273F:5843  C7 47 61 0005                        mov     word ptr [bx+HS_ACTION_OFFSET], CURRENT_ACTION_RECORD_SIZE
273F:5848  C6 47 4D 00                          mov     byte ptr [bx+4Dh],0
273F:584C  8B 4F 5C                             mov     cx,[bx+5Ch]
273F:584F  89 4F 69                             mov     [bx+69h],cx
273F:5852  8B 44 06                             mov     ax,[si+6]
273F:5855  89 47 6B                             mov     [bx+6Bh],ax
273F:5858  C6 47 68 02                          mov     byte ptr [bx+68h],2
273F:585C  56                                   push    si
273F:585D  57                                   push    di
273F:585E  8B F5                                mov     si,bp
273F:5860  8B F9                                mov     di,cx
273F:5862  1E                                   push    ds
273F:5863  07                                   pop     es
273F:5864                       loc_1131:                                       ;  xref 273F:5875, 587B
273F:5864 AD                                   lodsw                           ; String [si] to ax
273F:5865  8B D0                                mov     dx,ax
273F:5867                       loc_1132:                                       ;  xref 273F:5870
273F:5867  AB                                   stosw                           ; Store ax to es:[di]
273F:5868  0B C0                                or      ax,ax                   ; Zero ?
273F:586A  74 11                                jz      loc_1133                ; Jump if zero
273F:586C  AD                                   lodsw                           ; String [si] to ax
273F:586D  3D 7D00                              cmp     ax,7D00h
273F:5870  75 F5                                jne     loc_1132                ; Jump if not equal
273F:5872  83 FA 17                             cmp     dx,17h
273F:5875  75 ED                                jne     loc_1131                ; Jump if not equal
273F:5877  B8 0020                              mov     ax,20h
273F:587A  AB                                   stosw                           ; Store ax to es:[di]
273F:587B  EB E7                                jmp     short loc_1131          ; (5864)
273F:587D                       loc_1133:                                       ;  xref 273F:586A
273F:587D  26: C7 45 FE 0020                    mov     word ptr es:[di-2],20h
273F:5883  AB                                   stosw                           ; Store ax to es:[di]
273F:5884  8B EE                                mov     bp,si
273F:5886  83 ED 02                             sub     bp,2
273F:5889  5F                                   pop     di
273F:588A  5E                                   pop     si
273F:588B                       loc_1134:                                       ;  xref 273F:5821, 583B
273F:588B  8B DD                                mov     bx,bp
273F:588D  C7 07 0000                           mov     word ptr [bx],0
273F:5891  E9 FCF9                              jmp     character_walking_end_2
                                 tell_proc      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; xi=player hotspot, di=player anim slot, bp=??
                                ;��������������������������������������������������������������������������

                         look_through_proc      proc    near
273F:5894  8B DD                                mov     bx,bp
273F:5896  8B 07                                mov     ax,[bx]
273F:5898  83 C5 02                             add     bp,2
273F:589B  A3 BA19                              mov     use_hotspot_id, ax
273F:589E  A3 BA1B                              mov     active_hotspot_id, ax
273F:58A1  56                                   push    si
273F:58A2  E8 B445                              call    get_room_resource_pointer2 ; Get hotspot ptr
273F:58A5  5B                                   pop     bx
273F:58A6  87 DE                                xchg    bx,si                   ; si=player, bx=hotspot
273F:58A8  8B 47 06                             mov     ax, [bx+HS_ROOM_NUM]
273F:58AB  3B 45 1B                             cmp     ax, [di+ANIM_HOTSPOT_ID] ; In player's inventory?
273F:58AE  74 1B                                je      loc_1136                ; If yes then jump
273F:58B0  E8 ED24                              call    hotspot_action_precheck_2
273F:58B3  0B C0                                or      ax, ax                  ; Zero ?
273F:58B5  74 08                                jz      loc_1135                ; Jump if zero
273F:58B7  3D 0003                              cmp     ax,3
273F:58BA  74 3E                                je      loc_ret_1139            ; Jump if equal
273F:58BC  E9 FCC2                              jmp     character_walking_end
273F:58BF                       loc_1135:                                       ;  xref 273F:58B5
273F:58BF  C6 44 2A 00                          mov     byte ptr [si+2Ah],0
273F:58C3  E8 EE28                              call    character_face_hotspot
273F:58C6  55                                   push    bp
273F:58C7  E8 EA9C                              call    character_update_movement
273F:58CA  5D                                   pop     bp
273F:58CB                       loc_1136:
273F:58CB  53                                   push    bx
273F:58CC  E8 FCB2                              call    character_walking_end
273F:58CF  5B                                   pop     bx
273F:58D0  E8 FD23                              call    hotspot_get_action_sequence
273F:58D3  79 03                                jns     loc_1137                ; Jump if not sign
273F:58D5  E9 0AD9                              jmp     display_message_dialog_3
273F:58D8                       loc_1137:                                       ;  xref 273F:58D3
273F:58D8  74 13                                jz      loc_ret_1138            ; Jump if zero
273F:58DA  E8 E557                              call    sequence_execute
273F:58DD  74 0E                                jz      loc_ret_1138            ; Jump if zero
273F:58DF  3D 002A                              cmp     ax,2Ah
273F:58E2  75 09                                jne     loc_ret_1138            ; Jump if not equal
273F:58E4  C7 44 42 0050                        mov     word ptr [si+HS_DELAY_CTR],  80
273F:58E9  C6 44 44 02                          mov     byte ptr [si+HS_CHAR_MODE], CHARMODE_IDLE

273F:58ED                       loc_ret_1138:                                   ;  xref 273F:58D8, 58DD, 58E2
273F:58ED  C3                                   retn
                         look_through_proc      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; Sets up things for remotely viewing a room - storing the room to
                                ; return to, and disabling the tick proc for the player
                                ;��������������������������������������������������������������������������

                  seq_room_remote_view_setup    proc    near
                                                assume  ds:seg_code
273F:58EE  A1 9832                              mov     ax, room_number
273F:58F1  A3 BA25                              mov     old_room_number, ax
273F:58F4  C7 06 B15F 58FB                      mov     slot0_tick_proc, offset loc_ret_1140

273F:58FA                       loc_ret_1139:                                   ;  xref 273F:58BA
273F:58FA  C3                                   retn
                  seq_room_remote_view_setup    endp



273F:58FB                       loc_ret_1140:                                   ;  xref 273F:5913, 594E, 5963
273F:58FB  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; xi=player hotspot, di=player anim slot, bp=??
                                ;��������������������������������������������������������������������������

                              operate_proc      proc    near
273F:58FC  8B DD                                mov     bx,bp
273F:58FE  8B 07                                mov     ax,[bx]
273F:5900  83 C5 02                             add     bp,2
273F:5903  A3 BA19                              mov     use_hotspot_id, ax
273F:5906  A3 BA1B                              mov     active_hotspot_id, ax
273F:5909  E8 EC9B                              call    hotspot_action_precheck
273F:590C  0B C0                                or      ax,ax                   ; Zero ?
273F:590E  74 08                                jz      loc_1141                ; Jump if zero
273F:5910  3D 0003                              cmp     ax,3
273F:5913  74 E6                                je      loc_ret_1140            ; Jump if equal
273F:5915  E9 FC69                              jmp     character_walking_end
273F:5918                       loc_1141:                                       ;  xref 273F:590E
273F:5918  88 44 2A                             mov     [si+HS_ACTION_CTR], al
273F:591B  53                                   push    bx
273F:591C  E8 FC62                              call    character_walking_end
273F:591F  5B                                   pop     bx
273F:5920  E8 EDCB                              call    character_face_hotspot
273F:5923  E8 FCD0                              call    hotspot_get_action_sequence
273F:5926  79 03                                jns     loc_1142                ; Jump if not sign
273F:5928  E9 0A86                              jmp     display_message_dialog_3
273F:592B                       loc_1142:                                       ;  xref 273F:5926
273F:592B  E8 E506                              call    sequence_execute
273F:592E  3D 0002                              cmp     ax,2
273F:5931  72 03                                jb      loc_ret_1143            ; Jump if below
273F:5933  E9 0A7B                              jmp     display_message_dialog_3

273F:5936                       loc_ret_1143:                                   ;  xref 273F:5931
273F:5936  C3                                   retn
                              operate_proc      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                           lock_unlock_proc     proc    near
273F:5937  8B DD                                mov     bx,bp
273F:5939  8B 07                                mov     ax,[bx]
273F:593B  83 C5 02                             add     bp,2
273F:593E  A3 BA19                              mov     use_hotspot_id, ax
273F:5941  A3 BA1B                              mov     active_hotspot_id, ax
273F:5944  E8 EC60                              call    hotspot_action_precheck
273F:5947  0B C0                                or      ax,ax                   ; Zero ?
273F:5949  74 08                                jz      loc_1144                ; Jump if zero
273F:594B  3D 0003                              cmp     ax,3
273F:594E  74 AB                                je      loc_ret_1140            ; Jump if equal
273F:5950  E9 FC2E                              jmp     character_walking_end
273F:5953                       loc_1144:                                       ;  xref 273F:5949
273F:5953  53                                   push    bx
273F:5954  E8 FC2A                              call    character_walking_end
273F:5957  5B                                   pop     bx
273F:5958  E8 ED93                              call    character_face_hotspot
273F:595B  E8 FC98                              call    hotspot_get_action_sequence
273F:595E  79 03                                jns     loc_1145                ; Jump if not sign
273F:5960  E9 0A4E                              jmp     display_message_dialog_3
273F:5963                       loc_1145:                                       ;  xref 273F:595E
273F:5963  74 96                                jz      loc_ret_1140            ; Jump if zero
273F:5965  E9 E4CC                              jmp     sequence_execute
                           lock_unlock_proc     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:56AE, 56BB
                                ;��������������������������������������������������������������������������

                              look_proc         proc    near

273F:5968  E8 FC16                              call    character_walking_end
273F:596B  8B 44 06                             mov     ax, [si+6]
273F:596E  E8 B3B0                              call    get_room_resource_pointer4
273F:5971  8B 5C 04                             mov     bx, [si+RH_DESC_ID]
273F:5974  E9 2F45                              jmp     display_dialog

                              look_proc         endp
                             
273F:5977  00                     data_359      db      0

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                               status_proc      proc    near

31E4:5978  E8 06 FC                             call    character_walking_end
31E4:597B  80 0E 11D0 01                        or      menubar_state, 1
31E4:5980  FF 16 075E                           call    [show_cursor_proc]
31E4:5984  B0 09                                mov     al, 9
31E4:5986  B1 16                                mov     cl, 16
31E4:5988  B2 03                                mov     dl, 3
31E4:598A  F7 06 BC49 FFFF                      test    num_groats, 0ffffh
31E4:5990  74 03                                jz      status_loc_2
31E4:5992  80 C2 02                             add     dl, 2
                            status_loc_2:
31E4:5995  F6 06 9835 FF                        test    num_inventory_items, 0ffh
31E4:599A  74 07                                jz      loc_1146
31E4:599C  02 16 9835                           mov     dl, num_inventory_items
31E4:59A0  80 EA 01                             sub     dl, 1

273F:59A3                       loc_1146:
273F:59A3  B3 18                                mov     bl,18h
273F:59A5  2A DA                                sub     bl,dl
273F:59A7  D0 EB                                shr     bl,1                    ; Shift w/zeros fill
273F:59A9  2E: 88 1E 5977                       mov     cs:data_359,bl          ; (273F:5977=0)
273F:59AE  BD 0001                              mov     bp,1
273F:59B1  FF 16 077A                           call    [draw_dialog_proc]
273F:59B5  A1 9832                              mov     ax, room_number         ; Get the current room's
273F:59B8  E8 B366                              call    get_room_resource_pointer3 ; short name
273F:59BB  8B 44 02                             mov     ax,[si+2]
273F:59BE  BF 4B43                              mov     di, offset hotspot_name
273F:59C1  E8 2376                              call    decode_string
273F:59C4  2E: A0 5977                          mov     al, cs:data_359
273F:59C8  04 01                                add     al,1
273F:59CA  32 E4                                xor     ah,ah                   ; Zero register
273F:59CC BB 000A                              mov     bx, 10
273F:59CF BE 4B43                              mov     si, offset hotspot_name
273F:59D2  E8 C210                              call    sub_52

273F:59D5  C7 06 4B19 6F6E                      mov     data_789,6F6Eh          ; (31E4:4B19=6F6Eh)
273F:59DB  F6 06 9835 FF                        test    num_inventory_items, 0FFh
273F:59E0  74 06                                jz      loc_1147                ; Jump if zero
273F:59E2  C7 06 4B19 003A                      mov     data_789,3Ah            ; (31E4:4B19=6F6Eh)
273F:59E8                       loc_1147:                                       ;  xref 273F:59E0
273F:59E8  2E: A0 5977                          mov     al,cs:data_359          ; (273F:5977=0)
273F:59EC  04 03                                add     al,3
273F:59EE  32 E4                                xor     ah,ah                   ; Zero register
273F:59F0 BB 000A                              mov     bx, 10
273F:59F3 BE 4B08                              mov     si, offset carrying_str
273F:59F6  E8 C1EC                              call    sub_52                  ; (1BE5)

273F:59F9  2E: 8A 0E 5977                       mov     cl,cs:data_359          ; (273F:5977=0)
273F:59FE  80 C1 03                             add     cl,3
273F:5A01  32 ED                                xor     ch,ch                   ; Zero register
273F:5A03  F6 06 9835 FF                        test    num_inventory_items, 0FFh
273F:5A08  74 34                                jz      loc_1151                ; Jump if zero

273F:5A0A BE 623E                              mov     si, offset hotspot_table_3
273F:5A0D                       loc_1148:
273F:5A0D 8B 3C                                mov     di,[si]                 ; Get hotspot offset
273F:5A0F  83 FF FF                             cmp     di,0FFFFh               ; End of sublist?
273F:5A12  74 27                                je      loc_1150                ; If yes, then jump
273F:5A14  81 7D 06 03E8                        cmp     word ptr [di+HS_ROOM_NUM], PLAYER_HOTSPOT_ID  ; In player's inventory?
273F:5A19  75 1B                                jne     loc_1149                ; If not, move to next
273F:5A1B  56                                   push    si
273F:5A1C  8B 44 02                             mov     ax, [si+HSH_NAME]       ; Get hotspot name
273F:5A1F  BF 4B43                              mov     di, offset hotspot_name
273F:5A22  51                                   push    cx
273F:5A23  E8 2314                              call    decode_string
273F:5A26  58                                   pop     ax
273F:5A27  50                                   push    ax
273F:5A28 BB 0016                              mov     bx,16h                  ; (273F:0016=0EBh)
273F:5A2B BE 4B43                              mov     si, offset hotspot_name
273F:5A2E  E8 C1B4                              call    sub_52                  ; (1BE5)
273F:5A31  59                                   pop     cx
273F:5A32  83 C1 01                             add     cx,1
273F:5A35  5E                                   pop     si
273F:5A36                       loc_1149:                                       ;  xref 273F:5A19
273F:5A36  83 C6 09                             add     si,9
273F:5A39  EB D2                                jmp     short loc_1148          ; (5A0D)
273F:5A3B                       loc_1150:                                       ;  xref 273F:5A12
273F:5A3B  83 E9 01                             sub     cx,1
273F:5A3E                       loc_1151:                                       ;  xref 273F:5A08
273F:5A3E  A1 BC49                              mov     ax, num_groats
273F:5A41  0B C0                                or      ax,ax                   ; Zero ?
273F:5A43  74 26                                jz      loc_1153                ; Jump if zero
273F:5A45  04 30                                add     al,30h                  ; '0'
273F:5A47  A2 4B2B                              mov     s_num_groats, al        ; Fill out # groats
273F:5A4A  C7 06 4B32 0073                      mov     s_groats_plural, 's'    ; Add in a plural 's'

273F:5A50  83 3E BC49 01                        cmp     num_groats, 1           ; Is a plural necessary?
273F:5A55  75 06                                jne     loc_1152                ; Yes, so skip removal
273F:5A57  C7 06 4B32 0000                      mov     s_groats_plural, 0      ; Remove plural 's'
273F:5A5D                       loc_1152:
273F:5A5D  8B C1                                mov     ax,cx
273F:5A5F  05 0002                              add     ax,2
273F:5A62 BB 000A                              mov     bx,0Ah                  ; (273F:000A=23h)
273F:5A65 BE 4B22                              mov     si, offset money_str
273F:5A68  E8 C17A                              call    sub_52                  ; (1BE5)
273F:5A6B                       loc_1153:                                       ;  xref 273F:5A43
273F:5A6B  FF 16 0744                           call    word ptr [show_screen_proc]
273F:5A6F  E8 C519                              call    mouse_wait              ; (1F8B)
273F:5A72  E8 C521                              call    pause_for_input         ; (1F96)
273F:5A75  E8 C513                              call    mouse_wait              ; (1F8B)
273F:5A78  80 26 11D0 FE                        and     menubar_state, 0FEh ; (273F:11D0=56h)
273F:5A7D  FF 16 075E                           call    [show_cursor_proc]
273F:5A81  C3                                   retn

                               status_proc      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                               return_proc      proc    near
273F:5A82  8B DE                                mov     bx, si
273F:5A84  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:5A87  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:5A8A  8B 44 4E                             mov     ax, [si+HS_V4E]
273F:5A8D  89 47 03                             mov     [bx+CURRENT_ACTION_ROOM_NUM], ax
273F:5A90  E9 FAEE                              jmp     character_walking_end
                               return_proc      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                                   use_proc     proc    near
273F:5A93  8B DD                                mov     bx,bp
273F:5A95  8B 07                                mov     ax,[bx]
273F:5A97  A3 BA19                              mov     use_hotspot_id, ax
273F:5A9A  8B 47 02                             mov     ax,[bx+2]
273F:5A9D  A3 BA1B                              mov     active_hotspot_id, ax
273F:5AA0  83 C5 04                             add     bp,4
273F:5AA3  56                                   push    si
273F:5AA4  A1 BA19                              mov     ax, use_hotspot_id
273F:5AA7  E8 B240                              call    get_room_resource_pointer2
273F:5AAA  5B                                   pop     bx
273F:5AAB  87 DE                                xchg    bx,si                   ; bx=item to use, si=hotspot
273F:5AAD  8B 47 06                             mov     ax, [bx+HS_ROOM_NUM]
273F:5AB0  3B 45 1B                             cmp     ax, [di+ANIM_HOTSPOT_ID]; Item in char's inventory?
273F:5AB3  75 12                                jne     loc_1155                ; Jump if not equal
273F:5AB5  A1 BA1B                              mov     ax, active_hotspot_id
273F:5AB8  E8 EAEC                              call    hotspot_action_precheck
273F:5ABB  0B C0                                or      ax,ax                   ; Zero ?
273F:5ABD  74 0B                                jz      loc_1156                ; Jump if zero
273F:5ABF  3C 03                                cmp     al,3
273F:5AC1  74 03                                je      loc_ret_1154            ; Jump if equal
273F:5AC3  E9 FABB                              jmp     character_walking_end

273F:5AC6                       loc_ret_1154:                                   ;  xref 273F:5AC1, 5AF5, 5B3A
273F:5AC6  C3                                   retn
273F:5AC7                       loc_1155:                                       ;  xref 273F:5AB3
273F:5AC7  E9 0242                              jmp     loc_1187                ; (5D0C)
273F:5ACA                       loc_1156:                                       ;  xref 273F:5ABD
273F:5ACA  E8 EC21                              call    character_face_hotspot
273F:5ACD  53                                   push    bx
273F:5ACE  E8 FAB0                              call    character_walking_end
273F:5AD1  5B                                   pop     bx
273F:5AD2  81 7D 1B 03E9                        cmp     word ptr [di+ANIM_HOTSPOT_ID], RATPOUCH_HOTSPOT_ID
273F:5AD7  75 09                                jne     loc_1157                ; Jump if not equal
273F:5AD9  C6 44 FF 28                          mov     byte ptr [si-1], 28h    ; '('
273F:5ADD  C7 44 1F 0050                        mov     word ptr [si+HS_FRAME_CTR], 50h
273F:5AE2                       loc_1157:                                       ;  xref 273F:5AD7
273F:5AE2  E8 FB11                              call    hotspot_get_action_sequence
273F:5AE5  79 03                                jns     loc_1158                ; Jump if not sign
273F:5AE7  E9 08C7                              jmp     display_message_dialog_3
273F:5AEA                       loc_1158:                                       ;  xref 273F:5AE5
273F:5AEA  75 06                                jnz     loc_1159                ; Jump if not zero
273F:5AEC  B8 0011                              mov     ax,11h
273F:5AEF  E9 08BF                              jmp     display_message_dialog_3
273F:5AF2                       loc_1159:                                       ;  xref 273F:5AEA
273F:5AF2  E8 E33F                              call    sequence_execute
273F:5AF5  74 CF                                jz      loc_ret_1154            ; Jump if zero
273F:5AF7  E9 08B7                              jmp     display_message_dialog_3
                                   use_proc     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                            look_at_proc        proc    near
273F:5AFA  8B DD                                mov     bx,bp
273F:5AFC  8B 07                                mov     ax,[bx]
273F:5AFE  83 C5 02                             add     bp,2
273F:5B01  A3 BA19                              mov     use_hotspot_id, ax
273F:5B04  A3 BA1B                              mov     active_hotspot_id, ax
273F:5B07  56                                   push    si
273F:5B08  E8 B1DF                              call    get_room_resource_pointer2
273F:5B0B  5B                                   pop     bx
273F:5B0C  87 DE                                xchg    bx,si
273F:5B0E  81 3E BA19 0408                      cmp     use_hotspot_id, FIRST_OBJECT_HOTSPOT_ID
273F:5B14  72 29                                jb      loc_1163                ; Jump if below
273F:5B16  56                                   push    si
273F:5B17 BE 4AD0                              mov     si, offset lookat_hotspot_list
273F:5B1A  8B 0E BA19                           mov     cx, use_hotspot_id
273F:5B1E                       loc_1160:
273F:5B1E AD                                   lodsw                           ; Get next hotspot Id
273F:5B1F  0B C0                                or      ax,ax                   ; Reached end of list?
273F:5B21  74 09                                jz      loc_1162                ; Jump if yes
273F:5B23  3B C1                                cmp     ax,cx                   ; Found hotspot?
273F:5B25  74 02                                je      loc_1161                ; Jump if yes
273F:5B27  EB F5                                jmp     short loc_1160          ; Keep scanning
273F:5B29                       loc_1161:
273F:5B29  5E                                   pop     si
273F:5B2A  EB 13                                jmp     short loc_1163          
273F:5B2C                       loc_1162:
273F:5B2C  5E                                   pop     si                      ; Hotspot not found
273F:5B2D  A1 BA19                              mov     ax, use_hotspot_id
273F:5B30  E8 EA74                              call    hotspot_action_precheck
273F:5B33  0B C0                                or      ax,ax                   ; Zero ?
273F:5B35  74 08                                jz      loc_1163                ; Jump if zero
273F:5B37  3D 0003                              cmp     ax,3
273F:5B3A  74 8A                                je      loc_ret_1154            ; Jump if equal
273F:5B3C  E9 FA42                              jmp     character_walking_end
273F:5B3F                       loc_1163:                                       ;  xref 273F:5B14, 5B2A, 5B35
273F:5B3F  C6 44 2A 00                          mov     byte ptr [si+HS_ACTION_CTR], 0
273F:5B43  E8 EBA8                              call    character_face_hotspot
273F:5B46  53                                   push    bx
273F:5B47  E8 FA37                              call    character_walking_end
273F:5B4A  5B                                   pop     bx
273F:5B4B  E8 FAA8                              call    hotspot_get_action_sequence
273F:5B4E  79 03                                jns     loc_1164                ; Jump if not sign
273F:5B50  E9 085E                              jmp     display_message_dialog_3
273F:5B53                       loc_1164:                                       ;  xref 273F:5B4E
273F:5B53  74 05                                jz      loc_1165                ; Jump if zero
273F:5B55  E8 E2DC                              call    sequence_execute
273F:5B58  75 16                                jnz     loc_ret_1167            ; Jump if not zero
273F:5B5A                       loc_1165:                                       ;  xref 273F:5B53, 5C1E
273F:5B5A A1 BA1B                              mov     ax, active_hotspot_id
273F:5B5D  E8 B1C1                              call    get_room_resource_pointer3
273F:5B60  8B 5C 06                             mov     bx, [si+HSH_DESC_2]
273F:5B63  0B DB                                or      bx, bx                  ; Zero ?
273F:5B65  75 03                                jnz     loc_1166                ; Jump if not zero
273F:5B67  8B 5C 04                             mov     bx, [si+HSH_DESC]
273F:5B6A                       loc_1166:
273F:5B6A  80 E7 1F                             and     bh, 1Fh
273F:5B6D  E9 2D4C                              jmp     display_dialog
273F:5B70                       loc_ret_1167:                                   ;  xref 273F:5B58, 5BA0, 5BCD, 5BDD
273F:5B70  C3                                   retn
                            look_at_proc        endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                                  give_proc     proc    near
273F:5B71  8B DD                                mov     bx,bp
273F:5B73  8B 47 02                             mov     ax, [bx+2]
273F:5B76  A3 BA1B                              mov     active_hotspot_id, ax
273F:5B79  8B 07                                mov     ax, [bx]
273F:5B7B  A3 BA19                              mov     use_hotspot_id, ax
273F:5B7E  83 C5 04                             add     bp, 4
273F:5B81  56                                   push    si
273F:5B82  E8 B165                              call    get_room_resource_pointer2
273F:5B85  5B                                   pop     bx
273F:5B86  87 DE                                xchg    bx,si
273F:5B88  8B 47 06                             mov     ax, [bx+HS_ROOM_NUM]
273F:5B8B  3B 45 1B                             cmp     ax, [di+ANIM_HOTSPOT_ID]; Is item in char's inventory?
273F:5B8E  74 03                                je      loc_1168                ; Jump if equal
273F:5B90  E9 0179                              jmp     loc_1187                ; (5D0C)
273F:5B93                       loc_1168:                                       ;  xref 273F:5B8E
273F:5B93  A1 BA1B                              mov     ax, active_hotspot_id
273F:5B96  E8 EA0E                              call    hotspot_action_precheck
273F:5B99  0B C0                                or      ax,ax                   ; Zero ?
273F:5B9B  74 08                                jz      loc_1169                ; Jump if zero
273F:5B9D  3D 0003                              cmp     ax,3
273F:5BA0  74 CE                                je      loc_ret_1167            ; Jump if equal
273F:5BA2  E9 F9DC                              jmp     character_walking_end
273F:5BA5                       loc_1169:                                       ;  xref 273F:5B9B
273F:5BA5  53                                   push    bx
273F:5BA6  E8 F9D8                              call    character_walking_end
273F:5BA9  5B                                   pop     bx
273F:5BAA  E8 EB41                              call    character_face_hotspot
273F:5BAD  81 3E BA1B 0412                      cmp     active_hotspot_id, 412h
273F:5BB3  75 08                                jne     loc_1170                ; Jump if not equal
273F:5BB5  81 3E BA19 2710                      cmp     use_hotspot_id, BOTTLE_HOTSPOT_ID
273F:5BBB  74 08                                je      loc_1171                ; Jump if equal
273F:5BBD                       loc_1170:                                       ;  xref 273F:5BB3
273F:5BBD  53                                   push    bx
273F:5BBE  BB 0007                              mov     bx,7
273F:5BC1  E8 07DE                              call    display_message_dialog_2
273F:5BC4  5B                                   pop     bx
273F:5BC5                       loc_1171:                                       ;  xref 273F:5BBB
273F:5BC5  E8 FA2E                              call    hotspot_get_action_sequence
273F:5BC8  79 03                                jns     loc_1172                ; Jump if not sign
273F:5BCA  E9 07E4                              jmp     display_message_dialog_3
273F:5BCD                       loc_1172:                                       ;  xref 273F:5BC8
273F:5BCD  74 A1                                jz      loc_ret_1167            ; Jump if zero
273F:5BCF  E8 E262                              call    sequence_execute
273F:5BD2  3D 03E7                              cmp     ax, NOONE_HOTSPOT_ID
273F:5BD5  75 03                                jne     loc_1173                ; Jump if not equal
273F:5BD7  E9 2DD6                              jmp     loc_1705                ; (89B0)
273F:5BDA                       loc_1173:                                       ;  xref 273F:5BD5
273F:5BDA  3D 0001                              cmp     ax, 1
273F:5BDD  74 91                                je      loc_ret_1167            ; Jump if equal
273F:5BDF  73 13                                jnc     loc_1174                ; Jump if carry=0
273F:5BE1  56                                   push    si
273F:5BE2  53                                   push    bx
273F:5BE3  A1 BA19                              mov     ax, use_hotspot_id
273F:5BE6  E8 B101                              call    get_room_resource_pointer2
273F:5BE9  A1 BA1B                              mov     ax, active_hotspot_id
273F:5BEC  89 44 06                             mov     [si+HSH_DESC_2], ax
273F:5BEF  5B                                   pop     bx
273F:5BF0  5E                                   pop     si
273F:5BF1  E9 0171                              jmp     loc_1193                ; (5D65)
273F:5BF4                       loc_1174:                                       ;  xref 273F:5BDF
273F:5BF4  8B D8                                mov     bx, ax
273F:5BF6  8B 0E BA1B                           mov     cx, active_hotspot_id
273F:5BFA  8B 55 1B                             mov     dx, [di+ANIM_HOTSPOT_ID]
273F:5BFD  E9 0790                              jmp     display_message_dialog
                                  give_proc     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                               examine_proc     proc    near
273F:5C00  8B DD                                mov     bx,bp
273F:5C02  8B 07                                mov     ax,[bx]
273F:5C04  A3 BA19                              mov     use_hotspot_id, ax
273F:5C07  A3 BA1B                              mov     active_hotspot_id, ax
273F:5C0A  83 C5 02                             add     bp,2
273F:5C0D  56                                   push    si
273F:5C0E  E8 B0D9                              call    get_room_resource_pointer2
273F:5C11  5B                                   pop     bx
273F:5C12  87 DE                                xchg    bx,si
273F:5C14  53                                   push    bx
273F:5C15  E8 F969                              call    character_walking_end
273F:5C18  5B                                   pop     bx
273F:5C19  E8 F9DA                              call    hotspot_get_action_sequence
273F:5C1C  75 03                                jnz     loc_1176                ; Jump if not zero
273F:5C1E                       loc_1175:                                       ;  xref 273F:5C24
273F:5C1E  E9 FF39                              jmp     loc_1165                ; (5B5A)
273F:5C21                       loc_1176:                                       ;  xref 273F:5C1C
273F:5C21  E8 E210                              call    sequence_execute
273F:5C24  74 F8                                jz      loc_1175                ; Jump if zero

273F:5C26                       loc_ret_1177:                                   ;  xref 273F:5C3E, 5C8A
273F:5C26  C3                                   retn
                               examine_proc     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                                bribe_proc      proc    near
273F:5C27  8B DD                                mov     bx,bp
273F:5C29  8B 07                                mov     ax,[bx]
273F:5C2B  A3 BA19                              mov     use_hotspot_id, ax
273F:5C2E  A3 BA1B                              mov     active_hotspot_id, ax
273F:5C31  83 C5 02                             add     bp,2
273F:5C34  E8 E970                              call    hotspot_action_precheck
273F:5C37  0B C0                                or      ax,ax                   ; Zero ?
273F:5C39  74 08                                jz      loc_1178                ; Jump if zero
273F:5C3B  3D 0003                              cmp     ax,3
273F:5C3E  74 E6                                je      loc_ret_1177            ; Jump if equal
273F:5C40  E9 F93E                              jmp     character_walking_end
273F:5C43                       loc_1178:                                       ;  xref 273F:5C39
273F:5C43  B8 014B                              mov     ax,14Bh
273F:5C46  8B 16 BA1B                           mov     dx, active_hotspot_id
273F:5C4A  53                                   push    bx
273F:5C4B BB 4AE6                              mov     bx, offset bribe_hotspot_list - 4
273F:5C4E                       loc_1179:                                       
273F:5C4E  83 C3 04                             add     bx, 4                   ; Move to next entry
273F:5C51  F7 07 FFFF                           test    word ptr [bx],0FFFFh    ; End of list reached?
273F:5C55  74 12                                jz      loc_1180                ; Jump if yes
273F:5C57  3B 17                                cmp     dx, [bx]                ; Char Id found?
273F:5C59  75 F3                                jne     loc_1179                ; Keep scanning if not
273F:5C5B  8B 47 02                             mov     ax, [bx+2]              ; Get 
273F:5C5E  F6 C4 80                             test    ah, 80h
273F:5C61  74 06                                jz      loc_1180                ; Jump if zero
273F:5C63  80 E4 7F                             and     ah,7Fh
273F:5C66  E8 E1CB                              call    sequence_execute
273F:5C69                       loc_1180:                                       ;  xref 273F:5C55, 5C61
273F:5C69  8B D0                                mov     dx,ax
273F:5C6B  BB 03E8                              mov     bx, PLAYER_HOTSPOT_ID
273F:5C6E  8B 0E BA1B                           mov     cx, active_hotspot_id
273F:5C72  E8 04A7                              call    talk_setup
273F:5C75  5B                                   pop     bx
273F:5C76  E8 EA75                              call    character_face_hotspot
273F:5C79  53                                   push    bx
273F:5C7A  E8 F904                              call    character_walking_end
273F:5C7D  5B                                   pop     bx
273F:5C7E  C6 44 2A 00                          mov     byte ptr [si+HS_ACTION_CTR], 0
273F:5C82  E8 F971                              call    hotspot_get_action_sequence
273F:5C85  74 05                                jz      loc_1181                ; Jump if zero
273F:5C87  E8 E1AA                              call    sequence_execute
273F:5C8A  75 9A                                jnz     loc_ret_1177            ; Jump if not zero
273F:5C8C                       loc_1181:                                       ;  xref 273F:5C85
273F:5C8C  BA 03E8                              mov     dx, PLAYER_HOTSPOT_ID
273F:5C8F  8B 0E BA19                           mov     cx, use_hotspot_id
273F:5C93  BB 0029                              mov     bx, 29h
273F:5C96  83 3E BA3B 06                        cmp     talk_record_index, 6
273F:5C9B  75 03                                jne     loc_1182                ; Jump if not equal
273F:5C9D BB 0030                              mov     bx, 30h  
273F:5CA0                       loc_1182:                                       ;  xref 273F:5C9B
273F:5CA0  E9 06ED                              jmp     display_message_dialog
                                bribe_proc      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                                  ask_proc      proc    near
273F:5CA3  8B DD                                mov     bx,bp
273F:5CA5  8B 47 02                             mov     ax,[bx+2]
273F:5CA8  A3 BA19                              mov     use_hotspot_id, ax
273F:5CAB  8B 07                                mov     ax,[bx]
273F:5CAD  A3 BA1B                              mov     active_hotspot_id, ax
273F:5CB0  83 C5 04                             add     bp,4
273F:5CB3  E8 E8F1                              call    hotspot_action_precheck
273F:5CB6  0B C0                                or      ax,ax                   ; Zero ?
273F:5CB8  74 08                                jz      loc_1183                ; Jump if zero
273F:5CBA  3D 0003                              cmp     ax,3
273F:5CBD  74 4C                                je      loc_ret_1186            ; Jump if equal
273F:5CBF  E9 F8BF                              jmp     character_walking_end
273F:5CC2                       loc_1183:                                       ;  xref 273F:5CB8
273F:5CC2  53                                   push    bx
273F:5CC3  E8 F8C7                              call    character_walking_end_2
273F:5CC6  5B                                   pop     bx
273F:5CC7  E8 EA24                              call    character_face_hotspot
273F:5CCA  BB 0009                              mov     bx,9
273F:5CCD  E8 06D2                              call    display_message_dialog_2
273F:5CD0  E8 F923                              call    hotspot_get_action_sequence
273F:5CD3  78 0C                                js      loc_1184                ; Jump if sign=1
273F:5CD5  74 34                                jz      loc_ret_1186            ; Jump if zero
273F:5CD7  E8 E15A                              call    sequence_execute
273F:5CDA  74 11                                jz      loc_1185                ; Jump if zero
273F:5CDC  3D 0001                              cmp     ax,1
273F:5CDF  74 2A                                je      loc_ret_1186            ; Jump if equal
273F:5CE1                       loc_1184:                                       ;  xref 273F:5CD3
273F:5CE1  8B 0E BA1B                           mov     cx, active_hotspot_id
273F:5CE5  8B 55 1B                             mov     dx,[di+1Bh]
273F:5CE8  8B D8                                mov     bx,ax
273F:5CEA  E9 06A3                              jmp     display_message_dialog
273F:5CED                       loc_1185:                                       ;  xref 273F:5CDA
273F:5CED  56                                   push    si
273F:5CEE  A1 BA19                              mov     ax, use_hotspot_id
273F:5CF1  E8 AFF6                              call    get_room_resource_pointer2
273F:5CF4  8B 4D 1B                             mov     cx,[di+1Bh]
273F:5CF7  89 4C 06                             mov     [si+6],cx
273F:5CFA  5E                                   pop     si
273F:5CFB  E8 005B                              call    player_inc_inventory_items
273F:5CFE  BB 0020                              mov     bx,20h
273F:5D01  8B 0E BA1B                           mov     cx, active_hotspot_id
273F:5D05  8B 55 1B                             mov     dx,[di+1Bh]
273F:5D08  E9 0685                              jmp     display_message_dialog

273F:5D0B                       loc_ret_1186:                                   ;  xref 273F:5CBD, 5CD5, 5CDF
273F:5D0B  C3                                   retn
                                  ask_proc      endp

                                ;��������������������������������������������������������������������������
                                ;                              JUMP POINT
                                ;
                                ;��������������������������������������������������������������������������


273F:5D0C                       loc_1187:                                       ;  xref 273F:5AC7, 5B90, 5D2F
273F:5D0C  B8 000F                              mov     ax, 0Fh                 ; "What???"
273F:5D0F  E8 069F                              call    display_message_dialog_3
273F:5D12  E9 F86C                              jmp     character_walking_end

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                               drink_proc       proc    near
273F:5D15  8B DD                                mov     bx,bp
273F:5D17  8B 07                                mov     ax,[bx]
273F:5D19  83 C5 02                             add     bp,2
273F:5D1C  A3 BA19                              mov     use_hotspot_id, ax
273F:5D1F  A3 BA1B                              mov     active_hotspot_id, ax
273F:5D22  56                                   push    si
273F:5D23  E8 AFC4                              call    get_room_resource_pointer2
273F:5D26  5B                                   pop     bx
273F:5D27  87 DE                                xchg    bx,si
273F:5D29  8B 45 1B                             mov     ax,[di+ANIM_HOTSPOT_ID] ; Validate item is in
273F:5D2C  3B 47 06                             cmp     ax,[bx+HS_ROOM_NUM]     ; character's inventory
273F:5D2F  75 DB                                jne     loc_1187                ; Jump if not equal
273F:5D31  53                                   push    bx
273F:5D32  E8 F84C                              call    character_walking_end
273F:5D35  5B                                   pop     bx
273F:5D36  E8 F8BD                              call    hotspot_get_action_sequence
273F:5D39  79 03                                jns     loc_1188                ; Jump if not sign
273F:5D3B  E9 0673                              jmp     display_message_dialog_3
273F:5D3E                       loc_1188:                                       ;  xref 273F:5D39
273F:5D3E  74 13                                jz      loc_1191                ; Jump if zero
273F:5D40  E8 E0F1                              call    sequence_execute
273F:5D43  74 08                                jz      loc_1189                ; Jump if zero
273F:5D45  3D 0001                              cmp     ax,1
273F:5D48  74 08                                je      loc_ret_1190            ; Jump if equal
273F:5D4A  E9 0664                              jmp     display_message_dialog_3
273F:5D4D                       loc_1189:                                       ;  xref 273F:5D43
273F:5D4D  C7 47 06 0000                        mov     word ptr [bx+HS_ROOM_NUM], 0

273F:5D52                       loc_ret_1190:                                   ;  xref 273F:5D48
273F:5D52  C3                                   retn
273F:5D53                       loc_1191:                                       ;  xref 273F:5D3E
273F:5D53  B8 0016                              mov     ax,16h
273F:5D56  E9 0658                              jmp     display_message_dialog_3
                               drink_proc       endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:5436, 5CFB
                                ;��������������������������������������������������������������������������

                 player_inc_inventory_items     proc    near
273F:5D59  81 FE 6CEF                           cmp     si, offset player_hotspot_rec
273F:5D5D  75 05                                jne     loc_ret_1192            ; Jump if not equal
273F:5D5F  80 06 9835 01                        add     num_inventory_items, 1
273F:5D64                       loc_ret_1192:                                   ;  xref 273F:5D5D, 5D69, 5DB4
273F:5D64  C3                                   retn
                 player_inc_inventory_items     proc    near


273F:5D65                       loc_1193:                                       ;  xref 273F:5BF1
273F:5D65 81 FE 6CEF                           cmp     si, offset player_hotspot_rec
273F:5D69  75 F9                                jne     loc_ret_1192            ; Jump if not equal
273F:5D6B  80 2E 9835 01                        sub     num_inventory_items, 1

273F:5D70                       loc_ret_1194:                                   ;  xref 273F:5D8B
273F:5D70  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                        npc_dispatch_action     proc    near                                                                
273F:5D71  8B DD                                mov     bx,bp
273F:5D73  8B 07                                mov     ax,[bx]
273F:5D75  83 C5 04                             add     bp,4
273F:5D78  A3 BA19                              mov     use_hotspot_id, ax
273F:5D7B  A3 BA1B                              mov     active_hotspot_id, ax
273F:5D7E  E8 E826                              call    hotspot_action_precheck
273F:5D81  0B C0                                or      ax,ax                   ; Zero ?
273F:5D83  75 03                                jnz     loc_1195                ; Jump if not zero
273F:5D85  E9 F7F9                              jmp     character_walking_end
273F:5D88                       loc_1195:                                       ;  xref 273F:5D83
273F:5D88  3D 0003                              cmp     ax, 3                   ; Initial state?
273F:5D8B  74 E3                                je      loc_ret_1194            ; Exit if yes
273F:5D8D  8B DD                                mov     bx,bp
273F:5D8F  8B 47 FE                             mov     ax,[bx-2]
273F:5D92  8B DE                                mov     bx,si
273F:5D94  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:5D97  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:5D9A  89 47 01                             mov     [bx+CURRENT_ACTION_SUPPORT_TABLE], ax
273F:5D9D  E9 E41E                              jmp     action_dispatch
                        npc_dispatch_action     endp                                                                

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                              npc_unknown_3     proc    near
273F:5DA0  8B DD                                mov     bx,bp
273F:5DA2  8B 07                                mov     ax,[bx]
273F:5DA4  A3 BA19                              mov     use_hotspot_id, ax
273F:5DA7  A3 BA1B                              mov     active_hotspot_id, ax
273F:5DAA  E8 E7FA                              call    hotspot_action_precheck
273F:5DAD  0B C0                                or      ax,ax                   ; Zero ?
273F:5DAF  74 0B                                jz      loc_1196                ; Jump if zero
273F:5DB1  3D 0003                              cmp     ax,3
273F:5DB4  74 AE                                je      loc_ret_1192            ; Jump if equal
273F:5DB6  83 C5 0A                             add     bp,0Ah
273F:5DB9  E9 F7C5                              jmp     character_walking_end
273F:5DBC                       loc_1196:                                       ;  xref 273F:5DAF
273F:5DBC  A1 BA1B                              mov     ax, active_hotspot_id
273F:5DBF  56                                   push    si
273F:5DC0  E8 AF27                              call    get_room_resource_pointer2
273F:5DC3  5B                                   pop     bx
273F:5DC4  87 DE                                xchg    bx,si
273F:5DC6  F7 47 37 FFFF                        test    word ptr [bx+HS_TALK_COUNTDOWN], 0FFFFh
273F:5DCB  75 36                                jnz     loc_ret_1199            ; Jump if not zero
273F:5DCD  83 C5 02                             add     bp, 2
273F:5DD0  8B DD                                mov     bx, bp
273F:5DD2  8B 17                                mov     dx, [bx]                ; Get param #2
273F:5DD4  0B D2                                or      dx, dx                  ; Zero ?
273F:5DD6  74 11                                jz      loc_1197                ; Jump if zero
273F:5DD8  8B 4F FE                             mov     cx, [bx-2]
273F:5DDB  53                                   push    bx
273F:5DDC  E8 0350                              call    talk_setup_3                 ; (612F)
273F:5DDF  5B                                   pop     bx
273F:5DE0  8B 47 02                             mov     ax, [bx+2]
273F:5DE3  01 44 42                             add     [si+HS_DELAY_CTR], ax
273F:5DE6  01 44 37                             add     [si+HS_TALK_COUNTDOWN], ax
273F:5DE9                       loc_1197:                                       ;  xref 273F:5DD6
273F:5DE9  83 C3 04                             add     bx, 4
273F:5DEC  8B 17                                mov     dx, [bx]                ; Param #4
273F:5DEE  0B D2                                or      dx, dx                  ; Zero ?
273F:5DF0  74 0B                                jz      loc_1198                ; Jump if zero
273F:5DF2  8B 5F FA                             mov     bx, [bx-6]              ; Param #1
273F:5DF5  8B 4D 1B                             mov     cx, [di+ANIM_HOTSPOT_ID]
273F:5DF8  56                                   push    si
273F:5DF9  E8 032E                              call    talk_setup_2
273F:5DFC  5E                                   pop     si
273F:5DFD                       loc_1198:
273F:5DFD  83 C5 08                             add     bp, 8
273F:5E00  E9 F77E                              jmp     character_walking_end

273F:5E03                       loc_ret_1199:
273F:5E03  C3                                   retn
                              npc_unknown_3     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                                  npc_pause     proc    near
273F:5E04  8B DD                                mov     bx,bp
273F:5E06  8B 47 02                             mov     ax, [bx+2]
273F:5E09  89 44 42                             mov     [si+HS_DELAY_CTR], ax
273F:5E0C  C6 44 44 03                          mov     byte ptr [si+HS_CHAR_MODE], CHARMODE_3
273F:5E10  83 C5 04                             add     bp, 4
273F:5E13  E9 F76B                              jmp     character_walking_end
                                  npc_pause     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                          npc_start_talking     proc    near
273F:5E16  8B DE                                mov     bx, si
273F:5E18  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:5E1B  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:5E1E  83 47 01 06                          add     word ptr [bx+CURRENT_ACTION_SUPPORT_TABLE], 6
273F:5E22  8B DD                                mov     bx, bp
273F:5E24  8B 17                                mov     dx, [bx]
273F:5E26  8B 47 02                             mov     ax, [bx+2]
273F:5E29  8B 5D 1B                             mov     bx, [di+ANIM_HOTSPOT_ID]
273F:5E2C  B9 03E7                              mov     cx, NOONE_ID
273F:5E2F  E9 0319                              jmp     talk_converse
                          npc_start_talking     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                        npc_jump_to_address     proc    near
273F:5E32  8B DE                                mov     bx,si
273F:5E34  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:5E37  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:5E3A  83 47 01 04                          add     word ptr [bx+CURRENT_ACTION_SUPPORT_TABLE], 4
273F:5E3E  8B DD                                mov     bx,bp
273F:5E40  8B 07                                mov     ax,[bx]                 ; Load address
273F:5E42  FF E0                                jmp     ax                      ; Jump to it
                        npc_jump_to_address     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; This method is the tick handler proc for the player, and gets
                                ; called once every frame
                                ; di = animation slot entry, si = hotspot resource
                                ;��������������������������������������������������������������������������

                            player_tick_proc    proc    near

273F:5E44  8B DE                                mov     bx, si
273F:5E46  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:5E49  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:5E4C  E8 0329                              call    talk_countdown_handler
273F:5E4F  F7 44 1F FFFF                        test    word ptr [si+HS_FRAME_CTR], 0FFFFh
273F:5E54  74 0B                                jz      loc_1200                ; Jump if zero
273F:5E56  C7 06 F010 0000                      mov     timer_ticks, 0
273F:5E5C  83 6C 1F 01                          sub     word ptr [si+HS_FRAME_CTR],1
273F:5E60  C3                                   retn
273F:5E61                       loc_1200:
273F:5E61  E8 B2A7                              call    character_find_impinging_chars
273F:5E64  F6 45 1D FF                          test    byte ptr [di+ANIM_SKIP], 0FFh
273F:5E68  74 13                                jz      loc_1202                ; Jump if zero
273F:5E6A  C7 06 F010 0000                      mov     timer_ticks, 0
273F:5E70  F7 06 10BE FFFF                      test    num_impinging_chars, 0FFFFh
273F:5E76  74 01                                jz      loc_1201                ; Jump if zero
273F:5E78  C3                                   retn
273F:5E79                       loc_1201:                                       ;  xref 273F:5E76
273F:5E79  C6 45 1D 00                          mov     byte ptr [di+ANIM_SKIP], 0
273F:5E7D                       loc_1202:                                       ;  xref 273F:5E68
273F:5E7D  8B 44 58                             mov     ax, [si+HS_V58]
273F:5E80  0B C0                                or      ax, ax                  ; Zero ?
273F:5E82  74 19                                jz      loc_1203                ; Jump if zero
273F:5E84  C7 06 F010 0000                      mov     timer_ticks, 0
273F:5E8A  C7 44 58 0000                        mov     word ptr [si+HS_V58], 0
273F:5E8F  56                                   push    si
273F:5E90  E8 AE57                              call    get_room_resource_pointer2
273F:5E93  80 7C 44 07                          cmp     byte ptr [si+HS_CHAR_MODE], CHARMODE_7
273F:5E97  5E                                   pop     si
273F:5E98  74 03                                jz      loc_1203
273F:5E9A  C6 07 00                             mov     byte ptr [bx], 0        ; Reset action

273F:5E9D                       loc_1203:
273F:5E9D  F7 44 4A FFFF                        test    word ptr [si+HS_PAUSE_CTR], 0FFFFh
273F:5EA2  74 27                                jz      loc_1205                ; Jump if zero
273F:5EA4  C7 06 F010 0000                      mov     timer_ticks, 0
273F:5EAA  E8 E4B9                              call    character_update_movement
273F:5EAD  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]
273F:5EB0  E8 F09F                              call    pathfind_reset
273F:5EB3  83 7C 4A 01                          cmp     word ptr [si+HS_PAUSE_CTR], 1
273F:5EB7  75 0F                                jne     loc_1204                ; Jump if not equal
273F:5EB9  C7 44 4A 0000                        mov     word ptr [si+HS_PAUSE_CTR], 0
273F:5EBE  F6 44 44 FF                          test    byte ptr [si+HS_CHAR_MODE], 0FFh
273F:5EC2  75 07                                jnz     loc_1205                ; Jump if not zero
273F:5EC4  E8 E4C0                              call    character_pathfind_clear
273F:5EC7  C3                                   retn
273F:5EC8                       loc_1204:
273F:5EC8  E9 E695                              jmp     character_paused_list_scan
273F:5ECB                       loc_1205:
273F:5ECB  8A 44 44                             mov     al, [si+HS_CHAR_MODE]
273F:5ECE  0A C0                                or      al, al                  ; CHARMODE_NONE?
273F:5ED0  74 44                                jz      loc_1208                ; Jump if yes
273F:5ED2  3C 02                                cmp     al, CHARMODE_IDLE
273F:5ED4  74 40                                je      loc_1208
273F:5ED6  C7 06 F010 0000                      mov     timer_ticks, 0
273F:5EDC  F7 44 42 FFFF                        test    word ptr [si+HS_DELAY_CTR], 0FFFFh
273F:5EE1  74 0E                                jz      loc_1206                ; Jump if zero
273F:5EE3  E8 E480                              call    character_update_movement
273F:5EE6  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]
273F:5EE9  E8 F066                              call    pathfind_reset
273F:5EEC  83 6C 42 01                          sub     word ptr [si+HS_DELAY_CTR], 1
273F:5EF0  C3                                   retn
273F:5EF1                       loc_1206:                                       ;  xref 273F:5EE1
273F:5EF1  E8 E493                              call    character_pathfind_clear
273F:5EF4  C6 44 44 00                          mov     byte ptr [si+HS_CHAR_MODE], CHARMODE_NONE
273F:5EF8  F6 44 FF FF                          test    byte ptr [si-1],0FFh
273F:5EFC  74 17                                jz      loc_ret_1207            ; Jump if zero
273F:5EFE  C6 44 FF 00                          mov     byte ptr [si+HS_DEST2_SET], 0
273F:5F02  8B 44 FB                             mov     ax,[si+HS_DEST2_X]
273F:5F05  89 44 54                             mov     [si+HS_DEST_X], ax
273F:5F08  8B 44 FD                             mov     ax,[si+HS_DEST2_Y]
273F:5F0B  89 44 56                             mov     [si+HS_DEST_Y], ax
273F:5F0E  C6 07 01                             mov     byte ptr [bx], CHAR_ACTION_START_WALK
273F:5F11  C6 45 27 00                          mov     byte ptr [di+ANIM_WALK_FLAG], 0

273F:5F15                       loc_ret_1207:                                   ;  xref 273F:5EFC
273F:5F15  C3                                   retn

273F:5F16                       loc_1208:                                       ;  xref 273F:5ED0, 5ED4
273F:5F16  B0 02                                mov     al, CHARMODE_IDLE
273F:5F18  8A 27                                mov     ah, [bx]
273F:5F1A  F6 C4 FF                             test    ah, 0FFh
273F:5F1D  75 08                                jnz     loc_1209                ; Jump if not zero
273F:5F1F  C7 44 52 0000                        mov     [si+HS_DEST_HOTSPOT], 0
273F:5F24  E9 E43C                              jmp     character_update_movement_2

273F:5F27                       loc_1209:
273F:5F27  C7 06 F010 0000                      mov     timer_ticks, 0
273F:5F2D  80 FC 05                             cmp     ah, CHAR_ACTION_CONTINUE_WALK
273F:5F30  74 13                                je      loc_1211                ; Jump if equal
273F:5F32  80 FC 03                             cmp     ah, CHAR_ACTION_EXEC_SCRIPT
273F:5F35  74 11                                je      loc_1212                ; Jump if equal
273F:5F37  80 FC 01                             cmp     ah, CHAR_ACTION_START_WALK
273F:5F3A  74 17                                je      loc_1213                ; Jump if equal
273F:5F3C  80 FC 04                             cmp     ah, CHAR_ACTION_PROCESSING_PATH
273F:5F3F  74 1E                                je      loc_1214                ; Jump if equal
273F:5F41  E8 E27A                              call    action_dispatch

273F:5F44                       loc_ret_1210:                                   ;  xref 273F:5F4D
273F:5F44  C3                                   retn
273F:5F45                       loc_1211:                                       ;  xref 273F:5F30
273F:5F45  E9 00A3                              jmp     loc_1219                ; (5FEB)
273F:5F48                       loc_1212:                                       ;  xref 273F:5F35
273F:5F48  E8 B05E                              call    hotspot_script_execute
273F:5F4B  0B C0                                or      ax,ax                   ; Zero ?
273F:5F4D  75 F5                                jnz     loc_ret_1210            ; Jump if not zero
273F:5F4F  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION
273F:5F52  C3                                   retn

; Code below is responsible for starting the player walking

273F:5F53                       loc_1213:                                       ;  xref 273F:5F3A
273F:5F53  B8 03E8                              mov     ax, PLAYER_HOTSPOT_ID
273F:5F56  E8 EFF9                              call    pathfind_reset
273F:5F59  C6 07 04                             mov     byte ptr [bx], CHAR_ACTION_PROCESSING_PATH
273F:5F5C  E8 E428                              call    character_pathfind_clear

; Jump point here calculates one sequence of the path finding required to get
; the player to a given destination

273F:5F5F                       loc_1214:                                       ;  xref 273F:5F3F
273F:5F5F  C6 44 44 00                          mov     byte ptr [si+HS_CHAR_MODE], CHARMODE_NONE
273F:5F63  E8 E5FA                              call    character_paused_list_scan
273F:5F66  8B 4C 54                             mov     cx, [si+HS_DEST_X]
273F:5F69  8B 54 56                             mov     dx, [si+HS_DEST_Y]
273F:5F6C  53                                   push    bx
273F:5F6D  56                                   push    si
273F:5F6E  57                                   push    di
273F:5F6F  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]
273F:5F72  8B D9                                mov     bx,cx
273F:5F74  8B CA                                mov     cx,dx
273F:5F76  8A 54 4C                             mov     dl, [si+HS_BLOCKED_FLAG]
273F:5F79  E8 EA7A                              call    character_pathfind
273F:5F7C  8B D3                                mov     dx,bx
273F:5F7E  5F                                   pop     di
273F:5F7F  5E                                   pop     si
273F:5F80  5B                                   pop     bx
273F:5F81  0B C0                                or      ax,ax                   ; Zero ?
273F:5F83  75 01                                jnz     loc_1215                ; Jump if not zero
273F:5F85  C3                                   retn

; The code below gets jumped to when the final segment of pathfinding is
; complete.

273F:5F86                       loc_1215:
273F:5F86  3D 0001                              cmp     ax, PF_OK
273F:5F89  74 42                                je      loc_1218                ; Immediate translate
273F:5F8B  F6 45 27 01                          test    byte ptr [di+ANIM_WALK_FLAG], 1
273F:5F8F  75 05                                jnz     loc_1216                ; Jump if not zero
273F:5F91  3D 0002                              cmp     ax, PF_DEST_OCCUPIED
273F:5F94  74 37                                je      loc_1218                ; Jump to translate
273F:5F96                       loc_1216:                                       ;  xref 273F:5F8F
273F:5F96  F6 44 4C FF                          test    byte ptr [si+HS_BLOCKED_FLAG], 0FFh
273F:5F9A  74 31                                jz      loc_1218                ; Jump if zero
273F:5F9C  80 7C 4C 02                          cmp     byte ptr [si+HS_BLOCKED_FLAG], BS_FINAL
273F:5FA0  74 17                                je      loc_1217                ; Jump if equal
273F:5FA2  C6 44 FF 01                          mov     byte ptr [si+HS_DEST2_SET], 1
273F:5FA6  8B 44 54                             mov     ax, [si+HS_DEST_X]
273F:5FA9  89 44 FB                             mov     [si+HS_DEST2_X], ax
273F:5FAC  8B 44 56                             mov     ax, [si+HS_DEST_Y]
273F:5FAF  89 44 FD                             mov     [si+HS_DEST2_Y], ax
273F:5FB2  80 44 4C 01                          add     byte ptr [si+HS_BLOCKED_FLAG], 1
273F:5FB6  E9 F6AD                              jmp     character_set_random_dest
273F:5FB9                       loc_1217:                                       ;  xref 273F:5FA0
273F:5FB9  E8 E485                              call    character_paused_list_reset
273F:5FBC  C6 44 4C 00                          mov     byte ptr [si+HS_BLOCKED_FLAG], BS_NONE
273F:5FC0  C6 07 00                             mov     byte ptr [bx], 0
273F:5FC3  C6 44 44 06                          mov     byte ptr [si+HS_CHAR_MODE], CHARMODE_6
273F:5FC7  C7 44 42 0007                        mov     word ptr [si+HS_DELAY_CTR], 7
273F:5FCC  C3                                   retn

273F:5FCD                       loc_1218:                                       ; dx => movement data
273F:5FCD  C6 44 4C 00                          mov     byte ptr [si+HS_CHAR_MODE], CHARMODE_NONE
273F:5FD1  8B C3                                mov     ax, bx
273F:5FD3  8B DA                                mov     bx, dx
273F:5FD5  8B 0F                                mov     cx, [bx]
273F:5FD7  8B D8                                mov     bx, ax
273F:5FD9  0B C9                                or      cx, cx                  ; Zero ?
273F:5FDB  74 56                                jz      loc_1223                ; Jump if zero
273F:5FDD  C6 07 05                             mov     byte ptr [bx], CHAR_ACTION_CONTINUE_WALK
273F:5FE0  E8 E22A                              call    character_translate_movements
273F:5FE3  83 65 02 F8                          and     [di+ANIM_Y], 0FFF8h
273F:5FE7  83 64 0F F8                          and     [si+HS_Y], 0FFF8h

; The buffer pointed to by HS[HS_MOVEMENT_SRC_OFFSET] now contains a set of
; direction numbers and steps necessary to get the player to the destination
; they've clicked on

; Code jumps to this point to handle the continual walking

273F:5FEB                       loc_1219:
273F:5FEB  8B 44 52                             mov     ax, [si+HS_DEST_HOTSPOT]
273F:5FEE  0B C0                                or      ax,ax                   ; Walking to a room exit hotspot:
273F:5FF0  74 17                                jz      loc_1221                ; No, straight walking
273F:5FF2  3D FFFF                              cmp     ax, 0FFFFh
273F:5FF5  74 12                                je      loc_1221
273F:5FF7  56                                   push    si
273F:5FF8  53                                   push    bx
273F:5FF9  E8 11F2                              call    room_exit_hs_get_pointer
273F:5FFC  8A 44 0C                             mov     al, [si+REHS_EXIT_BLOCKED]
273F:5FFF  5B                                   pop     bx
273F:6000  5E                                   pop     si
273F:6001  0A C0                                or      al, al                  ; Is exit now blocked?
273F:6003  74 04                                jz      loc_1221                ; Keep walking if not
273F:6005  C6 07 00                             mov     byte ptr [bx], 0        ; Stop the player walking

273F:6008                       loc_ret_1220:                                   ;  xref 273F:600E
273F:6008  C3                                   retn
273F:6009                       loc_1221:                                       ;  xref 273F:5FF0, 5FF5, 6003
273F:6009  E8 B1A9                              call    character_paused_list_check
273F:600C  0B C0                                or      ax,ax                   ; Zero ?
273F:600E  75 F8                                jnz     loc_ret_1220            ; Jump if not zero
273F:6010  E8 AE9D                              call    character_update_frame
273F:6013  0A C0                                or      al, al                  ; Zero ?
273F:6015  74 1F                                jz      loc_1224                ; Jump if zero
273F:6017  80 3E 9834 04                        cmp     cursor_state, CURSORSTATE_BUMPED
273F:601C  75 05                                jne     loc_1222                ; Jump if not equal
273F:601E  C6 06 9834 00                        mov     cursor_state, CURSORSTATE_NONE
273F:6023                       loc_1222:                                       ;  xref 273F:601C
273F:6023  F6 44 FF FF                          test    byte ptr [si-HS_DEST2_SET], 0FFh
273F:6027  74 0A                                jz      loc_1223                ; Jump if zero
273F:6029  C6 44 44 06                          mov     byte ptr [si+HS_CHAR_MODE], CHARMODE_6
273F:602D  C7 44 42 000F                        mov     word ptr [si+HS_DELAY_CTR], 15
273F:6032  C3                                   retn
273F:6033                       loc_1223:                                       ;  xref 273F:5FDB, 6027
273F:6033  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION
273F:6036                       loc_1224:                                       ;  xref 273F:6015
273F:6036  E9 E24F                              jmp     character_check_room_change

                            player_tick_proc    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:4313
                                ;��������������������������������������������������������������������������

         character_change_room_check_bumped     proc    near
273F:6039  8B 7C 0B                             mov     di, [si+HS_ANIM_OFFSET]
273F:603C  E8 E46A                              call    check_for_impinging_characters
273F:603F  75 30                                jnz     loc_1225                ; No character bumped
273F:6041  8B DE                                mov     bx, si
273F:6043  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:6046  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:6049  C6 44 FF 01                          mov     byte ptr [si+HS_DEST2_SET], 1
273F:604D  8B 44 54                             mov     ax, [si+HS_DEST_X]
273F:6050  89 44 FB                             mov     [si+HS_DEST2_X], ax
273F:6053  8B 44 56                             mov     ax, [si+HS_DEST_Y]
273F:6056  89 44 FD                             mov     [si+HS_DEST2_Y], ax
273F:6059  C6 06 9834 04                        mov     cursor_state, CURSORSTATE_BUMPED
273F:605E  C6 44 2A 00                          mov     byte ptr [si+HS_ACTION_CTR], 0
273F:6062  80 44 4C 01                          add     byte ptr [si+HS_BLOCKED_FLAG], 1
273F:6066  C7 44 52 0000                        mov     word ptr [si+HS_DEST_HOTSPOT], 0
273F:606B  E8 F5F8                              call    character_set_random_dest
273F:606E  33 C0                                xor     ax, ax                  ; Zero register
273F:6070  C3                                   retn
273F:6071                       loc_1225:                                       ;  xref 273F:603F
273F:6071  0D 0001                              or      ax, 1

273F:6074                       loc_ret_1226:                                   ;  xref 273F:60D3
273F:6074  C3                                   retn
          character_change_room_check_bumped    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:006E
                                ;��������������������������������������������������������������������������

                       player_change_room       proc    near
273F:6075 BE 6CEF                              mov     si, offset player_hotspot_rec
273F:6078  8B 7C 0B                             mov     di, [si+HS_ANIM_OFFSET] ; Get player anim rec
273F:607B  C6 45 1D 2A                          mov     byte ptr [di+ANIM_SKIP], 2Ah
273F:607F  8B DE                                mov     bx, si
273F:6081  03 5F 61                             add     bx, [bx+HS_ACTION_OFFSET]
273F:6084  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:6087  C6 07 00                             mov     byte ptr [bx], CHAR_ACTION_NONE
273F:608A  A1 9832                              mov     ax, room_number
273F:608D  89 45 0E                             mov     [di+ANIM_ROOM_NUM], ax  ; Set player's room #
273F:6090  89 44 06                             mov     [si+HS_ROOM_NUM], ax
273F:6093  A1 982E                              mov     ax, new_room_x          ; Set x position
273F:6096  24 F8                                and     al, 0F8h
273F:6098  0C 05                                or      al, 5
273F:609A  89 05                                mov     [di+ANIM_X], ax
273F:609C  89 44 0D                             mov     [si+HS_X], ax
273F:609F  A1 9830                              mov     ax, new_room_y          ; Set y position
273F:60A2  25 FFF8                              and     ax, 0FFF8h
273F:60A5  89 45 02                             mov     [di+ANIM_Y], ax
273F:60A8  89 44 0F                             mov     [si+HS_Y], ax
273F:60AB  C7 06 982C 0000                      mov     new_room_number_2, 0
273F:60B1  8B 5D 0E                             mov     bx, [di+ANIM_ROOM_NUM]
273F:60B4  56                                   push    si
273F:60B5  E8 1B53                              call    hotspot_enable
273F:60B8  5E                                   pop     si
273F:60B9  8B 4C 50                             mov     cx, [si+HS_DIRECTION]
273F:60BC  C7 44 50 0000                        mov     word ptr [si+HS_DIRECTION], 0
273F:60C1  F6 C1 80                             test    cl, DIR_UP
273F:60C4  75 12                                jnz     loc_1227                ; Jump if not zero
273F:60C6  F6 C1 40                             test    cl, DIR_DOWN
273F:60C9  75 13                                jnz     loc_1229                ; Jump if not zero
273F:60CB  F6 C1 20                             test    cl, DIR_LEFT
273F:60CE  75 0B                                jnz     loc_1228                ; Jump if not zero
273F:60D0  F6 C1 10                             test    cl, DIR_RIGHT
273F:60D3  74 9F                                jz      loc_ret_1226            ; Jump if zero
273F:60D5  E9 E434                              jmp     char_face_right
273F:60D8                       loc_1227:                                       ;  xref 273F:60C4
273F:60D8  E9 E3FE                              jmp     char_face_up
273F:60DB                       loc_1228:                                       ;  xref 273F:60CE
273F:60DB  E9 E41D                              jmp     char_face_left
273F:60DE                       loc_1229:                                       ;  xref 273F:60C9
273F:60DE  E9 E409                              jmp     char_face_down
                       player_change_room       endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:00A6
                                ;��������������������������������������������������������������������������

273F:60E1                       sub_138         proc    near
273F:60E1                       loc_1230:                                       ;  xref 273F:6106
273F:60E1 BF B14E                              mov     di, offset animation_table
273F:60E4  BE 6CEF                              mov     si, offset player_hotspot_rec
273F:60E7  E8 B021                              call    character_find_impinging_chars
273F:60EA  F7 06 10BE FFFF                      test    num_impinging_chars, 0FFFFh
273F:60F0  74 16                                jz      loc_ret_1231            ; Jump if zero
273F:60F2  FF 36 6D06                           push    player_tick_handler
273F:60F6  C7 06 6D06 41BD                      mov     player_tick_handler, offset null_tick_proc
273F:60FC  E8 E311                              call    character_paused_list_countdown
273F:60FF  E8 E094                              call    animation_tick
273F:6102  8F 06 6D06                           pop     player_tick_handler
273F:6106  EB D9                                jmp     short loc_1230          ; (60E1)

273F:6108                       loc_ret_1231:                                   ;  xref 273F:60F0
273F:6108  C3                                   retn
                                sub_138         endp

273F:6109  00                                   db      0

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:8132
                                ;��������������������������������������������������������������������������

                           start_talk_noone     proc    near
273F:610A  B0 01                                mov     al, 1
273F:610C  8B D1                                mov     dx, cx
273F:610E  B9 03E7                              mov     cx, NOONE_HOTSPOT_ID
273F:6111  EB 38                                jmp     talk_converse
                           start_talk_noone     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:6113  B8 0001                              mov     ax,1
273F:6116  EB 33                                jmp     talk_converse

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; bx=talking char Id, cx=talk to char Id, dx=string Id
                                ;��������������������������������������������������������������������������

                               seq_converse     proc    near
273F:6118  32 C0                                xor     al, al
273F:611A  EB 2F                                jmp     talk_converse
                               seq_converse     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:611C                        talk_setup:
273F:611C  EB 0C                                jmp     talk_setup_2

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:611E  32 C0                                xor     al,al                   ; Zero register
273F:6120  8B D3                                mov     dx,bx
273F:6122  BB 03E8                              mov     bx, PLAYER_HOTSPOT_ID
273F:6125  B9 03E7                              mov     cx,3E7h
273F:6128  EB 21                                jmp     short talk_converse

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:5DF9

273F:612A                  talk_setup_2:
273F:612A  51                                   push    cx
273F:612B  E8 ABBA                              call    get_room_resource_pointer
273F:612E  59                                   pop     cx

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:5DDC, 8C43, 8C8F, 8D33

                           talk_setup_3:
273F:612F 89 54 3C                             mov     [si+HS_RESPONSE_ID], dx
273F:6132  89 4C 39                             mov     [si+HS_TALK_CHAR_ID], cx
273F:6135  C7 44 37 0028                        mov     word ptr [si+HS_TALK_COUNTDOWN], TALK_COUNTDOWN_MAX
273F:613A  56                                   push    si
273F:613B  8B D9                                mov     bx, cx
273F:613D  E8 ABA8                              call    get_room_resource_pointer ; Get char talking to
273F:6140  5B                                   pop     bx
273F:6141  87 DE                                xchg    bx, si                  ; bx=hotspot talking to
273F:6143  8B 47 37                             mov     ax, [bx+HS_TALK_COUNTDOWN]
273F:6146  01 44 37                             add     [si+HS_TALK_COUNTDOWN], ax
273F:6149  EB 16                                jmp     short loc_1236

; bx=talking char Id, cx=talking to char Id, dx=string Id, ax=???
273F:614B                 talk_converse:
273F:614B  50                                   push    ax
273F:614C  51                                   push    cx
273F:614D  E8 AB98                              call    get_room_resource_pointer
273F:6150  59                                   pop     cx
273F:6151  58                                   pop     ax

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:582D, 638C

273F:6152               talk_converse_2:
273F:6152 �89 54 3C                             mov     [si+HS_RESPONSE_ID], dx
273F:6155  89 4C 39                             mov     [si+HS_TALK_CHAR_ID],cx
273F:6158  C7 44 37 0028                        mov     [si+HS_TALK_COUNTDOWN], TALK_COUNTDOWN_MAX
273F:615D  A8 FF                                test    al,0FFh
273F:615F  74 16                                jz      loc_ret_1237            ; Jump if zero
273F:6161                      loc_1236:                                        ;  xref 273F:6149
273F:6161  8B 44 37                             mov     ax, [si+HS_TALK_COUNTDOWN]
273F:6164  89 44 42                             mov     [si+HS_DELAY_CTR], ax
273F:6167  C6 44 44 05                          mov     byte ptr [si+HS_CHAR_MODE], CHARMODE_CONVERSING
273F:616B  A1 BA19                              mov     ax, use_hotspot_id
273F:616E  89 44 3E                             mov     [si+HS_V3E], ax
273F:6171  A1 BA1B                              mov     ax, active_hotspot_id
273F:6174  89 44 40                             mov     [si+HS_V40], ax

273F:6177                  loc_ret_1237:
273F:6177  C3                                   retn
                               seq_converse     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:4F8A, 5E4C, 81B3, 81F3, 820E, 8241, 82A0
                                ;                             85CE, 8663, 87EC, 882A, 8D3B, 8D59
                                ; si = hotspot record,  bx = table offset
                                ;��������������������������������������������������������������������������

                      talk_countdown_handler    proc    near
273F:6178 F7 44 37 FFFF                        test    word ptr [si+HS_TALK_COUNTDOWN], 0FFFFh
273F:617D  74 F8                                jz      loc_ret_1237            ; Jump if zero
273F:617F  83 7C 37 28                          cmp     word ptr [si+HS_TALK_COUNTDOWN], TALK_COUNTDOWN_MAX
273F:6183  74 22                                je      loc_1241                ; Jump if equal
273F:6185  F6 06 CE20 80                        test    game_flags, 80h
273F:618A  75 16                                jnz     loc_1240                ; Jump if not zero
273F:618C  F6 06 CE20 0C                        test    game_flags, 0Ch
273F:6191  74 0A                                jz      loc_1239                ; Jump if zero
273F:6193  83 44 42 01                          add     word ptr [si+HS_DELAY_CTR], 1
273F:6197  80 2E CE20 04                        sub     game_flags, 4
273F:619C  C3                                   retn
273F:619D                       loc_1239:                                       ;  xref 273F:6191
273F:619D  80 0E CE20 04                        or      game_flags, 4
273F:61A2                       loc_1240:                                       ;  xref 273F:618A
273F:61A2  83 6C 37 01                          sub     word ptr [si+HS_TALK_COUNTDOWN], 1
273F:61A6  C3                                   retn
273F:61A7                       loc_1241:                                       ;  xref 273F:6183
273F:61A7  83 6C 37 01                          sub     word ptr [si+HS_TALK_COUNTDOWN], 1
273F:61AB  53                                   push    bx
273F:61AC  E8 0020                              call    talk_add_voice_animation
273F:61AF  E8 0298                              call    sub_153                 ; (644A)
273F:61B2  81 7C 39 03E7                        cmp     word ptr [si+HS_TALK_CHAR_ID], NOONE_HOTSPOT_ID
273F:61B7  74 14                                je      loc_1242                ; Jump if equal
273F:61B9  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]
273F:61BC  8B 5C 39                             mov     bx, [si+HS_TALK_CHAR_ID]
273F:61BF  89 1E BA1B                           mov     active_hotspot_id, bx
273F:61C3  50                                   push    ax
273F:61C4  53                                   push    bx
273F:61C5  E8 E532                              call    character_face_hotspot_2
273F:61C8  58                                   pop     ax
273F:61C9  5B                                   pop     bx
273F:61CA  E8 E52D                              call    character_face_hotspot_2
273F:61CD                       loc_1242:                                       ;  xref 273F:61B7
273F:61CD  5B                                   pop     bx
273F:61CE  C3                                   retn
                      talk_countdown_handler    endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:61AC
                                ;��������������������������������������������������������������������������

                talk_add_voice_animation        proc    near
273F:61CF  8B 45 1B                             mov     ax,[di+ANIM_HOTSPOT_ID]
273F:61D2  57                                   push    di
273F:61D3 BF B14E                              mov     di, offset animation_table
273F:61D6  B9 002D                              mov     cx, NUM_ANIMATION_SLOTS

273F:61D9                       locloop_1243:
273F:61D9  F6 45 0C FF                          test    byte ptr [di+ANIM_LAYER], 0FFh ; Empty slot?
273F:61DD  74 12                                jz      loc_1245                ; Jump if slot found
273F:61DF  83 7D 1B FF                          cmp     word ptr [di+ANIM_HOTSPOT_ID], 0FFFFh
273F:61E3  75 05                                jne     loc_1244                ; Jump if not equal
273F:61E5  3B 45 1E                             cmp     ax,[di+1Eh]
273F:61E8  74 07                                je      loc_1245                ; Jump if equal
273F:61EA                       loc_1244:                                       ;  xref 273F:61E3
273F:61EA  83 C7 29                             add     di, ANIMATION_SLOT_SIZE
273F:61ED  E2 EA                                loop    locloop_1243            ; Loop if cx > 0

273F:61EF  5F                                   pop     di
273F:61F0  C3                                   retn

273F:61F1                       loc_1245:                                       ;  xref 273F:61DD, 61E8
273F:61F1  5B                                   pop     bx
273F:61F2  87 DF                                xchg    bx,di

; di = passed character animation entry, bx = slot to add voice entry into

273F:61F4  8B 45 0E                             mov     ax, [di+ANIM_ROOM_NUM]
273F:61F7  89 47 0E                             mov     [bx+ANIM_ROOM_NUM], ax
273F:61FA  C7 47 1B FFFF                        mov     word ptr [bx+ANIM_HOTSPOT_ID], 0FFFFh
273F:61FF  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]
273F:6202  89 47 1E                             mov     [bx+1Eh], ax
273F:6205  8B 44 3C                             mov     ax, [si+3Ch]
273F:6208  89 47 20                             mov     [bx+20h],ax
273F:620B  C6 47 0D 01                          mov     byte ptr [bx+ANIM_FLAGS], 1
273F:620F  8B 05                                mov     ax, [di]                ; X position
273F:6211  05 000C                              add     ax, 12
273F:6214  89 07                                mov     [bx], ax
273F:6216  8B 45 02                             mov     ax, [di+ANIM_Y]
273F:6219  2D 0012                              sub     ax, 18
273F:621C  89 47 02                             mov     [bx+ANIM_Y], ax
273F:621F  C7 47 04 0020                        mov     word ptr [bx+ANIM_WIDTH], 32
273F:6224  C7 47 06 0012                        mov     word ptr [bx+ANIM_HEIGHT], 18
273F:6229  C6 47 0C 01                          mov     byte ptr [bx+ANIM_LAYER], 1
273F:622D  C6 47 10 01                          mov     byte ptr [bx+ANIM_CAN_UNLOAD], 1
273F:6231  C7 47 11 625E                        mov     word ptr [bx+ANIM_TICK_PROC], offset voice_tick_proc
273F:6236  C7 47 13 0018                        mov     word ptr [bx+ANIM_WIDTH_COPY], 24
273F:623B  8B 45 15                             mov     ax, [di+ANIM_HEIGHT_COPY]
273F:623E  05 000E                              add     ax, 14
273F:6241  89 47 15                             mov     [bx+ANIM_HEIGHT_COPY], ax
273F:6244  C7 47 17 0001                        mov     word ptr [bx+17h], 1
273F:6249  C7 47 08 0000                        mov     word ptr [bx+8], 0
273F:624E  A1 5813                              mov     ax, voice_pixel_segment
273F:6251  89 47 0A                             mov     [bx+ANIM_SEGMENT], ax
273F:6254  C6 47 28 00                          mov     byte ptr [bx+ANIM_START_COLOUR], 0
273F:6258  C7 47 24 0028                        mov     word ptr [bx+24h], 28h
273F:625D  C3                                   retn
                talk_add_voice_animation        endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                            voice_tick_proc     proc    near
273F:625E  83 6D 24 01                          sub     word ptr [di+ANIM_VOICE_CTR], 1 ; Decrement countdown ctr
273F:6262  74 3A                                jz      loc_1247                ; Jump if zero
273F:6264  8B 5D 1E                             mov     bx, [di+ANIM_VOICE_CHAR_ID]
273F:6267  E8 AA7E                              call    get_room_resource_pointer
273F:626A  8B 45 0E                             mov     ax, [di+ANIM_ROOM_NUM]
273F:626D  3B 44 06                             cmp     ax, [si+HS_ROOM_NUM]    ; Still in same room as char?
273F:6270  75 2C                                jne     loc_1247                ; If not then unload
273F:6272  F7 44 37 FFFF                        test    word ptr [si+HS_TALK_COUNTDOWN],0FFFFh
273F:6277  74 25                                jz      loc_1247                ; Jump if zero
273F:6279  E8 E532                              call    room_check_x_extents
273F:627C  74 06                                jz      loc_1246                ; Jump if zero
273F:627E  C7 45 02 0008                        mov     word ptr [di+ANIM_Y], -120
273F:6283  C3                                   retn
273F:6284                       loc_1246:                                       ;  xref 273F:627C
273F:6284  8A 44 35                             mov     al, [si+HS_TALK_X]
273F:6287  98                                   cbw
273F:6288  03 44 0D                             add     ax, [si+HS_X]
273F:628B  05 000C                              add     ax, 12
273F:628E  89 05                                mov     [di], ax

273F:6290  8A 44 36                             mov     al,[si+HS_TALK_Y]
273F:6293  98                                   cbw                            
273F:6294  03 44 0F                             add     ax,[si+HS_Y]
273F:6297  2D 0012                              sub     ax, 18
273F:629A  89 45 02                             mov     [di+ANIM_Y], ax
273F:629D  C3                                   retn
273F:629E                       loc_1247:                                       ;  xref 273F:6262, 6270, 6277
273F:629E  E9 AFD6                              jmp     animation_unload_2
                            voice_tick_proc     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0113
                                ;��������������������������������������������������������������������������

                            handle_talking      proc    near
273F:62A1  83 3E 9838 01                        cmp     data_1087,1             ; (31E4:9838=0)
273F:62A6  72 3C                                jb      loc_ret_1249            ; Jump if below
273F:62A8  74 3B                                jz      loc_1250                ; Jump if zero
273F:62AA  83 3E 9838 02                        cmp     data_1087,2             ; (31E4:9838=0)
273F:62AF  74 75                                je      loc_1251                ; Jump if equal
273F:62B1  83 06 9838 01                        add     data_1087,1             ; (31E4:9838=0)
273F:62B6  A1 9847                              mov     ax,data_1093            ; (31E4:9847=0)
273F:62B9  39 06 9838                           cmp     data_1087,ax            ; (31E4:9838=0)
273F:62BD  72 25                                jb      loc_ret_1249            ; Jump if below
273F:62BF  C7 06 9838 0000                      mov     data_1087,0             ; (31E4:9838=0)

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:64BC, 8DDF

273F:62C5                       sub_147:
273F:62C5                       loc_1248:                                       ;  xref 273F:149F, 65DB
273F:62C5 A1 11C2                              mov     ax, talk_dialog_left
273F:62C8  8B 1E 11C0                           mov     bx, talk_dialog_top
273F:62CC  8B 2E 11C4                           mov     bp, talk_dialog_width
273F:62D0  8B 16 11C6                           mov     dx, talk_dialog_height
273F:62D4  B1 81                                mov     cl, 81h
273F:62D6  E8 A8B6                              call    sub_22                  ; (0B8F)
273F:62D9  C6 06 9837 00                        mov     talk_dialog_active, 0
273F:62DE  C7 06 9838 0000                      mov     data_431,0              ; (273F:9838=5C8Bh)

273F:62E4                       loc_ret_1249:                                   ;  xref 273F:62A6, 62BD
273F:62E4  C3                                   retn


273F:62E5                       loc_1250:                                       ;  xref 273F:62A8
273F:62E5  C7 06 9847 0014                      mov     data_439,14h            ; (273F:9847=0F7F5h)
273F:62EB  C6 06 9837 01                        mov     talk_dialog_active, 1
273F:62F0  83 06 9838 01                        add     data_431,1              ; (273F:9838=5C8Bh)
273F:62F5  BF CCE0                              mov     di, offset talk_character_buffer
273F:62F8  8B 1E 983B                           mov     bx, talk_character_id
273F:62FC  E8 AA20                              call    get_room_resource_pointer3
273F:62FF  8B 44 02                             mov     ax, [si+HSH_NAME]       ; Get character name  
273F:6302  80 E4 1F                             and     ah, 1Fh
273F:6305  E8 1A32                              call    decode_string
273F:6308  A1 983D                              mov     ax, data_434             ; (273F:983D=3B75h)
273F:630B  E8 005A                              call    sub_148                 ; (6368)
273F:630E  BF CCF4                              mov     di, offset talk_text_buffer
273F:6311  A1 983D                              mov     ax, data_434
273F:6314  E8 1A23                              call    decode_string
273F:6317  BF CCF4                              mov     di, offset talk_text_buffer
273F:631A BE CCE0                              mov     si, offset talk_character_buffer
273F:631D  E8 B72A                              call    talk_dialog_init
273F:6320  C6 06 4B40 01                        mov     data_791, 1 
273F:6325  C3                                   retn
273F:6326                       loc_1251:                                       ;  xref 273F:62AF
273F:6326  83 06 9847 03                        add     data_439,3              ; (273F:9847=0F7F5h)
273F:632B  F6 06 CE20 80                        test    game_flags, 80h
273F:6330  75 12                                jnz     loc_1253                ; Jump if not zero
273F:6332  F6 06 CE20 03                        test    game_flags, 3
273F:6337  74 06                                jz      loc_1252                ; Jump if zero
273F:6339  80 2E CE20 01                        sub     game_flags, 1
273F:633E  C3                                   retn
273F:633F                       loc_1252:                                       ;  xref 273F:6337
273F:633F  80 0E CE20 01                        or      game_flags, 1
273F:6344                       loc_1253:                                       ;  xref 273F:6330
273F:6344  C6 06 4B40 01                        mov     data_791, 1
273F:6349 BB B9F9                              mov     bx, talk_speech_ptr
273F:634C  E8 B849                              call    sub_51                  ; (1B98)
273F:634F  0B C0                                or      ax,ax                   ; Zero ?
273F:6351  74 14                                jz      loc_ret_1254            ; Jump if zero
273F:6353  83 06 9838 01                        add     data_431, 1
273F:6358  C6 06 4B40 00                        mov     data_791, 0
273F:635D  80 26 CE20 F0                        and     game_flags, 0F0h
273F:6362  80 0E CE20 05                        or      game_flags, 5

273F:6367                       loc_ret_1254:                                   ;  xref 273F:6351
273F:6367  C3                                   retn
                            handle_talking      endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:630B, 6428
                                ; ax=11fh, dx=player id, si=player hotspot, di=player anim slot
                                ;��������������������������������������������������������������������������

273F:6368                       sub_148         proc    near
273F:6368  E8 1B28                              call    sub_208                 ; (7E93)
273F:636B  8A D8                                mov     bl,al
273F:636D  56                                   push    si
273F:636E  53                                   push    bx
273F:636F  BF 4B43                              mov     di, offset hotspot_name
273F:6372  A1 9843                              mov     ax,data_437             ; (273F:9843=3F75h)
273F:6375  E8 1B2E                              call    sub_209                 ; (7EA6)
273F:6378  5B                                   pop     bx
273F:6379  5E                                   pop     si
273F:637A  56                                   push    si
273F:637B  BF 4B93                              mov     di, action_name
273F:637E  A1 9845                              mov     ax,data_438             ; (273F:9845=448Bh)
273F:6381  E8 1B22                              call    sub_209                 ; (7EA6)
273F:6384  5E                                   pop     si
273F:6385  C3                                   retn
                                sub_148         endp

                                                                                ;* No entry point to code
273F:6386  B9 03E7                              mov     cx,3E7h
273F:6389  B8 0001                              mov     ax,1
273F:638C  E8 FDC3                              call    sub_143                 ; (6152)
273F:638F  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:52A9
                                ;��������������������������������������������������������������������������

                     display_message_dialog     proc    near
273F:6390  89 16 4B41                           mov     data_792, dx
273F:6394  53                                   push    bx
273F:6395  8B D9                                mov     bx, cx
273F:6397  E8 A94E                              call    get_room_resource_pointer
273F:639A  8B 7C 0B                             mov     di, [si+HS_ANIM_OFFSET]
273F:639D  5B                                   pop     bx
273F:639E  B2 01                                mov     dl,1
273F:63A0  EB 19                                jmp     display_message_dialog_4
                                ; si = HS [from cx], bx = param1, dl = 1

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:4613, 5BC1, 5CCD

                   display_message_dialog_2:
273F:63A2  8B 16 BA1B                           mov     dx, active_hotspot_id
273F:63A6  89 16 4B41                           mov     data_792, dx
273F:63AA  8B 4D 1B                             mov     cx, [di+ANIM_HOTSPOT_ID]
273F:63AD  B2 01                                mov     dl,1
273F:63AF  EB 0A                                jmp     display_message_dialog_4

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:465A, 466E, 467E, 576B, 5D0F
                                ;   ax = Id stored in a sequence offset: 801ah for "look through" window
                                ;   si = player hotspot rec, di = player animation slot

                   display_message_dialog_3:
273F:63B1 80 E4 7F                             and     ah, 7Fh
273F:63B4  8B D8                                mov     bx, ax
273F:63B6  8B 4D 1B                             mov     cx, [di+ANIM_HOTSPOT_ID]
273F:63B9  33 D2                                xor     dx,dx

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:8D20

                   display_message_dialog_4:
273F:63BB  8B C1                                mov     ax,cx
273F:63BD  E8 A92A                              call    get_room_resource_pointer2 ; Get hs resource
273F:63C0  8B 7C 0B                             mov     di,[si+HS_ANIM_OFFSET]  ; Get char's hotspot Id
273F:63C3  B8 47D5                              mov     ax, messages_seg
273F:63C6  8E C0                                mov     es, ax
273F:63C8  8B C3                                mov     ax, bx
273F:63CA  87 CA                                xchg    cx, dx
273F:63CC  BB 0000                              mov     bx, 0
; ax = the passed offset with high bit cleared: eg. 801A for window look throug => 1Ah
; si=hotspot rec, di=player anim slot, dx=character hotspot Id
273F:63CF                       loc_1258:                                       ; Find entry for char Id
273F:63CF 26: 39 17                            cmp     es:[bx],dx
273F:63D2  74 05                                je      loc_1259
273F:63D4  83 C3 04                             add     bx,4
273F:63D7  EB F6                                jmp     short loc_1258
273F:63D9                       loc_1259:
273F:63D9  26: 8B 5F 02                         mov     bx,es:[bx+2]            ; bx<=5Ch
273F:63DD  80 E4 7F                             and     ah,7Fh
273F:63E0  52                                   push    dx
273F:63E1  BA 08C4                              mov     dx,8C4h
273F:63E4                       loc_1260:                                       ;  xref 273F:63F3
273F:63E4 26: 83 3F FF                         cmp     word ptr es:[bx],0FFFFh ; Check [5ch]
273F:63E8  74 0E                                je      loc_1262                ; End of list?
273F:63EA  26: 3B 47 02                         cmp     ax,es:[bx+2]            ; Found 1Ah?
273F:63EE  74 05                                je      loc_1261                ; Jump if equal
273F:63F0  83 C3 04                             add     bx,4
273F:63F3  EB EF                                jmp     short loc_1260          ; Loop through table
273F:63F5                       loc_1261:
273F:63F5  26: 8B 17                            mov     dx, es:[bx]             ; dx<=811fh
273F:63F8                       loc_1262:
273F:63F8  8B C2                                mov     ax,dx                   ; ax=811fh
273F:63FA  5A                                   pop     dx                      ; dx=3e8h
273F:63FB  3D 0076                              cmp     ax, 76h
273F:63FE  74 08                                je      loc_1263                ; Jump if equal
273F:6400  3D 0120                              cmp     ax,120h
273F:6403  75 06                                jne     loc_1264                ; Jump if not equal
273F:6405  E9 0157                              jmp     loc_1279                ; (655F)
273F:6408                       loc_1263:                                       ;  xref 273F:63FE
273F:6408  E9 0144                              jmp     loc_1278                ; (654F)
273F:640B                       loc_1264:                                       ;  xref 273F:6403
273F:640B  0B C0                                or      ax,ax                   ; Zero ?
273F:640D  74 3A                                jz      loc_ret_1267            ; Jump if zero
273F:640F  79 22                                jns     loc_1265                ; Jump if not sign

273F:6411  8B D8                                mov     bx, ax
273F:6413  80 E7 7F                             and     bh, 7Fh                 ; bx=811fh
273F:6416  A1 BA19                              mov     ax, use_hotspot_id ; ax=41Bh
273F:6419  A3 9843                              mov     data_437,ax
273F:641C  A1 BA1B                              mov     ax, active_hotspot_id   ; ax=41bh
273F:641F  A3 9845                              mov     data_438,ax
273F:6422  56                                   push    si
273F:6423  57                                   push    di
273F:6424  55                                   push    bp
273F:6425  53                                   push    bx
273F:6426  8B C3                                mov     ax,bx
; ax=11fh, dx=player id, si=player hotspot, di=player anim slot
273F:6428  E8 FF3D                              call    sub_148                 ; (6368)
273F:642B  5B                                   pop     bx
273F:642C  E8 248D                              call    display_dialog
273F:642F  5D                                   pop     bp
273F:6430  5F                                   pop     di
273F:6431  5E                                   pop     si
273F:6432  C3                                   retn

; Further handling code for if the ax is not signed. In this case the message
; is shown as a talk dialog

273F:6433                       loc_1265:                                       ;  xref 273F:640F
273F:6433  8B D0                                mov     dx, ax
273F:6435  F6 C1 FF                             test    cl, 0FFh
273F:6438  74 07                                jz      loc_1266                ; Jump if zero
273F:643A  8B 0E 4B41                           mov     cx, data_792
273F:643E  E9 FCEE                              jmp     talk_setup_3
273F:6441                       loc_1266:                                       ;  xref 273F:6438
273F:6441  B9 03E7                              mov     cx, 3E7h
273F:6444  B0 01                                mov     al, 1
273F:6446  E9 FD09                              jmp     talk_converse_2

273F:6449                       loc_ret_1267:                                   ;  xref 273F:640D, 6451
273F:6449  C3                                   retn
                     display_message_dialog     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:61AF
                                ;��������������������������������������������������������������������������

                                     sub_153    proc    near
273F:644A  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]    ; Don't display dialog if
273F:644D  3B 06 9832                           cmp     ax, room_number         ;   player not in the same
273F:6451  75 F6                                jne     loc_ret_1267            ;   room as character
273F:6453  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]
273F:6456  3D 03E8                              cmp     ax, PLAYER_HOTSPOT_ID
273F:6459  75 19                                jne     loc_1268                ; Jump if not equal
273F:645B  C7 06 9841 0000                      mov     data_1091, 0
273F:6461  A3 983F                              mov     data_1090, ax             
273F:6464  81 7C 39 03E7                        cmp     word ptr [si+HS_TALK_CHAR_ID], NOONE_HOTSPOT_ID
273F:6469  74 44                                je      loc_1273                ; Jump if equal
273F:646B  8B 5C 39                             mov     bx, [si+NOONE_HOTSPOT_ID]
273F:646E  89 1E 9841                           mov     data_1091, bx
273F:6472  EB 3B                                jmp     short loc_1273          ; (64AF)
273F:6474                       loc_1268:                                       ;  xref 273F:6459
273F:6474  39 06 983F                           cmp     data_1090, ax
273F:6478  74 08                                je      loc_1269                ; Jump if equal
273F:647A  39 06 9841                           cmp     data_1091, ax
273F:647E  74 02                                je      loc_1269                ; Jump if equal
273F:6480  EB 0F                                jmp     short loc_1270          ; (6491)
273F:6482                       loc_1269:                                       ;  xref 273F:6478, 647E
273F:6482  8B 5C 39                             mov     bx,[si+HS_TALK_CHAR_ID]
273F:6485  3B 1E 983F                           cmp     bx, data_1090
273F:6489  74 24                                je      loc_1273                ; Jump if equal
273F:648B  3B 1E 9841                           cmp     bx, data_1091
273F:648F  74 1E                                je      loc_1273                ; Jump if equal
273F:6491                       loc_1270:                                       ;  xref 273F:6480
273F:6491  F6 06 9849 FF                        test    pathfind_data, 0FFh
273F:6496  75 16                                jnz     loc_ret_1272            ; Jump if not zero
273F:6498  F7 06 9838 FFFF                      test    data_431,0FFFFh         ; (273F:9838=5C8Bh)
273F:649E  74 07                                jz      loc_1271                ; Jump if zero
273F:64A0  F6 06 983A FF                        test    byte ptr data_432,0FFh  ; (273F:983A=0F7h)
273F:64A5  75 07                                jnz     loc_ret_1272            ; Jump if not zero
273F:64A7                       loc_1271:                                       ;  xref 273F:649E
273F:64A7  C6 06 983A 00                        mov     byte ptr data_432,0     ; (273F:983A=0F7h)
273F:64AC  EB 06                                jmp     short loc_1274          ; (64B4)

273F:64AE                       loc_ret_1272:                                   ;  xref 273F:6496, 64A5
273F:64AE  C3                                   retn
273F:64AF                       loc_1273:                                       ;  xref 273F:6469, 6472, 6489, 648F
273F:64AF  C6 06 983A 01                        mov     byte ptr data_432,1     ; (273F:983A=0F7h)
273F:64B4                       loc_1274:                                       ;  xref 273F:64AC
273F:64B4  F7 06 9838 FFFF                      test    data_431,0FFFFh         ; (273F:9838=5C8Bh)
273F:64BA  74 03                                jz      loc_1275                ; Jump if zero
273F:64BC  E8 FE06                              call    sub_147                 ; (62C5)
273F:64BF                       loc_1275:                                       ;  xref 273F:64BA
273F:64BF  C7 06 9838 0001                      mov     data_431,1              ; (273F:9838=5C8Bh)
273F:64C5  8B 44 3C                             mov     ax, [si+HS_RESPONSE_ID]
273F:64C8  A3 983D                              mov     data_434,ax             ; (273F:983D=3B75h)
273F:64CB  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]
273F:64CE  A3 983B                              mov     talk_character_id, ax
273F:64D1  8B 44 3E                             mov     ax, [si+HS_V3E]
273F:64D4  A3 9843                              mov     data_437,ax             ; (273F:9843=3F75h)
273F:64D7  8B 44 40                             mov     ax, [si+HS_V40]
273F:64DA  A3 9845                              mov     data_438,ax             ; (273F:9845=448Bh)
273F:64DD  C3                                   retn
                                                                                ;* No entry point to code
273F:64DE  89 1E 983F                           mov     data_1090, bx
273F:64E2  89 0E 9841                           mov     data_1091, cx
273F:64E6  C3                                   retn
                                     sub_153    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:654F, 655F
                                ;��������������������������������������������������������������������������

                      add_puzzled_animation     proc    near
273F:64E7  8B DA                                mov     bx,dx
273F:64E9  53                                   push    bx
273F:64EA  E8 A7FB                              call    get_room_resource_pointer
273F:64ED BB B14E                              mov     bx, offset animation_table
273F:64F0  5A                                   pop     dx
273F:64F1  B9 002D                              mov     cx, NUM_ANIMATION_SLOTS

273F:64F4                       locloop_1276:
273F:64F4  F6 47 0C FF                          test    byte ptr [bx+ANIM_LAYER], 0FFh
273F:64F8  74 0D                                jz      loc_1277                ; Jump if anim has no layer
273F:64FA  39 57 1E                             cmp     [bx+ANIM_VOICE_CHAR_ID], dx
273F:64FD  74 08                                je      loc_1277                ; Jump if equal
273F:64FF  83 C3 29                             add     bx, ANIMATION_SLOT_SIZE
273F:6502  E2 F0                                loop    locloop_1276            ; Loop if cx > 0

273F:6504  83 EB 29                             sub     bx, ANIMATION_SLOT_SIZE
273F:6507                       loc_1277:
273F:6507  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]
273F:650A  89 47 0E                             mov     [bx+ANIM_ROOM_NUM], ax
273F:650D  C7 47 1B FFFE                        mov     word ptr [bx+ANIM_HOTSPOT_ID], 0FFFEh
273F:6512  C7 47 20 0028                        mov     word ptr [bx+ANIM_CTR], 40
273F:6517  89 57 1E                             mov     [bx+ANIM_VOICE_CHAR_ID], dx
273F:651A  C6 47 0D 01                          mov     byte ptr [bx+ANIM_FLAGS], 1
273F:651E  C7 47 04 0020                        mov     word ptr [bx+ANIM_WIDTH], 20h
273F:6523  C7 47 06 0012                        mov     word ptr [bx+ANIM_HEIGHT], 12h
273F:6528  C6 47 0C 01                          mov     byte ptr [bx+ANIM_LAYER], 1
273F:652C  C6 47 10 01                          mov     byte ptr [bx+ANIM_CAN_UNLOAD], 1
273F:6530  C7 47 11 6571                        mov     word ptr [bx+ANIM_TICK_PROC], offset tick_proc_6571
273F:6535  C7 47 13 0013                        mov     word ptr [bx+ANIM_WIDTH_COPY], 19
273F:653A  C7 47 15 0012                        mov     word ptr [bx+ANIM_HEIGHT_COPY], 18
273F:653F  8B 44 1B                             mov     ax, [si+HS_HEIGHT_COPY]
273F:6542  01 47 15                             add     [bx+ANIM_HEIGHT_COPY], ax
273F:6545  C7 47 17 0001                        mov     word ptr [bx+ANIM_Y_CORRECTION], 1
273F:654A  C6 47 28 00                          mov     byte ptr [bx+ANIM_START_COLOUR], 0
273F:654E  C3                                   retn
                      add_puzzled_animation     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUPPORT CODE
                                ;
                                ; This is support code used by display_message_dialog
                                ;��������������������������������������������������������������������������

273F:654F                       loc_1278:                                       ;  xref 273F:6408
273F:654F  E8 FF95                              call    add_puzzled_animation
273F:6552  A1 5813                              mov     ax, voice_pixel_segment
273F:6555  89 47 0A                             mov     [bx+ANIM_SEGMENT], ax
273F:6558  A1 5817                              mov     ax, voice_frame_offset
273F:655B  89 47 08                             mov     [bx+ANIM_FRAME_OFFSET], ax
273F:655E  C3                                   retn
273F:655F                       loc_1279:                                       ;  xref 273F:6405
273F:655F  E8 FF85                              call    add_puzzled_animation
273F:6562  A1 5813                              mov     ax, voice_pixel_segment
273F:6565  89 47 0A                             mov     [bx+ANIM_SEGMENT], ax
273F:6568  A1 5817                              mov     ax, voice_frame_offset
273F:656B  D1 E0                                shl     ax, 1
273F:656D  89 47 08                             mov     [bx+ANIM_FRAME_OFFSET], ax
273F:6570  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                             tick_proc_6571     proc    near
273F:6571  8B 45 1E                             mov     ax, [di+ANIM_VOICE_CHAR_ID]
273F:6574  E8 A773                              call    get_room_resource_pointer2
273F:6577  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]
273F:657A  3B 45 0E                             cmp     ax, [di+ANIM_ROOM_NUM]
273F:657D  75 0B                                jne     loc_1280                ; Jump if not equal
273F:657F  83 6D 20 01                          sub     word ptr [di+ANIM_CTR], 1
273F:6583  74 05                                jz      loc_1280                ; Jump if zero
273F:6585  E8 E226                              call    room_check_x_extents
273F:6588  74 03                                jz      loc_1281                ; Jump if zero
273F:658A                       loc_1280:                                       ;  xref 273F:657D, 6583
273F:658A  E9 ACEA                              jmp     animation_unload_2
273F:658D                       loc_1281:                                       ;  xref 273F:6588
273F:658D  8A 44 35                             mov     al, [si+HS_TALK_X]
273F:6590  98                                   cbw                             ; Convrt byte to word
273F:6591  03 44 0D                             add     ax, [si+HS_X]
273F:6594  05 000C                              add     ax, 12
273F:6597  89 05                                mov     [di+ANIM_X], ax

273F:6599  8A 44 36                             mov     al, [si+HS_TALK_Y]
273F:659C  98                                   cbw
273F:659D  03 44 0F                             add     ax, [si+HS_Y]
273F:65A0  2D 0014                              sub     ax, 20
273F:65A3  89 45 02                             mov     [di+ANIM_Y], ax
273F:65A6  C3                                   retn
                             tick_proc_6571     endp
                                                                                ;* No entry point to code
273F:65A7  A1 983B                              mov     ax, talk_character_id
273F:65AA  E8 A73B                              call    get_room_resource_pointer
273F:65AD  C7 44 37 0000                        mov     word ptr [si+HS_TALK_COUNTDOWN],0
273F:65B2  81 3E 983B 03E8                      cmp     talk_character_id, PLAYER_HOTSPOT_ID
273F:65B8  75 16                                jne     loc_1282                ; Jump if not equal
273F:65BA  A1 9841                              mov     ax, data_1091
273F:65BD  0B C0                                or      ax,ax                   ; Zero ?
273F:65BF  74 0F                                jz      loc_1282                ; Jump if zero
273F:65C1  E8 A724                              call    get_room_resource_pointer
273F:65C4  F7 44 37 FFFF                        test    word ptr [si+HS_TALK_COUNTDOWN],0FFFFh
273F:65C9  74 05                                jz      loc_1282                ; Jump if zero
273F:65CB  C7 44 37 0028                        mov     word ptr [si+HS_TALK_COUNTDOWN],28h
273F:65D0                       loc_1282:                                       ;  xref 273F:65B8, 65BF, 65C9
273F:65D0  C6 06 9837 00                        mov     talk_dialog_active, 0
273F:65D5  C7 06 9838 0000                      mov     data_431,0              ; (273F:9838=5C8Bh)
273F:65DB  E9 FCE7                              jmp     loc_1248                ; (62C5)

                                ;��������������������������������������������������������������������������
                                ;                              TABLE LIST
                                ;
                                ; The following table provides a list of offsets for handler methods
                                ; for each of the possible actions in actions_list
                                ;��������������������������������������������������������������������������

273F:65DE  0000          actions_proc_list      dw      0
273F:65E0  6698                                 dw      offset action_do        ; 01 - GET
273F:65E2  0000                                 dw      0
273F:65E4  6698                                 dw      offset action_do        ; 03 - PUSH
273F:65E6  6698                                 dw      offset action_do        ; 04 - PULL
273F:65E8  6698                                 dw      offset action_do        ; 05 - OPERATE
273F:65EA  6698                                 dw      offset action_do        ; 06 - OPEN
273F:65EC  6698                                 dw      offset action_do        ; 07 - CLOSE
273F:65EE  6698                                 dw      offset action_do        ; 08 - LOCK
273F:65F0  6698                                 dw      offset action_do        ; 09 - UNLOCK
273F:65F2  66B3                                 dw      offset action_use       ; 10 - USE
273F:65F4  66B3                                 dw      offset action_use       ; 11 - GIVE
273F:65F6  6698                                 dw      offset action_do        ; 12 - TALK TO
273F:65F8  6738                                 dw      offset action_tell      ; 13 - TELL
273F:65FA  6698                                 dw      offset action_do        ; 14 - BUY
273F:65FC  6735                                 dw      offset action_look      ; 15 - LOOK
273F:65FE  6698                                 dw      offset action_do        ; 16 - LOOK AT
273F:6600  6698                                 dw      offset action_do        ; 17 - LOOK THROUGH
273F:6602  66E0                                 dw      offset action_ask       ; 18 - ASK
273F:6604  669E                                 dw      offset action_consume   ; 19 - EAT (unused)
273F:6606  669E                                 dw      offset action_consume   ; 20 - DRINK
273F:6608  669B                                 dw      offset action_status    ; 21 - STATUS
273F:660A  6698                                 dw      offset action_do        ; 22 - GO TO
273F:660C  6698                                 dw      offset action_do        ; 23 - RETURN
273F:660E  6698                                 dw      offset action_do        ; 24 - BRIBE
273F:6610  669E                                 dw      offset action_consume   ; 25 - EXAMINE
273F:6612  6698                                 dw      offset action_do        ; 26 - unused

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:1431
                                ;��������������������������������������������������������������������������

                  room_show_rightclick_menu     proc    near

273F:6614  E8 A1D7                              call    sub_11                  ; (07EE)
273F:6617                       loc_1283:                                       ;  xref 273F:670A
273F:6617 C7 06 3382 FFFF                      mov     data_3382, 0FFFFh
273F:661D  C7 06 3380 0000                      mov     data_3380, 0
273F:6623  C7 06 335E 0001                      mov     data_75e, 1
273F:6629  B8 0007                              mov     ax,7
273F:662C  F7 26 336A                           mul     word ptr ds:data_79e    ; (0874:336A=7500h) dx:ax = data * ax
273F:6630  03 06 336E                           add     ax,ds:data_81e          ; (0874:336E=8090h)
273F:6634  A3 335A                              mov     ds:data_74e,ax          ; (0874:335A=0C70Fh)
273F:6637  C7 06 3350 0000                      mov     word ptr ds:data_71e,0  ; (0874:3350=9A90h)
273F:663D  A1 3356                              mov     ax,ds:data_72e          ; (0874:3356=289Ah)
273F:6640  A3 3379                              mov     ds:data_85e,ax          ; (0874:3379=0C722h)
273F:6643  A1 3358                              mov     ax, data_3358
273F:6646  0B C0                                or      ax,ax                   ; Hotspot highlighted?
273F:6648  74 19                                jz      loc_1284                ; No, so set up for look/status menu

273F:664A  1E                                   push    ds
273F:664B  8E DD                                mov     ds,bp
273F:664D  E8 A69A                              call    get_room_resource_pointer2
273F:6650  8B 04                                mov     ax,[si]
273F:6652  8B 54 02                             mov     dx,[si+2]
273F:6655  1F                                   pop     ds
273F:6656  81 E2 10FF                           and     dx,10FFh
273F:665A  75 0D                                jnz     loc_1285                ; Jump if not zero
273F:665C  0B C0                                or      ax,ax                   ; Zero ?
273F:665E  75 09                                jnz     loc_1285                ; Jump if not zero
273F:6660  E9 00D2                              jmp     action_handle

; Execution reaches this point if no hotspot was highlighted. ie. for the look/status menu

273F:6663                       loc_1284:
273F:6663  B8 4000                              mov     ax,4000h                ; Default actions: Drink, Examine,
273F:6666  BA 0118                              mov     dx,118h                 ;   Look, Status

273F:6669                       loc_1285:
273F:6669  F6 06 3360 FF                        test    byte ptr ds:data_76e,0FFh
273F:666E  75 07                                jnz     loc_1286
273F:6670  25 F9FD                              and     ax,0F9FDh               ; Removes Drink, Examine actions..
273F:6673  81 E2 FEF3                           and     dx,0FEF3h               ;    maybe others as well
273F:6677                       loc_1286:
273F:6677  F7 06 337E FFFF                      test    word ptr ds:data_88e,0FFFFh ; (0874:337E=0)
273F:667D  75 04                                jnz     loc_1287
273F:667F  81 E2 FF7F                           and     dx,0FF7Fh               ; Remove Bribe
273F:6683                       loc_1287:
273F:6683  E8 02D4                              call    popmenu_populate_list
273F:6686  E8 0308                              call    menu_make_selections
273F:6689  0B C0                                or      ax,ax                   ; Any selection made
273F:668B  78 51                                js      loc_1290                ; No, so jump out

273F:668D  D1 E0                                shl     ax,1                    ; Get jump destination
273F:668F  8B D8                                mov     bx,ax                   ;  for particular atcion
273F:6691  2E: 8B 87 65DE                       mov     ax, cs:actions_proc_list[bx]
273F:6696  FF E0                                jmp     ax                      ; Jump to handler

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; Action handler for use actions
                                ;��������������������������������������������������������������������������


273F:6698  E8 028A              action_do:      call    sub_159
273F:669B  E9 0097          action_status:      jmp     action_handle


273F:669E  E8 A6B3          action_consume:     call    sub_32                  ; (0D54)
273F:66A1  F7 06 31E4 FFFF                      test    popmenu_entry_count, 0FFFFh
273F:66A7  74 57                                jz      loc_1291                ; Jump if zero
273F:66A9  E8 02E5                              call    menu_make_selections
273F:66AC  0B C0                                or      ax,ax                   ; Zero ?
273F:66AE  78 53                                js      loc_1292                ; Jump if sign=1
273F:66B0  E9 0082                              jmp     action_handle


273F:66B3  E8 A69E              action_use:     call    sub_32                  ; (0D54)
273F:66B6  F7 06 31E4 FFFF                      test    popmenu_entry_count, 0FFFFh
273F:66BC  74 42                                jz      loc_1291                ; Jump if zero
273F:66BE  E8 02D0                              call    menu_make_selections    ; Select inventory item
273F:66C1  0B C0                                or      ax,ax                   ; Zero ?
273F:66C3  78 3E                                js      loc_1292                ; Jump if sign=1
273F:66C5  8B 36 3380                           mov     si, data_3380           ; Get the hotspot
273F:66C9  83 BC 337C 0B                        cmp     word ptr ds:data_86e+1[si],0Bh ; (0874:337C=4758h)
273F:66CE  75 05                                jne     loc_1288                ; Jump if not equal
273F:66D0  BB 33E4                              mov     bx,33E4h
273F:66D3  EB 03                                jmp     short loc_1289          ; (66D8)
273F:66D5                       loc_1288:                                       ;  xref 273F:66CE
273F:66D5  BB 33E0                              mov     bx,33E0h
273F:66D8                       loc_1289:                                       ;  xref 273F:66D3
273F:66D8  E8 0575                              call    sub_166                 ; (6C50)
273F:66DB  E8 0247                              call    sub_159                 ; (6925)
273F:66DE                       loc_1290:                                       ;  xref 273F:668B
273F:66DE  EB 55                                jmp     action_handle


273F:66E0  E8 0242             action_ask:      call    sub_159                 ; (6925)
273F:66E3  BB 33F1                              mov     bx,33F1h
273F:66E6  E8 0567                              call    sub_166                 ; (6C50)
273F:66E9  B8 0001                              mov     ax,1
273F:66EC  E8 A6C0                              call    sub_34                  ; (0DAF)
273F:66EF  F7 06 31E4 FFFF                      test    popmenu_entry_count, 0FFFFh
273F:66F5  74 09                                jz      loc_1291                ; Jump if zero
273F:66F7  E8 0297                              call    menu_make_selections
273F:66FA  0B C0                                or      ax,ax                   ; Zero ?
273F:66FC  78 05                                js      loc_1292                ; Jump if sign=1
273F:66FE  EB 35                                jmp     action_handle
273F:6700                       loc_1291:                                       ;  xref 273F:66A7, 66BC, 66F5
273F:6700  E8 000A                              call    sub_156                 ; (670D)
273F:6703                       loc_1292:                                       ;  xref 273F:66AE, 66C3, 66FC, 6763
273F:6703  1E                                   push    ds
273F:6704  8E DD                                mov     ds,bp
273F:6706  E8 08FC                              call    menubar_clear_image
273F:6709  1F                                   pop     ds
273F:670A  E9 FF0A                              jmp     loc_1283                ; (6617)

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:6700, 6792

273F:670D                       sub_156:
273F:670D  BB 33E7                              mov     bx,33E7h
273F:6710  E8 053D                              call    sub_166                 ; (6C50)
273F:6713  1E                                   push    ds
273F:6714  07                                   pop     es
273F:6715 BF 3174                              mov     di,3174h                ; (273F:3174=7)
273F:6718  B8 33E2                              mov     ax,33E2h
273F:671B  B9 0012                              mov     cx,12h
273F:671E  F3/ AB                               rep     stosw                   ; Rep when cx >0 Store ax to es:[di]
273F:6720  C7 06 334C 0000                      mov     popmenu_num_entries, 0
273F:6726  E8 02B8                              call    menu_make_selections_select
273F:6729  1E                                   push    ds
273F:672A  8E DD                                mov     ds,bp
273F:672C                       loc_1293:                                       ;  xref 273F:6731
273F:672C  F6 06 11D5 FF                        test    byte ptr ds:data_29e,0FFh ; (0000:11D5=8Bh)
273F:6731  75 F9                                jnz     loc_1293                ; Jump if not zero
273F:6733  1F                                   pop     ds
273F:6734  C3                                   retn


273F:6735 E9 A153           action_handle:     jmp     action_handle_2

                  room_show_rightclick_menu     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                                action_tell     proc    near
                                                                                                                                                                                
273F:6738  E8 01EA                              call    sub_159                 ; (6925)
273F:673B  BB 33E4                              mov     bx,33E4h
273F:673E  E8 050F                              call    sub_166                 ; (6C50)
273F:6741                       loc_1295:                                       ;  xref 273F:676E, 67EA
273F:6741 �83 3E 3380 08                        cmp     data_3380, 8
273F:6746  75 06                                jne     loc_1296                ; Jump if not equal
273F:6748  A1 3356                              mov     ax,word ptr ds:[3356h]  ; (273F:3356=9B9h)
273F:674B  A3 3379                              mov     data_266,ax             ; (273F:3379=62C0h)
273F:674E                       loc_1296:                                       ;  xref 273F:6746
273F:674E  BA 006A                              mov     dx,6Ah
273F:6751  B8 07FD                              mov     ax,7FDh
273F:6754  E8 0203                              call    popmenu_populate_list
273F:6757  E8 0237                              call    menu_make_selections
273F:675A  0B C0                                or      ax,ax                   ; Zero ?
273F:675C  79 12                                jns     loc_1298                ; Jump if not sign
273F:675E  83 3E 3380 08                        cmp     data_3380, 8
273F:6763  74 9E                                je      loc_1292                ; Jump if equal
273F:6765                       loc_1297:                                       ;  xref 273F:6795, 679C, 683E
273F:6765 E8 00F7                              call    sub_157                 ; (685F)
273F:6768  C7 06 3380 0008                      mov     data_3380, 8
273F:676E  EB D1                                jmp     short loc_1295          ; (6741)
273F:6770                       loc_1298:                                       ;  xref 273F:675C
273F:6770  3D 0017                              cmp     ax,17h
273F:6773  74 4B                                je      loc_1304                ; Jump if equal
273F:6775  3D 000A                              cmp     ax,0Ah
273F:6778  74 0A                                je      loc_1299                ; Jump if equal
273F:677A  3D 0014                              cmp     ax,14h
273F:677D  74 05                                je      loc_1299                ; Jump if equal
273F:677F  3D 000B                              cmp     ax,0Bh
273F:6782  75 03                                jne     loc_1300                ; Jump if not equal
273F:6784                       loc_1299:                                       ;  xref 273F:6778, 677D
273F:6784  B8 0001                              mov     ax,1
273F:6787                       loc_1300:                                       ;  xref 273F:6782
273F:6787  E8 A625                              call    sub_34                  ; (0DAF)
273F:678A  F7 06 31E4 FFFF                      test    word ptr ds:[31E4h],0FFFFh ; (273F:31E4=0E4h)
273F:6790  75 05                                jnz     loc_1302                ; Jump if not zero
273F:6792                       loc_1301:                                       ;  xref 273F:683B
273F:6792 E8 FF78                              call    sub_156                 ; (670D)
273F:6795  EB CE                                jmp     short loc_1297          ; (6765)
273F:6797                       loc_1302:                                       ;  xref 273F:6790
273F:6797  E8 01F7                              call    menu_make_selections
273F:679A  0B C0                                or      ax,ax                   ; Zero ?
273F:679C  78 C7                                js      loc_1297                ; Jump if sign=1
273F:679E  8B 1E 3380                           mov     bx, data_3380
273F:67A2  8B 9F 337C                           mov     bx,word ptr data_267+1[bx] ; (273F:337C=4Eh)
273F:67A6  83 FB 16                             cmp     bx,16h
273F:67A9  75 03                                jne     loc_1303                ; Jump if not equal
273F:67AB  A3 3379                              mov     data_266,ax             ; (273F:3379=62C0h)
273F:67AE                       loc_1303:                                       ;  xref 273F:67A9
273F:67AE  83 FB 12                             cmp     bx,12h
273F:67B1  74 4E                                je      loc_1308                ; Jump if equal
273F:67B3  83 FB 0B                             cmp     bx,0Bh
273F:67B6  74 66                                je      loc_1309                ; Jump if equal
273F:67B8  83 FB 0A                             cmp     bx,0Ah
273F:67BB  75 03                                jne     loc_1304                ; Jump if not equal
273F:67BD  E9 0081                              jmp     loc_1312                ; (6841)
273F:67C0                       loc_1304:                                       ;  xref 273F:6773, 67BB, 681C, 6839
                                                                                ;            685C
273F:67C0 83 3E 3380 4A                        cmp     data_3380, 4Ah
273F:67C5  73 0B                                jae     loc_1305                ; Jump if above or =
273F:67C7  BE 2E41                              mov     si,2E41h
273F:67CA  BB 2E53                              mov     bx,2E53h
273F:67CD  B9 FFFF                              mov     cx,0FFFFh
273F:67D0  EB 09                                jmp     short loc_1306          ; (67DB)
273F:67D2                       loc_1305:                                       ;  xref 273F:67C5
273F:67D2  BE 2E4B                              mov     si,2E4Bh
273F:67D5  BB 2E55                              mov     bx,2E55h
273F:67D8  B9 0001                              mov     cx,1
273F:67DB                       loc_1306:                                       ;  xref 273F:67D0
273F:67DB  E8 054D                              call    sub_168                 ; (6D2B)
273F:67DE  E8 01B0                              call    menu_make_selections
273F:67E1  0B C0                                or      ax,ax                   ; Zero ?
273F:67E3  78 59                                js      loc_1311                ; Jump if sign=1
273F:67E5  3D 7D00                              cmp     ax,7D00h
273F:67E8  75 03                                jne     loc_1307                ; Jump if not equal
273F:67EA  E9 FF54                              jmp     loc_1295                ; (6741)
273F:67ED                       loc_1307:                                       ;  xref 273F:67E8
273F:67ED  A1 338A                              mov     ax,word ptr ds:[338Ah]  ; (273F:338A=8E9h)
273F:67F0  A3 335E                              mov     data_335E, ax
273F:67F3  33 FF                                xor     di,di                   ; Zero register
273F:67F5  E8 00AD                              call    sub_158                 ; (68A5)
273F:67F8  BB 33F5                              mov     bx,33F5h
273F:67FB  E8 0452                              call    sub_166                 ; (6C50)
273F:67FE  E9 FF34                              jmp     action_handle
273F:6801                       loc_1308:                                       ;  xref 273F:67B1
273F:6801  BB 33F1                              mov     bx,33F1h
273F:6804  E8 0449                              call    sub_166                 ; (6C50)
273F:6807  B8 0001                              mov     ax,1
273F:680A  E8 A5A2                              call    sub_34                  ; (0DAF)
273F:680D  F7 06 31E4 FFFF                      test    word ptr ds:[31E4h],0FFFFh ; (273F:31E4=0E4h)
273F:6813  74 26                                jz      loc_1310                ; Jump if zero
273F:6815  E8 0179                              call    menu_make_selections
273F:6818  0B C0                                or      ax,ax                   ; Zero ?
273F:681A  78 22                                js      loc_1311                ; Jump if sign=1
273F:681C  EB A2                                jmp     short loc_1304          ; (67C0)
273F:681E                       loc_1309:                                       ;  xref 273F:67B6
273F:681E  BB 33E4                              mov     bx,33E4h
273F:6821  E8 042C                              call    sub_166                 ; (6C50)
273F:6824  B8 000B                              mov     ax,0Bh
273F:6827  E8 A585                              call    sub_34                  ; (0DAF)
273F:682A  F7 06 31E4 FFFF                      test    word ptr ds:[31E4h],0FFFFh ; (273F:31E4=0E4h)
273F:6830  74 09                                jz      loc_1310                ; Jump if zero
273F:6832  E8 015C                              call    menu_make_selections
273F:6835  0B C0                                or      ax,ax                   ; Zero ?
273F:6837  78 05                                js      loc_1311                ; Jump if sign=1
273F:6839  EB 85                                jmp     short loc_1304          ; (67C0)
273F:683B                       loc_1310:                                       ;  xref 273F:6813, 6830, 6853
273F:683B  E9 FF54                              jmp     loc_1301                ; (6792)
273F:683E                       loc_1311:                                       ;  xref 273F:67E3, 681A, 6837, 685A
273F:683E  E9 FF24                              jmp     loc_1297                ; (6765)
273F:6841                       loc_1312:                                       ;  xref 273F:67BD
273F:6841  BB 33E0                              mov     bx,33E0h
273F:6844  E8 0409                              call    sub_166                 ; (6C50)
273F:6847  B8 000A                              mov     ax,0Ah
273F:684A  E8 A562                              call    sub_34                  ; (0DAF)
273F:684D  F7 06 31E4 FFFF                      test    word ptr ds:[31E4h],0FFFFh ; (273F:31E4=0E4h)
273F:6853  74 E6                                jz      loc_1310                ; Jump if zero
273F:6855  E8 0139                              call    menu_make_selections
273F:6858  0B C0                                or      ax,ax                   ; Zero ?
273F:685A  78 E2                                js      loc_1311                ; Jump if sign=1
273F:685C  E9 FF61                              jmp     loc_1304                ; (67C0)

                                action_tell     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:6765
                                ;��������������������������������������������������������������������������

273F:685F                       sub_157         proc    near
273F:685F  83 2E 3380 04                        sub     data_3380, 4
273F:6864  8B 1E 3380                           mov     bx, data_3380
273F:6868  8B 87 3382                           mov     ax, data_3382[bx]
273F:686C  C7 87 3382 FFFF                      mov     data_3382[bx],0FFFFh
273F:6872  B9 0140                              mov     cx,140h
273F:6875  50                                   push    ax
273F:6876  33 D2                                xor     dx,dx                   ; Zero register
273F:6878  F7 F1                                div     cx                      ; ax,dx rem=dx:ax/reg
273F:687A  52                                   push    dx
273F:687B  50                                   push    ax
273F:687C  A1 335E                              mov     ax, data_335E
273F:687F  33 D2                                xor     dx,dx                   ; Zero register
273F:6881  F7 F1                                div     cx                      ; ax,dx rem=dx:ax/reg
273F:6883  5A                                   pop     dx
273F:6884  3B C2                                cmp     ax,dx
273F:6886  74 0B                                je      loc_1313                ; Jump if equal
273F:6888  1E                                   push    ds
273F:6889  52                                   push    dx
273F:688A  8E DD                                mov     ds,bp
273F:688C  E8 078D                              call    talk_clear_line
273F:688F  58                                   pop     ax
273F:6890  1F                                   pop     ds
273F:6891  EB 04                                jmp     short loc_1314          ; (6897)
273F:6893                       loc_1313:                                       ;  xref 273F:6886
273F:6893  0B C0                                or      ax,ax                   ; Zero ?
273F:6895  74 03                                jz      loc_1315                ; Jump if zero
273F:6897                       loc_1314:                                       ;  xref 273F:6891
273F:6897  E8 0474                              call    sub_167                 ; (6D0E)
273F:689A                       loc_1315:                                       ;  xref 273F:6895
273F:689A  F7 26 336A                           mul     word ptr ds:[336Ah]     ; (273F:336A=40C7h) dx:ax = data * ax
273F:689E  8B F8                                mov     di,ax
273F:68A0  58                                   pop     ax
273F:68A1  8F 06 335E                           pop     data_335E

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:67F5

273F:68A5                       sub_158:
273F:68A5  8B 1E 3376                           mov     bx,data_265             ; (273F:3376=0F632h)
273F:68A9  8E C3                                mov     es,bx
273F:68AB  81 3E 3368 362D                      cmp     menu_items_proc2, offset vga_menu_items
273F:68B1  75 1D                                jne     loc_1317                ; Jump if not equal
273F:68B3  03 F8                                add     di,ax
273F:68B5  BB 0140                              mov     bx,140h
273F:68B8  2B D8                                sub     bx,ax
273F:68BA  BA 0008                              mov     dx,8
273F:68BD  32 C0                                xor     al,al                   ; Zero register
273F:68BF                       loc_1316:                                       ;  xref 273F:68CC
273F:68BF  57                                   push    di
273F:68C0  8B CB                                mov     cx,bx
273F:68C2  F3/ AA                               rep     stosb                   ; Rep when cx >0 Store al to es:[di]
273F:68C4  5F                                   pop     di
273F:68C5 81 C7 0140                           add     di,data_1458e           ; (F632:0140=0)
273F:68C9  83 EA 01                             sub     dx,1
273F:68CC  75 F1                                jnz     loc_1316                ; Jump if not zero
273F:68CE  EB 4C                                jmp     short loc_1320          ; (691C)
273F:68D0                       loc_1317:                                       ;  xref 273F:68B1
273F:68D0  8A C8                                mov     cl,al
273F:68D2  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:68D4  24 FC                                and     al,0FCh
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 252

273F:68D6  80 E1 07                             and     cl,7
273F:68D9  03 F8                                add     di,ax
273F:68DB  BA FF00                              mov     dx,0FF00h
273F:68DE  D3 FA                                sar     dx,cl                   ; Shift w/sign fill
273F:68E0  BB 00A0                              mov     bx,0A0h
273F:68E3  2B D8                                sub     bx,ax
273F:68E5  B6 08                                mov     dh,8
273F:68E7  57                                   push    di
273F:68E8                       loc_1318:                                       ;  xref 273F:68FE
273F:68E8  26: 20 15                            and     es:[di],dl
273F:68EB  26: 20 55 01                         and     es:[di+1],dl
273F:68EF  26: 20 55 02                         and     es:[di+2],dl
273F:68F3  26: 20 55 03                         and     es:[di+3],dl
273F:68F7 81 C7 00A0                           add     di,data_1457e           ; (F632:00A0=0)
273F:68FB  80 EE 01                             sub     dh,1
273F:68FE  75 E8                                jnz     loc_1318                ; Jump if not zero
273F:6900  5F                                   pop     di
273F:6901  83 C7 04                             add     di,4
273F:6904  83 EB 04                             sub     bx,4
273F:6907  74 13                                jz      loc_1320                ; Jump if zero
273F:6909  B2 08                                mov     dl,8
273F:690B  32 C0                                xor     al,al                   ; Zero register
273F:690D                       loc_1319:                                       ;  xref 273F:691A
273F:690D  57                                   push    di
273F:690E  8B CB                                mov     cx,bx
273F:6910  F3/ AA                               rep     stosb                   ; Rep when cx >0 Store al to es:[di]
273F:6912  5F                                   pop     di
273F:6913  81 C7 00A0                           add     di,0A0h
273F:6917  80 EA 01                             sub     dl,1
273F:691A  75 F1                                jnz     loc_1319                ; Jump if not zero
273F:691C                       loc_1320:                                       ;  xref 273F:68CE, 6907
273F:691C  8E C5                                mov     es,bp
273F:691E  26: C6 06 4BF0 02                    mov     byte ptr es:data_46e,2  ; (0000:4BF0=28h)
273F:6924  C3                                   retn
                                sub_157         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:6698, 66DB, 66E0, 6738
                                ;��������������������������������������������������������������������������

273F:6925                       sub_159         proc    near
273F:6925  8B 1E 3358                           mov     bx, data_3358           ; Get the hotspot Id
273F:6929  8B 36 3380                           mov     si, data_3380           ; Get offset
273F:692D  89 9C 3382                           mov     data_3382[si], bx       ; Store hotspot Id
273F:6931  89 9C 3384                           mov     word ptr ds:[3384h][si], bx
273F:6935  C7 84 3386 FFFF                      mov     word ptr ds:[3386h][si], 0FFFFh
273F:693B  83 06 3380 04                        add     data_3380, 4
273F:6940  1E                                   push    ds
273F:6941  8E DD                                mov     ds,bp
273F:6943  E8 A3D9                              call    get_room_resource_pointer3 ; Get header pointer
273F:6946  8B 44 02                             mov     ax, [si+HSH_NAME]
273F:6949  80 E4 1F                             and     ah, 1Fh
273F:694C  1F                                   pop     ds
273F:694D  BF 30D4                              mov     di, offset hotspot_display_buffer
273F:6950  E8 13E7                              call    decode_string           ; Decode hotspot name
273F:6953  BB 30D4                              mov     bx, offset hotspot_display_buffer
273F:6956  E8 02F7                              call    sub_166                 ; Displays name
273F:6959  C3                                   retn
                                sub_159         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:6683, 6754
                                ;��������������������������������������������������������������������������

273F:695A             popmenu_populate_list     proc    near

273F:695A  C7 06 31E4 0000                      mov     popmenu_entry_count, 0
273F:6960 BF 31E6                              mov     di, offset popmenu_entry_contents
273F:6963 BE 2D5F                              mov     si, offset actions_list
273F:6966  1E                                   push    ds
273F:6967  07                                   pop     es
273F:6968  8E DD                                mov     ds,bp
273F:696A  8B E8                                mov     bp,ax
273F:696C  B9 0019                              mov     cx, NUM_ACTIONS         ; 19h

273F:696F                       locloop_1321:
273F:696F  D1 DA                                rcr     dx,1                    ; Rotate thru carry
273F:6971  D1 DD                                rcr     bp,1                    ; Rotate thru carry
273F:6973  73 0F                                jnc     loc_1323                ; If bit wasn't set, don't add

273F:6975  A5                                   movsw                           ; Copy over action Id
273F:6976                       loc_1322:
273F:6976  AC                                   lodsb                           ; Copy over action name
273F:6977  AA                                   stosb
273F:6978  0A C0                                or      al,al
273F:697A  75 FA                                jnz     loc_1322
273F:697C  26: 83 06 31E4 01                    add     es:popmenu_entry_count, 1 ; Increment # actions
273F:6982  EB 06                                jmp     short loc_1325          

273F:6984                       loc_1323:
273F:6984  AD                                   lodsw                           ; Skip over action Id
273F:6985                       loc_1324:
273F:6985  AC                                   lodsb                           ; Scan over action name
273F:6986  0A C0                                or      al,al
273F:6988  75 FB                                jnz     loc_1324
273F:698A                       loc_1325:
273F:698A  E2 E3                                loop    locloop_1321            ; Loop through remaining actions

273F:698C  8C DD                                mov     bp,ds
273F:698E  06                                   push    es
273F:698F  1F                                   pop     ds
273F:6990  C3                                   retn

                      popmenu_populate_list     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:6686, 66A9, 66BE, 66F7, 6757, 6797, 67DE
                                ;                             6815, 6832, 6855
                                ;��������������������������������������������������������������������������

                       menu_make_selections     proc    near

273F:6991  8B 36 3380                           mov     si, data_3380
273F:6995  F6 84 3383 80                        test    byte ptr ds:[3383h][si],80h ; (273F:3383=74h)
273F:699A  74 36                                jz      loc_1327                ; Jump if zero
273F:699C  C6 06 337D 00                        mov     data_269,0              ; (273F:337D=0)
273F:69A1  E8 01E6                              call    sub_165                 ; (6B8A)
273F:69A4  E8 003A                              call    menu_make_selections_select
273F:69A7  0B C0                                or      ax,ax                   ; Zero ?
273F:69A9  78 26                                js      loc_ret_1326            ; Jump if sign=1
273F:69AB  3D 7CFF                              cmp     ax,7CFFh
273F:69AE  74 21                                je      loc_ret_1326            ; Jump if equal
273F:69B0  FF 36 335E                           push    data_335E
273F:69B4  E8 0299                              call    sub_166                 ; (6C50)
273F:69B7  5B                                   pop     bx
273F:69B8  8B 36 3380                           mov     si, data_3380
273F:69BC  89 9C 3382                           mov     data_3382[si],bx 
273F:69C0  89 84 3384                           mov     word ptr ds:[3384h][si],ax ; (273F:3384=810Ch)
273F:69C4  83 C6 04                             add     si,4
273F:69C7  C7 84 3382 FFFF                      mov     data_3382[si], 0FFFFh 
273F:69CD  89 36 3380                           mov     data_3380, si

273F:69D1                       loc_ret_1326:                                   ;  xref 273F:69A9, 69AE
273F:69D1  C3                                   retn
273F:69D2                       loc_1327:                                       ;  xref 273F:699A
273F:69D2  83 06 3380 04                        add     data_3380, 4
273F:69D7  8B 84 3384                           mov     ax,word ptr ds:[3384h][si] ; (273F:3384=810Ch)
273F:69DB  C6 06 337D 01                        mov     data_269,1              ; (273F:337D=0)
273F:69E0  C3                                   retn

                       menu_make_selections     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:6726, 69A4
                                ;��������������������������������������������������������������������������

        menu_make_selections_select     proc    near

273F:69E1  A1 3362                              mov     ax, popmenu_current_index
273F:69E4  3B 06 334C                           cmp     ax, popmenu_num_entries
273F:69E8  72 06                                jb      loc_1328                ; Jump if below
273F:69EA  C7 06 3362 0000                      mov     popmenu_current_index, 0
273F:69F0                       loc_1328:                                       ;  xref 273F:69E8
273F:69F0  A1 334C                              mov     ax, popmenu_num_entries
273F:69F3  D0 E8                                shr     al,1                    ; Shift w/zeros fill
273F:69F5  04 01                                add     al,1
273F:69F7  3C 06                                cmp     al,6
273F:69F9  72 02                                jb      loc_1329                ; Jump if below
273F:69FB  B0 05                                mov     al,5
273F:69FD                       loc_1329:                                       ;  xref 273F:69F9
273F:69FD  A3 335C                              mov     popmenu_num_visible_items, ax
273F:6A00  1E                                   push    ds
273F:6A01  55                                   push    bp
273F:6A02  50                                   push    ax
273F:6A03  FF 36 334E                           push    word ptr ds:[334Eh]     ; (273F:334E=83E4h)
273F:6A07  8E DD                                mov     ds,bp
273F:6A09  FF 16 0752                           call    word ptr ds:data_16e    ; (0000:0752=0)
273F:6A0D  E8 AAFE                              call    room_add_animations
273F:6A10  5B                                   pop     bx
273F:6A11  5A                                   pop     dx
273F:6A12  FF 16 0778                           call    word ptr ds:data_21e    ; (0000:0778=5253h)
273F:6A16  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:6A1B  75 28                                jne     loc_1330                ; Jump if not equal

273F:6A1D  5D                                   pop     bp
273F:6A1E  1F                                   pop     ds
273F:6A1F  E8 00E1                              call    menu_create_popmenu
273F:6A22  1E                                   push    ds
273F:6A23  55                                   push    bp
273F:6A24  8E DD                                mov     ds,bp
273F:6A26  FF 16 0744                           call    [show_screen_proc]
273F:6A2A  5D                                   pop     bp
273F:6A2B  1F                                   pop     ds
273F:6A2C  8A 1E 334E                           mov     bl,byte ptr ds:[334Eh]  ; (273F:334E=0E4h)
273F:6A30  8A 16 335C                           mov     dl,byte ptr [popmenu_num_visible_items]
273F:6A34  1E                                   push    ds
273F:6A35  55                                   push    bp
273F:6A36  8E DD                                mov     ds,bp
273F:6A38  FF 16 0778                           call    word ptr ds:data_21e    ; (0000:0778=5253h)
273F:6A3C  5D                                   pop     bp
273F:6A3D  1F                                   pop     ds
273F:6A3E  E8 00C2                              call    menu_create_popmenu
273F:6A41  1E                                   push    ds
273F:6A42  55                                   push    bp
273F:6A43  8E DD                                mov     ds,bp
273F:6A45                       loc_1330:                                       ;  xref 273F:6A1B
273F:6A45  FF 16 0744                           call    [show_screen_proc]
273F:6A49  5D                                   pop     bp
273F:6A4A  1F                                   pop     ds
273F:6A4B  B8 000B                              mov     ax,0Bh
273F:6A4E  CD 33                                int     33h                     ; Mouse driver    ax=func 000Bh
                                                                                ;  read motion counters, cx & dx
273F:6A50  C7 06 3366 0000                      mov     mouse_y_change, 0
273F:6A56  8E C5                                mov     es,bp
273F:6A58  26: C6 06 11DA 00                    mov     mouse_buttons2, 0
273F:6A5E  EB 07                                jmp     short loc_1332          ; (6A67)
273F:6A60                       loc_1331:                                       ;  xref 273F:6AA3, 6ACC, 6AD9
273F:6A60 E8 00A0                              call    menu_create_popmenu
273F:6A63  FF 16 3368                           call    [menu_items_proc2]      ; Add the menu items
273F:6A67                       loc_1332:
273F:6A67  F7 06 334C FFFF                      test    popmenu_num_entries, 0FFFFh ; Any entries at all?
273F:6A6D  74 6C                                jz      sub162_abort            ; No, so abort
273F:6A6F  8E C5                                mov     es,bp
273F:6A71  26: F6 06 11DA FF                    test    mouse_buttons2, 0FFh
273F:6A77  75 6C                                jnz     loc_1339                ; Jump if not zero
273F:6A79  E8 2AA4                              call    check_keypress          ; Any key pressed?
273F:6A7C  74 1C                                jz      loc_1333                ; No, so skip kbd code
273F:6A7E  8A D8                                mov     bl,al
273F:6A80  B8 FFFF                              mov     ax,0FFFFh               ; Constant for moving up
273F:6A83  80 FB C8                             cmp     bl,0C8h                 ; Up arrow pressed?
273F:6A86  74 46                                je      sub162_moveup           ; Yes, so handle it
273F:6A88  B8 0001                              mov     ax,1                    ; Constant for moving down
273F:6A8B  80 FB D0                             cmp     bl,0D0h                 ; Down arrow pressed?
273F:6A8E  74 29                                je      sub162_movedown         ; Yes, so handle it
273F:6A90  80 FB 0D                             cmp     bl,0Dh                  ; Enter key pressed?
273F:6A93  74 5A                                je      sub162_select           ; Yes, so handle it
273F:6A95  80 FB 20                             cmp     bl,20h                  ; ' '
273F:6A98  74 41                                je      sub162_abort
273F:6A9A                       loc_1333:
273F:6A9A  33 D2                                xor     dx,dx                   ; Zero register
273F:6A9C  B8 000B                              mov     ax,0Bh
273F:6A9F  CD 33                                int     33h                     ; Mouse driver    ax=func 000Bh
                                                                                ;  read motion counters, cx & dx
273F:6AA1  0B D2                                or      dx,dx                   ; Zero ?
273F:6AA3  74 BB                                jz      loc_1331                ; Jump if zero
273F:6AA5  03 16 3366                           add     dx, mouse_y_change
273F:6AA9  8B C2                                mov     ax,dx
273F:6AAB  99                                   cwd                             ; Word to double word
273F:6AAC BB 000A                              mov     bx,0Ah                  ; (273F:000A=23h)
273F:6AAF  F7 FB                                idiv    bx                      ; ax,dx rem=dx:ax/reg
273F:6AB1  89 16 3366                           mov     mouse_y_change, dx
273F:6AB5  0B C0                                or      ax,ax                   ; Zero ?
273F:6AB7  78 15                                js      sub162_moveup
273F:6AB9                sub162_movedown:
273F:6AB9  03 06 3362                           add     ax, popmenu_current_index
273F:6ABD  3B 06 334C                           cmp     ax, popmenu_num_entries
273F:6AC1  72 06                                jb      loc_1335                ; Jump if below
273F:6AC3  A1 334C                              mov     ax, popmenu_num_entries
273F:6AC6  2D 0001                              sub     ax,1
273F:6AC9                       loc_1335:                                       ;  xref 273F:6AC1
273F:6AC9  A3 3362                              mov     popmenu_current_index, ax
273F:6ACC  EB 92                                jmp     short loc_1331          ; (6A60)
273F:6ACE                  sub162_moveup:
273F:6ACE  03 06 3362                           add     ax, popmenu_current_index
273F:6AD2  72 02                                jc      loc_1337
273F:6AD4  33 C0                                xor     ax,ax                   ; Already at first item
273F:6AD6                       loc_1337:
273F:6AD6  A3 3362                              mov     popmenu_current_index, ax
273F:6AD9  EB 85                                jmp     short loc_1331          ; (6A60)
273F:6ADB                   sub162_abort:
273F:6ADB  A1 3364                              mov     ax, popmenu_prior_index    ; Reset index to prior one
273F:6ADE  A3 3362                              mov     popmenu_current_index, ax
273F:6AE1  B8 FFFF                              mov     ax,0FFFFh
273F:6AE4  C3                                   retn
273F:6AE5                       loc_1339:                                       ;  xref 273F:6A77
273F:6AE5  8E C5                                mov     es,bp
273F:6AE7  26: F6 06 11DA 02                    test    byte ptr es:data_32e,2  ; (0000:11DA=0D3h)
273F:6AED  75 EC                                jnz     sub162_abort
273F:6AEF                  sub162_select:
273F:6AEF  A1 3362                              mov     ax, popmenu_current_index  ; Backup selected index
273F:6AF2  A3 3364                              mov     popmenu_prior_index, ax
273F:6AF5  C7 06 3362 0000                      mov     popmenu_current_index, 0
273F:6AFB  8B 1E 3372                           mov     bx,word ptr ds:[3372h]  ; (273F:3372=0C31Fh)
273F:6AFF  8B 47 FD                             mov     ax,[bx-3]
273F:6B02  C3                                   retn

        menu_make_selections_select             endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:6A1F, 6A3E, 6A60
                                ;��������������������������������������������������������������������������

273F:6B03              menu_create_popmenu      proc    near
273F:6B03  A1 3376                              mov     ax,data_265             ; (273F:3376=0F632h)
273F:6B06  8E C0                                mov     es,ax
273F:6B08  55                                   push    bp
273F:6B09  8B 36 3362                           mov     si, popmenu_current_index
273F:6B0D  D1 E6                                shl     si,1                    ; Shift w/zeros fill
273F:6B0F  D1 E6                                shl     si,1                    ; Shift w/zeros fill
273F:6B11 81 C6 3174                           add     si,3174h                ; (273F:3174=7)
273F:6B15  8B 3E 335A                           mov     di,word ptr ds:[335Ah]  ; (273F:335A=0ACA4h)
273F:6B19  8B 2E 337B                           mov     bp,data_267             ; (273F:337B=4EB9h)
273F:6B1D  B8 0005                              mov     ax,5
273F:6B20  2B 06 335C                           sub     ax, popmenu_num_visible_items
273F:6B24  74 0E                                jz      loc_1341                ; Jump if zero
273F:6B26  8B D8                                mov     bx,ax
273F:6B28  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
273F:6B2A  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
273F:6B2C  03 F3                                add     si,bx
273F:6B2E  F7 26 336A                           mul     word ptr ds:[336Ah]     ; (273F:336A=40C7h) dx:ax = data * ax
273F:6B32  03 F8                                add     di,ax
273F:6B34                       loc_1341:                                       ;  xref 273F:6B24
273F:6B34  8B 0E 335C                           mov     cx, popmenu_num_visible_items
273F:6B38  D0 E1                                shl     cl,1                    ; Shift w/zeros fill
273F:6B3A  80 E9 01                             sub     cl,1

273F:6B3D                       locloop_1342:                                   ;  xref 273F:6B4D
273F:6B3D  56                                   push    si
273F:6B3E  57                                   push    di
273F:6B3F  8B 34                                mov     si,[si]
273F:6B41  E8 000D                              call    sub_164                 ; (6B51)
273F:6B44  5F                                   pop     di
273F:6B45  5E                                   pop     si
273F:6B46  03 3E 336A                           add     di,word ptr ds:[336Ah]  ; (273F:336A=40C7h)
273F:6B4A  83 C6 04                             add     si,4
273F:6B4D  E2 EE                                loop    locloop_1342            ; Loop if cx > 0

273F:6B4F  5D                                   pop     bp
273F:6B50  C3                                   retn
                       menu_create_popmenu      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:6B41
                                ;��������������������������������������������������������������������������

273F:6B51                       sub_164         proc    near
273F:6B51  51                                   push    cx
273F:6B52  AC                                   lodsb                           ; String [si] to al
273F:6B53  8B 16 33DE                           mov     dx,word ptr ds:[33DEh]  ; (273F:33DE=0F300h)
273F:6B57  3B 0E 335C                           cmp     cx, popmenu_num_visible_items
273F:6B5B  75 08                                jne     loc_1343                ; Jump if not equal
273F:6B5D  8B 16 33DC                           mov     dx,word ptr ds:[33DCh]  ; (273F:33DC=7BB9h)
273F:6B61  89 36 3372                           mov     word ptr ds:[3372h],si  ; (273F:3372=0C31Fh)
273F:6B65                       loc_1343:                                       ;  xref 273F:6B5B
273F:6B65  8A 0E 334E                           mov     cl,byte ptr ds:[334Eh]  ; (273F:334E=0E4h)
273F:6B69  32 ED                                xor     ch,ch                   ; Zero register

273F:6B6B                       locloop_1344:                                   ;  xref 273F:6B78
273F:6B6B  AC                                   lodsb                           ; String [si] to al
273F:6B6C  0A C0                                or      al,al                   ; Zero ?
273F:6B6E  74 0C                                jz      locloop_1345            ; Jump if zero
273F:6B70  FF 16 336C                           call    word ptr ds:[336Ch]     ; (273F:336C=8301h)
273F:6B74  03 3E 336E                           add     di,word ptr ds:[336Eh]  ; (273F:336E=1EDh)
273F:6B78  E2 F1                                loop    locloop_1344            ; Loop if cx > 0

273F:6B7A  EB 0C                                jmp     short loc_1346          ; (6B88)

273F:6B7C                       locloop_1345:                                   ;  xref 273F:6B6E, 6B86
273F:6B7C  B0 20                                mov     al,20h                  ; ' '
273F:6B7E  FF 16 336C                           call    word ptr ds:[336Ch]     ; (273F:336C=8301h)
273F:6B82  03 3E 336E                           add     di,word ptr ds:[336Eh]  ; (273F:336E=1EDh)
273F:6B86  E2 F4                                loop    locloop_1345            ; Loop if cx > 0

273F:6B88                       loc_1346:                                       ;  xref 273F:6B7A
273F:6B88  59                                   pop     cx
273F:6B89  C3                                   retn
                                sub_164         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:69A1
                                ;��������������������������������������������������������������������������

273F:6B8A                       sub_165         proc    near
273F:6B8A  55                                   push    bp
273F:6B8B  1E                                   push    ds
273F:6B8C  07                                   pop     es
273F:6B8D BE 31E4                              mov     si, popmenu_entry_count
273F:6B90  AD                                   lodsw                           ; String [si] to ax
273F:6B91  8B C8                                mov     cx,ax
273F:6B93  89 0E 334C                           mov     popmenu_num_entries, cx
273F:6B97  0B C9                                or      cx,cx                   ; Zero ?
273F:6B99  75 02                                jnz     loc_1347                ; Jump if not zero
273F:6B9B  5D                                   pop     bp
273F:6B9C  C3                                   retn
273F:6B9D                       loc_1347:                                       ;  xref 273F:6B99
273F:6B9D  C7 06 334E 0004                      mov     word ptr ds:[334Eh],4   ; (273F:334E=83E4h)
273F:6BA3 BF 30D4                              mov     di,30D4h                ; (273F:30D4=11h)

273F:6BA6                       locloop_1348:                                   ;  xref 273F:6C14
273F:6BA6  83 C6 02                             add     si,2
273F:6BA9  89 75 04                             mov     [di+4],si
273F:6BAC  C7 45 06 0000                        mov     word ptr [di+6],0
273F:6BB1  51                                   push    cx
273F:6BB2  B9 0004                              mov     cx,4
273F:6BB5  8B EF                                mov     bp,di

273F:6BB7                       locloop_1349:                                   ;  xref 273F:6BBD
273F:6BB7  AC                                   lodsb                           ; String [si] to al
273F:6BB8  AA                                   stosb                           ; Store al to es:[di]
273F:6BB9  0A C0                                or      al,al                   ; Zero ?
273F:6BBB  74 05                                jz      loc_1351                ; Jump if zero
273F:6BBD  E2 F8                                loop    locloop_1349            ; Loop if cx > 0

273F:6BBF  EB 03                                jmp     short loc_1352          ; (6BC4)

273F:6BC1                       locloop_1350:                                   ;  xref 273F:6BC2
273F:6BC1  AA                                   stosb                           ; Store al to es:[di]
273F:6BC2                       loc_1351:                                       ;  xref 273F:6BBB
273F:6BC2  E2 FD                                loop    locloop_1350            ; Loop if cx > 0

273F:6BC4                       loc_1352:                                       ;  xref 273F:6BBF
273F:6BC4  59                                   pop     cx
273F:6BC5  8B 45 FC                             mov     ax,[di-4]
273F:6BC8  8B 55 FE                             mov     dx,[di-2]
273F:6BCB BB 30D4                              mov     bx,30D4h                ; (273F:30D4=11h)
273F:6BCE                       loc_1353:                                       ;  xref 273F:6BF8
273F:6BCE 3B DD                                cmp     bx,bp
273F:6BD0  74 28                                je      loc_1357                ; Jump if equal
273F:6BD2  3A 07                                cmp     al,[bx]
273F:6BD4  72 1B                                jb      loc_1355                ; Jump if below
273F:6BD6  75 13                                jnz     loc_1354                ; Jump if not zero
273F:6BD8  3A 67 01                             cmp     ah,[bx+1]
273F:6BDB  72 14                                jb      loc_1355                ; Jump if below
273F:6BDD  75 0C                                jnz     loc_1354                ; Jump if not zero
273F:6BDF  3A 57 02                             cmp     dl,[bx+2]
273F:6BE2  72 0D                                jb      loc_1355                ; Jump if below
273F:6BE4  75 05                                jnz     loc_1354                ; Jump if not zero
273F:6BE6  3A 77 03                             cmp     dh,[bx+3]
273F:6BE9  72 06                                jb      loc_1355                ; Jump if below
273F:6BEB                       loc_1354:                                       ;  xref 273F:6BD6, 6BDD, 6BE4
273F:6BEB  83 45 02 04                          add     word ptr [di+2],4
273F:6BEF  EB 04                                jmp     short loc_1356          ; (6BF5)
273F:6BF1                       loc_1355:                                       ;  xref 273F:6BD4, 6BDB, 6BE2, 6BE9
273F:6BF1  83 47 06 04                          add     word ptr [bx+6],4
273F:6BF5                       loc_1356:                                       ;  xref 273F:6BEF
273F:6BF5  83 C3 08                             add     bx,8
273F:6BF8  EB D4                                jmp     short loc_1353          ; (6BCE)
273F:6BFA                       loc_1357:                                       ;  xref 273F:6BD0
273F:6BFA  B4 01                                mov     ah,1
273F:6BFC  83 EE 01                             sub     si,1
273F:6BFF                       loc_1358:                                       ;  xref 273F:6C05
273F:6BFF  80 C4 01                             add     ah,1
273F:6C02  AC                                   lodsb                           ; String [si] to al
273F:6C03  0A C0                                or      al,al                   ; Zero ?
273F:6C05  75 F8                                jnz     loc_1358                ; Jump if not zero
273F:6C07  3A 26 334E                           cmp     ah,byte ptr ds:[334Eh]  ; (273F:334E=0E4h)
273F:6C0B  72 04                                jb      loc_1359                ; Jump if below
273F:6C0D  88 26 334E                           mov     byte ptr ds:[334Eh],ah  ; (273F:334E=0E4h)
273F:6C11                       loc_1359:                                       ;  xref 273F:6C0B
273F:6C11  83 C7 04                             add     di,4
273F:6C14  E2 90                                loop    locloop_1348            ; Loop if cx > 0

273F:6C16  8B 0E 334C                           mov     cx, popmenu_num_entries
273F:6C1A  51                                   push    cx
273F:6C1B  81 EF 30D4                           sub     di,30D4h
273F:6C1F  D1 EF                                shr     di,1                    ; Shift w/zeros fill
273F:6C21 81 C7 3184                           add     di,3184h                ; (273F:3184=33h)
273F:6C25  B8 33E2                              mov     ax,33E2h
273F:6C28  B9 0008                              mov     cx,8
273F:6C2B  F3/ AB                               rep     stosw                   ; Rep when cx >0 Store ax to es:[di]
273F:6C2D BE 30D8                              mov     si,30D8h                ; (273F:30D8=0FFh)
273F:6C30 BF 3174                              mov     di,3174h                ; (273F:3174=7)
273F:6C33  B8 33E2                              mov     ax,33E2h
273F:6C36  B9 0008                              mov     cx,8
273F:6C39  F3/ AB                               rep     stosw                   ; Rep when cx >0 Store ax to es:[di]
273F:6C3B  59                                   pop     cx
273F:6C3C  33 D2                                xor     dx,dx                   ; Zero register

273F:6C3E                       locloop_1360:                                   ;  xref 273F:6C4C
273F:6C3E  AD                                   lodsw                           ; String [si] to ax
273F:6C3F  8B 1C                                mov     bx,[si]
273F:6C41  89 01                                mov     [bx+di],ax
273F:6C43  89 51 02                             mov     [bx+di+2],dx
273F:6C46  83 C6 06                             add     si,6
273F:6C49  83 C2 01                             add     dx,1
273F:6C4C  E2 F0                                loop    locloop_1360            ; Loop if cx > 0

273F:6C4E  5D                                   pop     bp

273F:6C4F                       loc_ret_1361:                                   ;  xref 273F:6C55
273F:6C4F  C3                                   retn
                                sub_165         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:66D8, 66E6, 6710, 673E, 67FB, 6804, 6821
                                ;                             6844, 6956, 69B4
                                ;��������������������������������������������������������������������������

273F:6C50                       sub_166         proc    near
273F:6C50  F6 06 337D FF                        test    data_269,0FFh           ; (273F:337D=0)
273F:6C55  75 F8                                jnz     loc_ret_1361            ; Jump if not zero
273F:6C57  8E C5                                mov     es,bp
273F:6C59  26: C6 06 4BF0 02                    mov     byte ptr es:data_46e,2  ; (0000:4BF0=28h)
273F:6C5F  50                                   push    ax
273F:6C60  53                                   push    bx
273F:6C61  8B F3                                mov     si,bx
273F:6C63  A1 3370                              mov     ax,word ptr ds:[3370h]  ; (273F:3370=0E375h)
273F:6C66  8E C0                                mov     es,ax
273F:6C68  33 D2                                xor     dx,dx                   ; Zero register
273F:6C6A  B1 03                                mov     cl,3
273F:6C6C                       loc_1362:                                       ;  xref 273F:6C7A
273F:6C6C AC                                   lodsb                           ; String [si] to al
273F:6C6D  2C 20                                sub     al,20h                  ; ' '
273F:6C6F  72 0B                                jc      loc_1363                ; Jump if carry Set
273F:6C71  32 E4                                xor     ah,ah                   ; Zero register
273F:6C73  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:6C75  8B D8                                mov     bx,ax
273F:6C77  26: 02 17                            add     dl,es:[bx]
273F:6C7A  EB F0                                jmp     short loc_1362          ; (6C6C)
273F:6C7C                       loc_1363:                                       ;  xref 273F:6C6F
273F:6C7C  26: 02 16 0000                       add     dl,es:data_1454e        ; (E375:0000=0)
273F:6C81  A1 335E                              mov     ax, data_335E
273F:6C84  3D 0001                              cmp     ax,1
273F:6C87  75 09                                jne     loc_1364                ; Jump if not equal
273F:6C89  1E                                   push    ds
273F:6C8A  50                                   push    ax
273F:6C8B  8E DD                                mov     ds,bp
273F:6C8D  E8 0375                              call    menubar_clear_image
273F:6C90  58                                   pop     ax
273F:6C91  1F                                   pop     ds
273F:6C92                       loc_1364:                                       ;  xref 273F:6C87
273F:6C92  BB 0140                              mov     bx,140h
273F:6C95  8A CA                                mov     cl,dl
273F:6C97  32 ED                                xor     ch,ch                   ; Zero register
273F:6C99  33 D2                                xor     dx,dx                   ; Zero register
273F:6C9B  F7 F3                                div     bx                      ; ax,dx rem=dx:ax/reg
273F:6C9D  8B F2                                mov     si,dx
273F:6C9F  03 F1                                add     si,cx
273F:6CA1  3B F3                                cmp     si,bx
273F:6CA3  72 17                                jb      loc_1365                ; Jump if below
273F:6CA5  05 0001                              add     ax,1
273F:6CA8  50                                   push    ax
273F:6CA9  50                                   push    ax
273F:6CAA  53                                   push    bx
273F:6CAB  51                                   push    cx
273F:6CAC  1E                                   push    ds
273F:6CAD  8E DD                                mov     ds,bp
273F:6CAF  E8 036A                              call    talk_clear_line
273F:6CB2  1F                                   pop     ds
273F:6CB3  59                                   pop     cx
273F:6CB4  5B                                   pop     bx
273F:6CB5  58                                   pop     ax
273F:6CB6  F7 E3                                mul     bx                      ; dx:ax = reg * ax
273F:6CB8  A3 335E                              mov     data_335E, ax
273F:6CBB  58                                   pop     ax
273F:6CBC                       loc_1365:                                       ;  xref 273F:6CA3
273F:6CBC  01 0E 335E                           add     data_335E, cx
273F:6CC0  0B C0                                or      ax,ax                   ; Zero ?
273F:6CC2  74 03                                jz      loc_1366                ; Jump if zero
273F:6CC4  E8 0047                              call    sub_167                 ; (6D0E)
273F:6CC7                       loc_1366:                                       ;  xref 273F:6CC2
273F:6CC7  8B CA                                mov     cx,dx
273F:6CC9  F7 26 336A                           mul     word ptr ds:[336Ah]     ; (273F:336A=40C7h) dx:ax = data * ax
273F:6CCD  8B F8                                mov     di,ax
273F:6CCF  8B 1E 3376                           mov     bx,data_265             ; (273F:3376=0F632h)
273F:6CD3  8E C3                                mov     es,bx
273F:6CD5  B7 06                                mov     bh,6
273F:6CD7  5E                                   pop     si
273F:6CD8  81 3E 3368 362D                      cmp     menu_items_proc2, offset vga_menu_items
273F:6CDE  75 04                                jne     loc_1367                ; Jump if not equal
273F:6CE0  03 F9                                add     di,cx
273F:6CE2  EB 0C                                jmp     short loc_1368          ; (6CF0)
273F:6CE4                       loc_1367:                                       ;  xref 273F:6CDE
273F:6CE4  8B C1                                mov     ax,cx
273F:6CE6  80 E1 07                             and     cl,7
273F:6CE9  25 01F8                              and     ax,1F8h
273F:6CEC  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:6CEE  03 F8                                add     di,ax
273F:6CF0                       loc_1368:                                       ;  xref 273F:6CE2, 6D0A
273F:6CF0 AC                                   lodsb                           ; String [si] to al
273F:6CF1  2C 20                                sub     al,20h                  ; ' '
273F:6CF3  72 17                                jc      loc_1369                ; Jump if carry Set
273F:6CF5  1E                                   push    ds
273F:6CF6  55                                   push    bp
273F:6CF7  8B 2E 3374                           mov     bp,data_264             ; (273F:3374=0FF32h)
273F:6CFB  1F                                   pop     ds
273F:6CFC  8B 1E 076E                           mov     bx, data_571
273F:6D00  8A 7F 04                             mov     bh,[bx+4]
273F:6D03  FF 16 075A                           call    [display2_character_proc]
273F:6D07  8C DD                                mov     bp,ds
273F:6D09  1F                                   pop     ds
273F:6D0A  EB E4                                jmp     short loc_1368          ; (6CF0)
273F:6D0C                       loc_1369:                                       ;  xref 273F:6CF3
273F:6D0C  58                                   pop     ax
273F:6D0D  C3                                   retn
                                sub_166         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:6897, 6CC4
                                ;��������������������������������������������������������������������������

273F:6D0E                       sub_167         proc    near
273F:6D0E  50                                   push    ax
273F:6D0F  51                                   push    cx
273F:6D10  52                                   push    dx
273F:6D11  1E                                   push    ds
273F:6D12  55                                   push    bp
273F:6D13  8E DD                                mov     ds,bp
273F:6D15  33 C0                                xor     ax,ax                   ; Zero register
273F:6D17  33 DB                                xor     bx,bx                   ; Zero register
273F:6D19  BD 0027                              mov     bp,27h
273F:6D1C  BA 0001                              mov     dx,1
273F:6D1F  B9 0001                              mov     cx,1
273F:6D22  E8 9E5E                              call    sub_21                  ; (0B83)
273F:6D25  5D                                   pop     bp
273F:6D26  1F                                   pop     ds
273F:6D27  5A                                   pop     dx
273F:6D28  59                                   pop     cx
273F:6D29  58                                   pop     ax
273F:6D2A  C3                                   retn
                                sub_167         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:67DB
                                ;��������������������������������������������������������������������������

273F:6D2B                       sub_168         proc    near
273F:6D2B  1E                                   push    ds
273F:6D2C  1E                                   push    ds
273F:6D2D  07                                   pop     es
273F:6D2E  8E DD                                mov     ds,bp
273F:6D30 BF 31E4                              mov     di,31E4h                ; (273F:31E4=0E4h)
273F:6D33  0B C9                                or      cx,cx                   ; Zero ?
273F:6D35  79 05                                jns     loc_1370                ; Jump if not sign
273F:6D37  8A 4C FF                             mov     cl,[si-1]
273F:6D3A  32 ED                                xor     ch,ch                   ; Zero register
273F:6D3C                       loc_1370:                                       ;  xref 273F:6D35
273F:6D3C  8B C1                                mov     ax,cx
273F:6D3E  AB                                   stosw                           ; Store ax to es:[di]

273F:6D3F                       locloop_1371:                                   ;  xref 273F:6D4B
273F:6D3F  8B 07                                mov     ax,[bx]
273F:6D41  83 C3 02                             add     bx,2
273F:6D44  AB                                   stosw                           ; Store ax to es:[di]
273F:6D45                       loc_1372:                                       ;  xref 273F:6D49
273F:6D45  AC                                   lodsb                           ; String [si] to al
273F:6D46  AA                                   stosb                           ; Store al to es:[di]
273F:6D47  0A C0                                or      al,al                   ; Zero ?
273F:6D49  75 FA                                jnz     loc_1372                ; Jump if not zero
273F:6D4B  E2 F2                                loop    locloop_1371            ; Loop if cx > 0

273F:6D4D  1F                                   pop     ds
273F:6D4E  C3                                   retn
                                sub_168         endp

273F:6D4F  00                                   db      0

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                         menubar_handle_menu    proc near

273F:6D50  C6 06 11DA 00                        mov     mouse_buttons2, 0
273F:6D55  C6 06 38B0 01                        mov     data_781, 1
273F:6D5A  E8 B218                              call    show_arrow_cursor
273F:6D5D  E8 0287                              call    sub_173                 ; (6FE7)
273F:6D60  C7 06 4BF1 0000                      mov     menuitem_table_location, 0
273F:6D66                       loc_1374:                                       ;  xref 273F:6E6A, 6EA4
273F:6D66 E8 27B7                              call    check_keypress                 ; (9520)
273F:6D69  74 71                                jz      loc_1380                ; Jump if zero
273F:6D6B  3C C8                                cmp     al,0C8h
273F:6D6D  75 1A                                jne     loc_1375                ; Jump if not equal
273F:6D6F  83 2E 11D3 08                        sub     mouse_y, 8
273F:6D74  83 2E 11D8 08                        sub     mouse_y2, 8
273F:6D79  73 5D                                jnc     loc_1379                ; Jump if carry=0
273F:6D7B  C7 06 11D8 0004                      mov     mouse_y2, 4
273F:6D81  C7 06 11D3 0004                      mov     mouse_y, 4
273F:6D87  EB 4F                                jmp     short loc_1379          ; (6DD8)
273F:6D89                       loc_1375:                                       ;  xref 273F:6D6D
273F:6D89  3C D0                                cmp     al,0D0h
273F:6D8B  75 13                                jne     loc_1376                ; Jump if not equal
273F:6D8D  83 3E 11D8 64                        cmp     mouse_y2, 64h 
273F:6D92  73 44                                jae     loc_1379                ; Jump if above or =
273F:6D94  83 06 11D8 08                        add     mouse_y2, 8
273F:6D99  83 06 11D3 08                        add     mouse_y, 8
273F:6D9E  EB 38                                jmp     short loc_1379          ; (6DD8)
273F:6DA0                       loc_1376:                                       ;  xref 273F:6D8B
273F:6DA0  3C CB                                cmp     al,0CBh
273F:6DA2  75 13                                jne     loc_1377                ; Jump if not equal
273F:6DA4  83 3E 11D6 15                        cmp     mouse_x2, 15h 
273F:6DA9  72 2D                                jb      loc_1379                ; Jump if below
273F:6DAB  83 2E 11D6 14                        sub     mouse_x2, 14h
273F:6DB0  83 2E 11D1 14                        sub     mouse_x, 14h
273F:6DB5  EB 21                                jmp     short loc_1379          ; (6DD8)
273F:6DB7                       loc_1377:                                       ;  xref 273F:6DA2
273F:6DB7  3C CD                                cmp     al,0CDh
273F:6DB9  75 14                                jne     loc_1378                ; Jump if not equal
273F:6DBB  81 3E 11D6 0135                      cmp     mouse_x2, 135h
273F:6DC1  73 15                                jae     loc_1379                ; Jump if above or =
273F:6DC3  83 06 11D6 14                        add     mouse_x2, 14h
273F:6DC8  83 06 11D1 14                        add     mouse_x, 14h
273F:6DCD  EB 09                                jmp     short loc_1379          ; (6DD8)
273F:6DCF                       loc_1378:                                       ;  xref 273F:6DB9
273F:6DCF  3C 0D                                cmp     al,0Dh
273F:6DD1  75 09                                jne     loc_1380                ; Jump if not equal
273F:6DD3  C6 06 11D5 00                        mov     mouse_buttons, 0
273F:6DD8                       loc_1379:                                       ;  xref 273F:6D79, 6D87, 6D92, 6D9E
                                                                                ;            6DA9, 6DB5, 6DC1, 6DCD
273F:6DD8  FF 16 075E                           call    [show_cursor_proc]
273F:6DDC                       loc_1380:                                       ;  xref 273F:6D69, 6DD1
273F:6DDC  A1 11D8                              mov     ax, mouse_y2
273F:6DDF  A3 4BF6                              mov     word ptr ds:[4BF6h],ax  ; (273F:4BF6=0C683h)
273F:6DE2  A1 11D6                              mov     ax, mouse_x2
273F:6DE5  A3 4BF8                              mov     data_unk1, ax
273F:6DE8  A0 11D5                              mov     al, mouse_buttons
273F:6DEB  A2 4BFA                              mov     mouse_buttons_temp, al
273F:6DEE  F6 06 4BF0 FF                        test    byte ptr ds:[4BF0h],0FFh ; (273F:4BF0=3)
273F:6DF3  75 07                                jnz     loc_1381                ; Jump if not zero
273F:6DF5  F6 06 4BF5 FF                        test    byte ptr ds:[4BF5h],0FFh ; (273F:4BF5=0F5h)
273F:6DFA  74 09                                jz      loc_1382                ; Jump if zero
273F:6DFC                       loc_1381:                                       ;  xref 273F:6DF3
273F:6DFC  FF 16 0744                           call    word ptr [show_screen_proc]
273F:6E00  C6 06 4BF5 00                        mov     byte ptr ds:[4BF5h],0   ; (273F:4BF5=0F5h)
273F:6E05                       loc_1382:
273F:6E05  A1 4CE4                              mov     ax, data_segment2       ; Stores off-screen copy of menubar
273F:6E08  8E C0                                mov     es,ax
273F:6E0A  F6 06 4BFA FF                        test    mouse_buttons_temp, 0FFh ; Mouse button released?
273F:6E0F  74 5C                                jz      loc_1390                 ; Yes
273F:6E11  83 3E 4BF6 08                        cmp     word ptr ds:[4BF6h],8
273F:6E16  72 08                                jb      loc_1383                ; Jump if below
273F:6E18  F7 06 4BF1 FFFF                      test    menuitem_table_location, 0FFFFh
273F:6E1E  75 69                                jnz     loc_1392                ; Jump if not zero
273F:6E20                       loc_1383:                                       ;  xref 273F:6E16
273F:6E20 BE 4C0B                              mov     si, offset menuitem_table_info
273F:6E23  A1 4BF8                              mov     ax, data_unk1
273F:6E26  B9 0004                              mov     cx, MENUITEM_NUM_MENUS  ; 4 tables

273F:6E29                       locloop_1384:                                   ;  xref 273F:6E3C
273F:6E29  F7 44 0A FFFF                        test    word ptr [si+0Ah],0FFFFh
273F:6E2E  74 09                                jz      loc_1385                ; Jump if zero
273F:6E30  3B 04                                cmp     ax,[si]
273F:6E32  72 0A                                jb      loc_1386                ; Jump if below
273F:6E34  3B 44 02                             cmp     ax,[si+2]
273F:6E37  72 07                                jb      loc_1387                ; Jump if below

273F:6E39                       loc_1385:                                       ; table diff is 0Eh
273F:6E39  83 C6 0E                             add     si, offset menuitem_table_file - offset menuitem_table_info
273F:6E3C  E2 EB                                loop    locloop_1384            ; Loop if cx > 0

273F:6E3E                       loc_1386:                                       ;  xref 273F:6E32
273F:6E3E  33 F6                                xor     si,si                   ; Zero register
273F:6E40                       loc_1387:                                       ;  xref 273F:6E37
273F:6E40  3B 36 4BF1                           cmp     si, menuitem_table_location
273F:6E44  74 24                                je      loc_1389                ; Jump if equal
273F:6E46  56                                   push    si
273F:6E47  FF 16 0752                           call    [show_compressed_screen_proc]
273F:6E4B  E8 A6C0                              call    room_add_animations
273F:6E4E  5E                                   pop     si
273F:6E4F  0B F6                                or      si,si                   ; Zero ?
273F:6E51  74 06                                jz      loc_1388                ; Jump if zero
273F:6E53  E8 013C                              call    toggle_menu_highlight
273F:6E56  E8 00B1                              call    menubar_create_menu
273F:6E59                       loc_1388:                                       ;  xref 273F:6E51
273F:6E59  C7 06 4BF3 0000                      mov     word ptr ds:[4BF3h],0   ; (273F:4BF3=3E6h)
273F:6E5F  87 36 4BF1                           xchg    menuitem_table_location, si
273F:6E63  0B F6                                or      si,si                   ; Menu currently visible?
273F:6E65  74 03                                jz      loc_1389                ; No, so skip removing it
273F:6E67  E8 0128                              call    toggle_menu_highlight
273F:6E6A                       loc_1389:                                       ;  xref 273F:6E44, 6E65
273F:6E6A  E9 FEF9                              jmp     loc_1374                ; (6D66)
273F:6E6D                       loc_1390:                                       ;  xref 273F:6E0F
273F:6E6D  E8 004C                              call    sub_169                 ; (6EBC)

; At this point a menu item has been selected. I suspect that:
;      ax=item index in menu (1 to 3), BP=> 2=Info, 4=File, 3=>Help
;      If no item selected, then bp = 0 & ax = 0

273F:6E70  0B C0                                or      ax,ax                   ; Zero ?
273F:6E72  75 33                                jnz     loc_1395                ; Jump if not zero
273F:6E74                       loc_1391:                                       ;  xref 273F:6EBA
273F:6E74 C6 06 38B0 00                        mov     data_781, 0
273F:6E79  80 26 11D0 FE                        and     menubar_state, 0FEh ; (273F:11D0=56h)
273F:6E7E  E8 B0F4                              call    show_arrow_cursor
273F:6E81  C6 06 11DA 00                        mov     mouse_buttons2, 0
273F:6E86  E9 017C                              jmp     menubar_clear_image
273F:6E89                       loc_1392:                                       ;  xref 273F:6E1E
273F:6E89  E8 0030                              call    sub_169                 ; (6EBC)
273F:6E8C  0B C0                                or      ax,ax                   ; Zero ?
273F:6E8E  74 09                                jz      loc_1393                ; Jump if zero
273F:6E90  3B 06 4BF3                           cmp     ax,word ptr ds:[4BF3h]  ; (273F:4BF3=3E6h)
273F:6E94  74 0E                                je      loc_1394                ; Jump if equal
273F:6E96  E8 010A                              call    sub_172                 ; (6FA3)
273F:6E99                       loc_1393:                                       ;  xref 273F:6E8E
273F:6E99  87 06 4BF3                           xchg    word ptr ds:[4BF3h],ax  ; (273F:4BF3=3E6h)
273F:6E9D  0B C0                                or      ax,ax                   ; Zero ?
273F:6E9F  74 03                                jz      loc_1394                ; Jump if zero
273F:6EA1  E8 00FF                              call    sub_172                 ; (6FA3)
273F:6EA4                       loc_1394:                                       ;  xref 273F:6E94, 6E9F
273F:6EA4  E9 FEBF                              jmp     loc_1374                ; (6D66)
273F:6EA7                       loc_1395:                                       ;  xref 273F:6E72
273F:6EA7  8B 36 4BF1                           mov     si, menuitem_table_location
273F:6EAB  8B 74 0C                             mov     si,[si+0Ch]
273F:6EAE  48                                   dec     ax
273F:6EAF  B3 04                                mov     bl,4
273F:6EB1  F6 E3                                mul     bl                      ; ax = reg * al
273F:6EB3  03 F0                                add     si,ax
273F:6EB5  8B 44 02                             mov     ax,[si+2]
273F:6EB8  FF D0                                call    ax                      ; Handle the selected item
273F:6EBA  EB B8                                jmp     short loc_1391          

                         menubar_handle_menu    endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:6E6D, 6E89
                                ;��������������������������������������������������������������������������

273F:6EBC                       sub_169         proc    near
273F:6EBC  8B 36 4BF1                           mov     si, menuitem_table_location
273F:6EC0  B1 03                                mov     cl,3
273F:6EC2  8B 44 04                             mov     ax,[si+4]
273F:6EC5  40                                   inc     ax
273F:6EC6  8B 5C 08                             mov     bx,[si+8]
273F:6EC9  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:6ECB  D3 E3                                shl     bx,cl                   ; Shift w/zeros fill
273F:6ECD  39 06 4BF8                           cmp     data_unk1, ax
273F:6ED1  72 34                                jb      loc_1397                ; Jump if below
273F:6ED3  03 D8                                add     bx,ax
273F:6ED5  39 1E 4BF8                           cmp     data_unk1, bx
273F:6ED9  73 2C                                jae     loc_1397                ; Jump if above or =
273F:6EDB  8B 44 06                             mov     ax,[si+6]
273F:6EDE  8B 5C 0A                             mov     bx,[si+0Ah]
273F:6EE1  43                                   inc     bx
273F:6EE2  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:6EE4  D3 E3                                shl     bx,cl                   ; Shift w/zeros fill
273F:6EE6  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:6EEB  74 03                                je      loc_1396                ; Jump if equal
273F:6EED  05 0003                              add     ax,3
273F:6EF0                       loc_1396:                                       ;  xref 273F:6EEB
273F:6EF0  3B 06 4BF6                           cmp     ax,word ptr ds:[4BF6h]  ; (273F:4BF6=0C683h)
273F:6EF4  73 11                                jae     loc_1397                ; Jump if above or =
273F:6EF6  03 D8                                add     bx,ax
273F:6EF8  39 1E 4BF6                           cmp     word ptr ds:[4BF6h],bx  ; (273F:4BF6=0C683h)
273F:6EFC  73 09                                jae     loc_1397                ; Jump if above or =
273F:6EFE  2B 06 4BF6                           sub     ax,word ptr ds:[4BF6h]  ; (273F:4BF6=0C683h)
273F:6F02  F7 D8                                neg     ax
273F:6F04  D3 E8                                shr     ax,cl                   ; Shift w/zeros fill
273F:6F06  C3                                   retn
273F:6F07                       loc_1397:                                       ;  xref 273F:6ED1, 6ED9, 6EF4, 6EFC
273F:6F07  33 C0                                xor     ax,ax                   ; Zero register
273F:6F09  C3                                   retn
                                sub_169         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:6E56
                                ;��������������������������������������������������������������������������

; SI = pointer to data block containing the details of the menu

273F:6F0A               menubar_create_menu     proc    near
273F:6F0A  56                                   push    si
273F:6F0B  56                                   push    si
273F:6F0C  8B 44 04                             mov     ax,[si+4]
273F:6F0F  8B 5C 06                             mov     bx,[si+6]
273F:6F12  8B 4C 08                             mov     cx,[si+8]
273F:6F15  8B 54 0A                             mov     dx,[si+0Ah]             ; Number of menu entries
273F:6F18  BD 0001                              mov     bp,1
273F:6F1B  FF 16 077A                           call    [draw_dialog_proc]
273F:6F1F  5E                                   pop     si
273F:6F20  8B 4C 0A                             mov     cx,[si+0Ah]             ; Number of menu entries
273F:6F23  8B 44 06                             mov     ax,[si+6]
273F:6F26  FE C0                                inc     al
273F:6F28  F7 26 074C                           mul     menubar_block_size      ; Get # lines to save
273F:6F2C  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:6F31  74 0C                                je      loc_1398                ; Jump if equal
273F:6F33  03 06 0748                           add     ax, screen_width
273F:6F37  03 06 0748                           add     ax, screen_width
273F:6F3B  03 06 0748                           add     ax, screen_width
273F:6F3F                       loc_1398:                                       ;  xref 273F:6F31
273F:6F3F  8B F8                                mov     di,ax
273F:6F41  8B 44 04                             mov     ax,[si+4]
273F:6F44  FE C0                                inc     al
273F:6F46  F7 26 074A                           mul     char_width                ; (273F:074A=43A0h) dx:ax = data * ax
273F:6F4A  03 F8                                add     di,ax
273F:6F4C  8B 2E 4CF2                           mov     bp, font_segment
273F:6F50  8B 1E 076E                           mov     bx, data_571
273F:6F54  8B 17                                mov     dx,[bx]
273F:6F56  8B 5C 08                             mov     bx,[si+8]               ; Max chars in menu
273F:6F59  8B 4C 0A                             mov     cx,[si+0Ah]
273F:6F5C  8B 74 0C                             mov     si,[si+0Ch]             ; Offset of list of menuitem text
                                                                                ; strings and handler offsets
273F:6F5F                       locloop_1399:                                   
273F:6F5F  57                                   push    di
273F:6F60  51                                   push    cx
273F:6F61  56                                   push    si
273F:6F62  8B 34                                mov     si,[si]
273F:6F64  8B CB                                mov     cx,bx

273F:6F66                       locloop_1400:                                   ; Loop to add menu item text
273F:6F66  AC                                   lodsb                           ; Load next character
273F:6F67  0A C0                                or      al,al                   ; Is it the end of the string?
273F:6F69  74 0C                                jz      locloop_1401            ; Jump if yes
273F:6F6B  FF 16 076A                           call    [display_character_proc]; Load character
273F:6F6F  03 3E 074A                           add     di, char_width          ; Move the store position
273F:6F73  E2 F1                                loop    locloop_1400            ; Loop if cx > 0

273F:6F75  EB 0D                                jmp     short loc_1402          ; (6F84)

273F:6F77                       locloop_1401:                                   ;  xref 273F:6F69, 6F82
273F:6F77  B8 0020                              mov     ax,20h
273F:6F7A  FF 16 076A                           call    [display_character_proc]
273F:6F7E  03 3E 074A                           add     di, char_width
273F:6F82  E2 F3                                loop    locloop_1401            ; Loop if cx > 0

273F:6F84                       loc_1402:                                       ;  xref 273F:6F75
273F:6F84  5E                                   pop     si
273F:6F85  59                                   pop     cx
273F:6F86  5F                                   pop     di
273F:6F87  03 3E 074C                           add     di, menubar_block_size
273F:6F8B  83 C6 04                             add     si,4
273F:6F8E  E2 CF                                loop    locloop_1399            ; Loop if cx > 0

273F:6F90  5E                                   pop     si
273F:6F91  C3                                   retn
                        menubar_create_menu     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:6E53, 6E67
                                ;��������������������������������������������������������������������������

273F:6F92             toggle_menu_highlight     proc    near
273F:6F92  8B 5C 02                             mov     bx,[si+2]
273F:6F95  8B 3C                                mov     di,[si]
273F:6F97  2B DF                                sub     bx,di
273F:6F99  FF 16 0772                           call    [toggle_menu_highlight_proc]
273F:6F9D  C6 06 4BF0 02                        mov     byte ptr ds:[4BF0h],2   ; (273F:4BF0=3)
273F:6FA2  C3                                   retn
                      toggle_menu_highlight     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:6E96, 6EA1
                                ;��������������������������������������������������������������������������

273F:6FA3                       sub_172         proc    near
273F:6FA3  50                                   push    ax
273F:6FA4  03 44 06                             add     ax,[si+6]
273F:6FA7  50                                   push    ax
273F:6FA8  BB 0A00                              mov     bx,0A00h
273F:6FAB  F7 E3                                mul     bx                      ; dx:ax = reg * ax
273F:6FAD  8B F8                                mov     di,ax
273F:6FAF  8B 44 04                             mov     ax,[si+4]
273F:6FB2  40                                   inc     ax
273F:6FB3  50                                   push    ax
273F:6FB4  B3 08                                mov     bl,8
273F:6FB6  F6 E3                                mul     bl                      ; ax = reg * al
273F:6FB8  03 F8                                add     di,ax
273F:6FBA  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:6FBF  74 04                                je      loc_1403                ; Jump if equal
273F:6FC1  81 C7 03C0                           add     di,3C0h
273F:6FC5                       loc_1403:                                       ;  xref 273F:6FBF
273F:6FC5  8B 5C 08                             mov     bx,[si+8]
273F:6FC8  53                                   push    bx
273F:6FC9  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
273F:6FCB  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
273F:6FCD  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
273F:6FCF  FF 16 0770                           call    word ptr ds:[770h]      ; (273F:0770=6411h)
273F:6FD3  5D                                   pop     bp
273F:6FD4  58                                   pop     ax
273F:6FD5  5B                                   pop     bx
273F:6FD6  4B                                   dec     bx
273F:6FD7  BA 0002                              mov     dx,2
273F:6FDA  B9 0001                              mov     cx,1
273F:6FDD  E8 9BA3                              call    sub_21                  ; (0B83)
273F:6FE0  58                                   pop     ax
273F:6FE1  C6 06 4BF5 01                        mov     byte ptr ds:[4BF5h],1   ; (273F:4BF5=0F5h)
273F:6FE6  C3                                   retn
                                sub_172         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:6D5D
                                ;��������������������������������������������������������������������������

273F:6FE7                       sub_173         proc    near
273F:6FE7  A1 4CE4                              mov     ax, data_segment2
273F:6FEA  8E C0                                mov     es,ax
273F:6FEC  8B 0E 074C                           mov     cx, menubar_block_size
273F:6FF0  D1 E9                                shr     cx,1                    ; Shift w/zeros fill
273F:6FF2  A1 4CF6                              mov     ax,word ptr ds:[4CF6h]  ; (273F:4CF6=8BFFh)
273F:6FF5  1E                                   push    ds
273F:6FF6  8E D8                                mov     ds,ax
273F:6FF8  33 F6                                xor     si,si                   ; Zero register
273F:6FFA  33 FF                                xor     di,di                   ; Zero register
273F:6FFC  F3/ A5                               rep     movsw                   ; Rep when cx >0 Mov [si] to es:[di]
273F:6FFE  1F                                   pop     ds
273F:6FFF  C6 06 4BF0 02                        mov     byte ptr ds:[4BF0h],2   ; (273F:4BF0=3)
273F:7004  C3                                   retn
                                sub_173         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0087, 1365, 1D10, 3C98, 6706, 6C8D, 70A5
                                ;                             7BB7, 8FB2, A828
                                ;��������������������������������������������������������������������������

                        menubar_clear_image    proc    near
273F:7005  A1 4CE4                              mov     ax, data_segment2
273F:7008  8E C0                                mov     es,ax
273F:700A  8B 0E 074C                           mov     cx, menubar_block_size
273F:700E  D1 E9                                shr     cx,1                    ; Shift w/zeros fill
273F:7010  33 C0                                xor     ax,ax                   ; Zero register
273F:7012  33 FF                                xor     di,di                   ; Zero register
273F:7014  F3/ AB                               rep     stosw                   ; Rep when cx >0 Store ax to es:[di]
273F:7016  C6 06 4BF0 02                        mov     byte ptr data_794,2     ; (31E4:4BF0=0)
273F:701B  C3                                   retn
                        menubar_clear_image     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:688C, 6CAF, 8DED
                                ;��������������������������������������������������������������������������

                          talk_clear_line       proc    near
273F:701C  0B C0                                or      ax,ax                   ; Zero ?
273F:701E  74 E5                                jz      menubar_clear_image
273F:7020  F7 26 074C                           mul     menubar_block_size
273F:7024  8B F8                                mov     di,ax
273F:7026  A1 4CE4                              mov     ax, data_segment2
273F:7029  8E C0                                mov     es, ax
273F:702B  8B 0E 074C                           mov     cx, menubar_block_size
273F:702F  D1 E9                                shr     cx,1                    ; Shift w/zeros fill
273F:7031  33 C0                                xor     ax,ax                   ; Zero register
273F:7033  F3/ AB                               rep     stosw                   ; Rep when cx >0 Store ax to es:[di]
273F:7035  C3                                   retn
                          talk_clear_line       endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                               menuitem_quit    proc    near

273F:7036  E8 000B                              call    confirm_dialog
273F:7039  74 01                                jz      loc_1405                ; Jump if zero
273F:703B  C3                                   retn
273F:703C                       loc_1405:                                       ;  xref 273F:7039
273F:703C  B8 0000                              mov     ax,0
273F:703F  B6 01                                mov     dh,1
273F:7041  E8 CF60                              call    display_message         ; (3FA4)

                               menuitem_quit    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:7036, 70EA
                                ;��������������������������������������������������������������������������

273F:7044                   confirm_dialog      proc    near

273F:7044  BE 5040                              mov     si,5040h
273F:7047  C7 44 08 0179                        mov     word ptr [si+8],179h
273F:704C  C6 06 38B0 01                        mov     data_781, 1
273F:7051  E8 18B9                              call    sub_216                 ; (890D)
273F:7054  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:7059  75 03                                jne     loc_1406                ; Jump if not equal
273F:705B  E8 18AF                              call    sub_216                 ; (890D)
273F:705E                       loc_1406:                                       ;  xref 273F:7059
273F:705E  E8 AF2A                              call    mouse_wait              ; (1F8B)
273F:7061                       loc_1407:                                       ;  xref 273F:707F
273F:7061 E8 AF32                              call    pause_for_input         ; (1F96)
273F:7064  50                                   push    ax
273F:7065  80 26 11D0 FE                        and     menubar_state, 0FEh ; (273F:11D0=56h)
273F:706A  FF 16 075E                           call    [show_cursor_proc]
273F:706E  58                                   pop     ax
273F:706F  3C 6E                                cmp     al,6Eh                  ; 'n'
273F:7071  74 0E                                je      loc_1408                ; Jump if equal
273F:7073  3C 4E                                cmp     al,4Eh                  ; 'N'
273F:7075  74 0A                                je      loc_1408                ; Jump if equal
273F:7077  3C 79                                cmp     al,79h                  ; 'y'
273F:7079  74 08                                je      loc_ret_1409            ; Jump if equal
273F:707B  3C 59                                cmp     al,59h                  ; 'Y'
273F:707D  74 04                                je      loc_ret_1409            ; Jump if equal
273F:707F  EB E0                                jmp     short loc_1407          ; (7061)
273F:7081                       loc_1408:                                       ;  xref 273F:7071, 7075
273F:7081  0C 01                                or      al,1

273F:7083                       loc_ret_1409:                                   ;  xref 273F:7079, 707D
273F:7083  C3                                   retn

                            confirm_dialog      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                            menuitem_credits    proc    near

273F:7084  80 0E 11D0 01                        or      menubar_state, 1        ; Hide the cursor
273F:7089  FF 16 075E                           call    [show_cursor_proc]
273F:708D  FF 36 9832                           push    room_number
273F:7091  C7 06 9832 0032                      mov     room_number, 32h
273F:7097  E8 98B4                              call    clear_layer_rects
273F:709A  E8 98D2                              call    room_load_layers
273F:709D  FF 16 0752                           call    [show_compressed_screen_proc]
273F:70A1  FF 16 0764                           call    [empty_palette_proc]
273F:70A5  E8 FF5D                              call    menubar_clear_image
273F:70A8  FF 16 0744                           call    [show_screen_proc]
273F:70AC  FF 16 0762                           call    [set_lower_palette_proc]

273F:70B0  E8 AEE3                              call    pause_for_input         ; (1F96)
273F:70B3  E8 AEA9                              call    show_disk_cursor
273F:70B6  8F 06 9832                           pop     room_number
273F:70BA  E8 9891                              call    clear_layer_rects
273F:70BD  E8 98AF                              call    room_load_layers
273F:70C0  FF 16 074E                           call    word ptr ds:[74Eh]      ; (273F:074E=8010h)
273F:70C4  E8 9920                              call    sub_16                  ; (09E7)
273F:70C7  E8 9A34                              call    sub_19                  ; (0AFE)
273F:70CA  E8 C9E1                              call    replace_vga_palette     ; (3AAE)
273F:70CD  FF 16 0752                           call    [show_compressed_screen_proc]
273F:70D1  E8 A43A                              call    room_add_animations
273F:70D4  FF 16 0764                           call    [empty_palette_proc]
273F:70D8  FF 16 0744                           call    [show_screen_proc]
273F:70DC  FF 16 0762                           call    [set_lower_palette_proc]
273F:70E0  80 26 11D0 FE                        and     menubar_state, 0FEh
273F:70E5  FF 16 075E                           call    [show_cursor_proc]
273F:70E9  C3                                   retn

                            menuitem_credits    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                           menuitem_restart     proc    near

273F:70EA  E8 FF57                              call    confirm_dialog
273F:70ED  75 05                                jnz     loc_ret_1410            ; Jump if not zero
273F:70EF  80 0E 073D 10                        or      status_flags2, FLAG_RESTART  ; 10h

273F:70F4                       loc_ret_1410:                                   ;  xref 273F:70ED
273F:70F4  C3                                   retn

                           menuitem_restart     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:8FEC
                                ;��������������������������������������������������������������������������

273F:70F5                 menuitem_textspeed    proc    near

273F:70F5  BE 4C7F                              mov     si, offset slowtext_slow_substr
273F:70F8  80 36 CE20 80                        xor     game_flags, 80h
273F:70FD  79 03                                jns     loc_1411                ; Jump if not sign
273F:70FF BE 4C83                              mov     si, offset slowtext_fast_substr
273F:7102                       loc_1411:
273F:7102 BF 4C74                              mov     di, offset menuitem_textspeed_str
273F:7105  B9 0002                              mov     cx, 2                   ; Four characters to replace
273F:7108  1E                                   push    ds
273F:7109  07                                   pop     es
273F:710A  F3/ A5                               rep     movsw                   ; Rep when cx >0 Mov [si] to es:[di]
273F:710C  C3                                   retn

                          menuitem_textspeed    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                              menuitem_sound    proc    near

273F:710D  E8 30E3                              call    sub_257
273F:7110  BE 4C91                              mov     si, offset sound_on_substr
273F:7113  F6 06 5660 02                        test    music_status, 2
273F:7118  75 03                                jnz     loc_1412
273F:711A BE 4C95                              mov     si, offset sound_off_substr
273F:711D                       loc_1412:
273F:711D  80 36 5660 02                        xor     music_status, 2
273F:7122 BF 4C8D                              mov     di, offset menuitem_sound_str+6 ; Start of 'off' or 'on' 
273F:7125  B9 0002                              mov     cx,2                    ; Move four bytes
273F:7128  1E                                   push    ds
273F:7129  07                                   pop     es
273F:712A  F3/ A5                               rep     movsw
273F:712C  C3                                   retn

                              menuitem_sound    endp

273F:712D  00                                   db      0

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:4380, 721C
                                ;��������������������������������������������������������������������������

                pathfind_flag_covered_cells     proc    near
273F:712E 53                                   push    bx
273F:712F  E8 D262                              call    pathfind_get_cell
273F:7132  74 0D                                jz      loc_1416                ; Exit if animation offscreen

273F:7134                       locloop_1414:
273F:7134  09 07                                or      [bx], ax                ; Flag cell as covered

273F:7136  D0 E8                                shr     al, 1                   ; Rotate bit mask
273F:7138  73 05                                jnc     loc_1415                ; Jump if not passed bit 0
273F:713A  83 C3 01                             add     bx, 1                   ; Move to next byte in data
273F:713D  B0 80                                mov     al, 80h                 ; Reset bit mask
273F:713F                       loc_1415:
273F:713F  E2 F3                                loop    locloop_1414            ; Loop for remaining cells

273F:7141                       loc_1416:
273F:7141  5B                                   pop     bx
273F:7142  C3                                   retn
                pathfind_flag_covered_cells     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:7245
                                ;��������������������������������������������������������������������������

                pathfind_clear_covered_cells    proc    near
273F:7143  53                                   push    bx
273F:7144  E8 D24D                              call    pathfind_get_cell
273F:7147  74 12                                jz      loc_1420                ; Jump if zero
273F:7149  32 E4                                xor     ah,ah                   ; Zero register
273F:714B  F7 D0                                not     ax

273F:714D                       locloop_1418:                                   ;  xref 273F:7159
273F:714D  20 07                                and     [bx],al
273F:714F  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:7151  72 06                                jc      loc_1419                ; Jump if carry Set
273F:7153  83 C3 01                             add     bx,1
273F:7156  B8 FF7F                              mov     ax,0FF7Fh
273F:7159                       loc_1419:                                       ;  xref 273F:7151
273F:7159  E2 F2                                loop    locloop_1418            ; Loop if cx > 0

273F:715B                       loc_1420:                                       ;  xref 273F:7147
273F:715B  5B                                   pop     bx
273F:715C  C3                                   retn
                pathfind_clear_covered_cells    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                         seq_set_action_ctr     proc    near
273F:715D  E8 9B88                              call    get_room_resource_pointer
273F:7160  88 4C 2A                             mov     [si+HS_ACTION_CTR], cl
273F:7163  C3                                   retn
                         seq_set_action_ctr     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:7164  E8 9B81                              call    get_room_resource_pointer

273F:7167  E8 0008                              call    animation_load_2
273F:716A  C6 45 10 00                          mov     byte ptr [di+ANIM_CAN_UNLOAD], 0
273F:716E  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:88B7
                                ;��������������������������������������������������������������������������

273F:716F                 animation_load        proc    near
273F:716F  E8 9B76                              call    get_room_resource_pointer

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:7167, 7F7E

273F:7172                 animation_load_2:
273F:7172 E8 9F5E                              call    animation_find_slot

; di = free animation list slot. si = pointer to resource, bx = resource Id

273F:7175  89 7C 0B                             mov     [si+HS_ANIM_OFFSET], di  ; Store slot anim is placed in
273F:7178  89 5D 1B                             mov     [di+ANIM_HOTSPOT_ID], bx ; Save Id of anim resource
273F:717B  89 75 19                             mov     [di+ANIM_HOTSPOT_OFFSET], si ; Save ptr of anim resource
273F:717E  8B 44 0F                             mov     ax, [si+HS_Y]           ; Copy over Y start
273F:7181  89 45 02                             mov     [di+ANIM_Y], ax
273F:7184  8B 44 0D                             mov     ax, [si+HS_X]           ; Copy over X start
273F:7187  89 05                                mov     [di+ANIM_X], ax
273F:7189  8B 44 11                             mov     ax, [si+HS_WIDTH]       ; Copy over width
273F:718C  89 45 04                             mov     [di+ANIM_WIDTH], ax
273F:718F  8B 44 13                             mov     ax, [si+HS_HEIGHT]      ; Copy over height
273F:7192  89 45 06                             mov     [di+ANIM_HEIGHT], ax
273F:7195  8A 44 15                             mov     al, [si+HS_LAYER]       ; Copy layer
273F:7198  88 45 0C                             mov     [di+ANIM_LAYER], al
273F:719B  8A 44 16                             mov     al, [si+16h] 
273F:719E  88 45 0D                             mov     [di+ANIM_FLAGS], al
273F:71A1  C6 45 10 01                          mov     byte ptr [di+ANIM_CAN_UNLOAD], 1
273F:71A5  8B 44 17                             mov     ax, [si+HS_TICK_PROC]   ; Copy tick handler proc
273F:71A8  89 45 11                             mov     [di+ANIM_TICK_PROC], ax
273F:71AB  8B 44 19                             mov     ax, [si+HS_WIDTH_COPY]
273F:71AE  89 45 13                             mov     [di+ANIM_WIDTH_COPY], ax
273F:71B1  8B 44 1B                             mov     ax, [si+HS_HEIGHT_COPY]
273F:71B4  89 45 15                             mov     [di+ANIM_HEIGHT_COPY], ax
273F:71B7  8B 44 1D                             mov     ax, [si+HS_Y_CORRECTION] ; Y correction
273F:71BA  89 45 17                             mov     [di+ANIM_Y_CORRECTION], ax
273F:71BD  C7 45 1E 0000                        mov     word ptr [di+ANIM_VOICE_CHAR_ID], 0
273F:71C2  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]    ; Copy room number
273F:71C5  89 45 0E                             mov     [di+ANIM_ROOM_NUM], ax
273F:71C8  8A 44 23                             mov     al, [si+HS_START_COLOUR] ; Copy colour offset
273F:71CB  88 45 28                             mov     [di+ANIM_START_COLOUR], al

273F:71CE  8B 5C 21                             mov     bx, [si+HS_PIXEL_OFFSET] ; Get animation record
273F:71D1  8B 47 03                             mov     ax, [bx+PIXEL_DATA_SEGMENT] ; Get pixel data segment
273F:71D4  89 45 0A                             mov     [di+ANIM_SEGMENT], ax   ; Set it in animation
273F:71D7  33 C9                                xor     cx, cx
273F:71D9  F6 47 02 04                          test    byte ptr [bx+PIXEL_FLAGS], PIXELFLAG_HAS_TABLE
273F:71DD  74 07                                jz      loc_1422                ; Jump if zero
273F:71DF  8E C0                                mov     es, ax
273F:71E1  26: 8B 0E 0000                       mov     cx, es:[0]
273F:71E6                       loc_1422:
273F:71E6  89 4D 08                             mov     [di+ANIM_FRAME_OFFSET], cx ; Set frame
273F:71E9  C6 45 27 01                          mov     byte ptr [di+ANIM_WALK_FLAG], 1
273F:71ED  C3                                   retn
                          animation_load        endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:1326, 1D93, 5207, 538B, 5705, 5746, 57DC
                                ;                             5FF9, 720B, 8025, 826F, 86C6, 86D1, 86E8
                                ;                             86F2, 8708, 8727, 8894, 9E82
                                ;��������������������������������������������������������������������������

                    room_exit_hs_get_pointer    proc    near
273F:71EE BE CE30                              mov     si, offset room_exit_joins_table
273F:71F1                       loc_1423:                                       ;  xref 273F:71FD
273F:71F1 3B 04                                cmp     ax, [si]
273F:71F3  74 0A                                je      loc_1424                ; Jump if equal
273F:71F5  3B 44 06                             cmp     ax, [si+REHS_HOTSPOT2_ID]
273F:71F8  74 09                                je      loc_1425                ; Jump if equal
273F:71FA  83 C6 11                             add     si, REHS_RECORD_SIZE
273F:71FD  EB F2                                jmp     short loc_1423          ; (71F1)
273F:71FF                       loc_1424:                                       ;  xref 273F:71F3
273F:71FF  BB 0002                              mov     bx, REHS_HOTSPOT1_CURRENT_FRAME
273F:7202  C3                                   retn
273F:7203                       loc_1425:                                       ;  xref 273F:71F8
273F:7203  BB 0008                              mov     bx, REHS_HOTSPOT2_CURRENT_FRAME
273F:7206  C3                                   retn
                    room_exit_hs_get_pointer    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; This tick handler proc is used by a lot of the resources in the 3rd
                                ; hotspot table (hotspots starting at 2711h)
                                ; di = animation slot entry, si = hotspot resource
                                ;��������������������������������������������������������������������������


                       room_exits_tick_proc     proc    near

273F:7207  8B 45 1B                             mov     ax,[di+ANIM_HOTSPOT_ID] ; Get hotspot Id
273F:720A  56                                   push    si                      ; Save hotspot ptr
273F:720B  E8 FFE0                              call    room_exit_hs_get_pointer
273F:720E  F6 44 0C FF                          test    byte ptr [si+REHS_EXIT_BLOCKED], 0FFh
273F:7212  74 2A                                jz      loc_1427                ; Jump if exit blocked

; Eexecution reaches this point if the room exit is blocked
273F:7214  8A 00                                mov     al, [bx+si]             ; Get frame number
273F:7216  3A 40 01                             cmp     al, [bx+si+1]           ; Check against dest frame
273F:7219  74 12                                je      loc_1426                ; If equal, go set frame
273F:721B  50                                   push    ax
273F:721C  E8 FF0F                              call    pathfind_flag_covered_cells
273F:721F  58                                   pop     ax
273F:7220  04 01                                add     al, 1                   ; Move to next frame
273F:7222  3A 40 01                             cmp     al, [bx+si+1]           ; Reached end frame yet?
273F:7225  75 06                                jne     loc_1426                ; No, so go set frame
273F:7227  B9 0001                              mov     cx, 1
273F:722A  E8 00DA                              call    room_exit_play_sound

; The code below sets the frame number and offset of the given hotspot to the # in AL
273F:722D                       loc_1426:
273F:722D 88 00                                mov     [bx+si],al              ; Store frame number
273F:722F  5E                                   pop     si
273F:7230  8B 5C 21                             mov     bx,[si+HS_PIXEL_OFFSET]
273F:7233  32 E4                                xor     ah,ah                   ; Calculate frame offset
273F:7235  F7 67 07                             mul     word ptr [bx+PIXEL_FRAME_SIZE]
273F:7238  89 45 08                             mov     [di+ANIM_FRAME_OFFSET], ax ; Save frame start
273F:723B  C3                                   retn

273F:723C  5E                                   pop     si
273F:723D  C3                                   retn

; Execution reaches this pointer if the room exit is currently active
273F:723E                       loc_1427:
273F:723E  8A 00                                mov     al, [bx+si]             ; Get frame number
273F:7240  0A C0                                or      al, al                  ; Zero ?
273F:7242  74 E9                                jz      loc_1426                ; If zero, go set and exit

273F:7244  50                                   push    ax
273F:7245  E8 FEFB                              call    pathfind_clear_covered_cells
273F:7248  58                                   pop     ax
273F:7249  3A 40 01                             cmp     al, [bx+si+1]           ; Current frame at end frame?
273F:724C  75 19                                jne     loc_1428                ; No, so go move back 1 frame

273F:724E  33 C9                                xor     cx, cx                  ; Zero register
273F:7250  E8 00B4                              call    room_exit_play_sound
273F:7253  80 3E BAB9 01                        cmp     byte ptr script_val_88, 1
273F:7258  75 0D                                jne     loc_1428                ; Jump if not equal
273F:725A  53                                   push    bx
273F:725B  50                                   push    ax
273F:725C  B8 0C00                              mov     ax, 0C00h
273F:725F  32 DB                                xor     bl, bl                  ; Zero register
273F:7261  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:7265  58                                   pop     ax
273F:7266  5B                                   pop     bx
273F:7267                       loc_1428:
273F:7267  2C 01                                sub     al, 1                   ; Move to prior frame
273F:7269  EB C2                                jmp     short loc_1426          ; Go set frame

                       room_exits_tick_proc     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:57ED, 57F7
                                ;��������������������������������������������������������������������������

                            door_close_check    proc    near
273F:726B  55                                   push    bp
273F:726C  56                                   push    si
273F:726D  8B 5F 0B                             mov     bx, [bx+HS_ANIM_OFFSET]
273F:7270  8B 57 0E                             mov     dx, [bx+ANIM_ROOM_NUM]  ; Get room number
273F:7273 BE B14E                              mov     si, offset animation_table
273F:7276  B9 002D                              mov     cx, NUM_ANIMATION_SLOTS
273F:7279  8B 07                                mov     ax, [bx+ANIM_X]
273F:727B  A3 10E6                              mov     char_rect_left, ax
273F:727E  03 47 13                             add     ax, [bx+ANIM_WIDTH_COPY]
273F:7281  A3 10E8                              mov     char_rect_right, ax
273F:7284  8B 47 02                             mov     ax, [bx+ANIM_Y]
273F:7287  03 47 15                             add     ax, [bx+ANIM_HEIGHT_COPY]
273F:728A  50                                   push    ax
273F:728B  2B 47 17                             sub     ax, [bx+ANIM_Y_CORRECTION]
273F:728E  2B 47 22                             sub     ax, [bx+ANIM_CHAR_RECT_Y]
273F:7291  A3 10EA                              mov     char_rect_top, ax
273F:7294  58                                   pop     ax
273F:7295  03 47 22                             add     ax, [bx+ANIM_CHAR_RECT_Y]
273F:7298  A3 10EC                              mov     char_rect_bottom, ax

273F:729B                       locloop_1429:                                   ;  xref 273F:72FC
273F:729B  3B FE                                cmp     di, si                  ; Reached anim pointed to by DI?
273F:729D  74 5A                                je      loc_1431                ; Skip if yes
273F:729F  3B F3                                cmp     si, bx                  ; Reached anim pointed to by BX?
273F:72A1  74 56                                je      loc_1431                ; Skip if yes

273F:72A3  F6 44 0C FF                          test    [si+ANIM_LAYER], 0FFh   ; Animation has a layer?
273F:72A7  74 50                                jz      loc_1431                ; Skip if not
273F:72A9  3B 54 0E                             cmp     dx, [si+ANIM_ROOM_NUM]  ; In same room?
273F:72AC  75 4B                                jne     loc_1431                ; Skip if not
273F:72AE  8B 44 1B                             mov     ax, [si+ANIM_HOTSPOT_ID]
273F:72B1  3D 03E8                              cmp     ax, PLAYER_HOTSPOT_ID
273F:72B4  72 43                                jb      loc_1431                ; Skip low end animations
273F:72B6  3D 0408                              cmp     ax, FIRST_OBJECT_HOTSPOT_ID
273F:72B9  72 05                                jb      loc_1430                ; Jump if below
273F:72BB  3D 2710                              cmp     ax, START_EXIT_HOTSPOT_ID
273F:72BE  72 39                                jb      loc_1431                ; Jump if below
273F:72C0                       loc_1430:
273F:72C0  3D FFFE                              cmp     ax,0FFFEh
273F:72C3  73 34                                jae     loc_1431                ; Skip if Id is 0fffeh or 0ffffh
273F:72C5  8B 04                                mov     ax, [si+ANIM_X]         ; Get anim x pos
273F:72C7  3B 06 10E8                           cmp     ax, char_rect_right    ; More than set X pos?
273F:72CB  73 2C                                jae     loc_1431                ; If yes, skip entry
273F:72CD  03 44 13                             add     ax,[si+ANIM_WIDTH_COPY] ; anim width
273F:72D0  3B 06 10E6                           cmp     ax, char_rect_left      ; Compare against loaded right
273F:72D4  72 23                                jb      loc_1431                ; Skip if less or equal
273F:72D6  74 21                                jz      loc_1431

; This point is only reached if an animation is in the current room if it's
; X start is less than or equal to that specified at routine start, and it's right
; is greater than the X end position. That is to say, the given horizontal slice

273F:72D8  8B 44 02                             mov     ax, [si+ANIM_Y]         ; Get Y position
273F:72DB  03 44 15                             add     ax, [si+ANIM_HEIGHT_COPY]; Add copy of anim height
273F:72DE  8B E8                                mov     bp,ax
273F:72E0  03 44 22                             add     ax, [si+ANIM_CHAR_RECT_Y]
273F:72E3  3B 06 10EA                           cmp     ax, char_rect_top
273F:72E7  72 10                                jb      loc_1431                ; Not meeting Y start
273F:72E9  8B C5                                mov     ax, bp
273F:72EB  2B 44 17                             sub     ax, [si+ANIM_Y_CORRECTION]
273F:72EE  2B 44 22                             sub     ax, [si+ANIM_CHAR_RECT_Y]
273F:72F1  3B 06 10EC                           cmp     ax, char_rect_bottom
273F:72F5  74 0B                                je      loc_1432                ; Jump if equal
273F:72F7  72 09                                jc      loc_1432                ; Jump if carry Set

273F:72F9                       loc_1431:
273F:72F9  83 C6 29                             add     si, ANIMATION_SLOT_SIZE
273F:72FC  E2 9D                                loop    locloop_1429            ; Loop if cx > 0

273F:72FE  0C 01                                or      al,1                    ; Result = 1 (no blockings)
273F:7300  EB 02                                jmp     short loc_1433
273F:7302                       loc_1432:
273F:7302  33 C0                                xor     ax,ax                   ; Result = 0 (a blocking)
273F:7304                       loc_1433:
273F:7304  5E                                   pop     si
273F:7305  5D                                   pop     bp
273F:7306  C3                                   retn
                            door_close_check    endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:722A, 7250
                                ;��������������������������������������������������������������������������

                       room_exit_play_sound     proc    near
273F:7307  50                                   push    ax
273F:7308  56                                   push    si
273F:7309  53                                   push    bx
273F:730A  57                                   push    di
273F:730B  8B 16 9832                           mov     dx, room_number
273F:730F  8B 7C 0D                             mov     di, [si+REHS_HOTSPOT1_OFFSET]
273F:7312  83 FB 02                             cmp     bx, 2
273F:7315  74 03                                je      loc_1434
273F:7317  8B 7C 0F                             mov     di, [si+REHS_HOTSPOT2_OFFSET]
273F:731A                       loc_1434:                                       ;  xref 273F:7315
273F:731A  3B 55 06                             cmp     dx, [di+HS_ROOM_NUM]
273F:731D  75 10                                jne     loc_1435                ; Jump if not equal
273F:731F  03 D9                                add     bx, cx
273F:7321  8A 58 02                             mov     bl, [bx+si+2]
273F:7324  32 FF                                xor     bh, bh
273F:7326  0B DB                                or      bx, bx                  ; Zero ?
273F:7328  74 05                                jz      loc_1435                ; Jump if zero
273F:732A  E8 2CD0                              call    play_sound
273F:732D  8B CE                                mov     cx, si
273F:732F                       loc_1435:                                       ;  xref 273F:731D, 7328
273F:732F  5F                                   pop     di
273F:7330  5B                                   pop     bx
273F:7331  5E                                   pop     si
273F:7332  58                                   pop     ax
273F:7333  C3                                   retn
                       room_exit_play_sound     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:7876
                                ;��������������������������������������������������������������������������

273F:7334            animation_decode_inner     proc    near
273F:7334  83 C6 06                             add     si,6
273F:7337  1E                                   push    ds
273F:7338  8E DA                                mov     ds,dx
273F:733A  B5 10                                mov     ch,10h
273F:733C  B1 04                                mov     cl,4
273F:733E  33 FF                                xor     di,di                   ; Zero register
273F:7340                       loc_1436:                                       ;  xref 273F:7365
273F:7340  AC                                   lodsb                           ; String [si] to al
273F:7341  26: 88 45 10                         mov     es:[di+10h],al
273F:7345  26: 80 65 10 0F                      and     byte ptr es:[di+10h],0Fh
273F:734A  D2 E8                                shr     al,cl                   ; Shift w/zeros fill
273F:734C  26: 88 05                            mov     es:[di],al
273F:734F  AC                                   lodsb                           ; String [si] to al
273F:7350  26: 88 45 30                         mov     es:[di+30h],al
273F:7354  26: 80 65 30 0F                      and     byte ptr es:[di+30h],0Fh
273F:7359  D2 E8                                shr     al,cl                   ; Shift w/zeros fill
273F:735B  26: 88 45 20                         mov     es:[di+20h],al
273F:735F  83 C7 01                             add     di,1
273F:7362  80 ED 01                             sub     ch,1
273F:7365  75 D9                                jnz     loc_1436                ; Jump if not zero

273F:7367 BF 0040                              mov     di, 40h
273F:736A  AC                                   lodsb                           ; String [si] to al
273F:736B  8A E0                                mov     ah,al
273F:736D  AC                                   lodsb                           ; String [si] to al
273F:736E  32 ED                                xor     ch,ch                   ; Zero register
273F:7370  B1 04                                mov     cl,4
273F:7372  26: 88 25                            mov     es:[di],ah
273F:7375  26: 80 25 F0                         and     byte ptr es:[di],0F0h
273F:7379  8A DC                                mov     bl,ah
273F:737B  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:737D  D2 EB                                shr     bl,cl                   ; Shift w/zeros fill
273F:737F  32 FF                                xor     bh,bh                   ; Zero register
273F:7381  B2 01                                mov     dl,1

273F:7383                       loc_1437:                                       ;  xref 273F:73A1, 73A9, 74DD
273F:7383 D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:7385  E2 03                                loop    locloop_1438            ; Loop if cx > 0

273F:7387  AC                                   lodsb                           ; String [si] to al
273F:7388  B1 08                                mov     cl,8

273F:738A                       locloop_1438:                                   ;  xref 273F:7385
273F:738A  72 1F                                jc      loc_1441                ; Jump if carry Set
273F:738C  26: 8A 1F                            mov     bl,es:[bx]
273F:738F                       loc_1439:                                       ;  xref 273F:73C1, 73C7, 73D6, 7417
273F:738F 80 F2 01                             xor     dl,1
273F:7392  74 0F                                jz      loc_1440                ; Jump if zero
273F:7394  8A F3                                mov     dh,bl
273F:7396  D0 E6                                shl     dh,1                    ; Shift w/zeros fill
273F:7398  D0 E6                                shl     dh,1                    ; Shift w/zeros fill
273F:739A  D0 E6                                shl     dh,1                    ; Shift w/zeros fill
273F:739C  D0 E6                                shl     dh,1                    ; Shift w/zeros fill
273F:739E  26: 88 35                            mov     es:[di],dh
273F:73A1  EB E0                                jmp     short loc_1437          ; (7383)
273F:73A3                       loc_1440:                                       ;  xref 273F:7392
273F:73A3  26: 08 1D                            or      es:[di],bl
273F:73A6  83 C7 01                             add     di,1
273F:73A9  EB D8                                jmp     short loc_1437          ; (7383)
273F:73AB                       loc_1441:                                       ;  xref 273F:738A
273F:73AB  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:73AD  E2 03                                loop    locloop_1442            ; Loop if cx > 0

273F:73AF  AC                                   lodsb                           ; String [si] to al
273F:73B0  B1 08                                mov     cl,8

273F:73B2                       locloop_1442:                                   ;  xref 273F:73AD
273F:73B2  72 15                                jc      loc_1445                ; Jump if carry Set
273F:73B4  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:73B6  E2 03                                loop    locloop_1443            ; Loop if cx > 0

273F:73B8  AC                                   lodsb                           ; String [si] to al
273F:73B9  B1 08                                mov     cl,8

273F:73BB                       locloop_1443:                                   ;  xref 273F:73B6
273F:73BB  72 06                                jc      loc_1444                ; Jump if carry Set
273F:73BD  26: 8A 5F 10                         mov     bl,es:[bx+10h]
273F:73C1  EB CC                                jmp     short loc_1439          ; (738F)
273F:73C3                       loc_1444:                                       ;  xref 273F:73BB
273F:73C3  26: 8A 5F 20                         mov     bl,es:[bx+20h]
273F:73C7  EB C6                                jmp     short loc_1439          ; (738F)
273F:73C9                       loc_1445:                                       ;  xref 273F:73B2
273F:73C9  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:73CB  E2 03                                loop    locloop_1446            ; Loop if cx > 0

273F:73CD  AC                                   lodsb                           ; String [si] to al
273F:73CE  B1 08                                mov     cl,8

273F:73D0                       locloop_1446:                                   ;  xref 273F:73CB
273F:73D0  72 06                                jc      loc_1447                ; Jump if carry Set
273F:73D2  26: 8A 5F 30                         mov     bl,es:[bx+30h]
273F:73D6  EB B7                                jmp     short loc_1439          ; (738F)
273F:73D8                       loc_1447:                                       ;  xref 273F:73D0
273F:73D8  8A F4                                mov     dh,ah
273F:73DA  D0 EE                                shr     dh,1                    ; Shift w/zeros fill
273F:73DC  D0 EE                                shr     dh,1                    ; Shift w/zeros fill
273F:73DE  D0 EE                                shr     dh,1                    ; Shift w/zeros fill
273F:73E0  D0 EE                                shr     dh,1                    ; Shift w/zeros fill

273F:73E2  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:73E4  E2 03                                loop    locloop_1448            ; Loop if cx > 0

273F:73E6  AC                                   lodsb                           ; String [si] to al
273F:73E7  B1 08                                mov     cl,8

273F:73E9                       locloop_1448:                                   ;  xref 273F:73E4
273F:73E9  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:73EB  E2 03                                loop    locloop_1449            ; Loop if cx > 0

273F:73ED  AC                                   lodsb                           ; String [si] to al
273F:73EE  B1 08                                mov     cl,8

273F:73F0                       locloop_1449:                                   ;  xref 273F:73EB
273F:73F0  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:73F2  E2 03                                loop    locloop_1450            ; Loop if cx > 0

273F:73F4  AC                                   lodsb                           ; String [si] to al
273F:73F5  B1 08                                mov     cl,8

273F:73F7                       locloop_1450:                                   ;  xref 273F:73F2
273F:73F7  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:73F9  E2 03                                loop    locloop_1451            ; Loop if cx > 0

273F:73FB  AC                                   lodsb                           ; String [si] to al
273F:73FC  B1 08                                mov     cl,8

273F:73FE                       locloop_1451:                                   ;  xref 273F:73F9
273F:73FE  26: 3A 37                            cmp     dh,es:[bx]
273F:7401  74 17                                je      loc_1452                ; Jump if equal
273F:7403  26: 3A 77 10                         cmp     dh,es:[bx+10h]
273F:7407  74 29                                je      loc_1454                ; Jump if equal
273F:7409  26: 3A 77 20                         cmp     dh,es:[bx+20h]
273F:740D  74 2D                                je      loc_1455                ; Jump if equal
273F:740F  26: 3A 77 30                         cmp     dh,es:[bx+30h]
273F:7413  74 5E                                je      loc_1462                ; Jump if equal
273F:7415  8A DE                                mov     bl,dh
273F:7417  E9 FF75                              jmp     loc_1439                ; (738F)
273F:741A                       loc_1452:                                       ;  xref 273F:7401
273F:741A  51                                   push    cx
273F:741B  52                                   push    dx
273F:741C  E8 00C7                              call    sub_186                 ; (74E6)
273F:741F  8A D6                                mov     dl,dh
273F:7421  E8 00C2                              call    sub_186                 ; (74E6)
273F:7424  8A EA                                mov     ch,dl
273F:7426  8A CE                                mov     cl,dh
273F:7428  5A                                   pop     dx
273F:7429  0B C9                                or      cx,cx                   ; Zero ?
273F:742B  74 02                                jz      loc_1453                ; Jump if zero
273F:742D  EB 74                                jmp     short loc_1468          ; (74A3)
273F:742F                       loc_1453:
273F:742F  E9 00AE                              jmp     loc_1471                ; Exit
273F:7432                       loc_1454:                                       ;  xref 273F:7407
273F:7432  51                                   push    cx
273F:7433  E8 00B0                              call    sub_186                 ; (74E6)
273F:7436  8A CE                                mov     cl,dh
273F:7438  32 ED                                xor     ch,ch                   ; Zero register
273F:743A  EB 67                                jmp     short loc_1468          ; (74A3)
273F:743C                       loc_1455:                                       ;  xref 273F:740D
273F:743C  8A F4                                mov     dh,ah
273F:743E  D0 EE                                shr     dh,1                    ; Shift w/zeros fill
273F:7440  D0 EE                                shr     dh,1                    ; Shift w/zeros fill
273F:7442  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:7444  E2 03                                loop    locloop_1456            ; Loop if cx > 0

273F:7446  AC                                   lodsb                           ; String [si] to al
273F:7447  B1 08                                mov     cl,8

273F:7449                       locloop_1456:                                   ;  xref 273F:7444
273F:7449  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:744B  E2 03                                loop    locloop_1457            ; Loop if cx > 0

273F:744D  AC                                   lodsb                           ; String [si] to al
273F:744E  B1 08                                mov     cl,8

273F:7450                       locloop_1457:                                   ;  xref 273F:744B
273F:7450  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:7452  E2 03                                loop    locloop_1458            ; Loop if cx > 0

273F:7454  AC                                   lodsb                           ; String [si] to al
273F:7455  B1 08                                mov     cl,8

273F:7457                       locloop_1458:                                   ;  xref 273F:7452
273F:7457  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:7459  E2 03                                loop    locloop_1459            ; Loop if cx > 0

273F:745B  AC                                   lodsb                           ; String [si] to al
273F:745C  B1 08                                mov     cl,8

273F:745E                       locloop_1459:                                   ;  xref 273F:7459
273F:745E  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:7460  E2 03                                loop    locloop_1460            ; Loop if cx > 0

273F:7462  AC                                   lodsb                           ; String [si] to al
273F:7463  B1 08                                mov     cl,8

273F:7465                       locloop_1460:                                   ;  xref 273F:7460
273F:7465  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:7467  E2 03                                loop    locloop_1461            ; Loop if cx > 0

273F:7469  AC                                   lodsb                           ; String [si] to al
273F:746A  B1 08                                mov     cl,8

273F:746C                       locloop_1461:                                   ;  xref 273F:7467
273F:746C  51                                   push    cx
273F:746D  8A CE                                mov     cl,dh
273F:746F  32 ED                                xor     ch,ch                   ; Zero register
273F:7471  EB 30                                jmp     short loc_1468          ; (74A3)
273F:7473                       loc_1462:                                       ;  xref 273F:7413
273F:7473  8A F4                                mov     dh,ah
273F:7475  D0 EE                                shr     dh,1                    ; Shift w/zeros fill
273F:7477  D0 EE                                shr     dh,1                    ; Shift w/zeros fill
273F:7479  D0 EE                                shr     dh,1                    ; Shift w/zeros fill
273F:747B  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:747D  E2 03                                loop    locloop_1463            ; Loop if cx > 0

273F:747F  AC                                   lodsb                           ; String [si] to al
273F:7480  B1 08                                mov     cl,8

273F:7482                       locloop_1463:                                   ;  xref 273F:747D
273F:7482  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:7484  E2 03                                loop    locloop_1464            ; Loop if cx > 0

273F:7486  AC                                   lodsb                           ; String [si] to al
273F:7487  B1 08                                mov     cl,8

273F:7489                       locloop_1464:                                   ;  xref 273F:7484
273F:7489  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:748B  E2 03                                loop    locloop_1465            ; Loop if cx > 0

273F:748D  AC                                   lodsb                           ; String [si] to al
273F:748E  B1 08                                mov     cl,8

273F:7490                       locloop_1465:                                   ;  xref 273F:748B
273F:7490  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:7492  E2 03                                loop    locloop_1466            ; Loop if cx > 0

273F:7494  AC                                   lodsb                           ; String [si] to al
273F:7495  B1 08                                mov     cl,8

273F:7497                       locloop_1466:                                   ;  xref 273F:7492
273F:7497  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:7499  E2 03                                loop    locloop_1467            ; Loop if cx > 0

273F:749B  AC                                   lodsb                           ; String [si] to al
273F:749C  B1 08                                mov     cl,8

273F:749E                       locloop_1467:                                   ;  xref 273F:7499
273F:749E  51                                   push    cx
273F:749F  8A CE                                mov     cl,dh
273F:74A1  32 ED                                xor     ch,ch                   ; Zero register
273F:74A3                       loc_1468:                                       ;  xref 273F:742D, 743A, 7471
273F:74A3  F6 C2 01                             test    dl,1
273F:74A6  74 0C                                jz      loc_1469                ; Jump if zero
273F:74A8  26: 08 1D                            or      es:[di],bl
273F:74AB  83 C7 01                             add     di,1
273F:74AE  83 E9 01                             sub     cx,1
273F:74B1  80 E2 FE                             and     dl,0FEh
273F:74B4                       loc_1469:                                       ;  xref 273F:74A6
273F:74B4  8A F3                                mov     dh,bl
273F:74B6  D0 E6                                shl     dh,1                    ; Shift w/zeros fill
273F:74B8  D0 E6                                shl     dh,1                    ; Shift w/zeros fill
273F:74BA  D0 E6                                shl     dh,1                    ; Shift w/zeros fill
273F:74BC  D0 E6                                shl     dh,1                    ; Shift w/zeros fill
273F:74BE  0A DE                                or      bl,dh
273F:74C0  51                                   push    cx
273F:74C1  D1 E9                                shr     cx,1                    ; Shift w/zeros fill
273F:74C3  86 C3                                xchg    al,bl
273F:74C5  F3/ AA                               rep     stosb                   ; Rep when cx >0 Store al to es:[di]
273F:74C7  86 C3                                xchg    al,bl
273F:74C9  59                                   pop     cx
273F:74CA  83 E1 01                             and     cx,1
273F:74CD  74 0A                                jz      loc_1470                ; Jump if zero
273F:74CF  26: 88 1D                            mov     es:[di],bl
273F:74D2  26: 80 25 F0                         and     byte ptr es:[di],0F0h
273F:74D6  80 CA 01                             or      dl,1
273F:74D9                       loc_1470:                                       ;  xref 273F:74CD
273F:74D9  59                                   pop     cx
273F:74DA  80 E3 0F                             and     bl,0Fh
273F:74DD  E9 FEA3                              jmp     loc_1437                ; (7383)
273F:74E0                       loc_1471:
273F:74E0  58                                   pop     ax
273F:74E1  1F                                   pop     ds
273F:74E2  FF 26 0776                           jmp     [data_575]              ; For VGA, no implementation
                     animation_decode_inner     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:741C, 7421, 7433
                                ;��������������������������������������������������������������������������

273F:74E6                       sub_186         proc    near
273F:74E6  8A F4                                mov     dh,ah
273F:74E8  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:74EA  E2 03                                loop    locloop_1472            ; Loop if cx > 0

273F:74EC  AC                                   lodsb                           ; String [si] to al
273F:74ED  B1 08                                mov     cl,8

273F:74EF                       locloop_1472:                                   ;  xref 273F:74EA
273F:74EF  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:74F1  E2 03                                loop    locloop_1473            ; Loop if cx > 0

273F:74F3  AC                                   lodsb                           ; String [si] to al
273F:74F4  B1 08                                mov     cl,8

273F:74F6                       locloop_1473:                                   ;  xref 273F:74F1
273F:74F6  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:74F8  E2 03                                loop    locloop_1474            ; Loop if cx > 0

273F:74FA  AC                                   lodsb                           ; String [si] to al
273F:74FB  B1 08                                mov     cl,8

273F:74FD                       locloop_1474:                                   ;  xref 273F:74F8
273F:74FD  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:74FF  E2 03                                loop    locloop_1475            ; Loop if cx > 0

273F:7501  AC                                   lodsb                           ; String [si] to al
273F:7502  B1 08                                mov     cl,8

273F:7504                       locloop_1475:                                   ;  xref 273F:74FF
273F:7504  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:7506  E2 03                                loop    locloop_1476            ; Loop if cx > 0

273F:7508  AC                                   lodsb                           ; String [si] to al
273F:7509  B1 08                                mov     cl,8

273F:750B                       locloop_1476:                                   ;  xref 273F:7506
273F:750B  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:750D  E2 03                                loop    locloop_1477            ; Loop if cx > 0

273F:750F  AC                                   lodsb                           ; String [si] to al
273F:7510  B1 08                                mov     cl,8

273F:7512                       locloop_1477:                                   ;  xref 273F:750D
273F:7512  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:7514  E2 03                                loop    locloop_1478            ; Loop if cx > 0

273F:7516  AC                                   lodsb                           ; String [si] to al
273F:7517  B1 08                                mov     cl,8

273F:7519                       locloop_1478:                                   ;  xref 273F:7514
273F:7519  D1 D0                                rcl     ax,1                    ; Rotate thru carry
273F:751B  E2 03                                loop    locloop_1479            ; Loop if cx > 0

273F:751D  AC                                   lodsb                           ; String [si] to al
273F:751E  B1 08                                mov     cl,8

273F:7520                       locloop_1479:                                   ;  xref 273F:751B
273F:7520  C3                                   retn
                                sub_186         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:25C8, 25CD, 25DF
                                ;��������������������������������������������������������������������������

273F:7521                       sub_187         proc    near
273F:7521  8A C6                                mov     al,dh
273F:7523  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:7525  E2 07                                loop    locloop_1480            ; Loop if cx > 0

273F:7527  86 D0                                xchg    dl,al
273F:7529  AC                                   lodsb                           ; String [si] to al
273F:752A  86 D0                                xchg    dl,al
273F:752C  B1 08                                mov     cl,8

273F:752E                       locloop_1480:                                   ;  xref 273F:7525
273F:752E  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:7530  E2 07                                loop    locloop_1481            ; Loop if cx > 0

273F:7532  86 D0                                xchg    dl,al
273F:7534  AC                                   lodsb                           ; String [si] to al
273F:7535  86 D0                                xchg    dl,al
273F:7537  B1 08                                mov     cl,8

273F:7539                       locloop_1481:                                   ;  xref 273F:7530
273F:7539  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:753B  E2 07                                loop    locloop_1482            ; Loop if cx > 0

273F:753D  86 D0                                xchg    dl,al
273F:753F  AC                                   lodsb                           ; String [si] to al
273F:7540  86 D0                                xchg    dl,al
273F:7542  B1 08                                mov     cl,8

273F:7544                       locloop_1482:                                   ;  xref 273F:753B
273F:7544  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:7546  E2 07                                loop    locloop_1483            ; Loop if cx > 0

273F:7548  86 D0                                xchg    dl,al
273F:754A  AC                                   lodsb                           ; String [si] to al
273F:754B  86 D0                                xchg    dl,al
273F:754D  B1 08                                mov     cl,8

273F:754F                       locloop_1483:                                   ;  xref 273F:7546
273F:754F  D1 D2                                rcl     dx,1                    ; Rotate thru carry
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 285

273F:7551  E2 07                                loop    locloop_1484            ; Loop if cx > 0

273F:7553  86 D0                                xchg    dl,al
273F:7555  AC                                   lodsb                           ; String [si] to al
273F:7556  86 D0                                xchg    dl,al
273F:7558  B1 08                                mov     cl,8

273F:755A                       locloop_1484:                                   ;  xref 273F:7551
273F:755A  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:755C  E2 07                                loop    locloop_1485            ; Loop if cx > 0

273F:755E  86 D0                                xchg    dl,al
273F:7560  AC                                   lodsb                           ; String [si] to al
273F:7561  86 D0                                xchg    dl,al
273F:7563  B1 08                                mov     cl,8

273F:7565                       locloop_1485:                                   ;  xref 273F:755C
273F:7565  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:7567  E2 07                                loop    locloop_1486            ; Loop if cx > 0

273F:7569  86 D0                                xchg    dl,al
273F:756B  AC                                   lodsb                           ; String [si] to al
273F:756C  86 D0                                xchg    dl,al
273F:756E  B1 08                                mov     cl,8

273F:7570                       locloop_1486:                                   ;  xref 273F:7567
273F:7570  D1 D2                                rcl     dx,1                    ; Rotate thru carry
273F:7572  E2 07                                loop    locloop_1487            ; Loop if cx > 0

273F:7574  86 D0                                xchg    dl,al
273F:7576  AC                                   lodsb                           ; String [si] to al
273F:7577  86 D0                                xchg    dl,al
273F:7579  B1 08                                mov     cl,8

273F:757B                       locloop_1487:                                   ;  xref 273F:7572
273F:757B  C3                                   retn
                                sub_187         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:075E
                                ;��������������������������������������������������������������������������

273F:757C                       show_startup    proc    near
273F:757C  E8 8D3E                              call    validate_header
273F:757F  B4 48                                mov     ah,48h
273F:7581  BB FFFF                              mov     bx,0FFFFh
273F:7584  CD 21                                int     21h                     ; DOS Services  ah=function 48h
                                                                                ;  allocate memory, bx=bytes/16
273F:7586  81 FB 61A8                           cmp     bx,61A8h
273F:758A  73 08                                jae     loc_1488                ; There is enough memory
273F:758C  B8 0008                              mov     ax,8
273F:758F  B6 01                                mov     dh,1
273F:7591  E8 CA10                              call    display_message         ; (3FA4)
273F:7594                       loc_1488:                                       ;  xref 273F:758A
                                                assume  ds:data_seg
273F:7594  89 1E 4CFC                           mov     largest_free_block,bx   ; (31E4:4CFC=0)
273F:7598  89 1E 4D02                           mov     buffer_segment_end, bx  ; (31E4:4D02=0)
273F:759C  B4 48                                mov     ah,48h
273F:759E  CD 21                                int     21h                     ; DOS Services  ah=function 48h
                                                                                ;  allocate memory, bx=bytes/16
273F:75A0  A3 4D00                              mov     buffer_segment, ax      ; (31E4:4D00=0)
273F:75A3  01 06 4D02                           add     buffer_segment_end, ax  ; (31E4:4D02=0)
273F:75A7  FF 16 0764                           call    [empty_palette_proc]
273F:75AB  B8 0019                              mov     ax,19h                  ; Get first palette
273F:75AE  E8 C516                              call    read_palette
273F:75B1  B8 0018                              mov     ax,18h                  ; Revolution title image
273F:75B4  E8 059C                              call    read_entry_into_buffer
273F:75B7  E8 05CF                              call    decode_and_fade_in_display
273F:75BA  33 C0                                xor     ax,ax
273F:75BC  E8 D42A                              call    sleep

273F:75BF  B8 001A                              mov     ax,1Ah                  ; Virgin games image load
273F:75C2  E8 058E                              call    read_entry_into_buffer
273F:75C5  B8 0096                              mov     ax,96h
273F:75C8  E8 D41E                              call    sleep

273F:75CB  FF 16 0766                           call    word ptr [fade_out_proc]
273F:75CF  B8 001B                              mov     ax,1Bh
273F:75D2  E8 C4F2                              call    read_palette
273F:75D5  E8 05B1                              call    decode_and_fade_in_display
273F:75D8  33 C0                                xor     ax,ax
273F:75DA  E8 D40C                              call    sleep

273F:75DD  B8 001E                              mov     ax,1Eh                  ; Virtual Theatre title
273F:75E0  E8 0570                              call    read_entry_into_buffer
273F:75E3  B8 0096                              mov     ax,96h
273F:75E6  E8 D400                              call    sleep
273F:75E9  FF 16 0766                           call    word ptr [fade_out_proc]
273F:75ED  B8 001F                              mov     ax,1Fh
273F:75F0  E8 C4D4                              call    read_palette            ; (3AC7)
273F:75F3  E8 0593                              call    decode_and_fade_in_display
273F:75F6  33 C0                                xor     ax,ax                   ; Zero register
273F:75F8  E8 D3EE                              call    sleep                   ; (49E9)

273F:75FB  B8 001C                              mov     ax,1Ch                  ; Lure of the Temptress title
273F:75FE  E8 0552                              call    read_entry_into_buffer
273F:7601  B8 0096                              mov     ax,96h
273F:7604  E8 D3E2                              call    sleep
273F:7607  FF 16 0766                           call    word ptr [fade_out_proc]
273F:760B  B8 001D                              mov     ax,1Dh
273F:760E  E8 C4B6                              call    read_palette
273F:7611  E8 0575                              call    decode_and_fade_in_display
273F:7614  33 C0                                xor     ax,ax
273F:7616  E8 D3D0                              call    sleep

273F:7619  F6 06 5660 08                        test    music_status,8
273F:761E  75 27                                jnz     loc_1489
273F:7620  B8 000A                              mov     ax,0Ah
273F:7623  8B 0E 4D00                           mov     cx, buffer_segment      ; (31E4:4D00=0)
273F:7627  33 D2                                xor     dx,dx                   ; Zero register
273F:7629  89 0E 5664                           mov     word ptr play_music_proc+2,cx
273F:762D  C7 06 5662 0000                      mov     play_music_proc, 0
273F:7633  8B 1E 4D00                           mov     bx, buffer_segment      ; (31E4:4D00=0)
273F:7637  89 1E 4CE4                           mov     data_segment2, bx
273F:763B  80 26 11D0 EF                        and     menubar_state, 0EFh  ; (31E4:11D0=3)
273F:7640  E8 8CD1                              call    read_entry              ; (0314)
273F:7643  01 16 4D00                           add     buffer_segment,dx       ; (31E4:4D00=0)
273F:7647                       loc_1489:                                       ;  xref 273F:761E
273F:7647  B8 0096                              mov     ax,96h
273F:764A  E8 D39C                              call    sleep                   ; (49E9)
273F:764D  F6 06 11D0 40                        test    menubar_state, 40h   ; Skip the intro?
273F:7652  75 03                                jnz     loc_1490                ; Jump if not zero
273F:7654  E8 2C65                              call    show_introduction       ; Run the intro
273F:7657                       loc_1490:                                       ;  xref 273F:7652
273F:7657  E8 290A                              call    sub_246                 ; (9F64)

273F:765A  B8 0010                              mov     ax, 10h                 ; Load strings resource
273F:765D  E8 0514                              call    read_into_buffer
273F:7660  A3 4CE8                              mov     strings_segment, ax
273F:7663  B8 0009                              mov     ax,9                    ; Load names resource
273F:7666  E8 050B                              call    read_into_buffer
273F:7669  A3 4CEE                              mov     names_segment, ax
273F:766C  B8 0003                              mov     ax,3                    ; Load alternate font
273F:766F  E8 0502                              call    read_into_buffer
273F:7672  A3 4CF0                              mov     font2_segment, ax
273F:7675  80 0E 073C 02                        or      status_flags, STATUS_UNKNOWN

273F:767A  B8 0001                              mov     ax, 1                   ; Load cursors resource
273F:767D  E8 04F4                              call    read_into_buffer
273F:7680  A3 4CF4                              mov     cursors_segment, ax
273F:7683  A1 4D00                              mov     ax, buffer_segment
273F:7686  A3 4CFE                              mov     data_814, ax
273F:7689  E9 0408                              jmp     load_resources
                                show_startup    endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:007A
                                ;��������������������������������������������������������������������������

273F:768C                       sub_189         proc    near
273F:768C  E8 8B6C                              call    read_and_validate_header
273F:768F BE B883                              mov     si, offset animation_block_list
273F:7692                       loc_1492:                                       
273F:7692 �8B 1C                                mov     bx, [si]
273F:7694  0B DB                                or      bx, bx                  ; End of list?
273F:7696  74 09                                jz      loc_1493                ; Jump if yes
273F:7698  83 C6 02                             add     si, 2
273F:769B  80 67 02 F7                          and     byte ptr [bx+2], 0F7h
273F:769F  EB F1                                jmp     short loc_1492

273F:76A1                       loc_1493:                                
273F:76A1 BE B883                              mov     si, offset animation_block_list
273F:76A4                       loc_1494:
273F:76A4 8B 1C                                mov     bx, [si]
273F:76A6  0B DB                                or      bx, bx                  ; End of list?
273F:76A8  74 13                                jz      loc_1495                ; Jump if yes
273F:76AA  83 C6 02                             add     si,2
273F:76AD  F6 47 02 20                          test    byte ptr [bx+ANIM_FLAGS], 20h    ; ' '
273F:76B1  F6 47 02 02                          test    byte ptr [bx+ANIM_FLAGS], 2
273F:76B5  74 ED                                jz      loc_1494                ; Jump if zero
273F:76B7  80 4F 02 08                          or      byte ptr [bx+ANIM_FLAGS], 8
273F:76BB  EB E7                                jmp     short loc_1494

273F:76BD                       loc_1495:                                       ;  xref 273F:76A8
273F:76BD  E8 0324                              call    sub_194
273F:76C0  8B 1E 9832                           mov     bx, room_number
273F:76C4  E8 9621                              call    get_room_resource_pointer
273F:76C7  8B 74 06                             mov     si, [si+6]
273F:76CA  0B F6                                or      si, si                  ; Any table set?
273F:76CC  74 20                                jz      loc_1498                ; Skip if not

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:8FD0
                                ; si = Offset of table for animation resources for a room

273F:76CE                       sub_190:
273F:76CE                       loc_1496:                                  
273F:76CE 8B 1C                                mov     bx, [si]
273F:76D0  0B DB                                or      bx, bx                  ; End of list reached?
273F:76D2  74 1A                                jz      loc_1498                ; Jump if yes
273F:76D4  F7 47 03 FFFF                        test    word ptr [bx+3], 0FFFFh 
273F:76D9  75 0E                                jnz     loc_1497                ; Jump if not zero
273F:76DB  89 1D                                mov     [di], bx                ; Store in output list
273F:76DD  83 C7 02                             add     di, 2                   ; Move to next position
273F:76E0  56                                   push    si
273F:76E1  57                                   push    di
273F:76E2  E8 00FD                              call    animation_decode        ; Decode animation
273F:76E5  5F                                   pop     di
273F:76E6  5E                                   pop     si
273F:76E7  72 0A                                jc      loc_1499                ; Jump if carry Set
273F:76E9                       loc_1497:                                       ;  xref 273F:76D9
273F:76E9  83 C6 02                             add     si,2
273F:76EC  EB E0                                jmp     short loc_1496          ; (76CE)
273F:76EE                       loc_1498:                                       ;  xref 273F:76CC, 76D2
273F:76EE  C7 05 0000                           mov     word ptr [di],0
273F:76F2  C3                                   retn
273F:76F3                       loc_1499:                                       ;  xref 273F:76E7
273F:76F3  C7 05 0000                           mov     word ptr [di],0
273F:76F7  E8 00A8                              call    sub_192                 ; (77A2)
273F:76FA  73 90                                jnc     sub_189
273F:76FC  C3                                   retn
                                sub_189         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:152C, 15D2, 1617
                                ;��������������������������������������������������������������������������

                   animation_resolve_segment    proc    near

273F:76FD                       loc_1500:                                       ;  xref 273F:7790
273F:76FD 83 7F 1B FE                          cmp     word ptr [bx+1Bh],0FFFEh
273F:7701  72 05                                jb      loc_1501                ; Jump if below
273F:7703  BF 5810                              mov     di, offset voice_anim_block
273F:7706  EB 06                                jmp     short loc_1502          ; (770E)
273F:7708                       loc_1501:
273F:7708  8B 77 19                             mov     si, [bx+ANIM_HOTSPOT_OFFSET]
273F:770B  8B 7C 21                             mov     di, [si+HS_PIXEL_OFFSET]

; Loop to see if animation_block_list contains any existing matching entry
; (scanning until a 0 entry is found). If it's found, the segment value at
; word [di+3] is returned

273F:770E                       loc_1502:
273F:770E  53                                   push    bx
273F:770F BB B883                              mov     bx, offset animation_block_list
273F:7712                       loc_1503:
273F:7712 �3B 3F                                cmp     di,[bx]
273F:7714  75 03                                jne     loc_1504                ; Jump if not equal
273F:7716  E9 0081                              jmp     loc_1510                ; (779A)
273F:7719                       loc_1504:                                       ;  xref 273F:7714
273F:7719  F7 07 FFFF                           test    word ptr [bx],0FFFFh
273F:771D  74 05                                jz      loc_1505                ; Jump if zero
273F:771F  83 C3 02                             add     bx,2
273F:7722  EB EE                                jmp     short loc_1503

; At this point, the end of the list at animation_block_list has been reached

273F:7724                       loc_1505:                                       ;  xref 273F:771D
273F:7724  F6 06 073D 01                        test    status_flags2, 1
273F:7729  74 03                                jz      loc_1506                ; Jump if zero
273F:772B  5B                                   pop     bx
273F:772C  EB 5C                                jmp     short loc_1507          ; (778A)

; The following code seems to be responsible for preparing the data. Perhaps
; uncompressing it the first time from some source?

273F:772E                       loc_1506:                                       ;  xref 273F:7729
273F:772E  53                                   push    bx
273F:772F  57                                   push    di
273F:7730  8B DF                                mov     bx,di
273F:7732  E8 00AD                              call    animation_decode
273F:7735  5F                                   pop     di
273F:7736  5E                                   pop     si
273F:7737  73 5A                                jnc     loc_1509                ; Jump if carry=0
273F:7739  E8 0066                              call    sub_192                 ; (77A2)
273F:773C  73 51                                jnc     loc_1508                ; Jump if carry=0
273F:773E  5B                                   pop     bx
273F:773F  81 7F 1B 03E9                        cmp     word ptr [bx+ANIM_HOTSPOT_ID], RATPOUCH_HOTSPOT_ID
273F:7744  72 44                                jb      loc_1507                ; Jump if below
273F:7746  81 7F 1B 0408                        cmp     word ptr [bx+ANIM_HOTSPOT_ID], FIRST_OBJECT_HOTSPOT_ID
273F:774B  73 3D                                jae     loc_1507                ; Jump if above or =
273F:774D  83 7F 0E 2A                          cmp     word ptr [bx+ANIM_ROOM_NUM], 2Ah
273F:7751  73 37                                jae     loc_1507                ; Jump if above or =
273F:7753  8B 77 19                             mov     si, [bx+ANIM_HOTSPOT_OFFSET]
273F:7756  8B FB                                mov     di, bx
273F:7758  E8 CC2C                              call    character_pathfind_clear
273F:775B  C7 44 06 0018                        mov     word ptr [si+HS_ROOM_NUM], 24
273F:7760  C7 47 0E 0018                        mov     word ptr [bx+ANIM_ROOM_NUM], 24
273F:7765  C7 44 0D 00C0                        mov     word ptr [si+HS_X], 80h + 64
273F:776A  C7 07 00C0                           mov     word ptr [bx+ANIM_X], 80h + 64
273F:776E  C7 44 0F 00F4                        mov     word ptr [si+HS_Y], 80h + 74h
273F:7773  C7 47 02 00F4                        mov     word ptr [bx+ANIM_Y], 80h + 74h
273F:7778  C6 06 4F8A 01                        mov     data_817, 1
273F:777D  53                                   push    bx
273F:777E  8B DE                                mov     bx,si
273F:7780  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:7783  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:7786  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION
273F:7789  5B                                   pop     bx
273F:778A                       loc_1507:
273F:778A  33 C0                                xor     ax,ax                   ; Couldn't resolve
273F:778C  F9                                   stc                             ; Flag error occurred
273F:778D  EB 0F                                jmp     short loc_1511          
273F:778F                       loc_1508:                                       ;  xref 273F:773C
273F:778F  5B                                   pop     bx
273F:7790  E9 FF6A                              jmp     loc_1500                ; (76FD)
273F:7793                       loc_1509:                                       ;  xref 273F:7737
273F:7793  89 3C                                mov     [si], di
273F:7795  C7 44 02 0000                        mov     word ptr [si+2],0
273F:779A                       loc_1510:                                       ;  xref 273F:7716
273F:779A  5B                                   pop     bx
273F:779B  8B 45 03                             mov     ax, [di+3]
273F:779E                       loc_1511:                                       
273F:779E  89 47 0A                             mov     [bx+ANIM_SEGMENT], ax   ; Save segment
273F:77A1  C3                                   retn

                   animation_resolve_segment    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:76F7, 7739
                                ;��������������������������������������������������������������������������

273F:77A2                       sub_192         proc    near
273F:77A2 BE B883                              mov     si, offset animation_block_list
273F:77A5                       loc_1512:                                       ;  xref 273F:77B2, 77B8
273F:77A5 8B 1C                                mov     bx,[si]
273F:77A7  0B DB                                or      bx,bx                   ; Zero ?
273F:77A9  74 0F                                jz      loc_1513                ; Jump if zero
273F:77AB  83 C6 02                             add     si,2
273F:77AE  F6 47 02 21                          test    byte ptr [bx+PIXEL_FLAGS], 21h     ; '!'
273F:77B2  75 F1                                jnz     loc_1512                ; Jump if not zero
273F:77B4  80 4F 02 08                          or      byte ptr [bx+PIXEL_FLAGS], 8
273F:77B8  EB EB                                jmp     short loc_1512          ; (77A5)
273F:77BA                       loc_1513:                                       ;  xref 273F:77A9
273F:77BA BF B14E                              mov     di, offset animation_table
273F:77BD  8B 16 9832                           mov     dx, room_number
273F:77C1  B9 002D                              mov     cx, NUM_ANIMATION_SLOTS

273F:77C4                       locloop_1514:                                   ;  xref 273F:77DC
273F:77C4  F6 45 0C FF                          test    byte ptr [di+ANIM_LAYER], 0FFh
273F:77C8  74 0F                                jz      loc_1515                ; Jump if zero
273F:77CA  3B 55 0E                             cmp     dx, [di+ANIM_ROOM_NUM]
273F:77CD  75 0A                                jne     loc_1515                ; Jump if not equal
273F:77CF  8B 75 19                             mov     si, [di+ANIM_HOTSPOT_OFFSET]
273F:77D2  8B 5C 21                             mov     bx, [si+HS_PIXEL_OFFSET]
273F:77D5  80 67 02 F7                          and     byte ptr [bx+PIXEL_FLAGS], 0F7h
273F:77D9                       loc_1515:                                      
273F:77D9  83 C7 29                             add     di, ANIMATION_SLOT_SIZE
273F:77DC  E2 E6                                loop    locloop_1514            ; Loop if cx > 0

273F:77DE  E8 0203                              call    sub_194                 ; (79E4)
273F:77E1  C3                                   retn
                                sub_192         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:3D28, 76E2, 7732
                                ;��������������������������������������������������������������������������

                          animation_decode      proc    near
273F:77E2  80 3E 0786 02                        cmp     byte ptr ds:[drive_number],2    ; (273F:0786=0E8h)
273F:77E7  73 05                                jae     loc_1516                ; Jump if above or =
273F:77E9  53                                   push    bx
273F:77EA  E8 A772                              call    show_disk_cursor
273F:77ED  5B                                   pop     bx
273F:77EE                       loc_1516:                                       ;  xref 273F:77E7
273F:77EE  8B 07                                mov     ax,[bx]
273F:77F0  53                                   push    bx
273F:77F1  E8 8BF2                              call    get_entry_size
273F:77F4  5B                                   pop     bx
273F:77F5  8B 0E 4D02                           mov     cx, buffer_segment_end
273F:77F9  2B CA                                sub     cx,dx
273F:77FB  83 E9 08                             sub     cx,8
273F:77FE  3B 0E 4D00                           cmp     cx, buffer_segment
273F:7802  73 02                                jae     loc_1517                ; Jump if above or =
273F:7804  F9                                   stc                             ; Set carry flag
273F:7805  C3                                   retn
273F:7806                       loc_1517:                                       ;  xref 273F:7802
273F:7806  89 0E 4D04                           mov     anim_src_segment2, cx
273F:780A  89 0E 4D06                           mov     anim_src_segment, cx
273F:780E  8B 07                                mov     ax,[bx]                 ; Get anim resource id
273F:7810  33 D2                                xor     dx,dx                   ; Read into cx:dx
273F:7812  53                                   push    bx
273F:7813  E8 8AFE                              call    read_entry
273F:7816  01 16 4D06                           add     anim_src_segment, dx    ; Save end of animation
273F:781A  1E                                   push    ds
273F:781B  A1 4D06                              mov     ax, anim_src_segment
273F:781E  8E C0                                mov     es,ax
273F:7820  A1 4D04                              mov     ax, anim_src_segment2
273F:7823  8E D8                                mov     ds,ax
273F:7825  8B 0E 0000                           mov     cx,ds:[0]               ; Get in # table entries
273F:7829  26: 89 0E 0000                       mov     es:[0], cx              ; Store # entries
273F:782E  B5 05                                mov     ch,5
273F:7830  86 E9                                xchg    ch,cl
273F:7832  BE 0002                              mov     si, 2                   ; Point to table start
273F:7835  8B FE                                mov     di,si                   ; Point to dest table data
273F:7837  33 D2                                xor     dx,dx
273F:7839                       loc_1518:
273F:7839  AD                                   lodsw                           ; String [si] to ax
273F:783A  AB                                   stosw                           ; Store ax to es:[di]
273F:783B  05 001F                              add     ax,1Fh
273F:783E  D3 E8                                shr     ax,cl                   ; Shift w/zeros fill
273F:7840  03 D0                                add     dx,ax
273F:7842  80 ED 01                             sub     ch,1
273F:7845  75 F2                                jnz     loc_1518                ; Jump if not zero

; At this point the entire header has been copied from ds:0 to es:0, and
; dx = summation : foreach header value -> (value + 0x1f) / 32

273F:7847  1F                                   pop     ds
273F:7848  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:784D  75 0B                                jne     loc_1519                ; Jump if not equal
273F:784F  8B C2                                mov     ax,dx
273F:7851  05 0003                              add     ax,3
273F:7854  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:7856  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:7858  03 D0                                add     dx,ax
273F:785A                       loc_1519:                                       ;  xref 273F:784D
273F:785A  81 C2 0081                           add     dx,81h                  ; Add extra needed amount
273F:785E  8B 0E 4D00                           mov     cx, buffer_segment
273F:7862  03 CA                                add     cx,dx
273F:7864  3B 0E 4D02                           cmp     cx, buffer_segment_end  ; Enough room?
273F:7868  72 03                                jb      loc_1520                ; Yes, so carry on
273F:786A  5E                                   pop     si                      ; There won't be space left
273F:786B  F9                                   stc                             ; Flag error
273F:786C  C3                                   retn
273F:786D                       loc_1520:                                       
273F:786D  A1 4D00                              mov     ax, buffer_segment
273F:7870  8E C0                                mov     es,ax
273F:7872  8B 16 4D04                           mov     dx, anim_src_segment2
273F:7876  E8 FABB                              call    animation_decode_inner
273F:7879  5E                                   pop     si                      ; Retrieve anim rec ptr
273F:787A  89 7C 05                             mov     [si+PIXEL_DATA_SIZE], di ; Store size of decoded rsc?
273F:787D  83 6C 05 40                          sub     word ptr [si+PIXEL_DATA_SIZE], 40h  ; ???
273F:7881  33 FF                                xor     di, di
273F:7883  F6 44 02 04                          test    byte ptr [si+PIXEL_FLAGS], PIXELFLAG_HAS_TABLE
273F:7887  74 34                                jz      loc_1523                ; Skip if not
273F:7889  56                                   push    si
273F:788A  1E                                   push    ds
273F:788B  8A 16 0742                           mov     dl, video_style
273F:788F  A1 4D06                              mov     ax, anim_src_segment
273F:7892  8E D8                                mov     ds, ax
273F:7894 BE 0002                              mov     si, 2                   ; Offset of 1st header entry
273F:7897  8B 0E 0000                           mov     cx, ds:[0]              ; Get number of entries
273F:789B  8B E9                                mov     bp, cx
273F:789D  D1 E5                                shl     bp, 1

273F:789F                       locloop_1521:
273F:789F  26: 89 2D                            mov     es:[di],bp
273F:78A2  83 C7 02                             add     di,2
273F:78A5  8B 04                                mov     ax,[si]
273F:78A7  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:78A9  83 C6 02                             add     si,2
273F:78AC  03 E8                                add     bp,ax
273F:78AE  80 FA 01                             cmp     dl, VIDEO_STYLE_VGA
273F:78B1  74 06                                je      loc_1522                ; Jump if equal
273F:78B3  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:78B5  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:78B7  03 E8                                add     bp,ax
273F:78B9                       loc_1522:                                       ;  xref 273F:78B1
273F:78B9  E2 E4                                loop    locloop_1521            ; Loop if cx > 0
273F:78BB  1F                                   pop     ds
273F:78BC  5E                                   pop     si

273F:78BD                       loc_1523:                                       ;  xref 273F:7887
273F:78BD  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:78C2  74 58                                je      loc_1525                ; Jump if equal

273F:78C4  8B 4C 05                             mov     cx, [si+PIXEL_DATA_SIZE]; Get size of file
273F:78C7  D1 E9                                shr     cx, 1                   ; Divide by 2 for # words
273F:78C9  56                                   push    si
273F:78CA BE 0040                              mov     si, 40h
273F:78CD  A1 4D00                              mov     ax, buffer_segment
273F:78D0  8E C0                                mov     es, ax
273F:78D2  1E                                   push    ds
273F:78D3  8E D8                                mov     ds, ax

; Copy the decoded data from offset 40h back to offset 0h. This will discard
; the 40h byte header that was used during the decoding process

273F:78D5  F3/ A5                               rep     movsw                   ; Rep when cx >0 Mov [si] to es:[di]
273F:78D7  1F                                   pop     ds
273F:78D8  5E                                   pop     si
273F:78D9  8B C7                                mov     ax,di
273F:78DB  89 44 05                             mov     [si+PIXEL_DATA_SIZE], ax ; Store new size
273F:78DE  8B D0                                mov     dx, ax
273F:78E0  83 EA 01                             sub     dx, 1
273F:78E3  D1 EA                                shr     dx, 1
273F:78E5  D1 EA                                shr     dx, 1
273F:78E7  D1 EA                                shr     dx, 1
273F:78E9  D1 EA                                shr     dx, 1
273F:78EB  83 C2 01                             add     dx, 1                   ; # paragraphs + 1
273F:78EE  51                                   push    cx
273F:78EF  8B CA                                mov     cx, dx
273F:78F1  03 0E 4D00                           add     cx, buffer_segment
273F:78F5  3B 0E 4D02                           cmp     cx, buffer_segment_end  ; Fit within memory?
273F:78F9  59                                   pop     cx
273F:78FA  72 02                                jc      loc_1524                ; Jump if yes
273F:78FC  F9                                   stc                             ; Set carry to flag error
273F:78FD  C3                                   retn

273F:78FE                       loc_1524:
273F:78FE  8B 2E 4D00                           mov     bp, buffer_segment
273F:7902  01 16 4D00                           add     buffer_segment, dx
273F:7906  A1 4D06                              mov     ax, anim_src_segment    ; Get ptr to copy of
273F:7909  8E C0                                mov     es,ax                   ;   anim table header
273F:790B  26: A1 0002                          mov     ax, es:[2]              ; Get 1st entry size
273F:790F  D1 E8                                shr     ax, 1                   ; Get number of words
273F:7911  89 44 07                             mov     [si+PIXEL_FRAME_SIZE], ax ; Store frame size
273F:7914  89 6C 03                             mov     [si+PIXEL_DATA_SEGMENT], bp
273F:7917  E8 01F4                              call    animation_decode_2
273F:791A  F8                                   clc                             ; Clear carry flag
273F:791B  C3                                   retn

; Start of post processing code for when in EGA mode
273F:791C                       loc_1525:
273F:791C  8B 4C 05                             mov     cx, [si+5]
273F:791F  8B C1                                mov     ax, cx
273F:7921  D1 E8                                shr     ax, 1
273F:7923  D1 E8                                shr     ax, 1
273F:7925  01 44 05                             add     [si+PIXEL_DATA_SIZE], ax
273F:7928  03 C1                                add     ax, cx
273F:792A  05 000F                              add     ax, 0Fh
273F:792D  D1 E8                                shr     ax, 1
273F:792F  D1 E8                                shr     ax, 1
273F:7931  D1 E8                                shr     ax, 1
273F:7933  D1 E8                                shr     ax, 1
273F:7935  01 06 4D00                           add     buffer_segment, ax
273F:7939  D1 E9                                shr     cx, 1
273F:793B  06                                   push    es
273F:793C  A1 4D06                              mov     ax, anim_src_segment
273F:793F  8E C0                                mov     es, ax
273F:7941  26: A1 0002                          mov     ax, es:[2]
273F:7945  D1 E8                                shr     ax, 1
273F:7947  D1 E8                                shr     ax, 1
273F:7949  26: 03 06 0002                       add     ax, es:[2]
273F:794E  D1 E8                                shr     ax, 1         
273F:7950  89 44 07                             mov     [si+PIXEL_FRAME_SIZE], ax
273F:7953  07                                   pop     es
273F:7954  1E                                   push    ds
273F:7955  8C C0                                mov     ax,es
273F:7957  89 44 03                             mov     [si+PIXEL_DATA_SEGMENT], ax
273F:795A  8E D8                                mov     ds, ax
273F:795C BE 0040                              mov     si, 40h
273F:795F  57                                   push    di
273F:7960  F3/ A5                               rep     movsw
273F:7962  8B D7                                mov     dx, di
273F:7964  5F                                   pop     di
273F:7965  1F                                   pop     ds
273F:7966  1E                                   push    ds
273F:7967  A1 4D06                              mov     ax, anim_src_segment
273F:796A  8E D8                                mov     ds, ax
273F:796C  8B 0E 0000                           mov     cx, ds:[0]
273F:7970 BE 0002                              mov     si, 2
273F:7973  83 EF 01                             sub     di, 1

273F:7976                       locloop_1526:
273F:7976  AD                                   lodsw
273F:7977  D1 E8                                shr     ax, 1
273F:7979  50                                   push    ax
273F:797A  03 F8                                add     di, ax
273F:797C  57                                   push    di
273F:797D  D1 E8                                shr     ax, 1
273F:797F  D1 E8                                shr     ax, 1
273F:7981  03 F8                                add     di, ax
273F:7983  57                                   push    di
273F:7984  E2 F0                                loop    locloop_1526            ; Loop if cx > 0

273F:7986  8B F2                                mov     si,dx
273F:7988  83 EE 01                             sub     si,1
273F:798B  8B 16 0000                           mov     dx, ds:[0]
273F:798F  06                                   push    es
273F:7990  1F                                   pop     ds
273F:7991  FD                                   std                             ; Set direction flag
273F:7992                       loc_1527:                                       ;  xref 273F:79B4
273F:7992  5B                                   pop     bx
273F:7993  5F                                   pop     di
273F:7994  59                                   pop     cx
273F:7995  D1 E9                                shr     cx,1                    ; Shift w/zeros fill
273F:7997  D1 E9                                shr     cx,1                    ; Shift w/zeros fill

273F:7999                       locloop_1528:                                   ;  xref 273F:79AF
273F:7999  AC                                   lodsb                           ; String [si] to al
273F:799A  8A E0                                mov     ah,al
273F:799C  AA                                   stosb                           ; Store al to es:[di]
273F:799D  AC                                   lodsb                           ; String [si] to al
273F:799E  0A E0                                or      ah,al
273F:79A0  AA                                   stosb                           ; Store al to es:[di]
273F:79A1  AC                                   lodsb                           ; String [si] to al
273F:79A2  0A E0                                or      ah,al
273F:79A4  AA                                   stosb                           ; Store al to es:[di]
273F:79A5  AC                                   lodsb                           ; String [si] to al
273F:79A6  0A E0                                or      ah,al
273F:79A8  AA                                   stosb                           ; Store al to es:[di]
273F:79A9  26: 88 27                            mov     es:[bx],ah
273F:79AC  83 EB 01                             sub     bx,1
273F:79AF  E2 E8                                loop    locloop_1528            ; Loop if cx > 0

273F:79B1  83 EA 01                             sub     dx,1
273F:79B4  75 DC                                jnz     loc_1527                ; Jump if not zero
273F:79B6  1F                                   pop     ds
273F:79B7  FC                                   cld                             ; Clear direction
273F:79B8  F8                                   clc                             ; Clear carry flag
273F:79B9  C3                                   retn
                          animation_decode      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                 seq_deactivate_hotspot_set     proc    near
273F:79BA  D1 E3                                shl     bx,1
273F:79BC  8B B7 13CA                           mov     si, [hotspot_dealloc_table][bx]
273F:79C0                       loc_1529:
273F:79C0 AD                                   lodsw                           ; String [si] to ax
273F:79C1  0B C0                                or      ax,ax                   ; Zero ?
273F:79C3  74 1D                                jz      loc_ret_1530            ; Jump if zero
273F:79C5  56                                   push    si
273F:79C6  8B D8                                mov     bx,ax
273F:79C8  E8 931D                              call    get_room_resource_pointer
273F:79CB  5B                                   pop     bx
273F:79CC  87 DE                                xchg    bx, si
273F:79CE  8B 7F 0B                             mov     di, [bx+HS_ANIM_OFFSET]
273F:79D1  0B FF                                or      di, di                  ; Zero ?
273F:79D3  74 EB                                jz      loc_1529                ; Jump if zero

273F:79D5  33 C0                                xor     ax,ax                   ; Zero register
273F:79D7  88 45 0C                             mov     [di+ANIM_LAYER], al
273F:79DA  89 45 1B                             mov     [di+ANIM_HOTSPOT_ID], ax
273F:79DD  89 47 0B                             mov     [bx+HS_ANIM_OFFSET], ax
273F:79E0  EB DE                                jmp     short loc_1529          ; (79C0)
273F:79E2                       loc_ret_1530:                                   ;  xref 273F:79C3
273F:79E2  C3                                   retn
                 seq_deactivate_hotspot_set     endp

273F:79E3  00                   data_401        db      0                       ;  xref 273F:79E4, 7A4F, 7A8A

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:76BD, 77DE
                                ;��������������������������������������������������������������������������

273F:79E4                       sub_194         proc    near
273F:79E4  2E: C6 06 79E3 00                    mov     cs:data_401,0           ; (273F:79E3=0)
273F:79EA BE B883                              mov     si, offset animation_block_list
273F:79ED  8B FE                                mov     di,si
273F:79EF  8B 2E 4CFA                           mov     bp,data_812             ; (31E4:4CFA=0)
273F:79F3                       loc_1531:                                       ;  xref 273F:7A10, 7A33, 7A48, 7A55
273F:79F3 AD                                   lodsw                           ; String [si] to ax
273F:79F4  0B C0                                or      ax,ax                   ; Zero ?
273F:79F6  74 5F                                jz      loc_1534                ; Jump if zero
273F:79F8  8B D8                                mov     bx,ax
273F:79FA  F6 47 02 08                          test    byte ptr [bx+2],8
273F:79FE  75 4A                                jnz     loc_1532                ; Jump if not zero
273F:7A00  F7 47 03 FFFF                        test    word ptr [bx+3],0FFFFh
273F:7A05  74 48                                jz      loc_1533                ; Jump if zero
273F:7A07  89 1D                                mov     [di],bx
273F:7A09  83 C7 02                             add     di,2
273F:7A0C  F6 47 02 20                          test    byte ptr [bx+2],20h     ; ' '
273F:7A10  75 E1                                jnz     loc_1531                ; Jump if not zero
273F:7A12  8B 47 03                             mov     ax,[bx+3]
273F:7A15  8E C5                                mov     es,bp
273F:7A17  89 6F 03                             mov     [bx+3],bp
273F:7A1A  8B 4F 05                             mov     cx,[bx+5]
273F:7A1D  8B D1                                mov     dx,cx
273F:7A1F  83 EA 01                             sub     dx,1
273F:7A22  D1 EA                                shr     dx,1                    ; Shift w/zeros fill
273F:7A24  D1 EA                                shr     dx,1                    ; Shift w/zeros fill
273F:7A26  D1 EA                                shr     dx,1                    ; Shift w/zeros fill
273F:7A28  D1 EA                                shr     dx,1                    ; Shift w/zeros fill
273F:7A2A  83 C2 01                             add     dx,1
273F:7A2D  03 EA                                add     bp,dx
273F:7A2F  8C C2                                mov     dx,es
273F:7A31  3B C2                                cmp     ax,dx
273F:7A33  74 BE                                je      loc_1531                ; Jump if equal
273F:7A35  1E                                   push    ds
273F:7A36  56                                   push    si
273F:7A37  57                                   push    di
273F:7A38  33 F6                                xor     si,si                   ; Zero register
273F:7A3A  33 FF                                xor     di,di                   ; Zero register
273F:7A3C  8E D8                                mov     ds,ax
273F:7A3E  83 C1 01                             add     cx,1
273F:7A41  D1 E9                                shr     cx,1                    ; Shift w/zeros fill
273F:7A43  F3/ A5                               rep     movsw                   ; Rep when cx >0 Mov [si] to es:[di]
273F:7A45  5F                                   pop     di
273F:7A46  5E                                   pop     si
273F:7A47  1F                                   pop     ds
273F:7A48  EB A9                                jmp     short loc_1531          ; (79F3)
273F:7A4A                       loc_1532:                                       ;  xref 273F:79FE
273F:7A4A  C7 47 03 0000                        mov     word ptr [bx+3],0
273F:7A4F                       loc_1533:                                       ;  xref 273F:7A05
273F:7A4F  2E: C6 06 79E3 01                    mov     cs:data_401,1           ; (273F:79E3=0)
273F:7A55  EB 9C                                jmp     short loc_1531          ; (79F3)
273F:7A57                       loc_1534:                                       ;  xref 273F:79F6
273F:7A57  C7 05 0000                           mov     word ptr [di],0
273F:7A5B  89 2E 4D00                           mov     buffer_segment, bp      ; (31E4:4D00=0)

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:7B0A, 8FD3

273F:7A5F                       sub_195:
273F:7A5F  57                                   push    di
273F:7A60 BE B14E                              mov     si, offset animation_table
273F:7A63  B9 002D                              mov     cx, NUM_ANIMATION_SLOTS

273F:7A66                       locloop_1535:                                   ;  xref 273F:7A86
273F:7A66  F6 44 0C FF                          test    byte ptr [si+0Ch],0FFh
273F:7A6A  74 17                                jz      loc_1538                ; Jump if zero
273F:7A6C  83 7C 1B FE                          cmp     word ptr [si+1Bh],0FFFEh
273F:7A70  72 05                                jb      loc_1536                ; Jump if below
273F:7A72 BF 5810                              mov     di, offset voice_anim_block
273F:7A75  EB 06                                jmp     short loc_1537          ; (7A7D)
273F:7A77                       loc_1536:                                       ;  xref 273F:7A70
273F:7A77  8B 7C 19                             mov     di,[si+19h]
273F:7A7A  8B 7D 21                             mov     di,[di+21h]
273F:7A7D                       loc_1537:                                       ;  xref 273F:7A75
273F:7A7D  8B 45 03                             mov     ax,[di+3]
273F:7A80  89 44 0A                             mov     [si+0Ah],ax
273F:7A83                       loc_1538:                                       ;  xref 273F:7A6A
273F:7A83  83 C6 29                             add     si,29h
273F:7A86  E2 DE                                loop    locloop_1535            ; Loop if cx > 0

273F:7A88  5F                                   pop     di
273F:7A89  F8                                   clc                             ; Clear carry flag
                                                assume  ds:seg_code
273F:7A8A  2E: F6 06 79E3 FF                    test    cs:data_401,0FFh        ; (273F:79E3=0)
273F:7A90  75 01                                jnz     loc_ret_1539            ; Jump if not zero
273F:7A92  F9                                   stc                             ; Set carry flag

273F:7A93                       loc_ret_1539:                                   ;  xref 273F:7A90
273F:7A93  C3                                   retn
                                sub_194         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:A651, A6AE, A700
                                ;��������������������������������������������������������������������������

273F:7A94                   load_resources      proc    near

273F:7A94  A1 4CFE                              mov     ax, data_814
273F:7A97  A3 4D00                              mov     buffer_segment, ax
273F:7A9A  A3 4CE0                              mov     current_room_segment, ax
273F:7A9D  A3 4CE2                              mov     data_segment, ax
273F:7AA0  05 2146                              add     ax,2146h
273F:7AA3  A3 4CE4                              mov     data_segment2, ax
273F:7AA6  05 0FA0                              add     ax, 0FA0h
273F:7AA9  A3 4CE6                              mov     talk_dialog_buffer, ax
273F:7AAC  05 0340                              add     ax,340h
273F:7AAF  A3 4D00                              mov     buffer_segment, ax
273F:7AB2  B8 0004                              mov     ax,4                    ; Read font data
273F:7AB5  E8 00BC                              call    read_into_buffer
273F:7AB8  A3 4CF2                              mov     font_segment, ax
273F:7ABB  B8 0005                              mov     ax,5                    ; Read menubar
273F:7ABE  8B 0E 4CE2                           mov     cx,data_segment
273F:7AC2  BA 0080                              mov     dx,80h
273F:7AC5  E8 884C                              call    read_entry
273F:7AC8  A1 4D00                              mov     ax,buffer_segment
273F:7ACB  8E C0                                mov     es,ax
273F:7ACD  8B 16 4CE2                           mov     dx,data_segment
273F:7AD1  FF 16 077C                           call    [decode_entry_proc]
273F:7AD5  A1 4D00                              mov     ax,buffer_segment       ; (31E4:4D00=0)
273F:7AD8  A3 4CF6                              mov     data_810,ax             ; (31E4:4CF6=0)
273F:7ADB  8B 16 074C                           mov     dx, menubar_block_size
273F:7ADF  B1 04                                mov     cl,4
273F:7AE1  D3 EA                                shr     dx,cl                   ; Shift w/zeros fill
273F:7AE3  01 16 4D00                           add     buffer_segment, dx      ; (31E4:4D00=0)
273F:7AE7  A1 4D00                              mov     ax,buffer_segment       ; (31E4:4D00=0)
273F:7AEA  A3 4CF8                              mov     data_811,ax             ; (31E4:4CF8=0)
273F:7AED  E8 00D1                              call    load_string_resources
273F:7AF0  A1 4D00                              mov     ax,buffer_segment       ; (31E4:4D00=0)
273F:7AF3  8B 16 4D02                           mov     dx,buffer_segment_end   ; (31E4:4D02=0)
273F:7AF7  2B D0                                sub     dx,ax
273F:7AF9  81 FA 186A                           cmp     dx,186Ah
273F:7AFD  73 08                                jae     loc_1541                ; Jump if above or =
273F:7AFF  B8 0008                              mov     ax,8
273F:7B02  B6 01                                mov     dh,1
273F:7B04  E8 C49D                              call    display_message         ; (3FA4)
273F:7B07                       loc_1541:                                       ;  xref 273F:7AFD
273F:7B07  E8 9998                              call    sub_45                  ; (14A2)
273F:7B0A  E8 FF52                              call    sub_195                 ; (7A5F)
273F:7B0D  C3                                   retn
                            load_resources      endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:7917
                                ;��������������������������������������������������������������������������

                          animation_decode_2    proc    near
273F:7B0E  F6 44 02 10                          test    byte ptr [si+PIXEL_FLAGS], 10h
273F:7B12  74 3E                                jz      loc_ret_1542            ; Jump if zero
273F:7B14  B8 2146                              mov     ax, 2146h
273F:7B17  03 06 4CE0                           add     ax, current_room_segment
273F:7B1B  2B 06 4CE2                           sub     ax, data_segment
273F:7B1F  8B 5C 05                             mov     bx, [si+PIXEL_DATA_SIZE]
273F:7B22  83 C3 0F                             add     bx, 0Fh
273F:7B25  B1 04                                mov     cl, 4
273F:7B27  D3 EB                                shr     bx, cl                  ; Shift w/zeros fill
273F:7B29  3B D8                                cmp     bx, ax
273F:7B2B  73 25                                jae     loc_ret_1542            ; Jump if above or =
273F:7B2D  80 4C 02 20                          or      byte ptr [si+PIXEL_FLAGS], 20h
273F:7B31  1E                                   push    ds
273F:7B32  A1 4CE2                              mov     ax, data_segment
273F:7B35  01 1E 4CE2                           add     data_segment, bx
273F:7B39  8E C0                                mov     es, ax
273F:7B3B  8B 4C 05                             mov     cx, [si+PIXEL_DATA_SIZE]
273F:7B3E  D1 E9                                shr     cx, 1                    ; Shift w/zeros fill
273F:7B40  87 44 03                             xchg    [si+PIXEL_DATA_SEGMENT], ax
273F:7B43  A3 4D00                              mov     buffer_segment, ax
273F:7B46  8E D8                                mov     ds, ax
273F:7B48  56                                   push    si
273F:7B49  33 F6                                xor     si, si
273F:7B4B  33 FF                                xor     di, di
273F:7B4D  F3/ A5                               rep     movsw                   ; Rep when cx >0 Mov [si] to es:[di]
273F:7B4F  5E                                   pop     si
273F:7B50  1F                                   pop     ds
273F:7B51  C3                                   retn

273F:7B52                       loc_ret_1542:           
273F:7B52  C3                                   retn
                          animation_decode_2    endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:75B4, 75C2, 75E0, 75FE
                                ;��������������������������������������������������������������������������

                      read_entry_into_buffer    proc    near

273F:7B53  8B 0E 4D00                           mov     cx, buffer_segment
273F:7B57  89 0E 4CE4                           mov     data_segment2, cx
273F:7B5B  BA 0080                              mov     dx, 80h
273F:7B5E  80 26 11D0 EF                        and     menubar_state, 0EFh
273F:7B63  E8 87AE                              call    read_entry
273F:7B66  C3                                   retn

                      read_entry_into_buffer    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:A2BF, A2E9
                                ;��������������������������������������������������������������������������

273F:7B67               read_into_buffer_2      proc    near
273F:7B67  8B 0E 4D00                           mov     cx,buffer_segment       ; (31E4:4D00=0)
273F:7B6B  89 0E 4CE4                           mov     data_segment2, cx
273F:7B6F  80 26 11D0 EF                        and     menubar_state, 0EFh  ; (31E4:11D0=3)

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:765D, 7666, 766F, 767D, 7AB5, 7BCB, 7BDB

273F:7B74               read_into_buffer:
273F:7B74  8B 0E 4D00                           mov     cx,buffer_segment       ; (31E4:4D00=0)
273F:7B78  33 D2                                xor     dx,dx                   ; Zero register
273F:7B7A  80 26 11D0 EF                        and     menubar_state, 0EFh  ; (31E4:11D0=3)
273F:7B7F  51                                   push    cx
273F:7B80  E8 8791                              call    read_entry              ; (0314)
273F:7B83  01 16 4D00                           add     buffer_segment, dx      ; (31E4:4D00=0)
273F:7B87  58                                   pop     ax
273F:7B88  C3                                   retn
                        read_into_buffer_2      endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:75B7, 75D5, 75F3, 7611
                                ;��������������������������������������������������������������������������

273F:7B89         decode_and_fade_in_display    proc    near

273F:7B89  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:7B8E  74 10                                je      loc_1543                ; Jump if equal
273F:7B90  B8 A000                              mov     ax, VGA_SEGMENT
273F:7B93  8E C0                                mov     es,ax
273F:7B95  8B 16 4D00                           mov     dx, buffer_segment      ; decode loaded file entry
273F:7B99  E8 BDEE                              call    decode_file_entry       ; (398A)
273F:7B9C  FF 26 0760                           jmp     word ptr [fade_in_proc]
273F:7BA0                       loc_1543:                                       ;  xref 273F:7B8E
273F:7BA0  8B 16 4D00                           mov     dx, buffer_segment      ; (31E4:4D00=0)
273F:7BA4  8B C2                                mov     ax,dx
273F:7BA6  05 0FA0                              add     ax,0FA0h
273F:7BA9  A3 4CE4                              mov     data_segment2, ax
273F:7BAC  05 0050                              add     ax,50h
273F:7BAF  8E C0                                mov     es,ax
273F:7BB1  E8 A8B6                              call    ega_decode_entry
273F:7BB4  E8 8DAA                              call    clear_hotspot_rects
273F:7BB7  E8 F44B                              call    menubar_clear_image
273F:7BBA  E8 A49F                              call    ega_show_menu           
273F:7BBD  FF 26 0760                           jmp     word ptr [fade_in_proc]

                  decode_and_fade_in_display    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:7AED, 8FAF, 93AC
                                ;��������������������������������������������������������������������������

273F:7BC1             load_string_resources     proc    near
                                                assume  ds:seg_code
273F:7BC1  83 3E 9832 2A                        cmp     room_number, 2Ah
273F:7BC6  73 09                                jae     loc_1544                ; Jump if above or =
273F:7BC8  B8 0011                              mov     ax,11h
273F:7BCB  E8 FFA6                              call    read_into_buffer        ; (7B74)
273F:7BCE  A3 4CEA                              mov     strings_segment_2, ax
273F:7BD1                       loc_1544:                                       ;  xref 273F:7BC6
273F:7BD1  83 3E 9832 2A                        cmp     room_number, 2Ah
273F:7BD6  72 09                                jb      loc_1545                ; Jump if below
273F:7BD8  B8 0012                              mov     ax,12h
273F:7BDB  E8 FF96                              call    read_into_buffer        ; (7B74)
273F:7BDE  A3 4CEC                              mov     strings_segment_3, ax
273F:7BE1                       loc_1545:                                       ;  xref 273F:7BD6
273F:7BE1  A1 4D00                              mov     ax, buffer_segment
273F:7BE4  A3 4CFA                              mov     word ptr ds:[4CFAh],ax  ; (273F:4CFA=0C183h)
273F:7BE7  C3                                   retn
                      load_string_resources     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:7FF7
                                ;��������������������������������������������������������������������������

                      seq_character_in_room     proc    near

0C07:7BE8 C7 06 BA1F 0000                       mov     general_val, 0
0C07:7BEE 81 FB 03E8                            cmp     bx, PLAYER_HOTSPOT_ID
0C07:7BF2 72 E                                  jb      loc_ret_1546
0C07:7BF4 E8 F1 90                              call    get_room_resource_pointer
0C07:7BF7 3B 4C 06                              cmp     cx, [si+HS_ROOM_NUM]
0C07:7BFA 75 06                                 jnz     loc_ret_1546
0C07:7BFC C7061FBA0100                          mov     general_val, 1
0C07:7C02 C3                loc_ret_1546:       ret
                       seq_character_in_room    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:7FF7
                                ;��������������������������������������������������������������������������

273F:7C03                 hotspot_disable       proc    near
273F:7C03  E8 90E2                              call    get_room_resource_pointer
273F:7C06  80 64 03 7F                          and     byte ptr [si+HS_FLAGS], 7Fh
273F:7C0A  C3                                   retn
                          hotspot_disable       endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:60B5
                                ;��������������������������������������������������������������������������

273F:7C0B                  hotspot_enable       proc    near
273F:7C0B  E8 90DA                              call    get_room_resource_pointer
273F:7C0E  80 4C 03 80                          or      byte ptr [si+HS_FLAGS], 80h
273F:7C12  C3                                   retn
                           hotspot_enable       endp

273F:7C13  00
                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                         follower_tick_proc     proc    near
0C07:7C14 8B DE                                 mov     bx, si
0C07:7C16 03 5C 61                              add     bx, [si+HS_ACTION_OFFSET]
0C07:7C19 83 C3 63                              add     bx, HS_FIRST_ACTION_OFFSET
0C07:7C1C F7 06 BA5F FFFF                       test    script_val_37, 0FFFFh
0C07:7C22 75 38                                 jnz     loc_1548_2
0C07:7C24 8B DE                                 mov     bx, si
0C07:7C26 03 5C 61                              add     bx, [si+HS_ACTION_OFFSET]
0C07:7C29 83 C3 63                              add     bx, HS_FIRST_ACTION_OFFSET
0C07:7C2C F7 44 61 FFFF                         test    word ptr [si+HS_ACTION_OFFSET], 0FFFFh
0C07:7C31 75 29                                 jnz     loc_1548_2
0C07:7C33 8B 47 03                              mov     ax, [bx+CURRENT_ACTION_ROOM_NUM]
0C07:7C36 3B 44 06                              cmp     ax, [si+HS_ROOM_NUM]
0C07:7C39 74 21                                 jz      loc_1548_2
0C07:7C3B A1 6CF5                               mov     ax, [player_hotspot_rec+HS_ROOM_NUM]

; The code below seems to use a lookup table for setting Ratpouch's destination
; to be certain different room numbers if the player is in certain rooms
0C07:7C3E 53                                    push    bx
0C07:7C3F 81 7D 1B 03EF                         cmp     word ptr [di+ANIM_HOTSPOT_ID], GOEWIN_HOTSPOT_ID
0C07:7C44 74 12                                 jz      loc_1548
0C07:7C46 BB 4F6D                               mov     bx, offset follower_room_translate_list - 4
0C07:7C49 83 C3 02                              add     bx, 2

273F:7C49                       loc_1547:                                       ;  xref 273F:7C53
273F:7C49  83 C3 02                             add     bx, 2
273F:7C4C  F6 07 FF                             test    byte ptr [bx], 0FFh
273F:7C4F  74 07                                jz      loc_1548                ; Jump if zero
273F:7C51  3A 07                                cmp     al, [bx]                ; Player's room #?
273F:7C53  75 F4                                jne     loc_1547                ; Jump if not equal
273F:7C55  8A 47 01                             mov     al, [bx+1]              ; Get new room #
273F:7C58                       loc_1548:
273F:7C58  5B                                   pop     bx
273F:7C59  89 47 03                             mov     [bx+CURRENT_ACTION_ROOM_NUM], ax

273F:7C5C  8A 44 44           loc_1548_2:       mov     al, [si+HS_CHAR_MODE]
273F:7C5F  3C 02                                cmp     al, CHARMODE_IDLE
273F:7C61  75 35                                jne     loc_1550                ; Jump if not equal
273F:7C63  F6 06 4F8A FF                        test    data_817, 0FFh
273F:7C68  74 24                                jz      loc_1549                ; Jump if zero
273F:7C6A  C6 06 4F8A 00                        mov     data_817, 0
273F:7C6F  83 44 61 05                          add     word ptr [si+HS_ACTION_OFFSET], CURRENT_ACTION_RECORD_SIZE
273F:7C73  83 C3 05                             add     bx, CURRENT_ACTION_RECORD_SIZE
273F:7C76  C6 44 4D 00                          mov     byte ptr [si+HS_V4D], 0
273F:7C7A  C7 47 01 13C2                        mov     word ptr [bx+CURRENT_ACTION_SUPPORT_TABLE], 13C2h
273F:7C7F  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION
273F:7C82  C7 47 03 0007                        mov     word ptr [bx+CURRENT_ACTION_ROOM_NUM], 7
273F:7C87  C6 44 2A 00                          mov     byte ptr [si+HS_ACTION_CTR], 0
273F:7C8B  E9 D2F4                              jmp     standard_character_tick_proc
273F:7C8E                       loc_1549:                                       ;  xref 273F:7C68
273F:7C8E  F6 44 FF FF                          test    byte ptr [si-1], 0FFh
273F:7C92  74 07                                jz      loc_1551                ; Jump if zero
273F:7C94  80 6C FF 01                          sub     byte ptr [si-1], 1
273F:7C98                       loc_1550:                                       ;  xref 273F:7C61
273F:7C98  E9 D2E7                              jmp     standard_character_tick_proc
273F:7C9B                       loc_1551:                                       ;  xref 273F:7C92
273F:7C9B  8B 5C 06                             mov     bx, [si+HS_ROOM_NUM]
273F:7C9E  83 EB 01                             sub     bx, 1
273F:7CA1  D1 E3                                shl     bx, 1
273F:7CA3 81 C3 4D10                           add     bx, 4D10h
273F:7CA7  8B 1F                                mov     bx, [bx]
273F:7CA9  8A 0F                                mov     cl, [bx]
273F:7CAB  0A C9                                or      cl, cl                  ; Zero ?
273F:7CAD  74 25                                jz      loc_1554                ; Jump if zero
273F:7CAF  E8 C7BA                              call    random
273F:7CB2  32 ED                                xor     ch, ch
273F:7CB4  F7 E1                                mul     cx                      ; dx:ax = reg * ax
273F:7CB6  83 C3 01                             add     bx, 1
273F:7CB9  0B D2                                or      dx, dx                  ; Zero ?
273F:7CBB  74 0F                                jz      loc_1553                ; Jump if zero
273F:7CBD                       loc_1552:                                       ;  xref 273F:7CC5, 7CCA
273F:7CBD  8B 07                                mov     ax, [bx]
273F:7CBF  83 C3 02                             add     bx, 2
273F:7CC2  3D FFFF                              cmp     ax, 0FFFFh
273F:7CC5  75 F6                                jne     loc_1552                ; Jump if not equal
273F:7CC7  83 EA 01                             sub     dx, 1
273F:7CCA  75 F1                                jnz     loc_1552                ; Jump if not zero
273F:7CCC                       loc_1553:                                       ;  xref 273F:7CBB
273F:7CCC  8B 07                                mov     ax, [bx]
273F:7CCE  83 C3 02                             add     bx, 2
273F:7CD1  3D 0004                              cmp     ax, 4
273F:7CD4                       loc_1554:                                       ;  xref 273F:7CAD
273F:7CD4  74 61                                je      loc_1557                ; Jump if equal
273F:7CD6  3D 0003                              cmp     ax, 3
273F:7CD9  75 0E                                jne     loc_1555                ; Jump if not equal
273F:7CDB  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]
273F:7CDE  3B 06 6CF5                           cmp     ax, [player_hotspot_rec+HS_ROOM_NUM]
273F:7CE2  75 53                                jne     loc_1557                ; Jump if not equal
273F:7CE4  C7 47 FE 0004                        mov     word ptr [bx-2], 4
273F:7CE9                       loc_1555:                                       ;  xref 273F:7CD9
273F:7CE9  8B CB                                mov     cx,bx
273F:7CEB  83 3F FE                             cmp     word ptr [bx], 0FFFEh
273F:7CEE  75 2A                                jne     loc_1556                ; Jump if not equal
273F:7CF0  8B DE                                mov     bx,si
273F:7CF2  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:7CF5  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:7CF8  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION
273F:7CFB  C7 06 0001 69D3                      mov     word ptr ds:[1],69D3h   ; (273F:0001=31E4h)
273F:7D01  C7 06 69D3 0020                      mov     word ptr ds:[69D3h],20h ; (273F:69D3=8006h)
273F:7D07  C7 06 69D5 0000                      mov     word ptr ds:[69D5h],0   ; (273F:69D5=433h)
273F:7D0D  83 C1 02                             add     cx, 2
273F:7D10  83 44 61 05                          add     word ptr [si+HS_ACTION_OFFSET], CURRENT_ACTION_RECORD_SIZE
273F:7D14  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]
273F:7D17  89 47 08                             mov     [bx+8], ax
273F:7D1A                       loc_1556:                                       ;  xref 273F:7CEE
273F:7D1A  8B DE                                mov     bx, si
273F:7D1C  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:7D1F  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:7D22  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION
273F:7D25  89 4F 01                             mov     [bx+CURRENT_ACTION_SUPPORT_TABLE], cx
273F:7D28  C6 44 44 00                          mov     byte ptr [si+HS_CHAR_MODE], CHARMODE_NONE
273F:7D2C  E8 C73D                              call    random
273F:7D2F  B9 0020                              mov     cx, 20h
273F:7D32  F7 E1                                mul     cx                      ; dx:ax = reg * ax
273F:7D34  88 54 FF                             mov     [si-1], dl
273F:7D37                       loc_1557:                                       ;  xref 273F:7CD4, 7CE2
273F:7D37  E9 D248                              jmp     standard_character_tick_proc
                         follower_tick_proc     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0D9B, 0E9B, 1381, 1D1D, 59C1, 5A23, 6305
                                ;                             6314, 6950, 8953, 8DF8
                                ;��������������������������������������������������������������������������

                            decode_string       proc    near

273F:7D3A                       loc_1558:                                       ;  xref 273F:7EEA
273F:7D3A 1E                                   push    ds
273F:7D3B  25 1FFF                              and     ax,1FFFh
273F:7D3E  E8 0099                              call    decode_string_init
273F:7D41                       loc_1559:                                       ;  xref 273F:7D49
273F:7D41 E8 0061                              call    read_bit
273F:7D44  74 05                                jz      loc_1560                ; Jump if zero
273F:7D46  83 C6 02                             add     si,2
273F:7D49  EB F6                                jmp     short loc_1559          ; (7D41)
273F:7D4B                       loc_1560:                                       ;  xref 273F:7D44
273F:7D4B  E8 0057                              call    read_bit
273F:7D4E                       loc_1561:                                       ;  xref 273F:7D5E, 7D7E, 7DA0
273F:7D4E E8 98F7                              call    decode_character
273F:7D51  0A C0                                or      al,al                   ; End of string sequence?
273F:7D53  74 4D                                jz      loc_1568                ; If yes, then exit
273F:7D55  3C A0                                cmp     al,0A0h
273F:7D57  73 27                                jae     loc_1565                ; Jump if above or =
273F:7D59  3C 25                                cmp     al,25h                  ; '%'
273F:7D5B  74 03                                je      loc_1562                ; Jump if equal
273F:7D5D  AA                                   stosb                           ; Store al to es:[di]
273F:7D5E  EB EE                                jmp     short loc_1561          ; (7D4E)

273F:7D60                       loc_1562:                                       ; % handler - if it's %1, replace
273F:7D60  E8 98E5                              call    decode_character        ;   it with the highlighted hotspot
273F:7D63  1E                                   push    ds                      ;   name. Otherwise, replace it
273F:7D64  56                                   push    si                      ;   it with selected action string
273F:7D65  BE 31E4                              mov     si,seg data_seg
273F:7D68  8E DE                                mov     ds,si
273F:7D6A  BE 4B43                              mov     si, offset hotspot_name
273F:7D6D  3C 31                                cmp     al,31h                  ; '1'
273F:7D6F  74 03                                je      loc_1563                ; Jump if equal
273F:7D71 BE 4B93                              mov     si, offset action_name
273F:7D74                       loc_1563:
273F:7D74 AC                                   lodsb                           ; String [si] to al
273F:7D75  0A C0                                or      al,al
273F:7D77  74 03                                jz      loc_1564                ; Copy bytes until NULL
273F:7D79  AA                                   stosb
273F:7D7A  EB F8                                jmp     short loc_1563
273F:7D7C                       loc_1564:
273F:7D7C  5E                                   pop     si
273F:7D7D  1F                                   pop     ds
273F:7D7E  EB CE                                jmp     short loc_1561          ; (7D4E)

273F:7D80                       loc_1565:                                       ; Handle character name substitution                                       
273F:7D80  56                                   push    si
273F:7D81  1E                                   push    ds
273F:7D82  2C A0                                sub     al,0A0h
273F:7D84  32 E4                                xor     ah,ah                   ; Zero register
273F:7D86  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:7D88  8B F0                                mov     si,ax
273F:7D8A  B8 31E4                              mov     ax,data_seg
273F:7D8D  8E D8                                mov     ds,ax
                                                assume  ds:data_seg
273F:7D8F  A1 4CEE                              mov     ax, names_segment
273F:7D92  8E D8                                mov     ds,ax
273F:7D94  8B 34                                mov     si,[si]                 ; Get name position from offset list
273F:7D96                       loc_1566:
273F:7D96 AC                                   lodsb                           ; String [si] to al
273F:7D97  0A C0                                or      al,al                   ; Zero ?
273F:7D99  74 03                                jz      loc_1567                ; Jump if zero
273F:7D9B  AA                                   stosb                           ; Store al to es:[di]
273F:7D9C  EB F8                                jmp     short loc_1566
273F:7D9E                       loc_1567:
273F:7D9E  1F                                   pop     ds
273F:7D9F  5E                                   pop     si
273F:7DA0  EB AC                                jmp     short loc_1561
273F:7DA2                       loc_1568:
273F:7DA2  AA                                   stosb                           ; Store final NULL
273F:7DA3  1F                                   pop     ds
273F:7DA4  C3                                   retn

                            decode_string       endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:1648, 1650, 165B, 1663, 1671, 167C, 168A
                                ;                             1692, 169A, 16A8, 16B3, 16BE, 16C9, 16D7
                                ;                             16DF, 16E7, 16F2, 1700, 1708, 1716, 1721
                                ;                             172F, 1737, 173F, 174D, 1755, 1763, 176E
                                ;                             177C, 1784, 178C, 179A, 17A2, 17B0, 17BB
                                ;                             17C9, 17D1, 17D9, 17E4, 17F2, 17FA, 1808
                                ;                             1813, 181E, 182C, 1834, 183C, 1847, 1855
                                ;                             185D, 186B, 1876, 1884, 188C, 1894, 189F
                                ;                             18AD, 18B8, 18C3, 18D1, 18D9, 18E1, 18EF
                                ;                             18F7, 1905, 1910, 191E, 1926, 192E, 1939
                                ;                             1947, 1952, 195D, 196B, 1973, 197B, 1989
                                ;                             1994, 19A2, 19AA, 19B5, 19C0, 19CE, 19D6
                                ;                             19E1, 19EF, 19F7, 1A05, 1A0D, 1A1B, 1A23
                                ;                             1A31, 1A39, 7D41, 7D4B, 7E97, 7EA1
                                ;��������������������������������������������������������������������������

273F:7DA5                       read_bit        proc    near
273F:7DA5  8A 04                                mov     al,[si]
273F:7DA7  22 C2                                and     al,dl
273F:7DA9  D0 EA                                shr     dl,1                    ; Shift w/zeros fill
273F:7DAB  73 03                                jnc     loc_1569                ; Jump if carry=0
273F:7DAD  46                                   inc     si
273F:7DAE  B2 80                                mov     dl,80h
273F:7DB0                       loc_1569:                                       ;  xref 273F:7DAB
273F:7DB0  0A C0                                or      al,al                   ; Zero ?
273F:7DB2  C3                                   retn
                                read_bit        endp

                                                                                ;* No entry point to code
273F:7DB3  1E                                   push    ds
273F:7DB4  07                                   pop     es
273F:7DB5  8B EC                                mov     bp,sp
273F:7DB7  83 C5 02                             add     bp,2
273F:7DBA                       loc_1570:                                       ;  xref 273F:7DC4, 7DD8
273F:7DBA AC                                   lodsb                           ; String [si] to al
273F:7DBB  0A C0                                or      al,al                   ; Zero ?
273F:7DBD  74 07                                jz      loc_ret_1571            ; Jump if zero
273F:7DBF  3C 25                                cmp     al,25h                  ; '%'
273F:7DC1  74 04                                je      loc_1572                ; Jump if equal
273F:7DC3  AA                                   stosb                           ; Store al to es:[di]
273F:7DC4  EB F4                                jmp     short loc_1570          ; (7DBA)

273F:7DC6                       loc_ret_1571:                                   ;  xref 273F:7DBD
273F:7DC6  C3                                   retn
273F:7DC7                       loc_1572:                                       ;  xref 273F:7DC1
273F:7DC7  AC                                   lodsb                           ; String [si] to al
273F:7DC8  56                                   push    si
273F:7DC9  8B 76 00                             mov     si,[bp]
273F:7DCC  83 C5 02                             add     bp,2
273F:7DCF                       loc_1573:                                       ;  xref 273F:7DD5
273F:7DCF AC                                   lodsb                           ; String [si] to al
273F:7DD0  0A C0                                or      al,al                   ; Zero ?
273F:7DD2  74 03                                jz      loc_1574                ; Jump if zero
273F:7DD4  AA                                   stosb                           ; Store al to es:[di]
273F:7DD5  EB F8                                jmp     short loc_1573          ; (7DCF)
273F:7DD7                       loc_1574:                                       ;  xref 273F:7DD2
273F:7DD7  5E                                   pop     si
273F:7DD8  EB E0                                jmp     short loc_1570          ; (7DBA)

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:7D3E, 7E94
                                ;��������������������������������������������������������������������������

273F:7DDA              decode_string_init       proc    near
273F:7DDA  1E                                   push    ds
273F:7DDB  50                                   push    ax
273F:7DDC  B8 31E4                              mov     ax,data_seg
273F:7DDF  8E D8                                mov     ds,ax
273F:7DE1  58                                   pop     ax
273F:7DE2  83 3E 9832 2A                        cmp     room_number, 2Ah
273F:7DE7  72 0D                                jb      loc_1575                ; Jump if below
273F:7DE9  3D 07D0                              cmp     ax,7D0h
273F:7DEC  72 08                                jb      loc_1575                ; Jump if below
273F:7DEE  3D 0FA0                              cmp     ax,0FA0h
273F:7DF1  73 03                                jae     loc_1575                ; Jump if above or =
273F:7DF3  B8 0076                              mov     ax,76h
273F:7DF6                       loc_1575:                                       ;  xref 273F:7DE7, 7DEC, 7DF1
273F:7DF6  83 3E 9832 2A                        cmp     room_number, 2Ah
273F:7DFB  73 08                                jae     loc_1576                ; Jump if above or =
273F:7DFD  3D 0FA0                              cmp     ax,0FA0h
273F:7E00  72 03                                jb      loc_1576                ; Jump if below
273F:7E02  B8 0076                              mov     ax,76h
273F:7E05                       loc_1576:                                       ;  xref 273F:7DFB, 7E00
273F:7E05  1F                                   pop     ds
273F:7E06  1E                                   push    ds
273F:7E07  07                                   pop     es
273F:7E08  BB 31E4                              mov     bx,seg data_seg
273F:7E0B  8E DB                                mov     ds,bx
273F:7E0D  8B 1E 4CE8                           mov     bx, strings_segment
273F:7E11  3D 07D0                              cmp     ax,7D0h
273F:7E14  72 13                                jb      loc_1577                ; Jump if below
273F:7E16  8B 1E 4CEA                           mov     bx, strings_segment_2
273F:7E1A  2D 07D0                              sub     ax,7D0h
273F:7E1D  3D 07D0                              cmp     ax,7D0h
273F:7E20  72 07                                jb      loc_1577                ; Jump if below
273F:7E22  8B 1E 4CEC                           mov     bx, strings_segment_3
273F:7E26  2D 07D0                              sub     ax,7D0h
273F:7E29                       loc_1577:                                       ;  xref 273F:7E14, 7E20
273F:7E29  8E DB                                mov     ds,bx
273F:7E2B  8B D0                                mov     dx,ax
273F:7E2D BE 0004                              mov     si, 4
273F:7E30  55                                   push    bp
273F:7E31  33 DB                                xor     bx,bx                   ; Zero register
273F:7E33  33 ED                                xor     bp,bp                   ; Zero register
273F:7E35  B1 05                                mov     cl,5
273F:7E37  D3 E8                                shr     ax,cl                   ; Shift w/zeros fill
273F:7E39  74 0A                                jz      loc_1579                ; Jump if zero
273F:7E3B  8B C8                                mov     cx,ax



273F:7E3D                       locloop_1578:                                   ;  xref 273F:7E43
273F:7E3D  AD                                   lodsw                           ; String [si] to ax
273F:7E3E  03 D8                                add     bx,ax
273F:7E40  83 D5 00                             adc     bp,0
273F:7E43  E2 F8                                loop    locloop_1578            ; Loop if cx > 0

273F:7E45                       loc_1579:                                       ;  xref 273F:7E39
273F:7E45  8B CA                                mov     cx,dx
273F:7E47  83 E1 1F                             and     cx,1Fh
273F:7E4A  74 28                                jz      loc_1582                ; Jump if zero
273F:7E4C  83 E2 E0                             and     dx,0FFE0h
273F:7E4F  03 16 0000                           add     dx,ds:[0]
273F:7E53  8B F2                                mov     si,dx

273F:7E55                       locloop_1580:                                   ;  xref 273F:7E61, 7E72
273F:7E55  AC                                   lodsb                           ; String [si] to al
273F:7E56  32 E4                                xor     ah,ah                   ; Zero register
273F:7E58  A8 80                                test    al,80h
273F:7E5A  75 09                                jnz     loc_1581                ; Jump if not zero
273F:7E5C  03 D8                                add     bx,ax
273F:7E5E  83 D5 00                             adc     bp,0
273F:7E61  E2 F2                                loop    locloop_1580            ; Loop if cx > 0

273F:7E63  EB 0F                                jmp     short loc_1582          ; (7E74)
273F:7E65                       loc_1581:                                       ;  xref 273F:7E5A
273F:7E65  24 7F                                and     al,7Fh
273F:7E67  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:7E69  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:7E6B  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:7E6D  03 D8                                add     bx,ax
273F:7E6F  83 D5 00                             adc     bp,0
273F:7E72  E2 E1                                loop    locloop_1580            ; Loop if cx > 0

273F:7E74                       loc_1582:                                       ;  xref 273F:7E4A, 7E63
273F:7E74  B2 80                                mov     dl,80h
273F:7E76  8A CB                                mov     cl,bl
273F:7E78  80 E1 03                             and     cl,3
273F:7E7B  74 04                                jz      loc_1583                ; Jump if zero
273F:7E7D  D0 E1                                shl     cl,1                    ; Shift w/zeros fill
273F:7E7F  D2 EA                                shr     dl,cl                   ; Shift w/zeros fill
273F:7E81                       loc_1583:                                       ;  xref 273F:7E7B
273F:7E81  D1 EB                                shr     bx,1                    ; Shift w/zeros fill
273F:7E83  D1 EB                                shr     bx,1                    ; Shift w/zeros fill
273F:7E85  03 1E 0002                           add     bx,word ptr ds:[2]
273F:7E89  8B F3                                mov     si,bx
273F:7E8B  B1 0E                                mov     cl,0Eh
273F:7E8D  D3 E5                                shl     bp,cl                   ; Shift w/zeros fill
273F:7E8F  03 F5                                add     si,bp
273F:7E91  5D                                   pop     bp
273F:7E92  C3                                   retn
                       decode_string_init       endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:6368
                                ;��������������������������������������������������������������������������

273F:7E93                       sub_208         proc    near
273F:7E93  1E                                   push    ds
273F:7E94  E8 FF43                              call    decode_string_init
273F:7E97                       loc_1584:                                       ;  xref 273F:7E9F
273F:7E97 E8 FF0B                              call    read_bit
273F:7E9A  74 05                                jz      loc_1585                ; Jump if zero
273F:7E9C  83 C6 02                             add     si,2
273F:7E9F  EB F6                                jmp     short loc_1584          ; (7E97)
273F:7EA1                       loc_1585:                                       ;  xref 273F:7E9A
273F:7EA1  E8 FF01                              call    read_bit
273F:7EA4  1F                                   pop     ds
273F:7EA5  C3                                   retn
                                sub_208         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:6375, 6381
                                ;��������������������������������������������������������������������������

273F:7EA6                       sub_209         proc    near
273F:7EA6  3D 03E7                              cmp     ax,3E7h
273F:7EA9  74 05                                je      loc_1586                ; Jump if equal
273F:7EAB  3D 03E5                              cmp     ax,3E5h
273F:7EAE  75 04                                jne     loc_1587                ; Jump if not equal
273F:7EB0                       loc_1586:                                       ;  xref 273F:7EA9
273F:7EB0  C6 05 00                             mov     byte ptr [di],0
273F:7EB3  C3                                   retn
273F:7EB4                       loc_1587:                                       ;  xref 273F:7EAE
273F:7EB4  E8 8E6A                              call    get_room_resource_pointer3
273F:7EB7  8B 44 02                             mov     ax,[si+2]
273F:7EBA  F6 C3 FF                             test    bl,0FFh
273F:7EBD  74 28                                jz      loc_1593                ; Jump if zero
273F:7EBF  F6 C4 C0                             test    ah,0C0h
273F:7EC2  74 0C                                jz      loc_1589                ; Jump if zero
273F:7EC4  78 05                                js      loc_1588                ; Jump if sign=1
273F:7EC6  BE 4F90                              mov     si,4F90h
273F:7EC9  EB 0D                                jmp     short loc_1590          ; (7ED8)
273F:7ECB                       loc_1588:                                       ;  xref 273F:7EC4
273F:7ECB  BE 4F92                              mov     si,4F92h
273F:7ECE  EB 08                                jmp     short loc_1590          ; (7ED8)
273F:7ED0                       loc_1589:                                       ;  xref 273F:7EC2
273F:7ED0  F6 C4 20                             test    ah,20h                  ; ' '
273F:7ED3  74 12                                jz      loc_1593                ; Jump if zero
273F:7ED5 BE 4F95                              mov     si,4F95h                ; (273F:4F95=44h)
273F:7ED8                       loc_1590:                                       ;  xref 273F:7EC9, 7ECE
273F:7ED8  50                                   push    ax
273F:7ED9  1E                                   push    ds
273F:7EDA  07                                   pop     es
273F:7EDB                       loc_1591:                                       ;  xref 273F:7EE1
273F:7EDB AC                                   lodsb                           ; String [si] to al
273F:7EDC  0A C0                                or      al,al                   ; Zero ?
273F:7EDE  74 03                                jz      loc_1592                ; Jump if zero
273F:7EE0  AA                                   stosb                           ; Store al to es:[di]
273F:7EE1  EB F8                                jmp     short loc_1591          ; (7EDB)
273F:7EE3                       loc_1592:                                       ;  xref 273F:7EDE
273F:7EE3  B0 20                                mov     al,20h                  ; ' '
273F:7EE5  AA                                   stosb                           ; Store al to es:[di]
273F:7EE6  58                                   pop     ax
273F:7EE7                       loc_1593:                                       ;  xref 273F:7EBD, 7ED3
273F:7EE7  80 E4 1F                             and     ah,1Fh
273F:7EEA  E9 FE4D                              jmp     loc_1558                ; (7D3A)
                                sub_209         endp

                                db              0

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:7EEE  C6 06 70FD 03                        mov     byte ptr [70FDh], 3
273F:7EF3  C7 06 70FB 7FFF                      MOV     WORD PTR [70FB],7FFF
273F:7EF9  C3                                   RET

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                             skorl_tick_proc    proc    near
273F:7EFA  F7 06 BA2B FFFF                      test    script_v11, 0FFFFh
273F:7F00  74 22                                jz      vskorl_2
273F:7F02  F6 45 1D FF                          test    byte ptr [di+ANIM_SKIP], 0FFh
273F:7F06  75 1C                                jnz     vskorl_2
273F:7F08  F6 06 1926 FF                        test    data_669, 0FFh
273F:7F0D  75 15                                jnz     vskorl_2
273F:7F0F  BB 6CEF                              mov     bx, offset player_hotspot_rec
273F:7F12  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]    ; Is Skorl in the same
273F:7F15  3B 47 06                             cmp     ax, [bx+HS_ROOM_NUM]    ; room as the player?
273F:7F18  75 0A                                jnz     vskorl_2                ; No, so skip
273F:7F1A  E8 84 D6                             call    characters_impinging_check      ; Check if Skorl has 'caught' player
273F:7F1D  74 05                                jz      vskorl_2
273F:7F1F  80 0E 073D 70                        or      status_flags2, FLAG_RESTART || FLAG_CAUGHT || FLAG_RESTORERESTART

273F:7F24  E9 5B D0               vskorl_2:     jmp     standard_character_tick_proc
                             skorl_tick_proc    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                 set_village_skorl_tick_proc    proc    near
273F:7F27  C7 06 6DFD 7EFA                      mov     word ptr [village_skorl_hotspot_rec+HS_TICK_PROC], offset skorl_tick_proc
273F:7F2D  8B 3E 6DF1                           mov     di, [village_skorl_hotspot_rec+HS_ANIM_OFFSET]
273F:7F31  C7 45 11 FA 7E                       mov     word ptr [di+ANIM_TICK_PROC], offset skorl_tick_proc
273F:7F36  C3                                   ret
                 set_village_skorl_tick_proc    endp

273F:7F37  E8 3E E2                             call    talk_countdown_handler

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; Tick action proc for standard animations, and is responsible
                                ; for them being animated. This seems to include the vertical
                                ; movement of the drip animation
                                ; di = animation slot entry, si = hotspot resource
                                ;��������������������������������������������������������������������������

                    std_animation_tick_proc     proc    near

273F:7F3A F7 44 1F FFFF                        test    word ptr [si+HS_FRAME_CTR], 0FFFFh
273F:7F3F  75 0E                                jnz     loc_1596                ; Jump if not zero
273F:7F41  E8 9065                              call    hotspot_script_execute
273F:7F44  75 08                                jnz     loc_ret_1595            ; Jump if not zero
273F:7F46  E8 9329                              call    animation_unload
273F:7F49  81 4C 06 8000                        or      word ptr [si+6], 8000h

273F:7F4E                       loc_ret_1595:                                   ;  xref 273F:7F44
273F:7F4E  C3                                   retn
273F:7F4F                       loc_1596:                                       ;  xref 273F:7F3F, 7F6E, 7FA6
273F:7F4F  83 6C 1F 01                          sub     word ptr [si+HS_FRAME_CTR], 1
273F:7F53  C3                                   retn

                    std_animation_tick_proc     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:7F54  F6 44 2A FF                          test    byte ptr [si+2Ah],0FFh
273F:7F58  75 0D                                jnz     loc_1598                ; Jump if not zero
273F:7F5A BB 6CEF                              mov     bx, offset player_hotspot_rec
273F:7F5D  E8 D641                              call    characters_impinging_check
273F:7F60  74 04                                jz      loc_ret_1597            ; Jump if zero
273F:7F62  80 44 2A 01                          add     byte ptr [si+2Ah],1

273F:7F66                       loc_ret_1597:                                   ;  xref 273F:7F60
273F:7F66  C3                                   retn
273F:7F67                       loc_1598:                                       ;  xref 273F:7F58
273F:7F67  EB D1                                jmp     short std_animation_tick_proc

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                   dropping_torch_tick_proc     proc    near
273F:7F69  F7 44 1F FFFF                        test    word ptr [si+HS_FRAME_CTR], 0FFFFh
273F:7F6E  75 DF                                jnz     loc_1596                ; Jump if not zero
273F:7F70  E8 9036                              call    hotspot_script_execute
273F:7F73  75 7E                                jnz     loc_ret_1599            ; Jump if not zero
273F:7F75  E8 92FA                              call    animation_unload
273F:7F78  BB 041C                              mov     bx, 41Ch
273F:7F7B  BE 7F1F                              mov     si, 7F1Fh
273F:7F7E  E8 F1F1                              call    animation_load_2
273F:7F81  BB 0008                              mov     bx,8
273F:7F84  A0 1926                              mov     al, data_669
273F:7F87  50                                   push    ax
273F:7F88  C6 06 1926 00                        mov     data_669, 0
273F:7F8D  E8 206D                              call    play_sound                 ; (9FFD)
273F:7F90  58                                   pop     ax
273F:7F91  A2 1926                              mov     data_669, al

273F:7F94  BB 0418                              mov     bx, 418h                ; Fire on straw in room #1
273F:7F97 BE 7EF0                              mov     si,offset data_409
273F:7F9A  80 4C 03 80                          or      byte ptr [si+3],80h     ; Enable it to be highlighted
273F:7F9E  E9 F1D1                              jmp     animation_load_2        ; Load it for animation
                   dropping_torch_tick_proc     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������


273F:7FA1  F7 44 1F FFFF                        test    word ptr [si+1Fh],0FFFFh
273F:7FA6  75 A7                                jnz     loc_1596                ; Jump if not zero
273F:7FA8  E8 8FFE                              call    hotspot_script_execute
273F:7FAB  75 46                                jnz     loc_ret_1599            ; Jump if not zero
273F:7FAD  E8 92C2                              call    animation_unload
273F:7FB0  C6 44 15 00                          mov     byte ptr [si+15h],0
273F:7FB4  C7 06 6CFC 0120                      mov     word ptr [player_hotspot_rec+HS_X], 80h + (SCREEN_WIDTH / 2)
273F:7FBA  C7 06 6CFE 00E0                      mov     word ptr [player_hotspot_rec+HS_Y], 80h + (SCREEN_HEIGHT - MENUBAR_Y_SIZE) / 2
273F:7FC0  8B 1E 6CFA                           mov     bx, word ptr [player_hotspot_rec+HS_ANIM_OFFSET]
273F:7FC4  C7 07 0120                           mov     word ptr [bx+ANIM_X], 80h + (SCREEN_WIDTH / 2)
273F:7FC8  C7 47 02 00E0                        mov     word ptr [bx+ANIM_Y], 80h + (SCREEN_HEIGHT - MENUBAR_Y_SIZE) / 2
273F:7FCD  C6 47 26 01                          mov     byte ptr [bx+ANIM_DIRECTION], FACING_DOWN
273F:7FD1  E8 C6DD                              call    character_reset_direction
273F:7FD4  C6 44 44 00                          mov     byte ptr [si+HS_CHAR_MODE], CHARMODE_NONE
273F:7FD8  C6 44 49 00                          mov     byte ptr [si+HS_PATHFIND_COVERED], 0
273F:7FDC  C6 06 70FD 00                        mov     byte ptr ds:[70FDh],0   ; (273F:70FD=79h)
273F:7FE1  C7 06 70FB 0000                      mov     word ptr ds:[70FBh],0   ; (273F:70FB=80CEh)
273F:7FE7  C7 06 70B9 1C00                      mov     [ratpouch_hotspot_rec], 1C00h ; Set his actions
273F:7FED  C7 06 70BB 0082                      mov     [ratpouch_hotspot_rec+2],82h

273F:7FF3                       loc_ret_1599:                                   ;  xref 273F:7F73, 7FAB
273F:7FF3  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:7FF4  BB 040F                              mov     bx, 40Fh
273F:7FF7  E8 FC09                              call    hotspot_disable
273F:7FFA  8B 7C 0B                             mov     di,[si+0Bh]
273F:7FFD  E8 9272                              call    animation_unload
273F:8000  BB 040E                              mov     bx, 40Eh
273F:8003 BE 7EC6                              mov     si, 7EC6h               ; (273F:7EC6=0BEh)
273F:8006  E9 F169                              jmp     animation_load_2

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                              fire_tick_proc    proc    near
273F:8009  E8 FF2E                              call    std_animation_tick_proc
273F:800C  E9 F11F                              jmp     pathfind_flag_covered_cells
                              fire_tick_proc    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������
                              
273F:800F  C6 44 2A 00                          mov     byte ptr [si+HS_ACTION_CTR], 0
273F:8013               loc_set_frame_offset:                                   ;  xref 273F:8269, 83C8, 840E, 84C7
                                                                                ;            84D2, 85D1
273F:8013 �8A 44 2A                             mov     al, [si+HS_ACTION_CTR]
273F:8016  32 E4                                xor     ah, ah                   ; Zero register
273F:8018  8B 5C 21                             mov     bx, [si+HS_PIXEL_OFFSET]
273F:801B  F7 67 07                             mul     word ptr [bx+PIXEL_FRAME_SIZE]
273F:801E  89 45 08                             mov     [di+ANIM_FRAME_OFFSET], ax
273F:8021  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:8022  B8 2714                              mov     ax, 2714h
273F:8025  E8 F1C6                              call    room_exit_hs_get_pointer
273F:8028  C6 44 0C 00                          mov     byte ptr [si+0Ch],0     ; Mark door open
273F:802C BE 70B9                              mov     si, offset ratpouch_hotspot_rec
273F:802F  8B DE                                mov     bx,si
273F:8031  03 5C 61                             add     bx, [si+ACTION_OFFSET]
273F:8034  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:8037  C7 47 03 0007                        mov     word ptr [bx+CURRENT_ACTION_ROOM_NUM], 7
273F:803C  33 C0                                xor     ax,ax                   ; Zero register
273F:803E  8B 5F 01                             mov     bx, [bx+CURRENT_ACTION_SUPPORT_TABLE]
273F:8041  89 07                                mov     [bx],ax
273F:8043  89 04                                mov     [si],ax
273F:8045  89 44 02                             mov     [si+2],ax
273F:8048  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                               seq_cut_sack     proc    near
273F:8049  C7 06 840A 010A                      mov     sack_hotspot_rec[HS_Y], 10Ah
273F:804F  8B 1E 8406                           mov     bx, sack_hotspot_rec[HS_ANIM_OFFSET]
273F:8053  0B DB                                or      bx, bx                  ; Is active animation?
273F:8055  74 05                                jz      loc_ret_1601            ; Skip if not
273F:8057  C7 47 02 010A                        mov     word ptr [bx+ANIM_Y], 10Ah
273F:805C                       loc_ret_1601:                                   ;  xref 273F:8055
273F:805C  C3                                   retn
                               seq_cut_sack     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:805D  C7 06 6BDD 0063                      mov     word ptr ds:[6BDDh],63h ; (273F:6BDD=0C75h)
273F:8063  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:8064  C7 06 6BDD 0013                      mov     word ptr ds:[6BDDh],13h ; (273F:6BDD=0C75h)
273F:806A  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                             seq_method_37      proc    near
273F:806B  C7 06 7E7D 0118                      mov     oil_burner_hotspot_rec[HS_X], 7F3Ah  ;Maybe incorrect? 
273F:8071  C7 06 7E87 7F3A                      mov     word ptr ds:[7E87h],7F3Ah ; (273F:7E87=2)
273F:8077  8B 3E 7E7B                           mov     di, oil_burner_hotspot_rec[HS_ANIM_OFFSET]

273F:807B  C7 05 0118                           mov     word ptr [di],118h      ; X start
273F:807F  C7 45 11 7F3A                        mov     word ptr [di+11h],7F3Ah ; Handler proc offset
273F:8084  C3                                   retn
                             seq_method_37      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:8085  C7 06 8EA9 09E0                      mov     word ptr ds:[8EA9h],9E0h ; (273F:8EA9=0F003h)
273F:808B  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:8090  75 06                                jne     loc_ret_1602            ; Jump if not equal
273F:8092  C7 06 8EA9 0AF0                      mov     word ptr ds:[8EA9h],0AF0h ; (273F:8EA9=0F003h)
273F:8098                       loc_ret_1602:                                   ;  xref 273F:8090
273F:8098  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                       seq_transform_player     proc    near
273F:8099 BE 7E9B                              mov     si, offset resource_425_rec
273F:809C BF 6CEF                              mov     di, offset player_hotspot_rec
273F:809F  8B 45 06                             mov     ax, [di+HS_ROOM_NUM]    ; Get player room number
273F:80A2  89 44 06                             mov     [si+HS_ROOM_NUM], ax    ; Move into player's room
273F:80A5  8B 45 0D                             mov     ax, [di+HS_X]
273F:80A8  2D 000E                              sub     ax, 14
273F:80AB  89 44 0D                             mov     [si+HS_X], ax           ; Set x position
273F:80AE  8B 45 0F                             mov     ax,[di+HS_Y]
273F:80B1  2D 000A                              sub     ax, 10
273F:80B4  89 44 0F                             mov     [si+HS_Y], ax           ; Set y position
273F:80B7  C6 44 2A 00                          mov     byte ptr [si+HS_ACTION_CTR], 0
273F:80BB  C7 44 24 0630                        mov     word ptr [si+HS_SCRIPT_OFFSET], 630h
273F:80C0  BB 0425                              mov     bx, 425h
273F:80C3  E9 8C00                              jmp     animation_load_entry
                       seq_transform_player     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������


273F:80C6  A1 6CF5                              mov     ax,word ptr ds:[6CF5h]  ; (273F:6CF5=551Eh)
273F:80C9  89 44 06                             mov     [si+6],ax
273F:80CC  A1 6CFC                              mov     ax,word ptr ds:[6CFCh]  ; (273F:6CFC=1E8Bh)
273F:80CF  2D 000E                              sub     ax,0Eh
273F:80D2  89 05                                mov     [di],ax
273F:80D4  A1 6CFE                              mov     ax,word ptr ds:[6CFEh]  ; (273F:6CFE=76Eh)
273F:80D7  2D 000A                              sub     ax,0Ah
273F:80DA  89 45 02                             mov     [di+2],ax
273F:80DD  80 44 2A 01                          add     byte ptr [si+2Ah],1
273F:80E1  80 7C 2A 06                          cmp     byte ptr [si+2Ah],6
273F:80E5  75 30                                jne     loc_1606                ; Jump if not equal
273F:80E7  83 3E BA2B 02                        cmp     script_v11, 2
273F:80EC  74 08                                je      loc_1603                ; Jump if equal
273F:80EE  F7 06 BA4D FFFF                      test    word ptr ds:data_488e,0FFFFh ; (273F:BA4D=0)
273F:80F4  74 0B                                jz      loc_1604                ; Jump if zero
273F:80F6                       loc_1603:                                       ;  xref 273F:80EC
273F:80F6  C7 06 BA4D 0000                      mov     word ptr ds:data_488e,0 ; (273F:BA4D=0)
273F:80FC  BB 5C80                              mov     bx,5C80h
273F:80FF  EB 08                                jmp     short loc_1605          ; (8109)
273F:8101                       loc_1604:                                       ;  xref 273F:80F4
273F:8101  83 06 BA4D 01                        add     word ptr ds:data_488e,1 ; (273F:BA4D=0)
273F:8106 BB 5CAA                              mov     bx,5CAAh                ; (273F:5CAA=0BAh)
273F:8109                       loc_1605:                                       ;  xref 273F:80FF
273F:8109  89 1E 6D10                           mov     word ptr ds:[6D10h],bx  ; (273F:6D10=1E52h)
273F:810D  8B 47 03                             mov     ax,[bx+3]
273F:8110  8B 1E 6CFA                           mov     bx,word ptr ds:[6CFAh]  ; (273F:6CFA=1F33h)
273F:8114  89 47 0A                             mov     [bx+0Ah],ax
273F:8117                       loc_1606:                                       ;  xref 273F:80E5
273F:8117  E8 8E8F                              call    hotspot_script_execute
273F:811A  75 22                                jnz     loc_ret_1607            ; Jump if not zero
273F:811C  E8 9153                              call    animation_unload
273F:811F  C7 44 06 01A8                        mov     word ptr [si+6],1A8h
273F:8124  F7 06 BA4D FFFF                      test    word ptr ds:data_488e,0FFFFh ; (273F:BA4D=0)
273F:812A  74 12                                jz      loc_ret_1607            ; Jump if zero
273F:812C  BB 03E9                              mov     bx, RATPOUCH_HOTSPOT_ID
273F:812F  B9 0854                              mov     cx, 854h
273F:8132  E8 DFD5                              call    start_talk_noone
273F:8135  B8 0004                              mov     ax,4
273F:8138 BE 70B9                              mov     si, offset ratpouch_hotspot_rec
273F:813B  E9 C3F7                              jmp     loc_867                 ; (4535)

273F:813E                       loc_ret_1607:                                   ;  xref 273F:811A, 812A, 814E
273F:813E  C3                                   retn
                                                                                ;* No entry point to code
273F:813F  F7 44 1F FFFF                        test    word ptr [si+1Fh],0FFFFh
273F:8144  74 05                                jz      loc_1608                ; Jump if zero
273F:8146  83 6C 1F 01                          sub     word ptr [si+1Fh],1
273F:814A  C3                                   retn
273F:814B                       loc_1608:                                       ;  xref 273F:8144
273F:814B  E8 8E5B                              call    hotspot_script_execute
273F:814E  75 EE                                jnz     loc_ret_1607            ; Jump if not zero
273F:8150  C7 44 24 0B82                        mov     word ptr [si+24h],0B82h
273F:8155  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:815A  75 05                                jne     loc_1609                ; Jump if not equal
273F:815C  C7 44 24 0B7C                        mov     word ptr [si+24h],0B7Ch
273F:8161                       loc_1609:                                       ;  xref 273F:815A
273F:8161  C7 06 BA4B 0001                      mov     word ptr ds:data_487e,1 ; (273F:BA4B=0)
273F:8167  C3                                   retn

273F:8168  0C00                 data_410        dw      0C00h
273F:816A  0082                 data_411        dw      82h

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;  Sets the action bitset for Goewin
                                ;��������������������������������������������������������������������������

                             seq_method_55      proc    near
273F:816C  C6 06 7D4B 01                        mov     BYTE PTR [goewin_hotspot_rec+HS_ACTION_CTR], 1
273F:8171  2E A1 8168                           mov     ax, cs:data_410
273F:8175  A3 7D21                              mov     [goewin_hotspot_rec], ax
273F:8178  2E A1 816A                           mov     ax, cs:data_411
273F:817C  A3 7D23                              mov     [goewin_hotspot_rec+2], ax
273F:817F  C3                                   ret
                             seq_method_55      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:8180  F6 44 2A FF                          test    bye ptr [SI+HS_ACTION_CTR], 0FFh
273F:8184  74 B8                                jz      loc_ret_1607
273F:8186  E8 20 8E                             call    hotspot_script_execute
273F:8189  75 B3                                jnz     loc_ret_1607
273F:818B  C7 44 17 4F82                        mov     word ptr [si+HS_TICK_PROC], 4F82h
273F:8190  C7 45 11 4F82                        mov     word ptr [di+ANIM_TICK_PROC], 4F82h
273F:8195  C6 44 2A 00                          mov     byte ptr [si+HS_ACTION_CTR], 0
273F:8199  C3                                   ret

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                       seq_is_skorl_in_cell     proc    near
273F:819A  C7 06 BA1F 0000                      mov     general_val, 0
273F:81A0  83 3E 6D6D 01                        cmp     skorl_hotspot_rec[HS_ROOM_NUM], 1
273F:81A5  74 06                                je      loc_ret_1610
273F:81A7  C7 06 BA1F 0001                      mov     general_val, 1
273F:81AD                       loc_ret_1610:
273F:81AD  C3                                   retn
                       seq_is_skorl_in_cell     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                                seq_method_3    proc    near
273F:81AE  88 1E 9836                           mov     data_1085, bl ; Set HS-435h(4802h)[34h]                                      
273F:81B2  C3                                   retn
                                seq_method_3    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                          prisoner_tick_proc    proc    near
273F:81B3  E8 DFC2                              call    talk_countdown_handler
273F:81B6  F7 44 1F FFFF                        test    word ptr [si+HS_FRAME_CTR], 0FFFFh
273F:81BB  74 05                                jz      loc_1612                ; Jump if zero
273F:81BD  83 6C 1F 01                          sub     word ptr [si+HS_FRAME_CTR], 1
273F:81C1                       loc_ret_1611:
273F:81C1  C3                                   retn
273F:81C2                       loc_1612:
273F:81C2  F6 44 2A FF                          test    byte ptr [si+HS_ACTION_CTR], 0FFh
273F:81C6  74 11                                jz      loc_1613                ; Jump if zero
273F:81C8  E8 8DDE                              call    hotspot_script_execute
273F:81CB  0B C0                                or      ax, ax                  ; Zero ?
273F:81CD  75 F2                                jnz     loc_ret_1611            ; Jump if not zero
273F:81CF  C6 44 2A 00                          mov     byte ptr [si+HS_ACTION_CTR], 0
273F:81D3  C7 44 24 03E0                        mov     word ptr [si+HS_SCRIPT_OFFSET], 3E0h
273F:81D8  C3                                   retn

273F:81D9                       loc_1613:                                       ;  xref 273F:81C6
273F:81D9  F7 06 BA33 FFFF                      test    prisoner_dead, 0FFFFh
273F:81DF  75 E0                                jnz     loc_ret_1611            ; Jump if not zero
273F:81E1  E8 C288                              call    random
273F:81E4  3D 0006                              cmp     ax, 6
273F:81E7  72 D8                                jb      loc_ret_1611            ; Jump if below
273F:81E9  C6 44 2A 01                          mov     byte ptr [si+HS_ACTION_CTR], 1
273F:81ED  C7 44 24 03F6                        mov     word ptr [si+HS_SCRIPT_OFFSET], 3F6h
273F:81F2  C3                                   retn
                          prisoner_tick_proc    endp

                                                                                ;* No entry point to code
273F:81F3  E8 DF82                              call    talk_countdown_handler
273F:81F6  F7 44 1F FFFF                        test    word ptr [si+1Fh],0FFFFh
273F:81FB  74 05                                jz      loc_1614                ; Jump if zero
273F:81FD  83 6C 1F 01                          sub     word ptr [si+1Fh],1
273F:8201  C3                                   retn
273F:8202                       loc_1614:                                       ;  xref 273F:81FB
273F:8202  E8 8DA4                              call    hotspot_script_execute
273F:8205  8A 44 2A                             mov     al,[si+2Ah]
273F:8208  32 E4                                xor     ah,ah                   ; Zero register
273F:820A  89 44 1F                             mov     [si+1Fh],ax
273F:820D  C3                                   retn
                                                                                ;* No entry point to code
273F:820E  E8 DF67                              call    talk_countdown_handler
273F:8211  F7 44 1F FFFF                        test    word ptr [si+1Fh],0FFFFh
273F:8216  74 05                                jz      loc_1616                ; Jump if zero
273F:8218  83 6C 1F 01                          sub     word ptr [si+1Fh],1

273F:821C                       loc_ret_1615:                                   ;  xref 273F:8222
273F:821C  C3                                   retn
273F:821D                       loc_1616:                                       ;  xref 273F:8216
273F:821D  E8 8D89                              call    hotspot_script_execute
273F:8220  0B C0                                or      ax,ax                   ; Zero ?
273F:8222  75 F8                                jnz     loc_ret_1615            ; Jump if not zero
273F:8224  E8 C245                              call    random
273F:8227  BB 0000                              mov     bx,0
273F:822A  A9 0004                              test    ax,4
273F:822D  74 03                                jz      loc_1617                ; Jump if zero
273F:822F  BB 0054                              mov     bx,54h
273F:8232                       loc_1617:                                       ;  xref 273F:822D
273F:8232  89 5C 24                             mov     [si+24h],bx
273F:8235 BB 003F                              mov     bx,3Fh                  ; (273F:003F=0)
273F:8238  F7 E3                                mul     bx                      ; dx:ax = reg * ax
273F:823A  83 C2 14                             add     dx,14h
273F:823D  89 54 1F                             mov     [si+1Fh],dx
273F:8240  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                   head_animation_tick_proc     proc    near
273F:8241  E8 DF34                              call    talk_countdown_handler
273F:8244 BB 6CEF                              mov     bx, offset player_hotspot_rec
273F:8247  81 7F 0F 00CF                        cmp     word ptr [bx+HS_Y], 80h + 79
273F:824C  73 03                                jae     loc_1618                ; Jump if above or =
273F:824E BB 70B9                              mov     bx, offset ratpouch_hotspot_rec
273F:8251                       loc_1618:                                       ;  xref 273F:824C
273F:8251  8B 5F 0D                             mov     bx, [bx+HS_X]
273F:8254  33 C0                                xor     ax, ax
273F:8256  81 FB 00C8                           cmp     bx, 80h + 72
273F:825A  72 0A                                jb      loc_1619                ; Jump if below
273F:825C  B0 01                                mov     al, 1
273F:825E  81 FB 012C                           cmp     bx, 80h + 172
273F:8262  72 02                                jb      loc_1619                ; Jump if below
273F:8264  B0 02                                mov     al,2
273F:8266                       loc_1619:                                       ;  xref 273F:825A, 8262
273F:8266  88 44 2A                             mov     [si+2Ah], al
273F:8269  E9 FDA7                              jmp     loc_set_frame_offset
                   head_animation_tick_proc     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                     seq_room_14_door_close     proc    near
273F:826C  B8 2719                              mov     ax,2719h
273F:826F  E8 EF7C                              call    room_exit_hs_get_pointer
273F:8272  C6 44 0C 01                          mov     byte ptr [si+0Ch],1
273F:8276  C3                                   retn
                     seq_room_14_door_close     proc    near

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                          seq_decrase_groats    proc    near
273F:8277  E8 8A6E                              call    get_room_resource_pointer
273F:827A  29 0E BC49                           sub     num_groats, cx
273F:827E  C3                                   retn
                          seq_decrase_groats    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                          seq_incrase_groats    proc    near
273F:827F  E8 8A66                              call    get_room_resource_pointer
273F:8282  01 0E BC49                           add     num_groats, cx
273F:8286  C3                                   retn
                          seq_incrase_groats    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:82AF, 855B, 85F2
                                ;��������������������������������������������������������������������������

273F:8287                       sub_211         proc    near
273F:8287 BB 502A                              mov     bx, offset sub_211_list
273F:828A  B9 0003                              mov     cx, 3
273F:828D  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]

273F:8290                       locloop_1620:                                   ;  xref 273F:8297
273F:8290  39 07                                cmp     [bx], ax                ; Found entry for room #?
273F:8292  74 08                                je      loc_1621                ; Exit if yes
273F:8294  83 C3 04                             add     bx, 4
273F:8297  E2 F7                                loop    locloop_1620            ; Loop if cx > 0

273F:8299  33 DB                                xor     bx,bx                   ; Zero return
273F:829B  C3                                   retn
273F:829C                       loc_1621:                                       ;  xref 273F:8292
273F:829C  8B 5F 02                             mov     bx, [bx+2]
273F:829F  C3                                   retn
                                sub_211         endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                                                                                ;* No entry point to code
273F:82A0  E8 DED5                              call    talk_countdown_handler
273F:82A3  F7 44 1F FFFF                        test    word ptr [si+1Fh],0FFFFh
273F:82A8  74 05                                jz      loc_1622                ; Jump if zero
273F:82AA  83 6C 1F 01                          sub     word ptr [si+1Fh],1
273F:82AE  C3                                   retn
273F:82AF                       loc_1622:                                       ;  xref 273F:82A8
273F:82AF  E8 FFD5                              call    sub_211                 ; (8287)
273F:82B2  8A 44 28                             mov     al,[si+28h]
273F:82B5  0A C0                                or      al,al                   ; Zero ?
273F:82B7  75 60                                jnz     loc_1626                ; Jump if not zero
273F:82B9  F7 07 FFFF                           test    word ptr [bx],0FFFFh
273F:82BD  74 03                                jz      loc_1623                ; Jump if zero
273F:82BF  E9 0159                              jmp     loc_1646                ; (841B)
273F:82C2                       loc_1623:                                       ;  xref 273F:82BD
273F:82C2  53                                   push    bx
273F:82C3  83 C3 02                             add     bx,2
273F:82C6  B9 0004                              mov     cx,4

273F:82C9                       locloop_1624:                                   ;  xref 273F:82ED
273F:82C9  F6 47 03 80                          test    byte ptr [bx+3],80h
273F:82CD  74 1B                                jz      loc_1625                ; Jump if zero
273F:82CF  8B CB                                mov     cx,bx
273F:82D1  C6 47 03 00                          mov     byte ptr [bx+3],0
273F:82D5  8B 07                                mov     ax,[bx]
273F:82D7  5B                                   pop     bx
273F:82D8  89 0F                                mov     [bx],cx
273F:82DA  56                                   push    si
273F:82DB  E8 8A0C                              call    get_room_resource_pointer2
273F:82DE  8B 44 0D                             mov     ax,[si+0Dh]
273F:82E1  5E                                   pop     si
273F:82E2  89 44 24                             mov     [si+24h],ax
273F:82E5  C6 44 28 80                          mov     byte ptr [si+28h],80h
273F:82E9  C3                                   retn
273F:82EA                       loc_1625:                                       ;  xref 273F:82CD
273F:82EA  83 C3 04                             add     bx,4
273F:82ED  E2 DA                                loop    locloop_1624            ; Loop if cx > 0

273F:82EF  5B                                   pop     bx
273F:82F0  33 C0                                xor     ax,ax                   ; Zero register
273F:82F2  89 47 02                             mov     [bx+2],ax
273F:82F5  89 47 04                             mov     [bx+4],ax
273F:82F8  89 47 06                             mov     [bx+6],ax
273F:82FB  89 47 08                             mov     [bx+8],ax
273F:82FE  89 47 0A                             mov     [bx+0Ah],ax
273F:8301  89 47 0C                             mov     [bx+0Ch],ax
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 316

273F:8304  89 47 0E                             mov     [bx+0Eh],ax
273F:8307  89 47 10                             mov     [bx+10h],ax
273F:830A  E8 C15F                              call    random
273F:830D  B9 0003                              mov     cx,3
273F:8310  F7 E1                                mul     cx                      ; dx:ax = reg * ax
273F:8312  92                                   xchg    dx,ax
273F:8313  05 0001                              add     ax,1
273F:8316  88 44 28                             mov     [si+28h],al
273F:8319                       loc_1626:                                       ;  xref 273F:82B7
273F:8319  A8 80                                test    al,80h
273F:831B  75 10                                jnz     loc_1627                ; Jump if not zero
273F:831D  24 3F                                and     al,3Fh                  ; '?'
273F:831F  3C 02                                cmp     al,2
273F:8321  72 0D                                jb      loc_1628                ; Jump if below
273F:8323  74 0D                                jz      loc_1629                ; Jump if zero
273F:8325  3C 04                                cmp     al,4
273F:8327  74 0E                                je      loc_1631                ; Jump if equal
273F:8329  72 09                                jc      loc_1630                ; Jump if carry Set
273F:832B  EB 0D                                jmp     short loc_1632          ; (833A)
273F:832D                       loc_1627:                                       ;  xref 273F:831B
273F:832D  E9 015A                              jmp     loc_1652                ; (848A)
273F:8330                       loc_1628:                                       ;  xref 273F:8321
273F:8330  EB 0B                                jmp     short loc_1633          ; (833D)
273F:8332                       loc_1629:                                       ;  xref 273F:8323
273F:8332  EB 2F                                jmp     short loc_1636          ; (8363)
273F:8334                       loc_1630:                                       ;  xref 273F:8329
273F:8334  E9 00CA                              jmp     loc_1643                ; (8401)
273F:8337                       loc_1631:                                       ;  xref 273F:8327
273F:8337  E9 00D7                              jmp     loc_1645                ; (8411)
273F:833A                       loc_1632:                                       ;  xref 273F:832B
273F:833A  E9 00B6                              jmp     loc_1642                ; (83F3)
273F:833D                       loc_1633:                                       ;  xref 273F:8330
273F:833D  E8 C12C                              call    random
273F:8340  81 7D 1B 0436                        cmp     word ptr [di+1Bh],436h
273F:8345  74 11                                je      loc_1635                ; Jump if equal
273F:8347  BB 0055                              mov     bx,55h
273F:834A  F7 E3                                mul     bx                      ; dx:ax = reg * ax
273F:834C  81 C2 00F5                           add     dx,0F5h
273F:8350                       loc_1634:                                       ;  xref 273F:8361
273F:8350 �89 54 24                             mov     [si+24h],dx
273F:8353  C6 44 28 83                          mov     byte ptr [si+28h],83h
273F:8357  C3                                   retn
273F:8358                       loc_1635:                                       ;  xref 273F:8345
273F:8358  BB 0033                              mov     bx,33h
273F:835B  F7 E3                                mul     bx                      ; dx:ax = reg * ax
273F:835D  81 C2 00DE                           add     dx,0DEh
273F:8361  EB ED                                jmp     short loc_1634          ; (8350)
273F:8363                       loc_1636:                                       ;  xref 273F:8332
273F:8363  F6 44 28 40                          test    byte ptr [si+28h],40h   ; '@'
273F:8367  75 4B                                jnz     loc_1640                ; Jump if not zero
273F:8369  81 7D 1B 0436                        cmp     word ptr [di+1Bh],436h
273F:836E  75 3E                                jne     loc_1638                ; Jump if not equal
273F:8370  83 3E 6CF5 23                        cmp     word ptr ds:[6CF5h],23h ; (273F:6CF5=551Eh)
273F:8375  74 37                                je      loc_1638                ; Jump if equal
273F:8377  83 3E 6DEC 23                        cmp     word ptr ds:[6DECh],23h ; (273F:6DEC=4BFAh)
273F:837C  74 30                                je      loc_1638                ; Jump if equal
273F:837E  83 3E 77C8 23                        cmp     word ptr ds:[77C8h],23h ; (273F:77C8=0F74h)
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 317

273F:8383  74 29                                je      loc_1638                ; Jump if equal
273F:8385  E8 C0E4                              call    random
273F:8388  0B C0                                or      ax,ax                   ; Zero ?
273F:838A  78 05                                js      loc_1637                ; Jump if sign=1
273F:838C  B8 4FED                              mov     ax,4FEDh
273F:838F  EB 20                                jmp     short loc_1639          ; (83B1)
273F:8391                       loc_1637:                                       ;  xref 273F:838A
273F:8391  C7 44 21 59ED                        mov     word ptr [si+21h],59EDh
273F:8396  C7 45 04 0020                        mov     word ptr [di+4],20h
273F:839B  C6 06 5029 08                        mov     byte ptr ds:[5029h],8   ; (273F:5029=47h)
273F:83A0  83 2D 08                             sub     word ptr [di],8
273F:83A3  A1 59F0                              mov     ax,word ptr ds:[59F0h]  ; (273F:59F0=0ABBh)
273F:83A6  89 45 0A                             mov     [di+0Ah],ax
273F:83A9  B8 5010                              mov     ax,5010h
273F:83AC  EB 03                                jmp     short loc_1639          ; (83B1)
273F:83AE                       loc_1638:                                       ;  xref 273F:836E, 8375, 837C, 8383
273F:83AE  8B 47 14                             mov     ax,[bx+14h]
273F:83B1                       loc_1639:                                       ;  xref 273F:838F, 83AC
273F:83B1  89 44 24                             mov     [si+24h],ax
273F:83B4                       loc_1640:                                       ;  xref 273F:8367, 83F7, 83FF
273F:83B4 80 4C 28 40                          or      byte ptr [si+28h],40h   ; '@'
273F:83B8  8B 5C 24                             mov     bx,[si+24h]
273F:83BB  83 44 24 01                          add     word ptr [si+24h],1
273F:83BF  8A 07                                mov     al,[bx]
273F:83C1  0A C0                                or      al,al                   ; Zero ?
273F:83C3  74 06                                jz      loc_1641                ; Jump if zero
273F:83C5  88 44 2A                             mov     [si+2Ah],al
273F:83C8  E9 FC48                              jmp     loc_set_frame_offset
273F:83CB                       loc_1641:                                       ;  xref 273F:83C3
273F:83CB  81 7D 1B 0436                        cmp     word ptr [di+1Bh],436h
273F:83D0  75 2F                                jne     loc_1643                ; Jump if not equal
273F:83D2  C7 44 21 59E4                        mov     word ptr [si+21h],59E4h
273F:83D7  C7 45 04 0010                        mov     word ptr [di+4],10h
273F:83DC  A1 59E7                              mov     ax,word ptr ds:[59E7h]  ; (273F:59E7=2E00h)
273F:83DF  89 45 0A                             mov     [di+0Ah],ax
273F:83E2  F6 06 5029 FF                        test    byte ptr ds:[5029h],0FFh ; (273F:5029=47h)
273F:83E7  74 18                                jz      loc_1643                ; Jump if zero
273F:83E9  83 05 08                             add     word ptr [di],8
273F:83EC  C6 06 5029 00                        mov     byte ptr ds:[5029h],0   ; (273F:5029=47h)
273F:83F1  EB 0E                                jmp     short loc_1643          ; (8401)
273F:83F3                       loc_1642:                                       ;  xref 273F:833A
273F:83F3  F6 44 28 40                          test    byte ptr [si+28h],40h   ; '@'
273F:83F7  75 BB                                jnz     loc_1640                ; Jump if not zero
273F:83F9  8B 47 16                             mov     ax,[bx+16h]
273F:83FC  89 44 24                             mov     [si+24h],ax
273F:83FF  EB B3                                jmp     short loc_1640          ; (83B4)
273F:8401                       loc_1643:                                       ;  xref 273F:8334, 83D0, 83E7, 83F1
273F:8401  C7 44 1F 000A                        mov     word ptr [si+1Fh],0Ah
273F:8406                       loc_1644:                                       ;  xref 273F:8419
273F:8406 C6 44 28 00                          mov     byte ptr [si+28h],0
273F:840A  C6 44 2A 0C                          mov     byte ptr [si+2Ah],0Ch
273F:840E  E9 FC02                              jmp     loc_set_frame_offset
273F:8411                       loc_1645:                                       ;  xref 273F:8337
273F:8411  F7 06 9838 FFFF                      test    data_431,0FFFFh         ; (273F:9838=5C8Bh)
273F:8417  75 35                                jnz     loc_ret_1647            ; Jump if not zero
273F:8419  EB EB                                jmp     short loc_1644          ; (8406)
273F:841B                       loc_1646:                                       ;  xref 273F:82BF
273F:841B  8B D3                                mov     dx,bx
273F:841D  8B 1F                                mov     bx,[bx]
273F:841F  8B 07                                mov     ax,[bx]
273F:8421  56                                   push    si
273F:8422  E8 88C5                              call    get_room_resource_pointer2
273F:8425  8B 44 0F                             mov     ax,[si+0Fh]
273F:8428  03 44 1B                             add     ax,[si+1Bh]
273F:842B  5E                                   pop     si
273F:842C  87 DA                                xchg    bx,dx
273F:842E  8B 4F 18                             mov     cx,[bx+18h]
273F:8431  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:8433  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:8435  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:8437  81 C1 0098                           add     cx,98h
273F:843B  3B C1                                cmp     ax,cx
273F:843D  72 10                                jb      loc_1648                ; Jump if below
273F:843F  C7 07 0000                           mov     word ptr [bx],0
273F:8443  87 DA                                xchg    bx,dx
273F:8445  C7 07 0000                           mov     word ptr [bx],0
273F:8449  C7 47 02 0000                        mov     word ptr [bx+2],0

273F:844E                       loc_ret_1647:                                   ;  xref 273F:8417
273F:844E  C3                                   retn
273F:844F                       loc_1648:                                       ;  xref 273F:843D
273F:844F  87 DA                                xchg    bx,dx
273F:8451  81 3F 03E8                           cmp     word ptr [bx], PLAYER_HOTSPOT_ID
273F:8455  74 05                                je      loc_1649                ; Jump if equal
273F:8457  C6 47 03 00                          mov     byte ptr [bx+3],0
273F:845B  C3                                   retn
273F:845C                       loc_1649:                                       ;  xref 273F:8455
273F:845C  80 67 03 7F                          and     byte ptr [bx+3],7Fh
273F:8460  F6 47 03 07                          test    byte ptr [bx+3],7
273F:8464  74 0D                                jz      loc_1651                ; Jump if zero
273F:8466  8A 47 03                             mov     al,[bx+3]
273F:8469  80 67 03 F8                          and     byte ptr [bx+3],0F8h
273F:846D  32 E4                                xor     ah,ah                   ; Zero register
273F:846F  89 44 28                             mov     [si+28h],ax

273F:8472                       loc_ret_1650:                                   ;  xref 273F:8478
273F:8472  C3                                   retn
273F:8473                       loc_1651:                                       ;  xref 273F:8464
273F:8473  F7 44 2F FFFF                        test    word ptr [si+2Fh],0FFFFh
273F:8478  75 F8                                jnz     loc_ret_1650            ; Jump if not zero
273F:847A  C7 07 0000                           mov     word ptr [bx],0
273F:847E  8B DA                                mov     bx,dx
273F:8480  C7 07 0000                           mov     word ptr [bx],0
273F:8484  C7 44 28 0002                        mov     word ptr [si+28h],2
273F:8489  C3                                   retn
273F:848A                       loc_1652:                                       ;  xref 273F:832D
273F:848A  8B 44 0D                             mov     ax,[si+0Dh]
273F:848D  BA FFFE                              mov     dx,0FFFEh
273F:8490  2B 44 24                             sub     ax,[si+24h]
273F:8493  73 14                                jnc     loc_1654                ; Jump if carry=0
273F:8495  F7 D8                                neg     ax
273F:8497  F7 DA                                neg     dx
273F:8499  80 44 2A 01                          add     byte ptr [si+2Ah],1
273F:849D  80 7C 2A 06                          cmp     byte ptr [si+2Ah],6
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 319

273F:84A1  72 04                                jb      loc_1653                ; Jump if below
273F:84A3  C6 44 2A 00                          mov     byte ptr [si+2Ah],0
273F:84A7                       loc_1653:                                       ;  xref 273F:84A1
273F:84A7  EB 14                                jmp     short loc_1656          ; (84BD)
273F:84A9                       loc_1654:                                       ;  xref 273F:8493
273F:84A9  80 44 2A 01                          add     byte ptr [si+2Ah],1
273F:84AD  80 7C 2A 0C                          cmp     byte ptr [si+2Ah],0Ch
273F:84B1  73 06                                jae     loc_1655                ; Jump if above or =
273F:84B3  80 7C 2A 06                          cmp     byte ptr [si+2Ah],6
273F:84B7  73 04                                jae     loc_1656                ; Jump if above or =
273F:84B9                       loc_1655:                                       ;  xref 273F:84B1
273F:84B9  C6 44 2A 06                          mov     byte ptr [si+2Ah],6
273F:84BD                       loc_1656:                                       ;  xref 273F:84A7, 84B7
273F:84BD  3D 0002                              cmp     ax,2
273F:84C0  72 08                                jb      loc_1657                ; Jump if below
273F:84C2  01 54 0D                             add     [si+0Dh],dx
273F:84C5  01 15                                add     [di],dx
273F:84C7  E9 FB49                              jmp     loc_set_frame_offset
273F:84CA                       loc_1657:                                       ;  xref 273F:84C0
273F:84CA  C6 44 2A 0C                          mov     byte ptr [si+2Ah],0Ch
273F:84CE  80 64 28 7F                          and     byte ptr [si+28h],7Fh
273F:84D2  E9 FB3E                              jmp     loc_set_frame_offset

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:8565
                                ;��������������������������������������������������������������������������

273F:84D5                       sub_212         proc    near
273F:84D5  8B 44 0F                             mov     ax, [si+HS_Y]
273F:84D8  03 44 1B                             add     ax, [si+HS_HEIGHT_COPY]
273F:84DB  8B 4F 18                             mov     cx, [bx+18h]
273F:84DE  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:84E0  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:84E2  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:84E4  81 C1 0098                           add     cx,98h
273F:84E8  3B C1                                cmp     ax,cx
273F:84EA  73 06                                jae     loc_1658                ; Jump if above or =
273F:84EC  0D 0001                              or      ax,1
273F:84EF  33 C9                                xor     cx,cx                   ; Zero register
273F:84F1  C3                                   retn
273F:84F2                       loc_1658:                                       ;  xref 273F:84EA
273F:84F2  53                                   push    bx
273F:84F3  8B 44 06                             mov     ax,[si+6]
273F:84F6  2D 0001                              sub     ax,1
273F:84F9  BA 0078                              mov     dx,78h
273F:84FC  F7 E2                                mul     dx                      ; dx:ax = reg * ax
273F:84FE  8B 4F 18                             mov     cx,[bx+18h]
273F:8501  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:8503  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:8505  03 4F 18                             add     cx,[bx+18h]
273F:8508  03 C1                                add     ax,cx
273F:850A  05 0004                              add     ax,4
273F:850D BB 984A                              mov     bx, offset data_441
273F:8510  03 D8                                add     bx,ax
273F:8512  B2 01                                mov     dl,1
273F:8514  B9 0027                              mov     cx,27h
273F:8517  32 F6                                xor     dh,dh                   ; Zero register

273F:8519                       locloop_1659:                                   ;  xref 273F:8553
273F:8519  84 17                                test    dl,[bx]
273F:851B  75 2B                                jnz     loc_1660                ; Jump if not zero
273F:851D  80 C6 01                             add     dh,1
273F:8520  80 FE 04                             cmp     dh,4
273F:8523  72 25                                jb      loc_1661                ; Jump if below
273F:8525  B8 0008                              mov     ax,8
273F:8528  F7 E1                                mul     cx                      ; dx:ax = reg * ax
273F:852A  8B C8                                mov     cx,ax
273F:852C  81 C1 0080                           add     cx,80h
273F:8530  5B                                   pop     bx
273F:8531  53                                   push    bx
273F:8532  8B 57 18                             mov     dx,[bx+18h]
273F:8535  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
273F:8537  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
273F:8539  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
273F:853B  81 C2 0088                           add     dx,88h
273F:853F  B0 01                                mov     al,1
273F:8541  E8 CFD5                              call    character_start_walking
273F:8544  33 C9                                xor     cx,cx                   ; Zero register
273F:8546  5B                                   pop     bx
273F:8547  C3                                   retn
273F:8548                       loc_1660:                                       ;  xref 273F:851B
273F:8548  32 F6                                xor     dh,dh                   ; Zero register
273F:854A                       loc_1661:                                       ;  xref 273F:8523
273F:854A  D0 E2                                shl     dl,1                    ; Shift w/zeros fill
273F:854C  73 05                                jnc     loc_1662                ; Jump if carry=0
273F:854E  83 EB 01                             sub     bx,1
273F:8551  B2 01                                mov     dl,1
273F:8553                       loc_1662:                                       ;  xref 273F:854C
273F:8553  E2 C4                                loop    locloop_1659            ; Loop if cx > 0

273F:8555  83 C9 01                             or      cx,1
273F:8558  5B                                   pop     bx
273F:8559  C3                                   retn
                                sub_212         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:45B8
                                ;��������������������������������������������������������������������������

273F:855A                       sub_213         proc    near
273F:855A  53                                   push    bx
273F:855B  E8 FD29                              call    sub_211                 ; list[room #] => bx
273F:855E  F6 44 2A FF                          test    byte ptr [si+HS_ACTION_CTR], 0FFh
273F:8562  75 45                                jnz     loc_1669                ; Jump if not zero
273F:8564  58                                   pop     ax
273F:8565  E8 FF6D                              call    sub_212                 ; (84D5)
273F:8568  74 03                                jz      loc_1664                ; Jump if zero
273F:856A                       loc_1663:                                       ;  xref 273F:8594
273F:856A 33 C0                                xor     ax,ax                   ; Zero register
273F:856C  C3                                   retn
273F:856D                       loc_1664:                                       ;  xref 273F:8568
273F:856D  0B C0                                or      ax, ax                  ; Zero ?
273F:856F  74 35                                jz      loc_1668                ; Jump if zero
273F:8571  83 C3 02                             add     bx, 2
273F:8574  B9 0004                              mov     cx, 4
273F:8577  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]

273F:857A                       locloop_1665:                                   ;  xref 273F:8581
273F:857A  39 07                                cmp     [bx], ax
273F:857C  74 18                                je      loc_1667                ; Jump if equal
273F:857E  83 C3 04                             add     bx,4
273F:8581  E2 F7                                loop    locloop_1665            ; Loop if cx > 0

273F:8583  B9 0004                              mov     cx, 4
273F:8586  83 EB 10                             sub     bx, 10h

273F:8589                       locloop_1666:                                   ;  xref 273F:8592
273F:8589  F7 07 FFFF                           test    word ptr [bx], 0FFFFh
273F:858D  74 07                                jz      loc_1667                ; Jump if zero
273F:858F  83 C3 04                             add     bx, 4
273F:8592  E2 F5                                loop    locloop_1666            ; Loop if cx > 0

273F:8594  EB D4                                jmp     short loc_1663          ; (856A)
273F:8596                       loc_1667:                                       ;  xref 273F:857C, 858D
273F:8596  89 07                                mov     [bx],ax
273F:8598  C6 47 03 82                          mov     byte ptr [bx+3],82h
273F:859C  C6 44 2A 01                          mov     byte ptr [si+2Ah],1
273F:85A0  E8 BDC3                              call    character_update_movement
273F:85A3  E8 BF33                              call    char_face_up
273F:85A6                       loc_1668:                                       ;  xref 273F:856F
273F:85A6  33 C0                                xor     ax,ax                   ; Zero register
273F:85A8  C3                                   retn
273F:85A9                       loc_1669:                                       ;  xref 273F:8562
273F:85A9  83 C3 02                             add     bx, 2
273F:85AC  B9 0004                              mov     cx, 4
273F:85AF  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]

273F:85B2                       locloop_1670:                                   ;  xref 273F:85B9
273F:85B2  39 07                                cmp     [bx], ax
273F:85B4  74 0D                                je      loc_1672                ; Jump if equal
273F:85B6  83 C3 04                             add     bx,4
273F:85B9  E2 F7                                loop    locloop_1670            ; Loop if cx > 0

273F:85BB  C6 44 2A 00                          mov     byte ptr [si+HS_ACTION_CTR], 0
273F:85BF                       loc_1671:                                       ;  xref 273F:85C7
273F:85BF  5B                                   pop     bx
273F:85C0  33 C0                                xor     ax,ax                   ; Zero register
273F:85C2  C3                                   retn
273F:85C3                       loc_1672:                                       ;  xref 273F:85B4
273F:85C3  F6 47 03 80                          test    byte ptr [bx+3], 80h
273F:85C7  75 F6                                jnz     loc_1671                ; Jump if not zero
273F:85C9  5B                                   pop     bx
273F:85CA  B8 0001                              mov     ax, 1
273F:85CD  C3                                   retn
                                sub_213         endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������
                                
                                                                                ;* No entry point to code
273F:85CE  E8 DBA7                              call    talk_countdown_handler
273F:85D1  E9 FA3F                              jmp     loc_set_frame_offset

                                                                                ;* No entry point to code
273F:85D4  BA 3627                              mov     dx,3627h
273F:85D7  8B 44 06                             mov     ax,[si+6]
273F:85DA  89 47 03                             mov     [bx+3],ax
273F:85DD  89 57 01                             mov     [bx+1],dx
273F:85E0  C3                                   retn
                                                                                ;* No entry point to code
273F:85E1  C7 06 6B98 0063                      mov     word ptr ds:[6B98h],63h ; (273F:6B98=75C9h)
273F:85E7  C3                                   retn
                                                                                ;* No entry point to code
273F:85E8  C7 06 6B98 0011                      mov     word ptr ds:[6B98h],11h ; (273F:6B98=75C9h)
273F:85EE  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                            seq_method_56       proc    near
273F:85EF BE 6CEF                              mov     si, offset player_hotspot_rec
273F:85F2  E8 FC92                              call    sub_211                 ; (8287)
273F:85F5  0B DB                                or      bx,bx                   ; Zero ?
273F:85F7  74 16                                jz      loc_ret_1675            ; Jump if zero
273F:85F9  83 C3 02                             add     bx,2
273F:85FC  B9 0004                              mov     cx,4
273F:85FF                       locloop_1673:                                   ;  xref 273F:8608
273F:85FF  81 3F 03E8                           cmp     word ptr [bx], PLAYER_HOTSPOT_ID
273F:8603  74 06                                je      loc_1674                ; Jump if equal
273F:8605  83 C3 04                             add     bx,4
273F:8608  E2 F5                                loop    locloop_1673            ; Loop if cx > 0
273F:860A  C3                                   retn

273F:860B                       loc_1674:                                       ;  xref 273F:8603
273F:860B  80 4F 03 05                          or      byte ptr [bx+3],5
273F:860F                       loc_ret_1675:                                   ;  xref 273F:85F7
273F:860F  C3                                   retn
                            seq_method_56       endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                             get_num_groats     proc    near
273F:8610  A1 BC49                              mov     ax, num_groats
273F:8613  A3 BA1F                              mov     general_val, ax
273F:8616                       loc_ret_1676:                                   ;  xref 273F:861C, 8623
273F:8616  C3                                   retn
                             get_num_groats     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                                                                                ;* No entry point to code
273F:8617  83 3E BA3B 08                        cmp     talk_record_index, 8
273F:861C  72 F8                                jb      loc_ret_1676            ; Jump if below
273F:861E  83 3E BA3B 0E                        cmp     talk_record_index, 0Eh
273F:8623  73 F1                                jae     loc_ret_1676            ; Jump if above or =
273F:8625  C7 44 0F 00D5                        mov     word ptr [si+0Fh],0D5h
273F:862A  E9 EB45                              jmp     animation_load_2
273F:862D  E9 DB48                              jmp     talk_countdown_handler

                                                                                ;* No entry point to code
273F:8630 BE 7D21                              mov     si, offset goewin_hotspot_rec
273F:8633  8B 7C 0B                             mov     di,[si+0Bh]
273F:8636  E8 BD2D                              call    character_update_movement
273F:8639  8B DE                                mov     bx,si
273F:863B  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:863E  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:8641  C6 07 03                             mov     byte ptr [bx],3
273F:8644  C7 44 28 05DC                        mov     word ptr [si+28h],5DCh
273F:8649  C7 44 24 0616                        mov     word ptr [si+24h],616h
273F:864E  C7 45 11 865A                        mov     word ptr [di+11h],865Ah
273F:8653  C7 06 BD9B 03EF                      mov     word ptr ds:data_496e,3EFh ; (273F:BD9B=0)

273F:8659                       loc_ret_1677:                                   ;  xref 273F:8679
273F:8659  C3                                   retn
                                                                                ;* No entry point to code
273F:865A  C7 44 50 0000                        mov     word ptr [si+HS_DIRECTION], 0
273F:865F  C6 44 44 07                          mov     byte ptr [si+HS_CHAR_MODE], CHARMODE_7
273F:8663  E8 DB12                              call    talk_countdown_handler
273F:8666  F7 44 1F FFFF                        test    word ptr [si+HS_FRAME_CTR], 0FFFFh
273F:866B  74 05                                jz      loc_1678                ; Jump if zero
273F:866D  83 6C 1F 01                          sub     word ptr [si+HS_FRAME_CTR], 1
273F:8671  C3                                   retn
273F:8672                       loc_1678:                                       ;  xref 273F:866B
273F:8672  E8 8934                              call    hotspot_script_execute
273F:8675  83 6C 28 01                          sub     word ptr [si+HS_FRAME_OFFSET], 1
273F:8679  75 DE                                jnz     loc_ret_1677            ; Jump if not zero
273F:867B  83 3E BA3B 0C                        cmp     talk_record_index, 0Ch
273F:8680  74 3B                                je      loc_1679                ; Jump if equal
273F:8682  83 3E BA3B 0D                        cmp     talk_record_index, 0Dh
273F:8687  74 34                                je      loc_1679                ; Jump if equal
273F:8689  83 3E BA3B 0E                        cmp     talk_record_index, 0Eh
273F:868E  74 2D                                je      loc_1679                ; Jump if equal
273F:8690  83 3E 6CF5 22                        cmp     [player_hotspot_rec+HS_ROOM_NUM], 34
273F:8695  74 26                                je      loc_1679                ; Jump if equal

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                               seq_method_60    proc    near
273F:8697 BE 7D21                              mov     si, offset goewin_hotspot_rec
273F:869A  8B 7C 0B                             mov     di, [si+HS_ANIM_OFFSET]
273F:869D  8B DE                                mov     bx, si
273F:869F  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:86A2  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:86A5  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION
273F:86A8  C6 44 44 00                          mov     byte ptr [si+HS_CHAR_MODE], 0
273F:86AC  C7 44 50 0000                        mov     word ptr [si+HS_DIRECTION], 0
273F:86B1  C7 45 11 4F82                        mov     word ptr [di+ANIM_TICK_PROC], offset standard_character_tick_proc
273F:86B6  C7 06 BD9B FFFF                      mov     word ptr ds:data_496e, 0FFFFh ; (273F:BD9B=0)
273F:86BC  C3                                   retn
                               seq_method_60    endp

                                ;��������������������������������������������������������������������������
                                ;                              JUMP POINT
                                ;
                                ;��������������������������������������������������������������������������

273F:86BD                       loc_1679:                                       ;  xref 273F:8680, 8687, 868E, 8695
273F:86BD  C7 44 28 05DC                        mov     word ptr [si+HS_FRAME_OFFSET], 5DCh
273F:86C2  C3                                   retn
                                                                                ;* No entry point to code
273F:86C3  B8 271E                              mov     ax, 271Eh
273F:86C6  E8 EB25                              call    room_exit_hs_get_pointer
273F:86C9  C6 44 0C 00                          mov     byte ptr [si+REHS_EXIT_BLOCKED], 0
273F:86CD  C3                                   retn
                                                                                ;* No entry point to code
273F:86CE  B8 271E                              mov     ax,271Eh
273F:86D1  E8 EB1A                              call    room_exit_hs_get_pointer
273F:86D4  C6 44 0C 01                          mov     byte ptr [si+REHS_EXIT_BLOCKED], 1
273F:86D8  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                               seq_method_59    proc    near
273F:86D9  C7 06 8CE7 0800                      mov     data_8ce7, 800h
273F:86DF  C7 06 8D2C 0800                      mov     data_8d2C, 800h
273F:86E5  C3                                   retn
                               seq_method_59    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                             seq_door_close     proc    near
273F:86E6  8B C3                                mov     ax,bx
273F:86E8  E8 EB03                              call    room_exit_hs_get_pointer
273F:86EB  C6 44 0C 01                          mov     byte ptr [si+REHS_EXIT_BLOCKED], 1
273F:86EF  C3                                   retn
                             seq_door_close     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                              seq_door_open     proc    near
273F:86F0  8B C3                                mov     ax,bx
273F:86F2  E8 EAF9                              call    room_exit_hs_get_pointer
273F:86F5  C6 44 0C 00                          mov     byte ptr [si+REHS_EXIT_BLOCKED], 0
273F:86F9  C3                                   retn
                              seq_door_open     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������


                                                                                ;* No entry point to code
273F:86FA  B8 272A                              mov     ax,272Ah
273F:86FD  EB 03                                jmp     short loc_1680          ; (8702)
273F:86FF  B8 2C 27                             db      0B8h, 2Ch, 27h
273F:8702                       loc_1680:                                       ;  xref 273F:86FD, 8740
273F:8702 C7 45 08 0000                        mov     word ptr [di+8],0
273F:8707  56                                   push    si
273F:8708  E8 EAE3                              call    room_exit_hs_get_pointer
273F:870B  5B                                   pop     bx
273F:870C  87 DE                                xchg    bx,si
273F:870E  F6 47 0C FF                          test    byte ptr [bx+0Ch],0FFh
273F:8712  75 09                                jnz     loc_ret_1681            ; Jump if not zero
273F:8714  8B 5C 21                             mov     bx,[si+21h]
273F:8717  8B 47 07                             mov     ax,[bx+7]
273F:871A  89 45 08                             mov     [di+8],ax

273F:871D                       loc_ret_1681:                                   ;  xref 273F:8712
273F:871D  C3                                   retn
273F:871E  B8 272A                              mov     az, 272Ah

273F:8721                       loc_1682:                                       ;  xref 273F:8745, 874A
273F:8721 C7 45 08 0000                        mov     word ptr [di+8],0
273F:8726  56                                   push    si
273F:8727  E8 EAC4                              call    room_exit_hs_get_pointer
273F:872A  5B                                   pop     bx
273F:872B  87 DE                                xchg    bx,si
273F:872D  F6 47 0C FF                          test    byte ptr [bx+0Ch],0FFh
273F:8731  74 09                                jz      loc_ret_1683            ; Jump if zero
273F:8733  8B 5C 21                             mov     bx,[si+21h]
273F:8736  8B 47 07                             mov     ax,[bx+7]
273F:8739  89 45 08                             mov     [di+8],ax

273F:873C                       loc_ret_1683:                                   ;  xref 273F:8731
273F:873C  C3                                   retn
                                                                                ;* No entry point to code
273F:873D  B8 272E                              mov     ax,272Eh
273F:8740  EB C0                                jmp     short loc_1680          ; (8702)
                                                                                ;* No entry point to code
273F:8742  B8 272C                              mov     ax,272Ch
273F:8745  EB DA                                jmp     short loc_1682          ; (8721)
                                                                                ;* No entry point to code
273F:8747  B8 272A                              mov     ax,272Ah
273F:874A  EB D5                                jmp     short loc_1682          ; (8721)

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                              seq_method_58     proc    near
273F:874C C7 06 BA1D 0000                       mov     sequence_result, 0
273F:8752  81 3E 84CD 03E8                      cmp     hotspot_2713_hs5e, PLAYER_HOTSPOT_ID
273F:8758  75 06                                jne     loc_ret_1684            ; Jump if not equal
273F:875A  C7 06 BA1D 0001                      mov     sequence_result, 1
273F:8760                       loc_ret_1684:
273F:8760  C3                                   retn
                              seq_method_58     endp
                              
                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                              seq_method_43     proc    near
273F:8761 BE 7D21                              mov     si, offset goewin_hotspot_rec
273F:8764  8B 7C 0B                             mov     di, [si+HS_ANIM_OFFSET]
273F:8767  C7 45 11 4F82                        mov     word ptr [di+ANIM_TICK_PROC], 4F82h
273F:876C  C7 44 17 4F82                        mov     word ptr [si+HS_TICK_PROC], 4F82h
273F:8771  C7 44 64 7D9D                        mov     word ptr [si+HS_FIRST_ACTION_OFFSET+CURRENT_ACTION_SUPPORT_TABLE], 7D9Dh
273F:8776  C6 44 63 02                          mov     byte ptr [si+HS_FIRST_ACTION_OFFSET], 2
273F:877A  81 36 7D21 1000                      xor     [goewin_hotspot_rec+HS_ACTIONS], 1000h
273F:8780  EB 22                                jmp     short loc_1685      
                              seq_method_43     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:8782 BE 7D21                              mov     si, offset goewin_hotspot_rec
273F:8785  8B 7C 0B                             mov     di,[si+0Bh]
273F:8788  C7 45 11 7C24                        mov     word ptr [di+11h],7C24h
273F:878D  C7 44 17 7C24                        mov     word ptr [si+17h],7C24h
273F:8792  C7 44 64 4EBB                        mov     word ptr [si+64h],4EBBh
273F:8797  C6 44 63 02                          mov     byte ptr [si+63h],2
273F:879B  C7 44 66 0026                        mov     word ptr [si+66h],26h
273F:87A0  81 0C 1000                           or      word ptr [si],1000h
273F:87A4                       loc_1685:                                       ;  xref 273F:8780
273F:87A4  33 C0                                xor     ax,ax                   ; Zero register
273F:87A6  89 44 61                             mov     [si+HS_ACTION_OFFSET], ax
273F:87A9  88 44 2A                             mov     [si+HS_ACTION_CTR], al
273F:87AC  89 44 42                             mov     [si+HS_DELAY_CTR], ax
273F:87AF  88 44 44                             mov     [si+HS_CHAR_MODE], al
273F:87B2  C3                                   retn

                                                                                ;* No entry point to code
273F:87B3  E8 87F3                              call    hotspot_script_execute
273F:87B6  75 05                                jnz     loc_ret_1686            ; Jump if not zero
273F:87B8  80 0E 073D 50                        or      status_flags2, 50h
273F:87BD                       loc_ret_1686:                                   ;  xref 273F:87B6, 87C3
273F:87BD  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; This method is referenced by a jump point for NPC script action #40
                                ;��������������������������������������������������������������������������

                  npc_jump_to_address_proc_1    proc    near
273F:87BE  83 3E BA25 13                        cmp     old_room_number, 13h
273F:87C3  75 F8                                jne     loc_ret_1686            ; Jump if not equal
273F:87C5  C7 06 BA3B 0018                      mov     talk_record_index, 18h
273F:87CB  BB 03F1                              mov     bx,3F1h
273F:87CE  B9 0154                              mov     cx,154h
273F:87D1  E8 0006                              call    seq_set_hotspot_name
273F:87D4  BB 0AB9                              mov     bx, 0AB9h
273F:87D7  E9 00E2                              jmp     display_dialog
                  npc_jump_to_address_proc_1    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:87D1, 89A6
                                ;��������������������������������������������������������������������������

273F:87DA             seq_set_hotspot_name      proc    near
273F:87DA  51                                   push    cx
273F:87DB  E8 8541                              call    get_room_resource_pointer3
273F:87DE  58                                   pop     ax
273F:87DF  89 44 02                             mov     [si+HSH_NAME], ax
273F:87E2  C3                                   retn
                      seq_set_hotspot_name      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������


                               seq_set_desc     proc    near
273F:87E3  51                                   push    cx
273F:87E4  E8 8538                              call    get_room_resource_pointer3
273F:87E7  58                                   pop     ax
273F:87E8  89 44 04                             mov     [si+HSH_DESC], ax
273F:87EB  C3                                   retn
                               seq_set_desc     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������


                                                                                ;* No entry point to code
273F:87EC  E8 D989                              call    talk_countdown_handler
273F:87EF  F7 44 1F FFFF                        test    word ptr [si+1Fh],0FFFFh
273F:87F4  74 05                                jz      loc_1688                ; Jump if zero
273F:87F6  83 6C 1F 01                          sub     word ptr [si+1Fh],1

273F:87FA                       loc_ret_1687:                                   ;  xref 273F:87FE
273F:87FA  C3                                   retn
273F:87FB                       loc_1688:                                       ;  xref 273F:87F4
273F:87FB  E8 87AB                              call    hotspot_script_execute
273F:87FE  75 FA                                jnz     loc_ret_1687            ; Jump if not zero
273F:8800  E8 8A6F                              call    animation_unload
273F:8803  C6 44 15 FF                          mov     byte ptr [si+15h],0FFh
273F:8807  C7 44 37 0000                        mov     word ptr [si+HS_TALK_COUNTDOWN],0
273F:880C  80 4C 03 20                          or      byte ptr [si+3],20h     ; ' '
273F:8810  C7 06 6FEF 002D                      mov     word ptr ds:[6FEFh],2Dh ; (273F:6FEF=0D107h)
273F:8816 BB 03F3                              mov     bx,3F3h                 ; (273F:03F3=0FBh)
273F:8819  E9 84AA                              jmp     animation_load_entry

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; This method is referenced by a jump point for NPC script action #40
                                ;��������������������������������������������������������������������������

                  npc_jump_to_address_proc_2    proc    near
273F:881C  81 3E 6CFE 00B4                      cmp     [player_hotspot_rec+HS_Y], 80h + 52
273F:8822  73 14                                jae     loc_ret_1689            ; Jump if above or =
273F:8824  BD 706C                              mov     bp, 706Ch
273F:8827  E9 CD57                              jmp     character_walking_end
                  npc_jump_to_address_proc_2    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; Contains all the standard handling for characters, such as the Skorl
                                ;��������������������������������������������������������������������������

                         rack_serf_tick_proc    proc    near
273F:882A  E8 D94B                              call    talk_countdown_handler
273F:882D  F7 44 1F FFFF                        test    word ptr [si+HS_FRAME_CTR], 0FFFFh
273F:8832  74 05                                jz      loc_1690      
273F:8834  83 6C 1F 01                          sub     word ptr [si+HS_FRAME_CTR], 1

273F:8838                       loc_ret_1689:
273F:8838  C3                                   retn
273F:8839                       loc_1690:
273F:8839  F6 44 2A FF                          test    byte ptr [si+HS_ACTION_CTR], 0FFh
273F:883D  75 01                                jnz     loc_1691
273F:883F  C3                                   retn
273F:8840                       loc_1691:                                       ;  xref 273F:883D
273F:8840  80 7C 2A 01                          cmp     byte ptr [si+HS_ACTION_CTR], 1
273F:8844  74 0E                                je      loc_1692
273F:8846  80 7C 2A 02                          cmp     byte ptr [si+HS_ACTION_CTR], 2
273F:884A  74 12                                je      loc_1694
273F:884C  80 7C 2A 03                          cmp     byte ptr [si+HS_ACTION_CTR], 3
273F:8850  74 18                                je      loc_1695
273F:8852  EB 23                                jmp     short loc_1696
273F:8854                       loc_1692:
273F:8854  C7 44 24 035C                        mov     word ptr [si+HS_MOVEMENT_OFFSET], 35Ch
273F:8859  80 44 2A 01                          add     byte ptr [si+HS_ACTION_CTR], 1

273F:885D                       loc_ret_1693:                                   ;  xref 273F:8863, 887C
273F:885D  C3                                   retn
273F:885E                       loc_1694:                                       ;  xref 273F:884A
273F:885E  E8 8748                              call    hotspot_script_execute
273F:8861  0B C0                                or      ax,ax                   ; Zero ?
273F:8863  75 F8                                jnz     loc_ret_1693            ; Jump if not zero
273F:8865  C6 44 2A 00                          mov     byte ptr [si+HS_ACTION_CTR], 0
273F:8869  C3                                   retn
273F:886A                       loc_1695:                                       ;  xref 273F:8850
273F:886A  C7 44 24 0384                        mov     word ptr [si+HS_SCRIPT_OFFSET], 384h
273F:886F  80 44 2A 01                          add     byte ptr [si+HS_ACTION_CTR], 1
273F:8873  C6 45 0C 02                          mov     byte ptr [di+ANIM_LAYER], 2
273F:8877                       loc_1696:                                       ;  xref 273F:8852
273F:8877  E8 872F                              call    hotspot_script_execute
273F:887A  0B C0                                or      ax,ax                   ; Zero ?
273F:887C  75 DF                                jnz     loc_ret_1693            ; Jump if not zero
273F:887E  E8 89F1                              call    animation_unload
273F:8881  C6 44 15 FF                          mov     byte ptr [si+HS_LAYER], 0FFh
273F:8885  C7 06 70BF 0004                      mov     [ratpouch_hotspot_rec+HS_ROOM_NUM], 4
273F:888B  BB 03E9                              mov     bx, RATPOUCH_HOTSPOT_ID
273F:888E  E9 8435                              jmp     animation_load_entry
                         rack_serf_tick_proc    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                        seq_check_cell_door     proc    near
273F:8891  B8 2712                              mov     ax,2712h                ; Cell door hotspot Id
273F:8894  E8 E957                              call    room_exit_hs_get_pointer
273F:8897  F6 44 0C FF                          test    byte ptr [si+REHS_EXIT_BLOCKED], 0FFh
273F:889B  75 0E                                jnz     loc_ret_1697            ; Jump if blocked
                        seq_check_cell_door_2:
273F:889D  F7 06 BA29 FFFF                      test    torch_hide, 0FFFFh      ; Torch been pulled?
273F:88A3  74 06                                jz      loc_ret_1697            ; No, so exit
273F:88A5  BB 0015                              mov     bx, 15h
273F:88A8  E8 1752                              call    play_sound                 ; (9FFD)

273F:88AB                       loc_ret_1697:                                   ;  xref 273F:889B, 88A3
273F:88AB  C3                                   retn
                        seq_check_cell_door     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; Called by the torch hotspot in room #1
                                ;��������������������������������������������������������������������������

                          torch_load_method     proc    near
273F:88AC  F7 06 BA29 FFFF                      test    torch_hide, 0FFFFh      ; Has torch been pulled?
273F:88B2  75 06                                jnz     loc_ret_1698            ; Yes, so skip load
273F:88B4  BB 040F                              mov     bx,40Fh                 ; Otherwise, load torch
273F:88B7  E8 E8B5                              call    animation_load

273F:88BA                       loc_ret_1698:                                   ;  xref 273F:88B2
273F:88BA  C3                                   retn
                          torch_load_method     proc    near

273F:88BB  00                                   db      0

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; bx = Room description resource Id
                                ;��������������������������������������������������������������������������

                             display_dialog     proc    near
273F:88BC  BE 5040                              mov     si, offset look_info
273F:88BF  89 5C 08                             mov     [si+8],bx
273F:88C2  C6 06 38B0 01                        mov     data_781, 1
273F:88C7  E8 0043                              call    sub_216                 ; (890D)
273F:88CA  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:88CF  75 03                                jne     loc_1700                ; Jump if not equal
273F:88D1  E8 0052                              call    sub_217                 ; (8926)
273F:88D4                       loc_1700:                                       ;  xref 273F:88CF
273F:88D4  F6 06 073C 20                        test    byte ptr ds:[73Ch],20h  ; (273F:073C=17h) ' '
273F:88D9  74 0F                                jz      loc_1701                ; Jump if zero
273F:88DB  E8 B1DD                              call    replace_vga_palette2    ; (3ABB)
273F:88DE  FF 36 073C                           push    word ptr ds:[73Ch]      ; (273F:073C=17h)
273F:88E2  FF 16 0762                           call    [set_lower_palette_proc]
273F:88E6  8F 06 073C                           pop     word ptr ds:[73Ch]      ; (273F:073C=17h)
273F:88EA                       loc_1701:                                       ;  xref 273F:88D9
273F:88EA  E8 969E                              call    mouse_wait              ; (1F8B)
273F:88ED  E8 96A6                              call    pause_for_input         ; (1F96)
273F:88F0  E8 9698                              call    mouse_wait              ; (1F8B)
273F:88F3  C6 06 38B0 00                        mov     data_781, 0
273F:88F8  80 26 11D0 FE                        and     menubar_state, 0FEh     ; (273F:11D0=56h)
273F:88FD  FF 16 075E                           call    [show_cursor_proc]
273F:8901  F6 06 073C 20                        test    byte ptr ds:[73Ch],20h  ; (273F:073C=17h) ' '
273F:8906  74 04                                jz      loc_ret_1702            ; Jump if zero
273F:8908  FF 16 0764                           call    [empty_palette_proc]

273F:890C                       loc_ret_1702:                                   ;  xref 273F:8906
273F:890C  C3                                   retn
                             display_dialog     proc    near

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:4129, 7051, 705B, 88C7
                                ;��������������������������������������������������������������������������

273F:890D                       sub_216         proc    near
273F:890D  F6 06 11D0 20                        test    menubar_state, 20h ; (273F:11D0=56h) ' '
273F:8912  74 12                                jz      loc_1703                ; Jump if zero
273F:8914  56                                   push    si
273F:8915  80 0E 11D0 01                        or      menubar_state, 1   ; (273F:11D0=56h)
273F:891A  FF 16 075E                           call    [show_cursor_proc]
273F:891E  FF 16 0752                           call    [show_compressed_screen_proc]
273F:8922  E8 8BE9                              call    room_add_animations
273F:8925  5E                                   pop     si

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:88D1

273F:8926                       sub_217:
273F:8926                       loc_1703:                                       ;  xref 273F:8912
273F:8926  56                                   push    si
273F:8927  8A 44 01                             mov     al,[si+1]
273F:892A  04 01                                add     al,1
273F:892C  32 E4                                xor     ah,ah                   ; Zero register
273F:892E  F7 26 074C                           mul     menubar_block_size
273F:8932  8A 0C                                mov     cl,[si]
273F:8934  80 C1 01                             add     cl,1
273F:8937  32 ED                                xor     ch,ch                   ; Zero register
273F:8939  91                                   xchg    cx,ax
273F:893A  F7 26 074A                           mul     char_width
273F:893E  03 C1                                add     ax,cx
273F:8940  A3 BA0F                              mov     ds:data_470e,ax         ; (273F:BA0F=0)
273F:8943  A3 BA11                              mov     ds:data_471e,ax         ; (273F:BA11=0)
273F:8946  8B 44 08                             mov     ax,[si+8]
273F:8949  BF AF42                              mov     di, offset talk_string_buffer
273F:894C  89 3E BA07                           mov     talk_string_offset, di
273F:8950  FF 74 06                             push    word ptr [si+6]
273F:8953  E8 F3E4                              call    decode_string
273F:8956  5D                                   pop     bp
273F:8957  A1 0748                              mov     ax, screen_width
273F:895A  A3 BA09                              mov     ds:data_468e,ax         ; (273F:BA09=0)
273F:895D  A1 4CE4                              mov     ax, data_segment2
273F:8960  A3 BA0D                              mov     ds:data_469e,ax         ; (273F:BA0D=0)
273F:8963  C6 06 BA13 04                        mov     byte ptr ds:data_472e,4 ; (273F:BA13=0)
273F:8968  8B 3E 076E                           mov     di, data_571
273F:896C  8A 45 05                             mov     al,[di+5]
273F:896F  A2 BA14                              mov     ds:data_473e,al         ; (273F:BA14=0)
273F:8972  8B 3E BA07                           mov     di, talk_string_offset
273F:8976  BB BA07                              mov     bx, offset talk_string_offset
273F:8979  A1 4CF0                              mov     ax, font2_segment
273F:897C  8E C0                                mov     es, ax
273F:897E  B1 03                                mov     cl, 3
273F:8980  E8 91AD                              call    word_wrap_string
273F:8983  5E                                   pop     si
273F:8984  56                                   push    si
273F:8985  8A D0                                mov     dl,al
273F:8987  88 44 03                             mov     [si+3],al
273F:898A  8A 04                                mov     al,[si]
273F:898C  8A 5C 01                             mov     bl,[si+1]
273F:898F  8A 4C 02                             mov     cl,[si+2]
273F:8992  33 ED                                xor     bp,bp                   ; Zero register
273F:8994  FF 16 077A                           call    [draw_dialog_proc]
273F:8998 BB BA07                              mov     bx, offset talk_string_offset
273F:899B                       loc_1704:                                       ;  xref 273F:899E
273F:899B  E8 91FA                              call    sub_51                  ; (1B98)
273F:899E  74 FB                                jz      loc_1704                ; Jump if zero
273F:89A0  FF 16 0744                           call    word ptr [show_screen_proc]
273F:89A4  5E                                   pop     si
273F:89A5  C3                                   retn
                                sub_216         endp

                                                                                ;* No entry point to code
273F:89A6  E8 FE31                              call    seq_set_hotspot_name
273F:89A9  8B 34                                mov     si,[si]
273F:89AB  80 4C 03 80                          or      byte ptr [si+3],80h
273F:89AF  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              JUMP POINT
                                ;
                                ;��������������������������������������������������������������������������

273F:89B0                       loc_1705:                                       ;  xref 273F:5BD7
273F:89B0  E8 006E                              call    talk_init
273F:89B3  8B 1E BA21                           mov     bx, script_v6
273F:89B7  D1 E3                                shl     bx, 1
273F:89B9  8B 9F 5050                           mov     bx, give_talk_list[bx]
273F:89BD  E8 00C8                              call    talk_init2
273F:89C0  E9 CBCA                              jmp     character_walking_end_2

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                              talk_to_proc      proc    near
273F:89C3  8B DD                                mov     bx,bp
273F:89C5  8B 07                                mov     ax, [bx]
273F:89C7  83 C5 02                             add     bp,2
273F:89CA  A3 BA19                              mov     use_hotspot_id, ax
273F:89CD  A3 BA1B                              mov     active_hotspot_id, ax
273F:89D0  56                                   push    si
273F:89D1  E8 8316                              call    get_room_resource_pointer2
273F:89D4  5B                                   pop     bx
273F:89D5  87 DE                                xchg    bx,si
273F:89D7  81 3E BA19 03EA                      cmp     use_hotspot_id, SKORL_HOTSPOT_ID
273F:89DD  74 21                                je      loc_1708                ; Jump if equal
273F:89DF  83 7C 06 1C                          cmp     word ptr [si+HS_ROOM_NUM], 28
273F:89E3  75 08                                jne     loc_1706                ; Jump if not equal
273F:89E5  81 3E BA19 03EB                      cmp     use_hotspot_id, 3EBh
273F:89EB  74 13                                je      loc_1708                ; Jump if equal
273F:89ED                       loc_1706:                                       ;  xref 273F:89E3
273F:89ED  A1 BA19                              mov     ax, use_hotspot_id
273F:89F0  E8 BBB4                              call    hotspot_action_precheck
273F:89F3  0B C0                                or      ax,ax                   ; Zero ?
273F:89F5  74 09                                jz      loc_1708                ; Jump if zero
273F:89F7  3D 0003                              cmp     ax,3
273F:89FA  74 03                                je      loc_ret_1707            ; Jump if equal
273F:89FC  E9 CB82                              jmp     character_walking_end

273F:89FF                       loc_ret_1707:                                   ;  xref 273F:89FA
273F:89FF  C3                                   retn
273F:8A00                       loc_1708:                                       ;  xref 273F:89DD, 89EB, 89F5
273F:8A00  E8 BCEB                              call    character_face_hotspot
273F:8A03  E8 CBF0                              call    hotspot_get_action_sequence
273F:8A06  79 03                                jns     loc_1709                ; Jump if not sign
273F:8A08  E9 D9A6                              jmp     display_message_dialog_3
273F:8A0B                       loc_1709:                                       ;  xref 273F:8A06
273F:8A0B  74 08                                jz      loc_1710                ; Jump if zero
273F:8A0D  E8 B424                              call    sequence_execute
273F:8A10  74 03                                jz      loc_1710                ; Jump if zero
273F:8A12  E9 CB6C                              jmp     character_walking_end
273F:8A15                       loc_1710:                                       ;  xref 273F:8A0B, 8A10
273F:8A15  E8 0009                              call    talk_init
273F:8A18  E8 0026                              call    talk_get_record
273F:8A1B  E8 006A                              call    talk_init2
273F:8A1E  E9 CB6C                              jmp     character_walking_end_2
                              talk_to_proc      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; bx = talking to char hotspot rec
                                ; di = player anim slot
                                ; Amongst other things, sets the player's tick proc to the
                                ; talk tick handler
                                ;��������������������������������������������������������������������������

                                  talk_init     proc    near
273F:8A21  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]
273F:8A24  89 47 2F                             mov     [bx+HS_USE_HOTSPOT_ID], ax
273F:8A27  C7 47 2B 0000                        mov     [bx+HS_V2B], 0
273F:8A2C  89 1E CF06                           mov     talk_to_hotspot_ptr, bx
273F:8A30  55                                   push    bp
273F:8A31  E8 B932                              call    character_update_movement
273F:8A34  5D                                   pop     bp
273F:8A35  B8 8ABD                              mov     ax, offset talk_tick_proc
273F:8A38  89 45 11                             mov     [di+ANIM_TICK_PROC], ax
273F:8A3B  C6 06 9834 03                        mov     cursor_state, CURSORSTATE_TALK
273F:8A40  C3                                   retn
                                  talk_init     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; bx = talking to char hotspot rec
                                ;         Called from:   273F:8A18
                                ;��������������������������������������������������������������������������

                          talk_get_record       proc    near
273F:8A41  8B 1E CF06                           mov     bx, talk_to_hotspot_ptr
273F:8A45  F7 47 33 FFFF                        test    word ptr [bx+HS_V33], 0FFFFh
273F:8A4A  74 0A                                jz      loc_1711                ; Jump if zero
273F:8A4C  FF 77 33                             push    word ptr [bx+HS_V33]
273F:8A4F  C7 47 33 0000                        mov     word ptr [bx+HS_V33], 0
273F:8A54  5B                                   pop     bx
273F:8A55  C3                                   retn
273F:8A56                       loc_1711:                                       ;  xref 273F:8A4A
273F:8A56  8B 0E BA1B                           mov     cx, active_hotspot_id
273F:8A5A BB 505C                              mov     bx, offset talk_table
273F:8A5D                       loc_1712:                                       ;  xref 273F:8A64
273F:8A5D 3B 0F                                cmp     cx, [bx]                ; Hotspot entry found?
273F:8A5F  74 05                                je      loc_1713                ; If yes then jump
273F:8A61  83 C3 04                             add     bx,4                    ; Move to next record
273F:8A64  EB F7                                jmp     short loc_1712
273F:8A66                       loc_1713:
273F:8A66  8B 5F 02                             mov     bx, [bx+2]              ; Get offset of talk data
273F:8A69  56                                   push    si
273F:8A6A  A1 BA1B                              mov     ax, active_hotspot_id
273F:8A6D  E8 82B1                              call    get_room_resource_pointer4
273F:8A70  8B 44 02                             mov     ax, [si+HSH_NAME]
273F:8A73  5E                                   pop     si
273F:8A74  3D 017A                              cmp     ax, 17Ah                ; "Stranger"?
273F:8A77  74 0C                                je      loc_1714                ; If yes then jump

273F:8A79  A1 BA3B                              mov     ax, talk_record_index  ; Get talk index to use
273F:8A7C  D1 E0                                shl     ax, 1
273F:8A7E  03 D8                                add     bx, ax
273F:8A80  8B 5F 02                             mov     bx,[bx+2]               ; Return alt offset
273F:8A83  EB 02                                jmp     short loc_ret_1715
273F:8A85                       loc_1714:
273F:8A85  8B 1F                                mov     bx, [bx]                ; Return main offset
273F:8A87                       loc_ret_1715:
273F:8A87  C3                                   retn
                          talk_get_record       endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; bx = talk record offset
                                ;         Called from:   273F:89BD, 8A1B
                                ;��������������������������������������������������������������������������

                                talk_init2      proc    near
273F:8A88  8B 07                                mov     ax, [bx]
273F:8A8A  A3 CF02                              mov     talk_response_ptr, ax
273F:8A8D  83 C3 02                             add     bx, 2
273F:8A90  89 1E CF00                           mov     talk_data_ptr, bx
273F:8A94  89 1E CF04                           mov     talk_next_talk_offset, bx
273F:8A98  C6 06 CF08 FF                        mov     talk_state, TALK_START
273F:8A9D  C6 06 CF0B 00                        mov     talk_cf0b, 0
273F:8AA2  8B 45 1B                             mov     ax, [di+ANIM_HOTSPOT_ID]
273F:8AA5  A3 983F                              mov     data_1090, ax
273F:8AA8  A1 BA1B                              mov     ax, active_hotspot_id
273F:8AAB  A3 9841                              mov     data_1091, ax
273F:8AAE  C6 06 9849 01                        mov     pathfind_data, 1
273F:8AB3  C3                                   retn
                                talk_init2      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:8AB4                       loc_1716:                                       ;  xref 273F:8AC9
273F:8AB4  E9 0281                              jmp     loc_1753                ; (8D38)
273F:8AB7                       loc_1717:                                       ;  xref 273F:8AC2
273F:8AB7  E9 00A8                              jmp     talk_handle_selection
273F:8ABA                       loc_1718:                                       ;  xref 273F:8AD0
273F:8ABA  E9 0299                              jmp     loc_1755                ; (8D56)

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; bx = eb26h for Skorl
                                ; talk_data_ptr = e5aa for prisoner
                                ;��������������������������������������������������������������������������

                             talk_tick_proc     proc    near
273F:8ABD  80 3E CF08 02                        cmp     talk_state, TALK_SELECT ; Talk selection?
273F:8AC2  74 F3                                je      loc_1717                ; If yes then jump
273F:8AC4  80 3E CF08 03                        cmp     talk_state, TALK_UNKNOWN
273F:8AC9  74 E9                                je      loc_1716                ; Jump if equal
273F:8ACB  80 3E CF08 04                        cmp     talk_state, 4
273F:8AD0  74 E8                                je      loc_1718                ; Jump if equal

; Handler for showing a list of talking options. This only gets run once before
; the talk state changes to TALK_SELECT

273F:8AD2  8B 1E CF06                           mov     bx, talk_to_hotspot_ptr
273F:8AD6  C6 06 CF09 00                        mov     talk_line_num, 0
273F:8ADB  C6 06 CF0A 00                        mov     talk_selected_line, 0
273F:8AE0  C6 06 CF08 02                        mov     talk_state, TALK_SELECT
273F:8AE5  8B 1E CF00                           mov     bx, talk_data_ptr
273F:8AE9  BD CF0C                              mov     bp, offset talk_entry_list
273F:8AEC                       loc_1719:
273F:8AEC  F6 47 03 40                          test    byte ptr [bx+3], 40h
273F:8AF0  74 06                                jz      loc_1720
273F:8AF2  F6 47 03 80                          test    byte ptr [bx+3], 80h
273F:8AF6  75 2E                                jnz     loc_1723
273F:8AF8                       loc_1720:
273F:8AF8  8B 07                                mov     ax, [bx]                ; Get sequence offset
273F:8AFA  25 3FFF                              and     ax, 3FFFh
273F:8AFD  74 05                                jz      loc_1721                ; Jump if zero
273F:8AFF  E8 B332                              call    sequence_execute
273F:8B02  74 1C                                jz      loc_1722                ; If zero, skip line
273F:8B04                       loc_1721:
273F:8B04  87 DD                                xchg    bx, bp
273F:8B06  89 2F                                mov     [bx], bp                ; Add to lookup list
273F:8B08  83 C3 02                             add     bx,2                    ; Move to next entry
273F:8B0B  87 DD                                xchg    bx, bp
273F:8B0D  8B 47 02                             mov     ax, [bx+TALK_DESC_ID]
273F:8B10  80 E4 3F                             and     ah, 3Fh
273F:8B13  80 06 CF09 01                        add     talk_line_num, 1
273F:8B18  3D 0424                              cmp     ax, TALK_MAGIC_ID       ; Magic skip number
273F:8B1B  74 03                                je      loc_1722                ; Jump if equal
273F:8B1D  E8 02C3                              call    talk_handle_line
273F:8B20                       loc_1722:                                       ;  xref 273F:8B02, 8B1B
273F:8B20  F6 47 01 80                          test    byte ptr [bx+1],80h
273F:8B24  75 08                                jnz     loc_1724                ; Jump if not zero
273F:8B26                       loc_1723:                                       ;  xref 273F:8AF6
273F:8B26  83 C3 06                             add     bx, 6
273F:8B29  83 3F FF                             cmp     word ptr [bx], 0FFFFh
273F:8B2C  75 BE                                jne     loc_1719

273F:8B2E                       loc_1724:                                       ;  xref 273F:8B24
273F:8B2E  8B 1E CF06                           mov     bx, talk_to_hotspot_ptr
273F:8B32  C7 47 42 0000                        mov     word ptr [bx+HS_DELAY_CTR], 0
273F:8B37  80 3E CF09 01                        cmp     talk_line_num, 1        ; Only one option?
273F:8B3C  75 05                                jne     loc_1725                ; If not, then jump

273F:8B3E  B9 0081                              mov     cx,81h
273F:8B41  EB 03                                jmp     short loc_1726          ; (8B46)
273F:8B43                       loc_1725:                                       ;  xref 273F:8B3C
273F:8B43  B9 0001                              mov     cx,1
273F:8B46                       loc_1726:                                       ;  xref 273F:8B41
273F:8B46  B8 0000                              mov     ax,0
273F:8B49  BB 0000                              mov     bx,0
273F:8B4C  BD 0026                              mov     bp,26h
273F:8B4F  BA 0002                              mov     dx,2
273F:8B52  E8 802E                              call    sub_21                  ; Mark rects needing display

273F:8B55  F6 06 11DA FF                        test    mouse_buttons2, 0FFh
273F:8B5A  74 05                                jz      loc_ret_1727            ; Jump if zero
273F:8B5C  C6 06 11DA 00                        mov     mouse_buttons2, 0

273F:8B61                       loc_ret_1727:                                   ;  xref 273F:8B5A
273F:8B61  C3                                   retn
                             talk_tick_proc     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                       talk_handle_selection:
273F:8B62  80 3E CF09 01                        cmp     talk_line_num, 1        ; Were any lines present
273F:8B67  75 1B                                jne     loc_1731                ; If yes then jump

; This code fragment is only reached if talking to someone who only has a canned response.
; ie. no options need be presented. Such as the prisoner saying "I want water"

273F:8B69  F6 06 11DA FF                        test    mouse_buttons2, 0FFh
273F:8B6E  74 05                                jz      loc_1729                ; Jump if zero
273F:8B70  C6 06 11DA 00                        mov     mouse_buttons2, 0
273F:8B75                       loc_1729:                                       ;  xref 273F:8B6E
273F:8B75  F7 06 9838 FFFF                      test    data_431,0FFFFh         ; (273F:9838=5C8Bh)
273F:8B7B  74 01                                jz      loc_1730                ; Jump if zero
273F:8B7D  C3                                   retn
273F:8B7E                       loc_1730:
273F:8B7E  BB 0001                              mov     bx, 1                   ; Response #1
273F:8B81  E9 0092                              jmp     loc_1741

; This code is reached both for the handling of highlighting the list of possible talk
; selections, as well as for handling the response when one of those lines is selected

273F:8B84                       loc_1731:                                       ;  xref 273F:8B67
273F:8B84  8B 1E CF06                           mov     bx, talk_to_hotspot_ptr
273F:8B88  A1 11D8                              mov     ax, mouse_y2
273F:8B8B  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:8B8D  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:8B8F  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:8B91  74 08                                jz      loc_1732                ; Jump if zero
273F:8B93  38 06 CF09                           cmp     talk_line_num, al
273F:8B97  73 02                                jae     loc_1732
273F:8B99  33 C0                                xor     ax,ax                   ; No line selected
273F:8B9B                       loc_1732:
273F:8B9B  3A 06 CF0A                           cmp     al, talk_selected_line  ; Still on same line?
273F:8B9F  74 5C                                je      loc_1737                ; If yse then jump
273F:8BA1  86 06 CF0A                           xchg    talk_selected_line, al
273F:8BA5  0A C0                                or      al, al                  ; Any current selection?
273F:8BA7  74 08                                jz      loc_1733                ; If not then skip
273F:8BA9  80 0E 11D0 02                        or      menubar_state, 2
273F:8BAE  E8 0281                              call    talk_toggle_line_highlight ; Deselect old line
273F:8BB1                       loc_1733:
273F:8BB1  A0 CF0A                              mov     al, talk_selected_line
273F:8BB4  0A C0                                or      al,al                   ; Any new selected line?
273F:8BB6  74 08                                jz      loc_1734                ; If not then jump
273F:8BB8  80 0E 11D0 02                        or      menubar_state, 2
273F:8BBD  E8 0272                              call    talk_toggle_line_highlight ; Highlight new line
273F:8BC0                       loc_1734:
273F:8BC0  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:8BC5  74 06                                je      loc_1735                ; Jump if equal
273F:8BC7  C7 06 11EC 0000                      mov     data_640, 0
273F:8BCD                       loc_1735:                                       ;  xref 273F:8BC5
273F:8BCD  FF 16 075E                           call    [show_cursor_proc]
273F:8BD1  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:8BD6  75 12                                jne     loc_1736                ; Jump if not equal
273F:8BD8  33 C0                                xor     ax,ax                   ; Zero register
273F:8BDA  33 DB                                xor     bx,bx                   ; Zero register
273F:8BDC  BD 0140                              mov     bp,140h
273F:8BDF  BA 001F                              mov     dx,1Fh
273F:8BE2  B9 0001                              mov     cx,1
273F:8BE5  E8 7FA7                              call    sub_22                  ; (0B8F)
273F:8BE8  EB 13                                jmp     short loc_1737          ; (8BFD)
273F:8BEA                       loc_1736:                                       ;  xref 273F:8BD6
273F:8BEA  A1 11D6                              mov     ax, mouse_x2
273F:8BED  8B 1E 11D8                           mov     bx, mouse_y2
273F:8BF1  BD 0010                              mov     bp,10h
273F:8BF4  BA 0010                              mov     dx,10h
273F:8BF7  B9 0001                              mov     cx,1
273F:8BFA  E8 7F92                              call    sub_22                  ; (0B8F)
273F:8BFD                       loc_1737:                                       ;  xref 273F:8B9F, 8BE8
273F:8BFD  32 C0                                xor     al,al                   ; Zero register
273F:8BFF  86 06 11DA                           xchg    mouse_buttons2, al
273F:8C03  A8 07                                test    al,7                    ; Any buttons pressed?
273F:8C05  74 07                                jz      loc_ret_1738            ; Skip if not

; At this point a talk line has been selected

273F:8C07  A8 03                                test    al,3
273F:8C09  75 05                                jnz     loc_1740
273F:8C0B  E9 00F8                              jmp     loc_1751                ; Handle selection
273F:8C0E                       loc_ret_1738:                                   ;  xref 273F:8C05
273F:8C0E  C3                                   retn

273F:8C0F                       loc_ret_1739:                                   ;  xref 273F:8C19
273F:8C0F  C3                                   retn
273F:8C10                       loc_1740:                                       ;  xref 273F:8C09
273F:8C10  8A 1E CF0A                           mov     bl, talk_selected_line
273F:8C14  32 FF                                xor     bh,bh                   ; Zero register

; This code point is reached both for automatic responses from a character,
; or when a talk item has been selected and needs to be "spoken"

273F:8C16                       loc_1741:
273F:8C16  80 EB 01                             sub     bl, 1
273F:8C19  72 F4                                jc      loc_ret_1739            ; If bl had been 0, invalid exit
273F:8C1B  80 06 CF0B 01                        add     talk_cf0b, 1
273F:8C20  D1 E3                                shl     bx,1
273F:8C22  8B 9F CF0C                           mov     bx, talk_entry_list[bx] ; Get selected talk entry
273F:8C26  8B 57 02                             mov     dx, [bx+TALK_DESC_ID]
273F:8C29  80 E6 3F                             and     dh,3Fh                  ; '?'
273F:8C2C  80 4F 03 40                          or      byte ptr [bx+TALK_DESC_ID+1], 40h ; Flag desc
273F:8C30  81 FA 0424                           cmp     dx, TALK_MAGIC_ID
273F:8C34  74 11                                je      loc_1742                ; Jump if equal
273F:8C36  53                                   push    bx
273F:8C37  8B 1E CF06                           mov     bx, talk_to_hotspot_ptr
273F:8C3B  8B 5F 0B                             mov     bx, [bx+HS_ANIM_OFFSET]
273F:8C3E  8B 4F 1B                             mov     cx, [bx+ANIM_HOTSPOT_ID]
273F:8C41  B0 01                                mov     al, 1
273F:8C43  E8 D4E9                              call    talk_setup_3                 ; (612F)
273F:8C46  5B                                   pop     bx
273F:8C47                       loc_1742:                                       ;  xref 273F:8C34
273F:8C47  8B 47 04                             mov     ax, [bx+TALK_POST_SEQUENCE]
273F:8C4A  F6 C4 80                             test    ah, 80h
273F:8C4D  74 06                                jz      loc_1743                ; Jump if zero
273F:8C4F  80 E4 7F                             and     ah, 7Fh
273F:8C52  E8 B1DF                              call    sequence_execute
273F:8C55                       loc_1743:
273F:8C55  8B 1E CF02                           mov     bx, talk_response_ptr
273F:8C59  D1 E0                                shl     ax, 1
273F:8C5B  03 D8                                add     bx, ax
273F:8C5D  D1 E0                                shl     ax, 1
273F:8C5F  03 D8                                add     bx, ax

273F:8C61  8B 07                                mov     ax, [bx]                ; Get sequence to run
273F:8C63  0B C0                                or      ax, ax
273F:8C65  74 08                                jz      loc_1744                ; Jump if zero
273F:8C67  E8 B1CA                              call    sequence_execute
273F:8C6A  3D 1092                              cmp     ax, 1092h
273F:8C6D  75 E6                                jne     loc_1743                ; Jump if not equal
273F:8C6F                       loc_1744:                                       ;  xref 273F:8C65
273F:8C6F  8B 47 02                             mov     ax, [bx+2]
273F:8C72  F6 C4 80                             test    ah, 80h
273F:8C75  74 06                                jz      loc_1745                ; Jump if zero
273F:8C77  80 E4 7F                             and     ah, 7Fh
273F:8C7A  E8 B1B7                              call    sequence_execute
273F:8C7D                       loc_1745:                                       ;  xref 273F:8C75
273F:8C7D  3D 0424                              cmp     ax, 424h
273F:8C80  74 12                                je      loc_1746                ; Jump if equal
273F:8C82  53                                   push    bx
273F:8C83  8B D0                                mov     dx,ax
273F:8C85  B9 03E8                              mov     cx, PLAYER_HOTSPOT_ID
273F:8C88  56                                   push    si
273F:8C89  8B 36 CF06                           mov     si, talk_to_hotspot_ptr
273F:8C8D  B0 01                                mov     al,1
273F:8C8F  E8 D49D                              call    talk_setup_3                 ; (612F)
273F:8C92  5E                                   pop     si
273F:8C93  5B                                   pop     bx
273F:8C94                       loc_1746:                                       ;  xref 273F:8C80
273F:8C94  8B 47 04                             mov     ax, [bx+4]
273F:8C97  3D FFFF                              cmp     ax, 0FFFFh
273F:8C9A  74 28                                je      loc_1748                ; Jump if equal
273F:8C9C  F6 C4 80                             test    ah, 80h
273F:8C9F  74 0B                                jz      loc_1747                ; Jump if zero
273F:8CA1  80 E4 7F                             and     ah, 7Fh
273F:8CA4  E8 B18D                              call    sequence_execute
273F:8CA7  3D FFFF                              cmp     ax, 0FFFFh
273F:8CAA  74 18                                je      loc_1748                ; Jump if equal
273F:8CAC                       loc_1747:                                       ;  xref 273F:8C9F
273F:8CAC  D1 E0                                shl     ax, 1
273F:8CAE  8B D8                                mov     bx, ax
273F:8CB0  D1 E0                                shl     ax, 1
273F:8CB2  03 C3                                add     ax, bx
273F:8CB4  03 06 CF04                           add     ax, talk_next_talk_offset ; Next sequence start offset
273F:8CB8  A3 CF00                              mov     talk_data_ptr, ax
273F:8CBB  C6 06 CF08 03                        mov     talk_state, 3
273F:8CC0  EB 07                                jmp     short loc_1749          ; (8CC9)

273F:8CC2  5B                                   pop     bx
273F:8CC3  C3                                   ret
273F:8CC4                       loc_1748:
273F:8CC4  C6 06 CF08 04                        mov     talk_state, 4

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:8D06
                                ;��������������������������������������������������������������������������

273F:8CC9                       sub_221         proc    near
273F:8CC9                       loc_1749:                                       ;  xref 273F:8CC0, 8D04
273F:8CC9 B8 0001                              mov     ax,1
273F:8CCC  BB 0001                              mov     bx,1
273F:8CCF  BD 0026                              mov     bp,26h
273F:8CD2  BA 0001                              mov     dx,1
273F:8CD5  B9 0081                              mov     cx,81h
273F:8CD8  E9 7EA8                              jmp     loc_92                  ; (0B83)
                                sub_221         endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:8CDB                       loc_1750:                                       ;  xref 273F:8D24, 8D36, 8D6E
273F:8CDB C6 06 9849 00                        mov     pathfind_data, 0 
273F:8CE0  C7 06 B15F 5E44                      mov     word ptr ds:data_450e, offset player_tick_proc
273F:8CE6  C6 06 6D33 00                        mov     [player_hotspot_rec+HS_CHAR_MODE], CHARMODE_NONE
273F:8CEB  C7 06 6D31 0000                      mov     [player_hotspot_rec+HS_DELAY_CTR], 0
273F:8CF1  8B 1E CF06                           mov     bx, talk_to_hotspot_ptr
273F:8CF5  C7 47 2F 0000                        mov     word ptr [bx+HS_USE_HOTSPOT_ID], 0
273F:8CFA  C7 47 42 0018                        mov     word ptr [bx+HS_DELAY_CTR], 18h
273F:8CFF  C6 06 9834 00                        mov     cursor_state, CURSORSTATE_NONE
273F:8D04  EB C3                                jmp     short loc_1749          ; (8CC9)

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; This point is reached if the third button is pressed. It causes the
                                ; talk to abort, and the talked to character to show the question mark briefly
                                ;��������������������������������������������������������������������������

273F:8D06                       loc_1751:                                       ;  xref 273F:8C0B
273F:8D06  E8 FFC0                              call    sub_221                 ; (8CC9)
273F:8D09  F6 06 CF0B FF                        test    talk_cf0b, 0FFh
273F:8D0E  75 16                                jnz     loc_1752                ; Jump if not zero
273F:8D10  56                                   push    si
273F:8D11  8B 36 CF06                           mov     si, talk_to_hotspot_ptr 
273F:8D15  8B 5C 0B                             mov     bx, [si+HS_ANIM_OFFSET]
273F:8D18  8B 4F 1B                             mov     cx, [bx+1Bh]
273F:8D1B  BB 002B                              mov     bx,2Bh
273F:8D1E  33 D2                                xor     dx,dx                   ; Zero register
273F:8D20  E8 D698                              call    display_message_dialog_4
273F:8D23  5E                                   pop     si
273F:8D24  EB B5                                jmp     short loc_1750          ; (8CDB)
273F:8D26                       loc_1752:                                       ;  xref 273F:8D0E
273F:8D26  8B 1E CF06                           mov     bx, talk_to_hotspot_ptr
273F:8D2A  8B 5F 0B                             mov     bx,[bx+HS_ANIM_OFFSET]
273F:8D2D  8B 4F 1B                             mov     cx,[bx+ANIM_HOTSPOT_ID]
273F:8D30  BA 088D                              mov     dx, 88Dh
273F:8D33  E8 D3F9                              call    talk_setup_3
273F:8D36  EB A3                                jmp     short loc_1750          ; (8CDB)

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

273F:8D38                       loc_1753:                                       ;  xref 273F:8AB4
273F:8D38  E8 0036                              call    sub_222                 ; (8D71)
273F:8D3B  E8 D43A                              call    talk_countdown_handler
273F:8D3E  8B 1E CF06                           mov     bx, talk_to_hotspot_ptr 
273F:8D42  83 7F 37 06                          cmp     word ptr [bx+HS_TALK_COUNTDOWN],6
273F:8D46  73 0D                                jae     loc_ret_1754            ; Jump if above or =
273F:8D48  F7 06 9838 FFFF                      test    data_431,0FFFFh         ; (273F:9838=5C8Bh)
273F:8D4E  75 05                                jnz     loc_ret_1754            ; Jump if not zero
273F:8D50  C6 06 CF08 01                        mov     talk_state, 1

273F:8D55                       loc_ret_1754:                                   ;  xref 273F:8D46, 8D4E, 8D64, 8D6C
273F:8D55  C3                                   retn
273F:8D56                       loc_1755:                                       ;  xref 273F:8ABA
273F:8D56  E8 0018                              call    sub_222                 ; (8D71)
273F:8D59  E8 D41C                              call    talk_countdown_handler
273F:8D5C  8B 1E CF06                           mov     bx, talk_to_hotspot_ptr
273F:8D60  83 7F 37 06                          cmp     word ptr [bx+HS_TALK_COUNTDOWN],6
273F:8D64  73 EF                                jae     loc_ret_1754            ; Jump if above or =
273F:8D66  F7 06 9838 FFFF                      test    data_431,0FFFFh         ; (273F:9838=5C8Bh)
273F:8D6C  75 E7                                jnz     loc_ret_1754            ; Jump if not zero
273F:8D6E  E9 FF6A                              jmp     loc_1750                ; (8CDB)

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:8D38, 8D56
                                ;��������������������������������������������������������������������������

273F:8D71                       sub_222         proc    near
273F:8D71  F6 06 11DA 07                        test    mouse_buttons2, 7
273F:8D76  74 6A                                jz      loc_ret_1758            ; Jump if zero
273F:8D78  C6 06 11DA 00                        mov     mouse_buttons2, 0
273F:8D7D  C3                                   retn
                                                                                ;* No entry point to code
273F:8D7E  F6 06 9837 FF                        test    talk_dialog_active, 0FFh
273F:8D83  74 5D                                jz      loc_ret_1758            ; Jump if zero
273F:8D85  A1 11D6                              mov     ax, mouse_x2
273F:8D88  3B 06 11C2                           cmp     ax, talk_dialog_left
273F:8D8C  72 54                                jb      loc_ret_1758            ; Jump if below
273F:8D8E  2B 06 11C2                           sub     ax, talk_dialog_left
273F:8D92  3B 06 11C4                           cmp     ax, talk_dialog_width
273F:8D96  73 4A                                jae     loc_ret_1758            ; Jump if above or =
273F:8D98  A1 11D8                              mov     ax, mouse_y2
273F:8D9B  3B 06 11C0                           cmp     ax, talk_dialog_top
273F:8D9F  72 41                                jb      loc_ret_1758            ; Jump if below
273F:8DA1  2B 06 11C0                           sub     ax, talk_dialog_top
273F:8DA5  3B 06 11C6                           cmp     ax, talk_dialog_height
273F:8DA9  73 37                                jae     loc_ret_1758            ; Jump if above or =
273F:8DAB  A1 983B                              mov     ax, talk_character_id
273F:8DAE  56                                   push    si
273F:8DAF  E8 7F38                              call    get_room_resource_pointer2
273F:8DB2  C7 44 37 0000                        mov     word ptr [si+HS_TALK_COUNTDOWN],0
273F:8DB7  5E                                   pop     si
273F:8DB8  81 3E 983B 03E8                      cmp     talk_character_id, PLAYER_HOTSPOT_ID
273F:8DBE  75 14                                jne     loc_1757                ; Jump if not equal
273F:8DC0  A1 9841                              mov     ax, data_1091
273F:8DC3  56                                   push    si
273F:8DC4  E8 7F23                              call    get_room_resource_pointer2
273F:8DC7  F7 44 37 FFFF                        test    word ptr [si+HS_TALK_COUNTDOWN],0FFFFh
273F:8DCC  74 05                                jz      loc_1756                ; Jump if zero
273F:8DCE  C7 44 37 0028                        mov     word ptr [si+HS_TALK_COUNTDOWN], 28h
273F:8DD3                       loc_1756:                                       ;  xref 273F:8DCC
273F:8DD3  5E                                   pop     si
273F:8DD4                       loc_1757:                                       ;  xref 273F:8DBE
273F:8DD4  C6 06 9837 00                        mov     talk_dialog_active, 0
273F:8DD9  C7 06 9838 0000                      mov     data_431,0              ; (273F:9838=5C8Bh)
273F:8DDF  E8 D4E3                              call    sub_147                 ; (62C5)

273F:8DE2                       loc_ret_1758:                                   ;  xref 273F:8D76, 8D83, 8D8C, 8D96
                                                                                ;            8D9F, 8DA9
273F:8DE2  C3                                   retn
                                sub_222         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:8B1D
                                ;��������������������������������������������������������������������������

                        talk_handle_line        proc    near
273F:8DE3  56                                   push    si
273F:8DE4  57                                   push    di
273F:8DE5  55                                   push    bp
273F:8DE6  53                                   push    bx
273F:8DE7  50                                   push    ax
273F:8DE8  A0 CF09                              mov     al, talk_line_num
273F:8DEB  32 E4                                xor     ah, ah                  ; Zero register
273F:8DED  E8 E22C                              call    talk_clear_line
273F:8DF0  58                                   pop     ax
273F:8DF1  BF AF42                              mov     di, offset talk_string_buffer
273F:8DF4  89 3E BA07                           mov     talk_string_offset, di
273F:8DF8  E8 EF3F                              call    decode_string
273F:8DFB  A0 CF09                              mov     al, talk_line_num
273F:8DFE  32 E4                                xor     ah, ah
273F:8E00  F7 26 074C                           mul     menubar_block_size      ; Calculate display offset
273F:8E04  A3 BA0F                              mov     ds:data_470e, ax
273F:8E07  A3 BA11                              mov     ds:data_471e, ax
273F:8E0A  C6 06 BA13 00                        mov     byte ptr ds:data_472e, 0
273F:8E0F  A1 0748                              mov     ax, screen_width
273F:8E12  A3 BA09                              mov     ds:data_468e,ax
273F:8E15  A1 4CE4                              mov     ax, data_segment2
273F:8E18  A3 BA0D                              mov     ds:data_469e, ax
273F:8E1B  8B 36 076E                           mov     si, data_571
273F:8E1F  8A 44 05                             mov     al, [si+5]
273F:8E22  A2 BA14                              mov     ds:data_473e, al
273F:8E25 BB BA07                              mov     bx, offset talk_string_offset
273F:8E28                       loc_1759:
273F:8E28  E8 8D6D                              call    sub_51                  ; (1B98)
273F:8E2B  74 FB                                jz      loc_1759                ; Jump if zero
273F:8E2D  5B                                   pop     bx
273F:8E2E  5D                                   pop     bp
273F:8E2F  5F                                   pop     di
273F:8E30  5E                                   pop     si
273F:8E31  C3                                   retn
                        talk_handle_line        endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:8BAE, 8BBD
                                ;��������������������������������������������������������������������������

                talk_toggle_line_highlight      proc    near
273F:8E32  32 E4                                xor     ah,ah                   ; Zero register
273F:8E34  BB 0A00                              mov     bx, MENUBAR_BLOCK_SIZE
273F:8E37  F7 E3                                mul     bx                      ; dx:ax = reg * ax
273F:8E39  8B F8                                mov     di,ax
273F:8E3B  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:8E40  75 06                                jne     loc_1760                ; Jump if not equal
273F:8E42  BB 0140                              mov     bx,140h
273F:8E45  E9 A154                              jmp     loc_637                 ; (2F9C)
273F:8E48                       loc_1760:                                       ;  xref 273F:8E40
273F:8E48  1E                                   push    ds
273F:8E49  B8 A000                              mov     ax, VGA_SEGMENT
273F:8E4C  8E C0                                mov     es,ax
273F:8E4E  A1 4CE4                              mov     ax, data_segment2
273F:8E51  8E D8                                mov     ds,ax
273F:8E53  B9 0A00                              mov     cx, MENUBAR_BLOCK_SIZE

273F:8E56                       locloop_1761:                                   ;  xref 273F:8E68
273F:8E56  80 3D E2                             cmp     byte ptr [di],0E2h
273F:8E59  74 05                                je      loc_1762                ; Jump if equal
273F:8E5B  80 3D FF                             cmp     byte ptr [di],0FFh
273F:8E5E  75 07                                jne     loc_1763                ; Jump if not equal
273F:8E60                       loc_1762:                                       ;  xref 273F:8E59
273F:8E60  80 35 1D                             xor     byte ptr [di],1Dh
273F:8E63  26: 80 35 1D                         xor     byte ptr es:[di],1Dh
273F:8E67                       loc_1763:                                       ;  xref 273F:8E5E
273F:8E67  47                                   inc     di
273F:8E68  E2 EC                                loop    locloop_1761            ; Loop if cx > 0

273F:8E6A  1F                                   pop     ds
273F:8E6B  C3                                   retn
                talk_toggle_line_highlight      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                                                                                ;* No entry point to code
273F:8E6C  E8 7E79                              call    get_room_resource_pointer
273F:8E6F  F7 44 33 FFFF                        test    word ptr [si+33h],0FFFFh
273F:8E74  74 05                                jz      loc_1764                ; Jump if zero
273F:8E76  8B 74 33                             mov     si,[si+33h]
273F:8E79  EB 26                                jmp     short loc_1768          ; (8EA1)
273F:8E7B                       loc_1764:                                       ;  xref 273F:8E74
273F:8E7B BE 505C                              mov     si, offset talk_table
273F:8E7E                       loc_1765:                                       ;  xref 273F:8E85
273F:8E7E 3B 1C                                cmp     bx,[si]
273F:8E80  74 05                                je      loc_1766                ; Jump if equal
273F:8E82  83 C6 04                             add     si,4
273F:8E85  EB F7                                jmp     short loc_1765          ; (8E7E)
273F:8E87                       loc_1766:                                       ;  xref 273F:8E80
273F:8E87  8B 7C 02                             mov     di,[si+2]
273F:8E8A  E8 7E92                              call    get_room_resource_pointer3
273F:8E8D  81 7C 02 017A                        cmp     word ptr [si+2],17Ah
273F:8E92  74 0B                                je      loc_1767                ; Jump if equal
273F:8E94  8B 1E BA3B                           mov     bx, talk_record_index
273F:8E98  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
273F:8E9A  8B 71 02                             mov     si,[bx+di+2]
273F:8E9D  EB 02                                jmp     short loc_1768          ; (8EA1)
273F:8E9F                       loc_1767:                                       ;  xref 273F:8E92
273F:8E9F  8B 35                                mov     si,[di]
273F:8EA1                       loc_1768:                                       ;  xref 273F:8E79, 8E9D
273F:8EA1  83 C6 02                             add     si,2
273F:8EA4  B8 0008                              mov     ax,8
273F:8EA7  F7 E1                                mul     cx                      ; dx:ax = reg * ax
273F:8EA9  03 F0                                add     si,ax
273F:8EAB  81 4C 02 C000                        or      word ptr [si+2],0C000h
273F:8EB0  C3                                   retn

273F:8EB1  00                                   db      0

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                            menuitem_save       proc    near

273F:8EB2  B0 56                                mov     al, 56h
273F:8EB4  E8 52 01                             call    saverestore_proc
273F:8EB7  2D 00001                             sub     ax, 1
273F:8EBA  73 03                                jnb     mi_save_1
273F:8EBC  E9 80 00                             jmp     loc_1774

273F:8EBF  50                    mi_save_1      push    ax
273F:8EC0  E8 9C 90                             call    show_disk_cursor
273F:8EC3  58                                   pop     ax
273F:8EC4  3B 06 08 03                          cmp     ax, data_540
273F:8EC8  72 0C                                jb      mi_save_2
273F:8ECA  83 3E 0308 0F                        cmp     data_540, 0Fh
273F:8ECF  73 05                                jnb     mi_save_2
273F:8ED1  83 06 0308 01                        add     data_540, 1

273F:8ED6                       loc_1769:
273F:8ED6  BB F010                              mov     bx, WRITE_BUFFER_SIZE
273F:8ED9  81 EB 5D90                           sub     bx, offset write_buffer
273F:8EDD  F7 E3                                mul     bx                      ; dx:ax = reg * ax
273F:8EDF  05 0200                              add     ax,200h
273F:8EE2  83 D2 00                             adc     dx,0
273F:8EE5  50                                   push    ax
273F:8EE6  52                                   push    dx
273F:8EE7  8B CA                                mov     cx,dx
273F:8EE9  8B D0                                mov     dx,ax
273F:8EEB  B8 4200                              mov     ax,4200h
273F:8EEE  8B 1E 554D                           mov     bx, data_832
273F:8EF2  CD 21                                int     21h                     ; DOS Services  ah=function 42h
                                                                                ;  move file ptr, bx=file handle
                                                                                ;   al=method, cx,dx=offset
273F:8EF4  59                                   pop     cx
273F:8EF5  5B                                   pop     bx
273F:8EF6  73 09                                jnc     loc_1771                ; Jump if carry=0
273F:8EF8                       loc_1770:                                       ;  xref 273F:8F03, 8F07, 8F31, 8F3D
273F:8EF8  BB 00A2                              mov     bx,0A2h
273F:8EFB  E8 F9BE                              call    display_dialog
273F:8EFE  33 C0                                xor     ax,ax                   ; Zero register
273F:8F00  C3                                   retn
273F:8F01                       loc_1771:                                       ;  xref 273F:8EF6
273F:8F01  3B D1                                cmp     dx,cx
273F:8F03  75 F3                                jne     loc_1770                ; Jump if not equal
273F:8F05  3B C3                                cmp     ax,bx
273F:8F07  75 EF                                jne     loc_1770                ; Jump if not equal
273F:8F09  B4 40                                mov     ah,40h                  ; '@'
273F:8F0B  8B 1E 554D                           mov     bx, data_832
273F:8F0F  B9 F010                              mov     cx, WRITE_BUFFER_SIZE
273F:8F12 BA 5D90                              mov     dx, offset write_buffer ; (273F:5D90=47h)
273F:8F15  2B CA                                sub     cx,dx
273F:8F17  CD 21                                int     21h                     ; DOS Services  ah=function 40h
                                                                                ;  write file  bx=file handle
                                                                                ;   cx=bytes from ds:dx buffer
273F:8F19  73 09                                jnc     loc_1773                ; Jump if carry=0
273F:8F1B                       loc_1772:                                       ;  xref 273F:8F26
273F:8F1B  BB 00A2                              mov     bx,0A2h
273F:8F1E  E8 F99B                              call    display_dialog
273F:8F21  33 C0                                xor     ax,ax                   ; Zero register
273F:8F23  C3                                   retn
273F:8F24                       loc_1773:                                       ;  xref 273F:8F19
273F:8F24  3B C1                                cmp     ax,cx
273F:8F26  75 F3                                jne     loc_1772                ; Jump if not equal
273F:8F28  B8 4200                              mov     ax,4200h
273F:8F2B  33 C9                                xor     cx,cx                   ; Zero register
273F:8F2D  33 D2                                xor     dx,dx                   ; Zero register
273F:8F2F  CD 21                                int     21h                     ; DOS Services  ah=function 42h
                                                                                ;  move file ptr, bx=file handle
                                                                                ;   al=method, cx,dx=offset
273F:8F31  72 C5                                jc      loc_1770                ; Jump if carry Set
273F:8F33  B4 40                                mov     ah,40h
273F:8F35  B9 0200                              mov     cx,200h
273F:8F38 BA 0119                              mov     dx, offset file_buffer  ; (273F:0119=0FFh)
273F:8F3B  CD 21                                int     21h                     ; DOS Services  ah=function 40h
                                                                                ;  write file  bx=file handle
                                                                                ;   cx=bytes from ds:dx buffer
273F:8F3D  72 B9                                jc      loc_1770                ; Jump if carry Set
273F:8F3F                       loc_1774:                                       ;  xref 273F:8F57
273F:8F3F  8B 1E 554D                           mov     bx, data_832
273F:8F43  B4 3E                                mov     ah,3Eh
273F:8F45  CD 21                                int     21h                     ; DOS Services  ah=function 3Eh
                                                                                ;  close file, bx=file handle
273F:8F47  0C 01                                or      al,1
273F:8F49  C3                                   retn

                            menuitem_save       endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:9381
                                ;��������������������������������������������������������������������������

273F:8F4A                   menuitem_restore    proc    near
273F:8F4A  B0 AC                                mov     al,0ACh
273F:8F4C  E8 00BA                              call    saverestore_proc
                                                assume  ds:data_seg
273F:8F4F  83 06 0308 01                        add     data_540,1              ; (31E4:0308=0)
273F:8F54  2D 0001                              sub     ax,1
273F:8F57  72 E6                                jc      loc_1774                ; Jump if carry Set
273F:8F59  50                                   push    ax
273F:8F5A  E8 9002                              call    show_disk_cursor
273F:8F5D  E8 0458                              call    sub_230                 ; (93B8)
273F:8F60  E8 1290                              call    sub_257                 ; (A1F3)
273F:8F63  58                                   pop     ax
273F:8F64  BB F010                              mov     bx, WRITE_BUFFER_SIZE
273F:8F67  81 EB 5D90                           sub     bx, offset write_buffer
273F:8F6B  F7 E3                                mul     bx                      ; dx:ax = reg * ax
273F:8F6D  05 0200                              add     ax,200h
273F:8F70  83 D2 00                             adc     dx,0
273F:8F73  50                                   push    ax
273F:8F74  52                                   push    dx
273F:8F75  8B CA                                mov     cx,dx
273F:8F77  8B D0                                mov     dx,ax
273F:8F79  B8 4200                              mov     ax,4200h
273F:8F7C  8B 1E 554D                           mov     bx, data_832   
273F:8F80  CD 21                                int     21h                     ; DOS Services  ah=function 42h
                                                                                ;  move file ptr, bx=file handle
                                                                                ;   al=method, cx,dx=offset
273F:8F82  59                                   pop     cx
273F:8F83  5B                                   pop     bx
273F:8F84  B4 3F                                mov     ah,3Fh                  ; '?'
273F:8F86  8B 1E 554D                           mov     bx, data_832 
273F:8F8A  B9 F010                              mov     cx, WRITE_BUFFER_SIZE
273F:8F8D BA 5D90                              mov     dx, offset write_buffer ; (31E4:5D90=0)
273F:8F90  2B CA                                sub     cx,dx
273F:8F92  CD 21                                int     21h                     ; DOS Services  ah=function 3Fh
                                                                                ;  read file, bx=file handle
                                                                                ;   cx=bytes to ds:dx buffer
273F:8F94  B8 4200                              mov     ax,4200h
273F:8F97  33 C9                                xor     cx,cx                   ; Zero register
273F:8F99  33 D2                                xor     dx,dx                   ; Zero register
273F:8F9B  CD 21                                int     21h                     ; DOS Services  ah=function 42h
                                                                                ;  move file ptr, bx=file handle
                                                                                ;   al=method, cx,dx=offset
273F:8F9D  B4 40                                mov     ah,40h                  ; '@'
273F:8F9F  B9 0200                              mov     cx,200h
273F:8FA2 BA 0119                              mov     dx,offset file_buffer   ; (31E4:0119=0)
273F:8FA5  CD 21                                int     21h                     ; DOS Services  ah=function 40h
                                                                                ;  write file  bx=file handle
                                                                                ;   cx=bytes from ds:dx buffer
273F:8FA7  B4 3E                                mov     ah,3Eh
273F:8FA9  CD 21                                int     21h                     ; DOS Services  ah=function 3Eh
                                                                                ;  close file, bx=file handle
273F:8FAB  FF 16 0766                           call    word ptr [fade_out_proc]
273F:8FAF  E8 EC0F                              call    load_string_resources
273F:8FB2  E8 E050                              call    menubar_clear_image
273F:8FB5  E8 7996                              call    clear_layer_rects
273F:8FB8  E8 79B4                              call    room_load_layers
273F:8FBB  FF 16 074E                           call    word ptr ds:[74Eh]      ; (273F:074E=8010h)
273F:8FBF  E8 7A25                              call    sub_16                  ; (09E7)
273F:8FC2  E8 7B39                              call    sub_19                  ; (0AFE)
273F:8FC5  E8 7999                              call    clear_hotspot_rects
273F:8FC8  E8 84D7                              call    sub_45                  ; (14A2)
273F:8FCB BE B883                              mov     si, offset animation_block_list
273F:8FCE  8B FE                                mov     di,si
273F:8FD0  E8 E6FB                              call    sub_190                 ; (76CE)
273F:8FD3  E8 EA89                              call    sub_195                 ; (7A5F)
                                                assume  ds:seg_code
273F:8FD6  C6 06 9837 00                        mov     talk_dialog_active, 0
273F:8FDB  C7 06 9838 0000                      mov     data_431,0              ; (273F:9838=5C8Bh)
273F:8FE1  E8 123D                              call    sub_259                 ; (A221)
273F:8FE4  E8 BF8D                              call    seq_pathfind_reset
273F:8FE7  80 36 CE20 80                        xor     game_flags, 80h
273F:8FEC  E8 E106                              call    sub_177                 ; (70F5)
273F:8FEF  FF 16 0752                           call    [show_compressed_screen_proc]
273F:8FF3  E8 8518                              call    room_add_animations
273F:8FF6  FF 16 0744                           call    word ptr [show_screen_proc]
273F:8FFA  E8 AAB1                              call    replace_vga_palette     ; (3AAE)
273F:8FFD  FF 16 0760                           call    word ptr ds:[760h]      ; (273F:0760=0C76Eh)
273F:9001  C6 06 1456 FF                        mov     data_213,0FFh           ; (273F:1456=42h)
273F:9006  33 C0                                xor     ax,ax                   ; Zero register
273F:9008  C3                                   retn
                            menuitem_restore    endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:8F4C
                                ;��������������������������������������������������������������������������

273F:9009               saverestore_proc        proc    near
273F:9009  A2 5553                              mov     data_344,al                     ; (273F:5553=0DFh)
273F:900C  80 3E 0786 02                        cmp     drive_number, 2         ; Running on hard drive?
273F:9011  73 1C                                jae     loc_1776                ; If yes, skip prompt msg
273F:9013  F6 06 00B5 80                        test    byte ptr ds:[0B5h],80h
273F:9018  75 0D                                jnz     loc_1775
273F:901A  8B 1E 00B4                           mov     bx,word ptr ds:[file_handle]
273F:901E  B4 3E                                mov     ah,3Eh
273F:9020  CD 21                                int     21h                     ; DOS Services  ah=function 3Eh
                                                                                ;  close file, bx=file handle
273F:9022  C6 06 00B5 80                        mov     byte ptr ds:[0B5h],80h
273F:9027                       loc_1775:
273F:9027  B8 000B                              mov     ax,0Bh                  ; Prompt to insert data disk
273F:902A  B6 00                                mov     dh,0
273F:902C  E8 AF75                              call    display_message
273F:902F                       loc_1776:
273F:902F  B8 3D02                              mov     ax,3D02h
273F:9032  BA 5540                              mov     dx, offset savegame_filename
273F:9035  CD 21                                int     21h                     ; DOS Services  ah=function 3Dh
                                                                                ;  open file, al=mode,name@ds:dx
273F:9037  72 18                                jc      loc_1777                ; Jump if error occurred

273F:9039  A3 554D                              mov     data_832, ax
273F:903C  8B D8                                mov     bx,ax
273F:903E  B4 3F                                mov     ah,3Fh
273F:9040  B9 0200                              mov     cx,200h
273F:9043 BA 0119                              mov     dx, offset file_buffer  ; (273F:0119=0FFh)
273F:9046  CD 21                                int     21h                     ; DOS Services  ah=function 3Fh
                                                                                ;  read file, bx=file handle
                                                                                ;   cx=bytes to ds:dx buffer
273F:9048  3D 0200                              cmp     ax,200h                 ; Read 512 bytes?
273F:904B  74 27                                je      loc_1779                ; Jump if equal
273F:904D  B4 3E                                mov     ah,3Eh
273F:904F  CD 21                                int     21h                     ; DOS Services  ah=function 3Eh
                                                                                ;  close file, bx=file handle

                                                                                273F:9051                       loc_1777:                                       ;  xref 273F:9037
273F:9051  B4 3C                                mov     ah,3Ch                  ; '<'
273F:9053  33 C9                                xor     cx,cx                   ; Zero register
273F:9055  BA 5540                              mov     dx, offset savegame_filename
273F:9058  CD 21                                int     21h                     ; DOS Services  ah=function 3Ch
                                                                                ;  create/truncate file @ ds:dx
273F:905A  73 09                                jnc     loc_1778                ; Jump if carry=0
273F:905C  BB 00A2                              mov     bx,0A2h
273F:905F  E8 F85A                              call    display_dialog
273F:9062  33 C0                                xor     ax,ax                   ; Zero register
273F:9064  C3                                   retn
273F:9065                       loc_1778:                                       ;  xref 273F:905A
273F:9065  A3 554D                              mov     data_832, ax
273F:9068  1E                                   push    ds
273F:9069  07                                   pop     es
273F:906A BF 0119                              mov     di, offset file_buffer  ; (273F:0119=0FFh)
273F:906D  B9 0100                              mov     cx,100h
273F:9070  33 C0                                xor     ax,ax                   ; Zero register
273F:9072  F3/ AB                               rep     stosw                   ; Rep when cx >0 Store ax to es:[di]
273F:9074                       loc_1779:                                       ;  xref 273F:904B
273F:9074  80 3E 5553 AC                        cmp     data_344,0ACh           ; (273F:5553=0DFh)
273F:9079  75 0A                                jne     loc_1780                ; Jump if not equal
273F:907B  83 2E 0308 01                        sub     word ptr ds:[308h],1    ; (273F:0308=21CDh)
273F:9080  73 03                                jnc     loc_1780                ; Jump if carry=0
273F:9082  33 C0                                xor     ax,ax                   ; Zero register
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 344

273F:9084  C3                                   retn
273F:9085                       loc_1780:                                       ;  xref 273F:9079, 9080
273F:9085  B0 02                                mov     al,2
273F:9087  B3 04                                mov     bl,4
273F:9089  B1 20                                mov     cl,20h                  ; ' '
273F:908B  8B 16 0308                           mov     dx,word ptr ds:[308h]   ; (273F:0308=21CDh)
273F:908F  83 C2 02                             add     dx,2
273F:9092  83 FA 11                             cmp     dx,11h
273F:9095  73 03                                jae     loc_1781                ; Jump if above or =
273F:9097  80 C2 01                             add     dl,1
273F:909A                       loc_1781:                                       ;  xref 273F:9095
273F:909A  BD 0001                              mov     bp,1
273F:909D  FF 16 077A                           call    [draw_dialog_proc]
273F:90A1  A1 4CE4                              mov     ax, data_segment2
273F:90A4  8E C0                                mov     es,ax
273F:90A6  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:90AB  74 1E                                je      loc_1783                ; Jump if equal
273F:90AD BF 3E92                              mov     di,data_1466e           ; (FF12:3E92=80h)
273F:90B0 BE 558D                              mov     si,558Dh                ; (273F:558D=33h)
273F:90B3  BA 0005                              mov     dx,5
273F:90B6                       loc_1782:                                       ;  xref 273F:90C7
273F:90B6  57                                   push    di
273F:90B7  AC                                   lodsb                           ; String [si] to al
273F:90B8  8A E0                                mov     ah,al
273F:90BA  B9 0085                              mov     cx,85h
273F:90BD  F3/ AB                               rep     stosw                   ; Rep when cx >0 Store ax to es:[di]
273F:90BF  5F                                   pop     di
273F:90C0  81 C7 0140                           add     di,140h
273F:90C4  83 EA 01                             sub     dx,1
273F:90C7  75 ED                                jnz     loc_1782                ; Jump if not zero
273F:90C9  EB 03                                jmp     short loc_1784          ; (90CE)
273F:90CB                       loc_1783:                                       ;  xref 273F:90AB
273F:90CB  E8 9F57                              call    sub_69                  ; (3025)
273F:90CE                       loc_1784:                                       ;  xref 273F:90C9
273F:90CE  BE 5576                              mov     si,5576h
273F:90D1  B9 000C                              mov     cx,0Ch
273F:90D4  80 3E 5553 56                        cmp     data_344,56h            ; (273F:5553=0DFh) 'V'
273F:90D9  75 06                                jne     loc_1785                ; Jump if not equal
273F:90DB BE 5583                              mov     si,5583h                ; (273F:5583=1Bh)
273F:90DE  B9 0009                              mov     cx,9
273F:90E1                       loc_1785:                                       ;  xref 273F:90D9
273F:90E1  B8 0020                              mov     ax,20h
273F:90E4  2B C1                                sub     ax,cx
273F:90E6  D1 E8                                shr     ax,1                    ; Shift w/zeros fill
273F:90E8  05 0003                              add     ax,3
273F:90EB  8B 3E 076E                           mov     di, data_571
273F:90EF  8B 15                                mov     dx,[di]
273F:90F1  BB 0005                              mov     bx,5
273F:90F4  E8 01EC                              call    sub_227                 ; (92E3)
273F:90F7  8B 0E 0308                           mov     cx,word ptr ds:[308h]   ; (273F:0308=21CDh)
273F:90FB  83 F9 0F                             cmp     cx,0Fh
273F:90FE  73 03                                jae     loc_1786                ; Jump if above or =
273F:9100  83 C1 01                             add     cx,1
273F:9103                       loc_1786:                                       ;  xref 273F:90FE
273F:9103 BE 0119                              mov     si, offset file_buffer  ; (273F:0119=0FFh)
273F:9106  B8 0003                              mov     ax,3
273F:9109  BB 0007                              mov     bx,7

273F:910C                       locloop_1787:                                   ;  xref 273F:9126
273F:910C  50                                   push    ax
273F:910D  53                                   push    bx
273F:910E  51                                   push    cx
273F:910F  56                                   push    si
273F:9110  B9 0020                              mov     cx,20h
273F:9113  8B 3E 076E                           mov     di,word ptr ds:[76Eh]   ; (273F:076E=0D806h)
273F:9117  8B 15                                mov     dx,[di]
273F:9119  E8 01C7                              call    sub_227                 ; (92E3)
273F:911C  5E                                   pop     si
273F:911D  59                                   pop     cx
273F:911E  5B                                   pop     bx
273F:911F  58                                   pop     ax
273F:9120  83 C3 01                             add     bx,1
273F:9123  83 C6 21                             add     si,21h
273F:9126  E2 E4                                loop    locloop_1787            ; Loop if cx > 0

273F:9128  FF 16 0744                           call    word ptr [show_screen_proc]
273F:912C  E8 8E5C                              call    mouse_wait              ; (1F8B)
273F:912F                       loc_1788:                                       ;  xref 273F:9188, 91E5, 92B3
273F:912F E8 0296                              call    room_check_keypresses
273F:9132  F6 06 11DA 01                        test    mouse_buttons2, 1
273F:9137  74 08                                jz      loc_1789                ; Jump if zero
273F:9139  C6 06 11DA 00                        mov     mouse_buttons2, 0
273F:913E  E9 00A7                              jmp     loc_1797                ; (91E8)
273F:9141                       loc_1789:                                       ;  xref 273F:9137
273F:9141  F6 06 11DA 02                        test    mouse_buttons2, 2
273F:9146  74 06                                jz      loc_1790                ; Jump if zero
273F:9148  33 C0                                xor     ax,ax                   ; Zero register
273F:914A  A2 11DA                              mov     mouse_buttons2, al
273F:914D  C3                                   retn
273F:914E                       loc_1790:                                       ;  xref 273F:9146
273F:914E  A1 11D6                              mov     ax, mouse_x2
273F:9151  8B 1E 11D8                           mov     bx, mouse_y2
273F:9155  B1 03                                mov     cl,3
273F:9157  D3 E8                                shr     ax,cl                   ; Shift w/zeros fill
273F:9159  D3 EB                                shr     bx,cl                   ; Shift w/zeros fill
273F:915B  3D 0002                              cmp     ax,2
273F:915E  72 22                                jb      loc_1792                ; Jump if below
273F:9160  3D 0022                              cmp     ax,22h
273F:9163  73 1D                                jae     loc_1792                ; Jump if above or =
273F:9165  83 FB 07                             cmp     bx,7
273F:9168  72 18                                jb      loc_1792                ; Jump if below
273F:916A  8B 0E 0308                           mov     cx,word ptr ds:[308h]   ; (273F:0308=21CDh)
273F:916E  83 F9 0F                             cmp     cx,0Fh
273F:9171  72 03                                jb      loc_1791                ; Jump if below
273F:9173  83 E9 01                             sub     cx,1
273F:9176                       loc_1791:                                       ;  xref 273F:9171
273F:9176  83 C1 08                             add     cx,8
273F:9179  3B D9                                cmp     bx,cx
273F:917B  73 05                                jae     loc_1792                ; Jump if above or =
273F:917D  83 EB 06                             sub     bx,6
273F:9180  EB 02                                jmp     short loc_1793          ; (9184)
273F:9182                       loc_1792:                                       ;  xref 273F:915E, 9163, 9168, 917B
273F:9182  33 DB                                xor     bx,bx                   ; Zero register
273F:9184                       loc_1793:                                       ;  xref 273F:9180
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 346

273F:9184  3B 1E 5551                           cmp     bx,data_343             ; (273F:5551=0E807h)
273F:9188  74 A5                                je      loc_1788                ; Jump if equal
273F:918A  87 1E 5551                           xchg    data_343,bx             ; (273F:5551=0E807h)
273F:918E  0B DB                                or      bx,bx                   ; Zero ?
273F:9190  74 21                                jz      loc_1794                ; Jump if zero
273F:9192  8B C3                                mov     ax,bx
273F:9194  2D 0001                              sub     ax,1
273F:9197  B9 0021                              mov     cx,21h
273F:919A  F7 E1                                mul     cx                      ; dx:ax = reg * ax
273F:919C  05 0119                              add     ax, offset file_buffer
273F:919F  8B F0                                mov     si,ax
273F:91A1  8B 3E 076E                           mov     di,word ptr ds:[76Eh]   ; (273F:076E=0D806h)
273F:91A5  8B 15                                mov     dx,[di]
273F:91A7  B8 0003                              mov     ax,3
273F:91AA  83 C3 06                             add     bx,6
273F:91AD  B9 0020                              mov     cx,20h
273F:91B0  E8 0130                              call    sub_227                 ; (92E3)
273F:91B3                       loc_1794:                                       ;  xref 273F:9190
273F:91B3  F7 06 5551 FFFF                      test    data_343,0FFFFh         ; (273F:5551=0E807h)
273F:91B9  74 26                                jz      loc_1795                ; Jump if zero
273F:91BB  8B 1E 5551                           mov     bx,data_343             ; (273F:5551=0E807h)
273F:91BF  8B C3                                mov     ax,bx
273F:91C1  2D 0001                              sub     ax,1
273F:91C4  B9 0021                              mov     cx,21h
273F:91C7  F7 E1                                mul     cx                      ; dx:ax = reg * ax
273F:91C9  05 0119                              add     ax, offset file_buffer
273F:91CC  8B F0                                mov     si,ax
273F:91CE  8B 3E 076E                           mov     di,word ptr ds:[76Eh]   ; (273F:076E=0D806h)
273F:91D2  8B 55 02                             mov     dx,[di+2]
273F:91D5  B8 0003                              mov     ax,3
273F:91D8  83 C3 06                             add     bx,6
273F:91DB  B9 0020                              mov     cx,20h
273F:91DE  E8 0102                              call    sub_227                 ; (92E3)
273F:91E1                       loc_1795:                                       ;  xref 273F:91B9
273F:91E1  FF 16 0744                           call    word ptr [show_screen_proc]
273F:91E5                       loc_1796:                                       ;  xref 273F:91EE
273F:91E5  E9 FF47                              jmp     loc_1788                ; (912F)
273F:91E8                       loc_1797:                                       ;  xref 273F:913E
273F:91E8  F7 06 5551 FFFF                      test    data_343,0FFFFh         ; (273F:5551=0E807h)
273F:91EE  74 F5                                jz      loc_1796                ; Jump if zero
273F:91F0  80 0E 11D0 01                        or      menubar_state, 1   ; (273F:11D0=56h)
273F:91F5  FF 16 075E                           call    [show_cursor_proc]
273F:91F9  B8 0021                              mov     ax,21h
273F:91FC  F7 26 5551                           mul     data_343                ; (273F:5551=0E807h) dx:ax = data * ax
273F:9200  2D 0021                              sub     ax,21h
273F:9203  05 0119                              add     ax, offset file_buffer
273F:9206  8B F0                                mov     si,ax
273F:9208  8B F8                                mov     di,ax
273F:920A                       loc_1798:                                       ;  xref 273F:9212
273F:920A F6 05 FF                             test    byte ptr [di],0FFh
273F:920D  74 05                                jz      loc_1799                ; Jump if zero
273F:920F  83 C7 01                             add     di,1
273F:9212  EB F6                                jmp     short loc_1798          ; (920A)
273F:9214                       loc_1799:                                       ;  xref 273F:920D, 928A, 9297
273F:9214 C6 05 5F                             mov     byte ptr [di],5Fh       ; '_'
273F:9217  C6 45 01 00                          mov     byte ptr [di+1],0
273F:921B  57                                   push    di
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 347

273F:921C  56                                   push    si
273F:921D  8B 3E 076E                           mov     di,word ptr ds:[76Eh]   ; (273F:076E=0D806h)
273F:9221  8B 15                                mov     dx,[di]
273F:9223  B8 0003                              mov     ax,3
273F:9226  8B 1E 5551                           mov     bx,data_343             ; (273F:5551=0E807h)
273F:922A  83 C3 06                             add     bx,6
273F:922D  B9 0020                              mov     cx,20h
273F:9230  E8 00B0                              call    sub_227                 ; (92E3)
273F:9233  FF 16 0744                           call    word ptr [show_screen_proc]
273F:9237  5E                                   pop     si
273F:9238  5F                                   pop     di
273F:9239                       loc_1800:                                       ;  xref 273F:924A, 9283, 9292, 92DF
273F:9239 F6 06 11DA 01                        test    mouse_buttons2, 1
273F:923E  75 7A                                jnz     loc_1808                ; Jump if not zero
273F:9240  F6 06 11DA 02                        test    mouse_buttons2, 2
273F:9245  75 57                                jnz     loc_1806                ; Jump if not zero
273F:9247  E8 02D6                              call    check_keypress                 ; (9520)
273F:924A  74 ED                                jz      loc_1800                ; Jump if zero
273F:924C  80 3E 5553 AC                        cmp     data_344,0ACh           ; (273F:5553=0DFh)
273F:9251  74 47                                je      loc_1805                ; Jump if equal
273F:9253  3C 30                                cmp     al,30h                  ; '0'
273F:9255  72 14                                jb      loc_1801                ; Jump if below
273F:9257  3C 3A                                cmp     al,3Ah                  ; ':'
273F:9259  72 21                                jb      loc_1803                ; Jump if below
273F:925B  3C 41                                cmp     al,41h                  ; 'A'
273F:925D  72 0C                                jb      loc_1801                ; Jump if below
273F:925F  3C 5B                                cmp     al,5Bh                  ; '['
273F:9261  72 19                                jb      loc_1803                ; Jump if below
273F:9263  3C 61                                cmp     al,61h                  ; 'a'
273F:9265  72 04                                jb      loc_1801                ; Jump if below
273F:9267  3C 7B                                cmp     al,7Bh                  ; '{'
273F:9269  72 11                                jb      loc_1803                ; Jump if below
273F:926B                       loc_1801:                                       ;  xref 273F:9255, 925D, 9265
273F:926B BB 5554                              mov     bx,offset data_345      ; (273F:5554=0E8h)
273F:926E                       loc_1802:                                       ;  xref 273F:927A
273F:926E F6 07 FF                             test    byte ptr [bx],0FFh
273F:9271  74 19                                jz      loc_1804                ; Jump if zero
273F:9273  3A 07                                cmp     al,[bx]
273F:9275  74 05                                je      loc_1803                ; Jump if equal
273F:9277  83 C3 01                             add     bx,1
273F:927A  EB F2                                jmp     short loc_1802          ; (926E)
273F:927C                       loc_1803:                                       ;  xref 273F:9259, 9261, 9269, 9275
273F:927C  8B DF                                mov     bx,di
273F:927E  2B DE                                sub     bx,si
273F:9280  83 FB 1F                             cmp     bx,1Fh
273F:9283  73 B4                                jae     loc_1800                ; Jump if above or =
273F:9285  88 05                                mov     [di],al
273F:9287  83 C7 01                             add     di,1
273F:928A  EB 88                                jmp     short loc_1799          ; (9214)
273F:928C                       loc_1804:                                       ;  xref 273F:9271
273F:928C  3C 08                                cmp     al,8
273F:928E  75 0A                                jne     loc_1805                ; Jump if not equal
273F:9290  3B F7                                cmp     si,di
273F:9292  74 A5                                je      loc_1800                ; Jump if equal
273F:9294  83 EF 01                             sub     di,1
273F:9297  E9 FF7A                              jmp     loc_1799                ; (9214)
273F:929A                       loc_1805:                                       ;  xref 273F:9251, 928E
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 348

273F:929A  3C 1B                                cmp     al,1Bh
273F:929C  75 18                                jne     loc_1807                ; Jump if not equal
273F:929E                       loc_1806:                                       ;  xref 273F:9245
273F:929E  C6 05 00                             mov     byte ptr [di],0
273F:92A1  80 26 11D0 FE                        and     menubar_state, 0FEh ; (273F:11D0=56h)
273F:92A6  FF 16 075E                           call    [show_cursor_proc]
273F:92AA  FF 16 0744                           call    word ptr [show_screen_proc]
273F:92AE  C6 06 11DA 00                        mov     mouse_buttons2, 0
273F:92B3  E9 FE79                              jmp     loc_1788                ; (912F)
273F:92B6                       loc_1807:                                       ;  xref 273F:929C
273F:92B6  3C 0D                                cmp     al,0Dh
273F:92B8  75 25                                jne     loc_1809                ; Jump if not equal
273F:92BA                       loc_1808:                                       ;  xref 273F:923E
273F:92BA  C6 06 11DA 00                        mov     mouse_buttons2, 0
273F:92BF  3B FE                                cmp     di,si
273F:92C1  74 1C                                je      loc_1809                ; Jump if equal
273F:92C3  C6 05 00                             mov     byte ptr [di],0
273F:92C6  80 26 11D0 FE                        and     menubar_state, 0FEh ; (273F:11D0=56h)
273F:92CB  FF 16 075E                           call    [show_cursor_proc]
273F:92CF  FF 16 0744                           call    word ptr [show_screen_proc]
273F:92D3  C6 06 11DA 00                        mov     mouse_buttons2, 0
273F:92D8  33 C0                                xor     ax,ax                   ; Zero register
273F:92DA  87 06 5551                           xchg    data_343,ax             ; (273F:5551=0E807h)
273F:92DE  C3                                   retn
273F:92DF                       loc_1809:                                       ;  xref 273F:92B8, 92C1
273F:92DF  E9 FF57                              jmp     loc_1800                ; (9239)
273F:92E2  C3                                   db      0C3h

                        saverestore_proc        endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:90F4, 9119, 91B0, 91DE, 9230
                                ;��������������������������������������������������������������������������

273F:92E3                       sub_227         proc    near
273F:92E3  50                                   push    ax
273F:92E4  53                                   push    bx
273F:92E5  52                                   push    dx
273F:92E6  F7 26 074A                           mul     char_width
273F:92EA  8B F8                                mov     di,ax
273F:92EC  A1 074C                              mov     ax, menubar_block_size
273F:92EF  F7 E3                                mul     bx                      ; dx:ax = reg * ax
273F:92F1  03 F8                                add     di,ax
273F:92F3  5A                                   pop     dx
273F:92F4  A1 4CE4                              mov     ax, data_segment2
273F:92F7  8E C0                                mov     es,ax
273F:92F9  8B 2E 4CF2                           mov     bp, font_segment
273F:92FD                       loc_1810:                                       ;  xref 273F:930D
273F:92FD AC                                   lodsb                           ; String [si] to al
273F:92FE  0A C0                                or      al,al                   ; Zero ?
273F:9300  74 0D                                jz      loc_1811                ; Jump if zero
273F:9302  FF 16 076A                           call    [display_character_proc]
273F:9306  03 3E 074A                           add     di, char_width
273F:930A  80 C5 01                             add     ch,1
273F:930D  EB EE                                jmp     short loc_1810          ; (92FD)
273F:930F                       loc_1811:                                       ;  xref 273F:9300, 9320
273F:930F 3A E9                                cmp     ch,cl
273F:9311  73 0F                                jae     loc_1812                ; Jump if above or =
273F:9313  B0 20                                mov     al,20h                  ; ' '
273F:9315  FF 16 076A                           call    [display_character_proc]
273F:9319  03 3E 074A                           add     di, char_width
273F:931D  80 C5 01                             add     ch,1
273F:9320  EB ED                                jmp     short loc_1811          ; (930F)
273F:9322                       loc_1812:                                       ;  xref 273F:9311
273F:9322  5B                                   pop     bx
273F:9323  58                                   pop     ax
273F:9324  83 EB 01                             sub     bx,1
273F:9327  8A CD                                mov     cl,ch
273F:9329  32 ED                                xor     ch,ch                   ; Zero register
273F:932B  8B E9                                mov     bp,cx
273F:932D  B9 0081                              mov     cx,81h
273F:9330  BA 0001                              mov     dx,1
273F:9333  E9 784D                              jmp     loc_92                  ; (0B83)
                                sub_227         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:015D
                                ;��������������������������������������������������������������������������

273F:9336                       sub_228         proc    near
273F:9336  E8 0EBA                              call    sub_257                 ; (A1F3)
273F:9339  B8 01BC                              mov     ax,1BCh
273F:933C  B3 00                                mov     bl,0
                                                assume  ds:data_seg
273F:933E  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:9342  E8 8C30                              call    show_arrow_cursor
273F:9345  80 3E 0786 02                        cmp     default_drive, 2        ; Is it drive A or B (0 or 1)?
273F:934A  72 20                                jb      loc_1813                ; Yes, so running on floppy
273F:934C  B8 3D00                              mov     ax,3D00h
273F:934F BA 5540                              mov     dx, offset savegame_filename
273F:9352  CD 21                                int     21h                     ; DOS Services  ah=function 3Dh
                                                                                ;  open file, al=mode,name@ds:dx
273F:9354  72 35                                jc      loc_1815                ; Jump if carry Set
273F:9356  8B D8                                mov     bx,ax
273F:9358  B8 4202                              mov     ax,4202h
273F:935B  33 C9                                xor     cx,cx                   ; Zero register
273F:935D  33 D2                                xor     dx,dx                   ; Zero register
273F:935F  CD 21                                int     21h                     ; DOS Services  ah=function 42h
                                                                                ;  move file ptr, bx=file handle
                                                                                ;   al=method, cx,dx=offset
273F:9361  72 24                                jc      loc_1814                ; Jump if carry Set
273F:9363  3D 03E8                              cmp     ax, PLAYER_HOTSPOT_ID
273F:9366  72 1F                                jb      loc_1814                ; Jump if below
273F:9368  B4 3E                                mov     ah,3Eh
273F:936A  CD 21                                int     21h                     ; DOS Services  ah=function 3Eh
                                                                                ;  close file, bx=file handle
273F:936C                       loc_1813:                                       ;  xref 273F:934A
273F:936C  FF 16 0766                           call    word ptr [fade_out_proc]
273F:9370  C7 06 9832 FFFF                      mov     room_number, 0FFFFh
273F:9376  A1 4CE0                              mov     ax, current_room_segment
273F:9379  A3 4CE2                              mov     data_segment, ax
273F:937C  E8 A9A0                              call    restart_restore_dialog  ; Show restore/restart dialog
273F:937F  75 0A                                jnz     loc_1815                ; Jump if not zero
273F:9381  E8 FBC6                              call    menuitem_restore
273F:9384  75 05                                jnz     loc_1815                ; Jump if not zero
273F:9386  C3                                   retn
273F:9387                       loc_1814:                                       ;  xref 273F:9361, 9366
273F:9387  B4 3E                                mov     ah,3Eh
273F:9389  CD 21                                int     21h                     ; DOS Services  ah=function 3Eh
                                                                                ;  close file, bx=file handle

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:0169

273F:938B                       sub_229:
273F:938B                       loc_1815:                                       ;  xref 273F:9354, 937F, 9384
273F:938B  E8 8BD1                              call    show_disk_cursor
273F:938E  FF 16 0766                           call    word ptr [fade_out_proc]
273F:9392  E8 0E5E                              call    sub_257                 ; (A1F3)
273F:9395  B8 FFFF                              mov     ax,0FFFFh
273F:9398  C7 06 9832 FFFF                      mov     room_number, 0FFFFh
273F:939E  E8 0017                              call    sub_230                 ; (93B8)
273F:93A1  B8 400E                              mov     ax,400Eh
273F:93A4  8C D9                                mov     cx,ds
273F:93A6  BA 5D90                              mov     dx,5D90h
273F:93A9  E8 6F68                              call    read_entry              ; (0314)
273F:93AC  E8 E812                              call    load_string_resources
273F:93AF  C6 06 1456 FF                        mov     current_room_num, 0FFh
273F:93B4  0D 0001                              or      ax,1
273F:93B7  C3                                   retn
                                sub_228         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:8F5D, 939E
                                ;��������������������������������������������������������������������������

273F:93B8                       sub_230         proc    near
                                                assume  ds:seg_code
273F:93B8  A1 9832                              mov     ax, room_number
273F:93BB  A3 554F                              mov     data_342,ax             ; (273F:554F=8BDDh)
273F:93BE  E8 80E1                              call    sub_45                  ; (14A2)
273F:93C1  A1 4CF8                              mov     ax, data_811
273F:93C4  A3 4D00                              mov     buffer_segment, ax
273F:93C7  C3                                   retn
                                sub_230         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0104, 14E6, 3D65, 912F
                                ;��������������������������������������������������������������������������

273F:93C8              room_check_keypresses    proc    near
273F:93C8                       loc_1816:                                       ;  xref 273F:94D8
273F:93C8 E8 0155                              call    check_keypress                 ; (9520)
273F:93CB  74 3B                                jz      loc_ret_1820            ; Jump if zero
273F:93CD  E8 01B8                              call    sub_233                 ; (9588)
273F:93D0  74 36                                jz      loc_ret_1820            ; Jump if zero
273F:93D2  3C 41                                cmp     al,41h                  ; 'A'
273F:93D4  72 06                                jb      loc_1817                ; Jump if below
273F:93D6  3C 5B                                cmp     al,5Bh                  ; 'Z'+1
273F:93D8  73 02                                jae     loc_1817                ; Jump if above or =
273F:93DA  04 20                                add     al,20h                  ; Convert uppercase to lowercase
273F:93DC                       loc_1817:
273F:93DC  3C 70                                cmp     al,70h                  ; 'p' - Pause
273F:93DE  75 29                                jne     loc_1821                ; Jump if not equal
273F:93E0  A0 5660                              mov     al, music_status         
273F:93E3  50                                   push    ax
273F:93E4  80 26 5660 FB                        and     music_status, 0FBh
273F:93E9  E8 8B9F                              call    mouse_wait              ; (1F8B)
273F:93EC                       loc_1818:                                       ;  xref 273F:93FF
273F:93EC  E8 8823                              call    room_check_cursors
273F:93EF  E8 80C6                              call    set_vga_palette         ; (14B8)
273F:93F2  F6 06 11D5 FF                        test    mouse_buttons, 0FFh     ; (31E4:11D5=0)
273F:93F7  75 08                                jnz     loc_1819                ; Jump if not zero
273F:93F9  B4 06                                mov     ah,6
273F:93FB  B2 FF                                mov     dl,0FFh
273F:93FD  CD 21                                int     21h                     ; DOS Services  ah=function 06h
                                                                                ;  special char i/o, dl=subfunc
273F:93FF  74 EB                                jz      loc_1818                ; Jump if zero
273F:9401                       loc_1819:                                       ;  xref 273F:93F7
273F:9401  E8 8B87                              call    mouse_wait              ; (1F8B)
273F:9404  58                                   pop     ax
273F:9405  A2 5660                              mov     music_status, al

273F:9408                       loc_ret_1820:                                   ;  xref 273F:93CB, 93D0
273F:9408  C3                                   retn

273F:9409                       loc_1821:                                       ;  xref 273F:93DE
273F:9409  3C 71                                cmp     al,71h                  ; 'q' - Quit
273F:940B  75 0A                                jne     loc_1822                ; Jump if not equal
273F:940D  EB 08                                jmp     short loc_1822          ; (9417)
                                                                                ;* No entry point to code
273F:940F  B8 0000                              mov     ax,0
273F:9412  B6 01                                mov     dh,1
273F:9414  E8 AB8D                              call    display_message         ; (3FA4)
273F:9417                       loc_1822:
273F:9417  3C C8                                cmp     al, 0C8h                ; Up arrow?
273F:9419  75 07                                jne     loc_1823                ; Jump if not equal
273F:941B  33 C9                                xor     cx, cx
273F:941D  BA FFFE                              mov     dx, 0FFFEh
273F:9420  EB 7C                                jmp     short loc_1834          
273F:9422                       loc_1823:
273F:9422  3C D0                                cmp     al,0D0h                 ; Down arrow?
273F:9424  75 07                                jne     loc_1824                ; Jump if not equal
273F:9426  33 C9                                xor     cx,cx
273F:9428  BA 0002                              mov     dx,2
273F:942B  EB 71                                jmp     short loc_1834
273F:942D                       loc_1824:
273F:942D  3C CB                                cmp     al,0CBh                 ; Left arrow?
273F:942F  75 07                                jne     loc_1825                ; Jump if not equal
273F:9431  B9 FFFC                              mov     cx,0FFFCh
273F:9434  33 D2                                xor     dx,dx
273F:9436  EB 66                                jmp     short loc_1834
273F:9438                       loc_1825:
273F:9438  3C CD                                cmp     al,0CDh                 ; Right arrow?
273F:943A  75 07                                jne     loc_1826                ; Jump if not equal
273F:943C  B9 0004                              mov     cx,4
273F:943F  33 D2                                xor     dx,dx
273F:9441  EB 5B                                jmp     short loc_1834
273F:9443                       loc_1826:
273F:9443  3C C9                                cmp     al,0C9h
273F:9445  75 09                                jne     loc_1827                ; Jump if not equal
273F:9447  8B 0E 11D1                           mov     cx, mouse_x
273F:944B  BA 000A                              mov     dx,0Ah
273F:944E  EB 74                                jmp     short loc_1837          ; (94C4)
273F:9450                       loc_1827:                                       ;  xref 273F:9445
273F:9450  3C D1                                cmp     al,0D1h
273F:9452  75 09                                jne     loc_1828                ; Jump if not equal
273F:9454  8B 0E 11D1                           mov     cx, mouse_x
273F:9458  BA 00BE                              mov     dx,0BEh
273F:945B  EB 67                                jmp     short loc_1837          ; (94C4)
273F:945D                       loc_1828:                                       ;  xref 273F:9452
273F:945D  3C C7                                cmp     al,0C7h
273F:945F  75 09                                jne     loc_1829                ; Jump if not equal
273F:9461  B9 0008                              mov     cx,8
273F:9464  8B 16 11D3                           mov     dx, mouse_y
273F:9468  EB 5A                                jmp     short loc_1837          ; (94C4)
273F:946A                       loc_1829:                                       ;  xref 273F:945F
273F:946A  3C CF                                cmp     al,0CFh
273F:946C  75 09                                jne     loc_1830                ; Jump if not equal
273F:946E  B9 0138                              mov     cx,138h
273F:9471  8B 16 11D3                           mov     dx, mouse_y
273F:9475  EB 4D                                jmp     short loc_1837          ; (94C4)
273F:9477                       loc_1830:                                       ;  xref 273F:946C
273F:9477  3C 20                                cmp     al,20h                  ; ' '
273F:9479  75 0D                                jne     loc_1832                ; Jump if not equal
273F:947B                       loc_1831:                                       ;  xref 273F:948A
273F:947B  8B 0E 11D1                           mov     cx, mouse_x
273F:947F  8B 16 11D3                           mov     dx, mouse_y
273F:9483  BB 0001                              mov     bx,1
273F:9486  EB 3E                                jmp     short loc_1838          ; (94C6)
273F:9488                       loc_1832:                                       ;  xref 273F:9479
273F:9488  3C 1B                                cmp     al,1Bh
273F:948A  74 EF                                je      loc_1831                ; Jump if equal
273F:948C  3C 0D                                cmp     al,0Dh
273F:948E  75 0D                                jne     loc_ret_1833            ; Jump if not equal
273F:9490  8B 0E 11D1                           mov     cx, mouse_x
273F:9494  8B 16 11D3                           mov     dx, mouse_y
273F:9498  BB 0002                              mov     bx,2
273F:949B  EB 29                                jmp     short loc_1838          ; (94C6)

273F:949D                       loc_ret_1833:                                   ;  xref 273F:948E
273F:949D  C3                                   retn
273F:949E                       loc_1834:                                       ;  xref 273F:9420, 942B, 9436, 9441
273F:949E  F7 06 55A1 0003                      test    data_836,3              ; (31E4:55A1=0)
273F:94A4  74 0E                                jz      loc_1835                ; Jump if zero
273F:94A6  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:94A8  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:94AA  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
273F:94AC  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
273F:94AE  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:94B0  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
273F:94B2  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
273F:94B4                       loc_1835:                                       ;  xref 273F:94A4
273F:94B4  03 0E 11D1                           add     cx, mouse_x
273F:94B8  79 02                                jns     loc_1836                ; Jump if not sign
273F:94BA  33 C9                                xor     cx,cx                   ; Zero register
273F:94BC                       loc_1836:                                       ;  xref 273F:94B8
273F:94BC  03 16 11D3                           add     dx, mouse_y
273F:94C0  79 02                                jns     loc_1837                ; Jump if not sign
273F:94C2  33 D2                                xor     dx,dx                   ; Zero register
273F:94C4                       loc_1837:                                       ;  xref 273F:944E, 945B, 9468, 9475
                                                                                ;            94C0
273F:94C4  33 DB                                xor     bx,bx                   ; Zero register
273F:94C6                       loc_1838:                                       ;  xref 273F:9486, 949B
273F:94C6  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:94C8  0E E8 8A1C                           callf   mouse_handler           ; (1EE8)
273F:94CC  83 3E 11D3 08                        cmp     mouse_y, 8
273F:94D1  72 05                                jb      loc_1840                ; Jump if below
273F:94D3  C6 06 11D5 00                        mov     mouse_buttons, 0
273F:94D8                       loc_1840:                                       ;  xref 273F:94D1
273F:94D8  E9 FEED                              jmp     loc_1816                ; (93C8)
                       room_check_keypresses    endp


                                ;��������������������������������������������������������������������������
                                ;
                                ;                       External Entry Point
                                ;
                                ;��������������������������������������������������������������������������

273F:94DB                    keyboard_handler   proc    far                     ;  xref 273F:0703
273F:94DB  9C                                   pushf                           ; Push flags
                                                assume  ds:seg_code
273F:94DC  2E: FF 1E 04AE                       call    dword ptr cs:[old_kbd_int_proc]
273F:94E1  50                                   push    ax
273F:94E2  53                                   push    bx
273F:94E3  51                                   push    cx
273F:94E4  52                                   push    dx
273F:94E5  56                                   push    si
273F:94E6  57                                   push    di
273F:94E7  55                                   push    bp
273F:94E8  1E                                   push    ds
273F:94E9  06                                   push    es
273F:94EA  9C                                   pushf                           ; Push flags
273F:94EB  B8 31E4                              mov     ax,data_seg
273F:94EE  8E D8                                mov     ds,ax
273F:94F0  33 C0                                xor     ax,ax                   ; Zero register
273F:94F2  8E C0                                mov     es,ax
273F:94F4  26: A1 0417                          mov     ax,es:keybd_flags_1_    ; (0000:0417=0)
                                                assume  ds:data_seg
273F:94F8  A3 55A1                              mov     data_836,ax             ; (31E4:55A1=0)
273F:94FB  C6 06 55A0 01                        mov     byte ptr data_835,1     ; (31E4:55A0=0)
273F:9500  C7 06 F010 0000                      mov     timer_ticks, 0          ; (31E4:F010=0)
273F:9506  80 3E 1854 04                        cmp     cp_num_digits, 4
273F:950B  72 08                                jb      loc_1841                ; Jump if below
273F:950D  C6 06 1854 01                        mov     cp_num_digits, 1
273F:9512  E8 01A8                              call    sub_236                 ; (96BD)
273F:9515                       loc_1841:                                       ;  xref 273F:950B
273F:9515  9D                                   popf                            ; Pop flags
273F:9516  07                                   pop     es
273F:9517  1F                                   pop     ds
273F:9518  5D                                   pop     bp
273F:9519  5F                                   pop     di
273F:951A  5E                                   pop     si
273F:951B  5A                                   pop     dx
273F:951C  59                                   pop     cx
273F:951D  5B                                   pop     bx
273F:951E  58                                   pop     ax
273F:951F  CF                                   iret                            ; Interrupt return
                             keyboard_handler   endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:1FA1, 3B84, 3B92, 3BAF, 6A79, 6D66, 9247
                                ;                             93C8, 9D7B, AA0D
                                ;��������������������������������������������������������������������������

273F:9520                 check_keypress        proc    near
273F:9520  B4 06                                mov     ah,6
273F:9522  B2 FF                                mov     dl,0FFh
273F:9524  CD 21                                int     21h                     ; DOS Services  ah=function 06h
                                                                                ;  special char i/o, dl=subfunc
273F:9526  74 0D                                jz      loc_ret_1842            ; Jump if zero
273F:9528  0A C0                                or      al,al                   ; Zero ?
273F:952A  75 09                                jnz     loc_ret_1842            ; Jump if not zero
273F:952C  B4 06                                mov     ah,6
273F:952E  B2 FF                                mov     dl,0FFh
273F:9530  CD 21                                int     21h                     ; DOS Services  ah=function 06h
                                                                                ;  special char i/o, dl=subfunc
273F:9532  0C 80                                or      al,80h
273F:9534  C3                                   retn

273F:9535                       loc_ret_1842:                                   ;  xref 273F:9526, 952A
273F:9535  C3                                   retn
                          check_keypress        endp

273F:9536  48                   data_419        db      48h                     ;  xref 273F:95B5
273F:9537  95 E2 95 4F 95 F4                    db       95h,0E2h, 95h, 4Fh, 95h,0F4h
273F:953D  95 63 95 13 96 71                    db       95h, 63h, 95h, 13h, 96h, 71h
273F:9543  95 2C 96 00 00                       db       95h, 2Ch, 96h, 00h, 00h
273F:9548  3C 43 44 48 4E 3C                    db      '<CDHN<', 0
273F:954E  00
273F:954F  47 40 4F 4E 42 4A                    db      'G@ONBJ=<>FOJOC@RJH=', 0
273F:9555  3D 3C 3E 46 4F 4A
273F:955B  4F 43 40 52 4A 48
273F:9561  3D 00
273F:9563  46 44 47 47 4F 43                    db      'FDGGOC@AP>F@M', 0
273F:9569  40 41 50 3E 46 40
273F:956F  4D 00
273F:9571  40 3C 4E 40 42 4A                    db      '@<N@BJ?G@OOCDNRJMF'
273F:9577  3F 47 40 4F 4F 43
273F:957D  44 4E 52 4A 4D 46
273F:9583  00                                   db      0
273F:9584  0000                 data_421        dw      0                       ;  xref 273F:958A, 959F, 95AE, 95D2
273F:9586  0000                 data_422        dw      0                       ;  xref 273F:95A8, 95DB

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:93CD, 9D80
                                ;��������������������������������������������������������������������������

273F:9588                       sub_233         proc    near
273F:9588  2C 25                                sub     al,25h                  ; '%'
273F:958A  2E: 8B 1E 9584                       mov     bx,cs:data_421          ; (273F:9584=0)
273F:958F  0B DB                                or      bx,bx                   ; Zero ?
273F:9591  74 1B                                jz      loc_1844                ; Jump if zero
273F:9593  2E: 3A 07                            cmp     al,cs:[bx]
273F:9596  75 16                                jne     loc_1844                ; Jump if not equal
273F:9598  2E: F6 47 01 FF                      test    byte ptr cs:[bx+1],0FFh
273F:959D  74 09                                jz      loc_1843                ; Jump if zero
273F:959F  2E: 83 06 9584 01                    add     cs:data_421,1           ; (273F:9584=0)
273F:95A5  33 C0                                xor     ax,ax                   ; Zero register
273F:95A7  C3                                   retn
273F:95A8                       loc_1843:                                       ;  xref 273F:959D
273F:95A8  2E: A1 9586                          mov     ax,cs:data_422          ; (273F:9586=0)
273F:95AC  FF E0                                jmp     ax                      ;*Register jump
273F:95AE                       loc_1844:                                       ;  xref 273F:9591, 9596
273F:95AE  2E: C7 06 9584 0000                  mov     cs:data_421,0           ; (273F:9584=0)
273F:95B5 BE 9536                              mov     si,offset data_419      ; (273F:9536=48h)
273F:95B8                       loc_1845:                                       ;  xref 273F:95C7
273F:95B8 2E: 8B 1C                            mov     bx,cs:[si]
273F:95BB  0B DB                                or      bx,bx                   ; Zero ?
273F:95BD  74 0A                                jz      loc_1846                ; Jump if zero
273F:95BF  2E: 3A 07                            cmp     al,cs:[bx]
273F:95C2  74 0B                                je      loc_1847                ; Jump if equal
273F:95C4  83 C6 04                             add     si,4
273F:95C7  EB EF                                jmp     short loc_1845          ; (95B8)
273F:95C9                       loc_1846:                                       ;  xref 273F:95BD
273F:95C9  04 25                                add     al,25h                  ; '%'
273F:95CB  80 CC 01                             or      ah,1
273F:95CE  C3                                   retn
273F:95CF                       loc_1847:                                       ;  xref 273F:95C2
273F:95CF  83 C3 01                             add     bx,1
273F:95D2  2E: 89 1E 9584                       mov     cs:data_421,bx          ; (273F:9584=0)
273F:95D7  2E: 8B 44 02                         mov     ax,cs:[si+2]
273F:95DB  2E: A3 9586                          mov     cs:data_422,ax          ; (273F:9586=0)
273F:95DF  33 C0                                xor     ax,ax                   ; Zero register
273F:95E1  C3                                   retn
                                sub_233         endp

                                                                                ;* No entry point to code
273F:95E2  8B 1E 6CE8                           mov     bx,word ptr ds:[6CE8h]  ; (273F:6CE8=2507h)
273F:95E6  C7 47 F5 0004                        mov     word ptr [bx-0Bh],4
273F:95EB  8B 47 D9                             mov     ax,[bx-27h]
273F:95EE  89 47 D7                             mov     [bx-29h],ax
273F:95F1  33 C0                                xor     ax,ax                   ; Zero register
273F:95F3  C3                                   retn
                                                                                ;* No entry point to code
273F:95F4  B8 0083                              mov     ax,83h
273F:95F7  E8 A83A                              call    sequence_execute
273F:95FA  E8 003C                              call    set_ratpouch_to_room_29
273F:95FD  E8 0072                              call    switch_goewin_character
273F:9600  C7 06 BA17 03E8                      mov     character_hotspot, PLAYER_HOTSPOT_ID
273F:9606  BA 0026                              mov     dx, 26h
273F:9609  B9 0118                              mov     cx, 118h
273F:960C  BB 0118                              mov     bx, 118h
273F:960F  E8 ACD7                              call    character_change_room
273F:9612  C3                                   retn
                                                                                ;* No entry point to code
273F:9613  C7 06 BA99 0001                      mov     word ptr ds:data_489e,1 ; (273F:BA99=0)
273F:9619  C7 06 BA17 03E8                      mov     character_hotspot, PLAYER_HOTSPOT_ID
273F:961F  BA 0006                              mov     dx, 6
273F:9622  B9 0104                              mov     cx, 104h
273F:9625  BB 00C8                              mov     bx, 0C8h
273F:9628  E8 ACBE                              call    character_change_room
273F:962B  C3                                   retn
                                                                                ;* No entry point to code
273F:962C  B8 0083                              mov     ax,83h
273F:962F  E8 A802                              call    sequence_execute
273F:9632  B8 2911                              mov     ax,2911h
273F:9635  E8 A7FC                              call    sequence_execute
273F:9638  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:95FA
                                ;��������������������������������������������������������������������������

                     set_ratpouch_to_room_29    proc    near
273F:9639  C7 06 70BF 001D                      mov     [ratpouch_hotspot_rec+HS_ROOM_NUM], 29
273F:963F  C7 06 711F 001D                      mov     [ratpouch_hotspot_rec+HS_FIRST_ACTION_OFFSET+CURRENT_ACTION_ROOM_NUM], 29
273F:9645  C7 06 70C6 0106                      mov     [ratpouch_hotspot_rec+HS_X], 106h
273F:964B  C7 06 70C8 00E1                      mov     [ratpouch_hotspot_rec+HS_Y], 0E1h
273F:9651  8B 1E 70C4                           mov     bx, [ratpouch_hotspot_rec+HS_ANIM_OFFSET]
273F:9655  0B DB                                or      bx, bx
273F:9657  75 0A                                jnz     loc_1848
273F:9659  BB 03E9                              mov     bx, RATPOUCH_HOTSPOT_ID
273F:965C  E8 7667                              call    animation_load_entry
273F:965F  8B 1E 70C4                           mov     bx, [ratpouch_hotspot_rec+HS_ANIM_OFFSET]
273F:9663                       loc_1848:
273F:9663  C7 07 0106                           mov     word ptr [bx+ANIM_X], 106h
273F:9667  C7 47 02 00E1                        mov     word ptr [bx+ANIM_Y], 0E1h
273F:966C  C7 47 0E 001D                        mov     word ptr [bx+ANIM_ROOM_NUM], 29
273F:9671  C3                                   retn
                     set_ratpouch_to_room_29    endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:95FD
                                ;��������������������������������������������������������������������������

                   switch_goewin_character      proc    near
273F:9672 BE 7D21                              mov     si, offset goewin_hotspot_rec
273F:9675  8B 7C 0B                             mov     di, [si+HS_ANIM_OFFSET]
273F:9678  0B FF                                or      di, di
273F:967A  74 03                                jz      loc_1849                ; Skip if not an active anim
273F:967C  E8 7BF3                              call    animation_unload        ; Unload animation
273F:967F                       loc_1849:
273F:967F  C7 44 17 4F82                        mov     word ptr [si+HS_TICK_PROC], 4F82h
273F:9684  C7 44 21 5D28                        mov     word ptr [si+HS_PIXEL_OFFSET], 5D28h
273F:9689  81 0C 0800                           or      word ptr [si+HS_ACTIONS], 800h
273F:968D  BB 03EF                              mov     bx, 3EFh
273F:9690  E8 7633                              call    animation_load_entry
273F:9693 BE 7D21                              mov     si, offset goewin_hotspot_rec
273F:9696  8B 7C 0B                             mov     di, [si+HS_ANIM_OFFSET]
273F:9699  C7 44 06 0026                        mov     word ptr [si+HS_ROOM_NUM], 38
273F:969E  C7 45 0E 0026                        mov     word ptr [di+ANIM_ROOM_NUM], 38
273F:96A3  C7 44 17 7C24                        mov     word ptr [si+HS_TICK_PROC], 7C24h
273F:96A8  C7 45 11 7C24                        mov     word ptr [di+ANIM_TICK_PROC], 7C24h
273F:96AD  C7 44 66 0026                        mov     word ptr [si+HS_FIRST_ACTION_OFFSET+CURRENT_ACTION_ROOM_NUM], 38
273F:96B2  C7 44 64 4EBB                        mov     word ptr [si+HS_FIRST_ACTION_OFFSET+CURRENT_ACTION_SUPPORT_TABLE], 4EBBh
273F:96B7  C7 44 61 0000                        mov     word ptr [si+HS_ACTION_OFFSET],0
273F:96BC  C3                                   retn
                   switch_goewin_character      endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:9512
                                ;��������������������������������������������������������������������������

273F:96BD                       sub_236         proc    near
273F:96BD  8B EC                                mov     bp,sp
273F:96BF  8C C8                                mov     ax,cs
273F:96C1                       loc_1850:                                       ;  xref 273F:96DE
273F:96C1  81 7E 00 3BFF                        cmp     word ptr [bp],3BFFh
273F:96C6  72 13                                jb      loc_1851                ; Jump if below
273F:96C8  81 7E 00 3C13                        cmp     word ptr [bp],3C13h
273F:96CD  73 0C                                jae     loc_1851                ; Jump if above or =
273F:96CF  39 46 02                             cmp     [bp+2],ax
273F:96D2  75 07                                jne     loc_1851                ; Jump if not equal
273F:96D4  81 7E 06 3F8A                        cmp     word ptr [bp+6],3F8Ah
273F:96D9  74 0C                                je      loc_1852                ; Jump if equal
273F:96DB                       loc_1851:                                       ;  xref 273F:96C6, 96CD, 96D2
273F:96DB  83 C5 02                             add     bp,2
273F:96DE  73 E1                                jnc     loc_1850                ; Jump if carry=0
273F:96E0  C7 06 1856 96FA                      mov     cp_proc, offset sub_237
273F:96E6  C3                                   retn
273F:96E7                       loc_1852:                                       ;  xref 273F:96D9
273F:96E7  55                                   push    bp
273F:96E8  E8 000F                              call    sub_237                 ; (96FA)
273F:96EB  5D                                   pop     bp
273F:96EC  72 06                                jc      loc_1853                ; Jump if carry Set
273F:96EE  C7 46 00 3C53                        mov     word ptr [bp],3C53h
273F:96F3  C3                                   retn
273F:96F4                       loc_1853:                                       ;  xref 273F:96EC
273F:96F4  C7 46 00 3C13                        mov     word ptr [bp],3C13h
273F:96F9  C3                                   retn
                                sub_236         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:96E8
                                ;��������������������������������������������������������������������������

273F:96FA                       sub_237         proc    near
273F:96FA  A1 B156                              mov     ax,ds:data_449e         ; (273F:B156=0)
273F:96FD  33 D2                                xor     dx,dx                   ; Zero register
273F:96FF  F7 36 1837                           div     word ptr ds:[1837h]     ; (273F:1837=374h) ax,dxrem=dx:ax/data
273F:9703  8B F8                                mov     di,ax
273F:9705  A1 B1D1                              mov     ax,ds:data_453e         ; (273F:B1D1=0)
273F:9708  33 D2                                xor     dx,dx                   ; Zero register
273F:970A  F7 36 1849                           div     word ptr ds:[1849h]     ; (273F:1849=7465h) ax,dxrem=dx:ax/dat
273F:970E  B9 000A                              mov     cx,0Ah
273F:9711  F7 E1                                mul     cx                      ; dx:ax = reg * ax
273F:9713  8B E8                                mov     bp,ax
273F:9715  A1 B1FA                              mov     ax,ds:data_454e         ; (273F:B1FA=0)
273F:9718  33 D2                                xor     dx,dx                   ; Zero register
273F:971A  F7 36 1849                           div     word ptr ds:[1849h]     ; (273F:1849=7465h) ax,dxrem=dx:ax/dat
273F:971E  03 C5                                add     ax,bp
273F:9720  3A 85 55A3                           cmp     al,byte ptr ds:[55A3h][di] ; (273F:55A3=0Dh)
273F:9724  75 34                                jne     loc_1854                ; Jump if not equal
273F:9726  A1 B17F                              mov     ax,ds:data_452e         ; (273F:B17F=29h)
273F:9729  33 D2                                xor     dx,dx                   ; Zero register
273F:972B  F7 36 1837                           div     word ptr ds:[1837h]     ; (273F:1837=374h) ax,dxrem=dx:ax/data
273F:972F  8B F8                                mov     di,ax
273F:9731  A1 B223                              mov     ax,ds:data_455e         ; (273F:B223=0)
273F:9734  33 D2                                xor     dx,dx                   ; Zero register
273F:9736  F7 36 1849                           div     word ptr ds:[1849h]     ; (273F:1849=7465h) ax,dxrem=dx:ax/dat
273F:973A  B9 000A                              mov     cx,0Ah
273F:973D  F7 E1                                mul     cx                      ; dx:ax = reg * ax
273F:973F  8B E8                                mov     bp,ax
273F:9741  A1 B24C                              mov     ax,ds:data_456e         ; (273F:B24C=0)
273F:9744  33 D2                                xor     dx,dx                   ; Zero register
273F:9746  F7 36 1849                           div     word ptr ds:[1849h]     ; (273F:1849=7465h) ax,dxrem=dx:ax/dat
273F:974A  03 C5                                add     ax,bp
273F:974C  3A 85 55A3                           cmp     al,byte ptr ds:[55A3h][di] ; (273F:55A3=0Dh)
273F:9750  75 08                                jne     loc_1854                ; Jump if not equal
273F:9752  C7 06 86DF 001C                      mov     word ptr ds:[86DFh],1Ch ; (273F:86DF=6C7h)
273F:9758  F8                                   clc                             ; Clear carry flag
273F:9759  C3                                   retn
273F:975A                       loc_1854:                                       ;  xref 273F:9724, 9750
273F:975A  F9                                   stc                             ; Set carry flag
273F:975B  C3                                   retn
                                sub_237         endp

273F:975C                       loc_1855:                                       ;  xref 273F:00F2, 9780
273F:975C E8 060B                              call    sub_244                 ; (9D6A)
273F:975F  E8 058B                              call    sub_243                 ; (9CED)
273F:9762  E8 AA31                              call    animation_tick
273F:9765  FF 16 0752                           call    [show_compressed_screen_proc]
273F:9769  E8 7DA2                              call    room_add_animations
273F:976C  E8 B0EB                              call    sequence_delay_check
273F:976F  FF 16 0744                           call    word ptr [show_screen_proc]
273F:9773  83 3E 6CE4 2A                        cmp     word ptr ds:[6CE4h],2Ah ; (273F:6CE4=0C18Bh)
273F:9778  74 08                                je      loc_1856                ; Jump if equal
273F:977A  B8 0004                              mov     ax,4
273F:977D  E8 B269                              call    sleep                   ; (49E9)
273F:9780  EB DA                                jmp     short loc_1855          ; (975C)
273F:9782                       loc_1856:                                       ;  xref 273F:9778
273F:9782  E9 6970                              jmp     loc_13                  ; (00F5)

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                               seq_method_17    proc    near
273F:9785  E8 002D                              call    sub_238                 ; (97B5)
273F:9788  C7 44 F9 975A                        mov     word ptr [si-7],975Ah
273F:978D  C7 44 D3 0445                        mov     word ptr [si-2Dh],445h
273F:9792  C7 44 0D 019A                        mov     word ptr [si+0Dh],19Ah
273F:9797  C7 44 DB 019A                        mov     word ptr [si-25h],19Ah
273F:979C  C7 05 019A                           mov     word ptr [di],19Ah
273F:97A0  C7 44 0F 0108                        mov     word ptr [si+0Fh],108h
273F:97A5  C7 44 DD 0108                        mov     word ptr [si-23h],108h
273F:97AA  C7 45 02 0108                        mov     word ptr [di+2],108h
273F:97AF  C6 06 B176 60                        mov     slot0_col_offset, 60h   ; Player's colour offset
273F:97B4  C3                                   retn
                               seq_method_17    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:9785
                                ;��������������������������������������������������������������������������

273F:97B5                       sub_238         proc    near
273F:97B5  B8 0040                              mov     ax,40h
273F:97B8  8E C0                                mov     es,ax
273F:97BA  26: 80 0E 0017 20                    or      byte ptr es:keybd_flags_1,20h ; (0040:0017=0) ' '
273F:97C0 BE 6CEF                              mov     si, offset player_hotspot_rec
273F:97C3  8B 7C 0B                             mov     di,[si+0Bh]
273F:97C6  C6 45 1D 00                          mov     byte ptr [di+1Dh],0
273F:97CA  C6 45 28 10                          mov     byte ptr [di+28h],10h
273F:97CE  C7 45 11 98B6                        mov     word ptr [di+11h],98B6h
273F:97D3  C7 44 F5 0000                        mov     word ptr [si-0Bh],0
273F:97D8  C7 44 21 55F6                        mov     word ptr [si+21h],55F6h
273F:97DD  C7 44 11 0030                        mov     word ptr [si+11h],30h
273F:97E2  C7 45 04 0030                        mov     word ptr [di+4],30h
273F:97E7  C7 44 13 0035                        mov     word ptr [si+13h],35h
273F:97EC  C7 45 06 0035                        mov     word ptr [di+6],35h
273F:97F1  C7 44 0D 0186                        mov     word ptr [si+0Dh],186h
273F:97F6  C7 44 DB 0186                        mov     word ptr [si-25h],186h
273F:97FB  C7 05 0186                           mov     word ptr [di],186h
273F:97FF  C7 44 0F 00DE                        mov     word ptr [si+0Fh],0DEh
273F:9804  C7 44 DD 00DE                        mov     word ptr [si-23h],0DEh
273F:9809  C7 45 02 00DE                        mov     word ptr [di+2],0DEh
273F:980E  C7 44 F7 0DC8                        mov     word ptr [si-9],0DC8h
273F:9813  C7 44 F9 96AD                        mov     word ptr [si-7],96ADh
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 360

273F:9818  C3                                   retn
                                sub_238         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:98BE, 9A46, 9A98
                                ;��������������������������������������������������������������������������

273F:9819                       sub_239         proc    near
273F:9819  8B 44 DB                             mov     ax,[si-25h]
273F:981C  8B 4F DB                             mov     cx,[bx-25h]
273F:981F  3B C1                                cmp     ax,cx
273F:9821  73 01                                jae     loc_1857                ; Jump if above or =
273F:9823  91                                   xchg    cx,ax
273F:9824                       loc_1857:                                       ;  xref 273F:9821
273F:9824  2B C1                                sub     ax,cx
273F:9826  25 FFF8                              and     ax,0FFF8h
273F:9829  89 44 EF                             mov     [si-11h],ax
273F:982C  C3                                   retn
                                sub_239         endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                             sub_unknown1       proc    near
273F:982D  B8 2273                              mov     ax, 2273h
273F:9830  8E C0                                mov     es, ax
273F:9832  8B 5C F9                             mov     bx, [si-7]
273F:9835  E8 E1 FF                             call    sub_239
273F:9838  8B 5C F7                             mov     bx, [si-9]
273F:983B  0B DB                                or      bx, bx
273F:983D  75 3B                                jnz     loc_1858_2
273F:983F  83 7C EF 20                          cmp     word ptr [si-11], 20h
273F:9843  75 3F                                jnz     loc_1859_2
273F:9845  8B 44 F5                             mov     ax, [si-0Bh]
273F:9848  F7 64 E5                             mul     word ptr [SI-1Bh]
273F:984B  03 44 EB                             add     ax, [si-15h]
273F:984E  8B D8                                mov     bx, ax
273F:9850  A1 DC 6C                             mov     ax, [6CDCh]
273F:9853                       loc_1858:                                       ;  xref 273F:9860
273F:9853  83 C3 04                             add     bx,4
273F:9856  26: F7 07 FFFF                       test    word ptr es:[bx],0FFFFh
273F:985B  74 1F                                jz      loc_1859                ; Jump if zero
273F:985D  26: 3B 07                            cmp     ax,es:[bx]
273F:9860  75 F1                                jne     loc_1858                ; Jump if not equal
273F:9862  26: 8B 47 02                         mov     ax,es:[bx+2]
273F:9866  8B 5C E7                             mov     bx,[si-19h]
273F:9869  50                                   push    ax
273F:986A  E8 001F                              call    sub_240                 ; (988C)
273F:986D  5A                                   pop     dx
273F:986E  0B C0                                or      ax,ax                   ; Zero ?
273F:9870  74 0A                                jz      loc_1859                ; Jump if zero
273F:9872  3C FF                                cmp     al,0FFh
273F:9874  75 2F                                jne     loc_1860                ; Jump if not equal
273F:9876  8B C2                                mov     ax,dx
273F:9878  EB 2B                                jmp     short loc_1860          ; (98A5)
273F:987A                     loc_1858_2:
273F:987A  EB 66                                jmp     short loc_1863          ; (98E2)
273F:987C                       loc_1859:                                       ;  xref 273F:985B, 9870
273F:987C  8B 5C E3                             mov     bx,[si-1Dh]
273F:987F  E8 000A                              call    sub_240                 ; (988C)
273F:9882  EB 21                                jmp     short loc_1860          ; (98A5)
273F:9884                     loc_1859_2:                                                                                ;* No entry point to code
273F:9884  8B 5C E9                             mov     bx,[si-17h]
273F:9887  E8 0002                              call    sub_240                 ; (988C)
273F:988A  EB 19                                jmp     short loc_1860          ; (98A5)
                             sub_unknown1       endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:986A, 987F, 9887
                                ;��������������������������������������������������������������������������

273F:988C                       sub_240         proc    near
273F:988C  E8 ABDD                              call    random
273F:988F  BA 0020                              mov     dx,20h
273F:9892  F7 E2                                mul     dx                      ; dx:ax = reg * ax
273F:9894  8B 44 F5                             mov     ax,[si-0Bh]
273F:9897  B1 05                                mov     cl,5
273F:9899  D3 E0                                shl     ax,cl                   ; Shift w/zeros fill
273F:989B  03 D8                                add     bx,ax
273F:989D  03 DA                                add     bx,dx
273F:989F  26: 8A 07                            mov     al,es:[bx]
273F:98A2  32 E4                                xor     ah,ah                   ; Zero register
273F:98A4  C3                                   retn
                                sub_240         endp

273F:98A5                       loc_1860:                                       ;  xref 273F:9874, 9878, 9882, 988A
273F:98A5  89 44 ED                             mov     [si-13h],ax
273F:98A8  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:98AA  05 08B8                              add     ax,8B8h
273F:98AD  8B D8                                mov     bx,ax
273F:98AF  26: 8B 07                            mov     ax,es:[bx]
273F:98B2  89 44 F7                             mov     [si-9],ax

273F:98B5                       loc_ret_1861:                                   ;  xref 273F:98D7
273F:98B5  C3                                   retn
                                                                                ;* No entry point to code
273F:98B6  B8 435F                              mov     ax,seg_d
273F:98B9  8E C0                                mov     es,ax
273F:98BB  8B 5C F9                             mov     bx,[si-7]
273F:98BE  E8 FF58                              call    sub_239                 ; (9819)
273F:98C1  8B 5C F7                             mov     bx,[si-9]
273F:98C4  0B DB                                or      bx,bx                   ; Zero ?
273F:98C6  75 1A                                jnz     loc_1863                ; Jump if not zero
273F:98C8                       loc_1862:                                       ;  xref 273F:9A81
273F:98C8 8B 44 F3                             mov     ax,[si-0Dh]
273F:98CB  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:98CD  05 0DAA                              add     ax, offset num_horiz_rects
273F:98D0  8B D8                                mov     bx,ax
273F:98D2  26: 8B 1F                            mov     bx,es:[bx]
273F:98D5  0B DB                                or      bx,bx                   ; Zero ?
273F:98D7  74 DC                                jz      loc_ret_1861            ; Jump if zero
273F:98D9  8B 44 F3                             mov     ax,[si-0Dh]
273F:98DC  89 44 ED                             mov     [si-13h],ax
273F:98DF  89 5C F7                             mov     [si-9],bx
273F:98E2                       loc_1863:                                       ;  xref 273F:987A, 98C6, 9958, 9B06
                                                                                ;            9B21, 9B48, 9B5A, 9B62
                                                                                ;            9B6E, 9B99, 9BFF, 9C03
                                                                                ;            9C49, 9C53, 9C62, 9C76
                                                                                ;            9CDE
273F:98E2 26: 8B 07                            mov     ax,es:[bx]
273F:98E5  83 C3 02                             add     bx,2
273F:98E8  F6 C4 80                             test    ah,80h
273F:98EB  74 6D                                jz      loc_1864                ; Jump if zero
273F:98ED  3D FFFA                              cmp     ax,0FFFAh
273F:98F0  74 6A                                je      loc_1865                ; Jump if equal
273F:98F2  3D FFF9                              cmp     ax,0FFF9h
273F:98F5  74 68                                je      loc_1866                ; Jump if equal
273F:98F7  3D FFEB                              cmp     ax,0FFEBh
273F:98FA  74 66                                je      loc_1867                ; Jump if equal
273F:98FC  3D FFFB                              cmp     ax,0FFFBh
273F:98FF  74 64                                je      loc_1868                ; Jump if equal
273F:9901  3D FFF8                              cmp     ax,0FFF8h
273F:9904  74 62                                je      loc_1869                ; Jump if equal
273F:9906  3D FFFF                              cmp     ax,0FFFFh
273F:9909  74 60                                je      loc_1870                ; Jump if equal
273F:990B  3D FFFE                              cmp     ax,0FFFEh
273F:990E  74 5E                                je      loc_1871                ; Jump if equal
273F:9910  3D FFF7                              cmp     ax,0FFF7h
273F:9913  74 5C                                je      loc_1872                ; Jump if equal
273F:9915  3D FFF6                              cmp     ax,0FFF6h
273F:9918  74 5A                                je      loc_1873                ; Jump if equal
273F:991A  3D FFF4                              cmp     ax,0FFF4h
273F:991D  74 58                                je      loc_1874                ; Jump if equal
273F:991F  3D FFF2                              cmp     ax,0FFF2h
273F:9922  74 56                                je      loc_1875                ; Jump if equal
273F:9924  3D FFF1                              cmp     ax,0FFF1h
273F:9927  74 54                                je      loc_1876                ; Jump if equal
273F:9929  3D FFF0                              cmp     ax,0FFF0h
273F:992C  74 52                                je      loc_1877                ; Jump if equal
273F:992E  3D FFEF                              cmp     ax,0FFEFh
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 363

273F:9931  74 50                                je      loc_1878                ; Jump if equal
273F:9933  3D FFEE                              cmp     ax,0FFEEh
273F:9936  74 4E                                je      loc_1879                ; Jump if equal
273F:9938  3D FFED                              cmp     ax,0FFEDh
273F:993B  74 4C                                je      loc_1880                ; Jump if equal
273F:993D  3D FFEC                              cmp     ax,0FFECh
273F:9940  74 4A                                je      loc_1881                ; Jump if equal
273F:9942  3D FFEA                              cmp     ax,0FFEAh
273F:9945  74 00                                jz      $+2                     ; delay for I/O
273F:9947  53                                   push    bx
273F:9948  56                                   push    si
273F:9949  57                                   push    di
273F:994A  06                                   push    es
273F:994B  26: 8B 1F                            mov     bx,es:[bx]
273F:994E  E8 06AC                              call    play_sound                 ; (9FFD)
273F:9951  07                                   pop     es
273F:9952  5F                                   pop     di
273F:9953  5E                                   pop     si
273F:9954  5B                                   pop     bx
273F:9955  83 C3 02                             add     bx,2
273F:9958  EB 88                                jmp     short loc_1863          ; (98E2)
273F:995A                       loc_1864:                                       ;  xref 273F:98EB
273F:995A  EB 33                                jmp     short loc_1882          ; (998F)
273F:995C                       loc_1865:                                       ;  xref 273F:98F0
273F:995C  E9 00C3                              jmp     loc_1889                ; (9A22)
273F:995F                       loc_1866:                                       ;  xref 273F:98F5
273F:995F  E9 0164                              jmp     loc_1897                ; (9AC6)
273F:9962                       loc_1867:                                       ;  xref 273F:98FA
273F:9962  E9 011F                              jmp     loc_1894                ; (9A84)
273F:9965                       loc_1868:                                       ;  xref 273F:98FF
273F:9965  E9 00A6                              jmp     loc_1887                ; (9A0E)
273F:9968                       loc_1869:                                       ;  xref 273F:9904
273F:9968  E9 0198                              jmp     loc_1900                ; (9B03)
273F:996B                       loc_1870:                                       ;  xref 273F:9909
273F:996B  E9 019B                              jmp     loc_1901                ; (9B09)
273F:996E                       loc_1871:                                       ;  xref 273F:990E
273F:996E  E9 01B3                              jmp     loc_1904                ; (9B24)
273F:9971                       loc_1872:                                       ;  xref 273F:9913
273F:9971  E9 01C5                              jmp     loc_1905                ; (9B39)
273F:9974                       loc_1873:                                       ;  xref 273F:9918
273F:9974  E9 01D4                              jmp     loc_1906                ; (9B4B)
273F:9977                       loc_1874:                                       ;  xref 273F:991D
273F:9977  E9 01E3                              jmp     loc_1907                ; (9B5D)
273F:997A                       loc_1875:                                       ;  xref 273F:9922
273F:997A  E9 01E8                              jmp     loc_1908                ; (9B65)
273F:997D                       loc_1876:                                       ;  xref 273F:9927
273F:997D  E9 01F1                              jmp     loc_1909                ; (9B71)
273F:9980                       loc_1877:                                       ;  xref 273F:992C
273F:9980  E9 0219                              jmp     loc_1911                ; (9B9C)
273F:9983                       loc_1878:                                       ;  xref 273F:9931
273F:9983  E9 02D0                              jmp     loc_1916                ; (9C56)
273F:9986                       loc_1879:                                       ;  xref 273F:9936
273F:9986  E9 02DC                              jmp     loc_1917                ; (9C65)
273F:9989                       loc_1880:                                       ;  xref 273F:993B
273F:9989  E9 0355                              jmp     loc_1920                ; (9CE1)
273F:998C                       loc_1881:                                       ;  xref 273F:9940
273F:998C  E9 02EA                              jmp     loc_1918                ; (9C79)
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 364

273F:998F                       loc_1882:                                       ;  xref 273F:995A
273F:998F  E8 0059                              call    sub_241                 ; (99EB)
273F:9992  26: 8B 07                            mov     ax,es:[bx]
273F:9995  03 44 0D                             add     ax,[si+0Dh]
273F:9998  3D 00A0                              cmp     ax,0A0h
273F:999B  73 05                                jae     loc_1883                ; Jump if above or =
273F:999D  B8 00A0                              mov     ax,0A0h
273F:99A0  EB 08                                jmp     short loc_1884          ; (99AA)
273F:99A2                       loc_1883:                                       ;  xref 273F:999B
273F:99A2  3D 0170                              cmp     ax,170h
273F:99A5  72 03                                jb      loc_1884                ; Jump if below
273F:99A7  B8 0170                              mov     ax,170h
273F:99AA                       loc_1884:                                       ;  xref 273F:99A0, 99A5
273F:99AA  89 44 0D                             mov     [si+0Dh],ax
273F:99AD  89 05                                mov     [di],ax
273F:99AF  26: 8B 47 02                         mov     ax,es:[bx+2]
273F:99B3  01 44 0F                             add     [si+0Fh],ax
273F:99B6  01 45 02                             add     [di+2],ax
273F:99B9  8B 44 D3                             mov     ax,[si-2Dh]
273F:99BC  0B C0                                or      ax,ax                   ; Zero ?
273F:99BE  74 24                                jz      loc_1885                ; Jump if zero
273F:99C0  57                                   push    di
273F:99C1  56                                   push    si
273F:99C2  E8 7325                              call    get_room_resource_pointer2
273F:99C5  8B 7C 0B                             mov     di,[si+0Bh]
273F:99C8  26: 8B 47 04                         mov     ax,es:[bx+4]
273F:99CC  E8 001C                              call    sub_241                 ; (99EB)
273F:99CF  5E                                   pop     si
273F:99D0  26: 8B 47 06                         mov     ax,es:[bx+6]
273F:99D4  03 44 0D                             add     ax,[si+0Dh]
273F:99D7  89 05                                mov     [di],ax
273F:99D9  26: 8B 47 08                         mov     ax,es:[bx+8]
273F:99DD  03 44 0F                             add     ax,[si+0Fh]
273F:99E0  89 45 02                             mov     [di+2],ax
273F:99E3  5F                                   pop     di
273F:99E4                       loc_1885:                                       ;  xref 273F:99BE
273F:99E4  83 C3 0A                             add     bx,0Ah
273F:99E7  89 5C F7                             mov     [si-9],bx
273F:99EA  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:998F, 99CC
                                ;��������������������������������������������������������������������������

273F:99EB                       sub_241         proc    near
273F:99EB                       loc_1886:                                       ;  xref 273F:9A7E, 9AB4, 9AC0, 9B00
273F:99EB 53                                   push    bx
273F:99EC  8B 5C 21                             mov     bx,[si+21h]
273F:99EF  F7 67 07                             mul     word ptr [bx+7]         ; dx:ax = data * ax
273F:99F2  89 45 08                             mov     [di+8],ax
273F:99F5  5B                                   pop     bx
273F:99F6  C3                                   retn
                                sub_241         endp


           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 365

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:9A5C, 9A84, 9AD9
                                ;��������������������������������������������������������������������������

273F:99F7                       sub_242         proc    near
273F:99F7  56                                   push    si
273F:99F8  57                                   push    di
273F:99F9  8B 44 D3                             mov     ax,[si-2Dh]
273F:99FC  E8 72EB                              call    get_room_resource_pointer2
273F:99FF  8B 7C 0B                             mov     di,[si+0Bh]
273F:9A02  C7 05 0060                           mov     word ptr [di],60h
273F:9A06  C7 45 02 0068                        mov     word ptr [di+2],68h
273F:9A0B  5F                                   pop     di
273F:9A0C  5E                                   pop     si
273F:9A0D  C3                                   retn
                                sub_242         endp

273F:9A0E                       loc_1887:                                       ;  xref 273F:9965, 9A33, 9A5A, 9AC3
273F:9A0E 33 C0                                xor     ax,ax                   ; Zero register
273F:9A10  89 44 ED                             mov     [si-13h],ax
273F:9A13  89 44 F7                             mov     [si-9],ax
273F:9A16 81 FE 6CEF                           cmp     si, offset player_hotspot_rec
273F:9A1A  75 05                                jne     loc_ret_1888            ; Jump if not equal
273F:9A1C  C6 06 11D5 00                        mov     mouse_buttons, 0

273F:9A21                       loc_ret_1888:                                   ;  xref 273F:9A1A
273F:9A21  C3                                   retn
273F:9A22                       loc_1889:                                       ;  xref 273F:995C
273F:9A22  83 7C F3 05                          cmp     word ptr [si-0Dh],5
273F:9A26  74 06                                je      loc_1890                ; Jump if equal
273F:9A28  83 7C F3 0A                          cmp     word ptr [si-0Dh],0Ah
273F:9A2C  75 53                                jne     loc_1893                ; Jump if not equal
273F:9A2E                       loc_1890:                                       ;  xref 273F:9A26
273F:9A2E  81 7C 0D 00A0                        cmp     word ptr [si+0Dh],0A0h
273F:9A33  72 D9                                jb      loc_1887                ; Jump if below
273F:9A35  83 6C 0D 04                          sub     word ptr [si+0Dh],4
273F:9A39  83 2D 04                             sub     word ptr [di],4
273F:9A3C  8B 44 0D                             mov     ax,[si+0Dh]
273F:9A3F  89 44 DB                             mov     [si-25h],ax
273F:9A42  53                                   push    bx
273F:9A43  8B 5C F9                             mov     bx,[si-7]
273F:9A46  E8 FDD0                              call    sub_239                 ; (9819)
273F:9A49  5B                                   pop     bx
273F:9A4A  3D 0020                              cmp     ax,20h
273F:9A4D  73 0D                                jae     loc_1891                ; Jump if above or =
273F:9A4F  83 44 0D 04                          add     word ptr [si+0Dh],4
273F:9A53  83 44 DB 04                          add     word ptr [si-25h],4
273F:9A57  83 05 04                             add     word ptr [di],4
273F:9A5A  EB B2                                jmp     short loc_1887          ; (9A0E)
273F:9A5C                       loc_1891:                                       ;  xref 273F:9A4D
273F:9A5C  E8 FF98                              call    sub_242                 ; (99F7)
273F:9A5F  8B 44 0D                             mov     ax,[si+0Dh]
273F:9A62  89 44 DB                             mov     [si-25h],ax
273F:9A65  8B 44 0F                             mov     ax,[si+0Fh]
273F:9A68  89 44 DD                             mov     [si-23h],ax
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 366

273F:9A6B  8B 44 F1                             mov     ax,[si-0Fh]
273F:9A6E  05 0001                              add     ax,1
273F:9A71  3D 0008                              cmp     ax,8
273F:9A74  75 02                                jne     loc_1892                ; Jump if not equal
273F:9A76  33 C0                                xor     ax,ax                   ; Zero register
273F:9A78                       loc_1892:                                       ;  xref 273F:9A74
273F:9A78  89 44 F1                             mov     [si-0Fh],ax
273F:9A7B  89 5C F7                             mov     [si-9],bx
273F:9A7E  E9 FF6A                              jmp     loc_1886                ; (99EB)
273F:9A81                       loc_1893:                                       ;  xref 273F:9A2C, 9AD0
273F:9A81  E9 FE44                              jmp     loc_1862                ; (98C8)
273F:9A84                       loc_1894:                                       ;  xref 273F:9962
273F:9A84  E8 FF70                              call    sub_242                 ; (99F7)
273F:9A87  83 44 0D 04                          add     word ptr [si+0Dh],4
273F:9A8B  83 05 04                             add     word ptr [di],4
273F:9A8E  8B 44 0D                             mov     ax,[si+0Dh]
273F:9A91  89 44 DB                             mov     [si-25h],ax
273F:9A94  53                                   push    bx
273F:9A95  8B 5C F9                             mov     bx,[si-7]
273F:9A98  E8 FD7E                              call    sub_239                 ; (9819)
273F:9A9B  5B                                   pop     bx
273F:9A9C  3D 0020                              cmp     ax,20h
273F:9A9F  73 16                                jae     loc_1895                ; Jump if above or =
273F:9AA1  83 6C 0D 04                          sub     word ptr [si+0Dh],4
273F:9AA5  83 2D 04                             sub     word ptr [di],4
273F:9AA8  83 6C DB 04                          sub     word ptr [si-25h],4
273F:9AAC  C7 44 F7 0000                        mov     word ptr [si-9],0
273F:9AB1  B8 0008                              mov     ax,8
273F:9AB4  E9 FF34                              jmp     loc_1886                ; (99EB)
273F:9AB7                       loc_1895:                                       ;  xref 273F:9A9F
273F:9AB7  26: 8B 07                            mov     ax,es:[bx]
273F:9ABA  83 C3 02                             add     bx,2
273F:9ABD  89 5C F7                             mov     [si-9],bx
273F:9AC0  E9 FF28                              jmp     loc_1886                ; (99EB) Register jump
273F:9AC3                       loc_1896:                                       ;  xref 273F:9AD7
273F:9AC3  E9 FF48                              jmp     loc_1887                ; (9A0E)
273F:9AC6                       loc_1897:                                       ;  xref 273F:995F
273F:9AC6  83 7C F3 09                          cmp     word ptr [si-0Dh],9
273F:9ACA  74 06                                je      loc_1898                ; Jump if equal
273F:9ACC  83 7C F3 0E                          cmp     word ptr [si-0Dh],0Eh
273F:9AD0  75 AF                                jne     loc_1893                ; Jump if not equal
273F:9AD2                       loc_1898:                                       ;  xref 273F:9ACA
273F:9AD2  81 7C 0D 0170                        cmp     word ptr [si+0Dh],170h
273F:9AD7  73 EA                                jae     loc_1896                ; Jump if above or =
273F:9AD9  E8 FF1B                              call    sub_242                 ; (99F7)
273F:9ADC  83 44 0D 04                          add     word ptr [si+0Dh],4
273F:9AE0  83 05 04                             add     word ptr [di],4
273F:9AE3  8B 44 0D                             mov     ax,[si+0Dh]
273F:9AE6  89 44 DB                             mov     [si-25h],ax
273F:9AE9  8B 44 0F                             mov     ax,[si+0Fh]
273F:9AEC  89 44 DD                             mov     [si-23h],ax
273F:9AEF  8B 44 F1                             mov     ax,[si-0Fh]
273F:9AF2  2D 0001                              sub     ax,1
273F:9AF5  73 03                                jnc     loc_1899                ; Jump if carry=0
273F:9AF7  B8 0007                              mov     ax,7
273F:9AFA                       loc_1899:                                       ;  xref 273F:9AF5
273F:9AFA  89 44 F1                             mov     [si-0Fh],ax
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 367

273F:9AFD  89 5C F7                             mov     [si-9],bx
273F:9B00  E9 FEE8                              jmp     loc_1886                ; (99EB)
273F:9B03                       loc_1900:                                       ;  xref 273F:9968
273F:9B03  26: 8B 1F                            mov     bx,es:[bx]
273F:9B06  E9 FDD9                              jmp     loc_1863                ; (98E2)
273F:9B09                       loc_1901:                                       ;  xref 273F:996B
273F:9B09  26: 8B 07                            mov     ax,es:[bx]
273F:9B0C  83 C3 02                             add     bx,2
273F:9B0F  89 44 21                             mov     [si+21h],ax
273F:9B12                       loc_1902:                                       ;  xref 273F:9B37
273F:9B12 53                                   push    bx
273F:9B13  8B D8                                mov     bx,ax
273F:9B15  8B 47 03                             mov     ax,[bx+3]
273F:9B18  5B                                   pop     bx
273F:9B19  89 45 0A                             mov     [di+0Ah],ax
273F:9B1C  C7 45 08 0000                        mov     word ptr [di+8],0
273F:9B21                       loc_1903:                                       ;  xref 273F:9B42, 9B54, 9B85
273F:9B21  E9 FDBE                              jmp     loc_1863                ; (98E2)
273F:9B24                       loc_1904:                                       ;  xref 273F:996E
273F:9B24  26: 8B 07                            mov     ax,es:[bx]
273F:9B27  83 C3 02                             add     bx,2
273F:9B2A  D1 E0                                shl     ax,1                    ; Shift w/zeros fill
273F:9B2C  03 44 D1                             add     ax,[si-2Fh]
273F:9B2F  93                                   xchg    bx,ax
273F:9B30  26: 8B 1F                            mov     bx,es:[bx]
273F:9B33  89 5C 21                             mov     [si+21h],bx
273F:9B36  93                                   xchg    bx,ax
273F:9B37  EB D9                                jmp     short loc_1902          ; (9B12)
273F:9B39                       loc_1905:                                       ;  xref 273F:9971
273F:9B39  26: 8B 07                            mov     ax,es:[bx]
273F:9B3C  83 C3 04                             add     bx,4
273F:9B3F  3B 44 F3                             cmp     ax,[si-0Dh]
273F:9B42  75 DD                                jne     loc_1903                ; Jump if not equal
273F:9B44  26: 8B 5F FE                         mov     bx,es:[bx-2]
273F:9B48  E9 FD97                              jmp     loc_1863                ; (98E2)
273F:9B4B                       loc_1906:                                       ;  xref 273F:9974
273F:9B4B  26: 8B 07                            mov     ax,es:[bx]
273F:9B4E  83 C3 04                             add     bx,4
273F:9B51  3B 44 F3                             cmp     ax,[si-0Dh]
273F:9B54  74 CB                                je      loc_1903                ; Jump if equal
273F:9B56  26: 8B 5F FE                         mov     bx,es:[bx-2]
273F:9B5A  E9 FD85                              jmp     loc_1863                ; (98E2)
273F:9B5D                       loc_1907:                                       ;  xref 273F:9977
273F:9B5D  C7 44 ED 0000                        mov     word ptr [si-13h],0
273F:9B62  E9 FD7D                              jmp     loc_1863                ; (98E2)
273F:9B65                       loc_1908:                                       ;  xref 273F:997A
273F:9B65  26: 8B 07                            mov     ax,es:[bx]
273F:9B68  83 C3 02                             add     bx,2
273F:9B6B  89 44 DF                             mov     [si-21h],ax
273F:9B6E  E9 FD71                              jmp     loc_1863                ; (98E2)
273F:9B71                       loc_1909:                                       ;  xref 273F:997D
273F:9B71  53                                   push    bx
273F:9B72  8B 5C F9                             mov     bx,[si-7]
273F:9B75  8B 57 DF                             mov     dx,[bx-21h]
273F:9B78  5B                                   pop     bx
273F:9B79  26: 8B 07                            mov     ax,es:[bx]
273F:9B7C  26: 8B 4F 02                         mov     cx,es:[bx+2]
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 368

273F:9B80  83 C3 04                             add     bx,4
273F:9B83  3B C2                                cmp     ax,dx
273F:9B85  75 9A                                jne     loc_1903                ; Jump if not equal
273F:9B87  53                                   push    bx
273F:9B88  56                                   push    si
273F:9B89  57                                   push    di
273F:9B8A  51                                   push    cx
273F:9B8B  06                                   push    es
273F:9B8C  BB 002A                              mov     bx,2Ah
273F:9B8F  E8 046B                              call    play_sound                 ; (9FFD)
273F:9B92  07                                   pop     es
273F:9B93  59                                   pop     cx
273F:9B94  5F                                   pop     di
273F:9B95  5E                                   pop     si
273F:9B96  5B                                   pop     bx
273F:9B97  8B D9                                mov     bx,cx
273F:9B99                       loc_1910:                                       ;  xref 273F:9BA6
273F:9B99  E9 FD46                              jmp     loc_1863                ; (98E2)
273F:9B9C                       loc_1911:                                       ;  xref 273F:9980
273F:9B9C  26: 8B 07                            mov     ax,es:[bx]
273F:9B9F  83 C3 02                             add     bx,2
273F:9BA2  83 7C EF 20                          cmp     word ptr [si-11h],20h
273F:9BA6  75 F1                                jne     loc_1910                ; Jump if not equal
273F:9BA8  81 7D 1B 03E8                        cmp     word ptr [di+1Bh], PLAYER_HOTSPOT_ID
273F:9BAD  74 57                                je      loc_1913                ; Jump if equal
273F:9BAF  53                                   push    bx
273F:9BB0  50                                   push    ax
273F:9BB1  53                                   push    bx
273F:9BB2  51                                   push    cx
273F:9BB3  52                                   push    dx
273F:9BB4  56                                   push    si
273F:9BB5  57                                   push    di
273F:9BB6  55                                   push    bp
273F:9BB7  1E                                   push    ds
273F:9BB8  06                                   push    es
273F:9BB9  9C                                   pushf                           ; Push flags
273F:9BBA  BB 0025                              mov     bx,25h
273F:9BBD  E8 043D                              call    play_sound                 ; (9FFD)
273F:9BC0  9D                                   popf                            ; Pop flags
273F:9BC1  07                                   pop     es
273F:9BC2  1F                                   pop     ds
273F:9BC3  5D                                   pop     bp
273F:9BC4  5F                                   pop     di
273F:9BC5  5E                                   pop     si
273F:9BC6  5A                                   pop     dx
273F:9BC7  59                                   pop     cx
273F:9BC8  5B                                   pop     bx
273F:9BC9  58                                   pop     ax
273F:9BCA  8B 5C F9                             mov     bx,[si-7]
273F:9BCD  89 47 F7                             mov     [bx-9],ax
273F:9BD0  83 47 F5 01                          add     word ptr [bx-0Bh],1
273F:9BD4  83 7F F5 0A                          cmp     word ptr [bx-0Bh],0Ah
273F:9BD8  75 28                                jne     loc_1912                ; Jump if not equal
273F:9BDA  C7 44 F5 000A                        mov     word ptr [si-0Bh],0Ah
273F:9BDF  C7 47 F7 0F46                        mov     word ptr [bx-9],0F46h
273F:9BE4  50                                   push    ax
273F:9BE5  53                                   push    bx
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 369

273F:9BE6  51                                   push    cx
273F:9BE7  52                                   push    dx
273F:9BE8  56                                   push    si
273F:9BE9  57                                   push    di
273F:9BEA  55                                   push    bp
273F:9BEB  1E                                   push    ds
273F:9BEC  06                                   push    es
273F:9BED  9C                                   pushf                           ; Push flags
273F:9BEE  BB 0024                              mov     bx,24h
273F:9BF1  E8 0409                              call    play_sound                 ; (9FFD)
273F:9BF4  9D                                   popf                            ; Pop flags
273F:9BF5  07                                   pop     es
273F:9BF6  1F                                   pop     ds
273F:9BF7  5D                                   pop     bp
273F:9BF8  5F                                   pop     di
273F:9BF9  5E                                   pop     si
273F:9BFA  5A                                   pop     dx
273F:9BFB  59                                   pop     cx
273F:9BFC  5B                                   pop     bx
273F:9BFD  58                                   pop     ax
273F:9BFE  5B                                   pop     bx
273F:9BFF  E9 FCE0                              jmp     loc_1863                ; (98E2)
273F:9C02                       loc_1912:                                       ;  xref 273F:9BD8
273F:9C02  5B                                   pop     bx
273F:9C03  E9 FCDC                              jmp     loc_1863                ; (98E2)
273F:9C06                       loc_1913:                                       ;  xref 273F:9BAD
273F:9C06  53                                   push    bx
273F:9C07  50                                   push    ax
273F:9C08  53                                   push    bx
273F:9C09  51                                   push    cx
273F:9C0A  52                                   push    dx
273F:9C0B  56                                   push    si
273F:9C0C  57                                   push    di
273F:9C0D  55                                   push    bp
273F:9C0E  1E                                   push    ds
273F:9C0F  06                                   push    es
273F:9C10  9C                                   pushf                           ; Push flags
273F:9C11  BB 0034                              mov     bx,34h
273F:9C14  E8 03E6                              call    play_sound                 ; (9FFD)
273F:9C17  9D                                   popf                            ; Pop flags
273F:9C18  07                                   pop     es
273F:9C19  1F                                   pop     ds
273F:9C1A  5D                                   pop     bp
273F:9C1B  5F                                   pop     di
273F:9C1C  5E                                   pop     si
273F:9C1D  5A                                   pop     dx
273F:9C1E  59                                   pop     cx
273F:9C1F  5B                                   pop     bx
273F:9C20  58                                   pop     ax
273F:9C21  8B 5C F9                             mov     bx,[si-7]
273F:9C24  83 7F F5 05                          cmp     word ptr [bx-0Bh],5
273F:9C28  74 1E                                je      loc_1914                ; Jump if equal
273F:9C2A  89 47 F7                             mov     [bx-9],ax
273F:9C2D  83 47 D7 01                          add     word ptr [bx-29h],1
273F:9C31  8B 47 D7                             mov     ax,[bx-29h]
273F:9C34  39 47 D9                             cmp     [bx-27h],ax
273F:9C37  73 0F                                jae     loc_1914                ; Jump if above or =
273F:9C39  C7 47 D7 0000                        mov     word ptr [bx-29h],0
273F:9C3E  83 47 F5 01                          add     word ptr [bx-0Bh],1
273F:9C42  83 7F F5 05                          cmp     word ptr [bx-0Bh],5
273F:9C46  74 04                                je      loc_1915                ; Jump if equal
273F:9C48                       loc_1914:                                       ;  xref 273F:9C28, 9C37
273F:9C48  5B                                   pop     bx
273F:9C49  E9 FC96                              jmp     loc_1863                ; (98E2)
273F:9C4C                       loc_1915:                                       ;  xref 273F:9C46
273F:9C4C  8B 47 D5                             mov     ax,[bx-2Bh]
273F:9C4F  89 47 F7                             mov     [bx-9],ax
273F:9C52  5B                                   pop     bx
273F:9C53  E9 FC8C                              jmp     loc_1863                ; (98E2)
273F:9C56                       loc_1916:                                       ;  xref 273F:9983
273F:9C56  8B 44 0D                             mov     ax,[si+0Dh]
273F:9C59  89 44 DB                             mov     [si-25h],ax
273F:9C5C  8B 44 0F                             mov     ax,[si+0Fh]
273F:9C5F  89 44 DD                             mov     [si-23h],ax
273F:9C62  E9 FC7D                              jmp     loc_1863                ; (98E2)
273F:9C65                       loc_1917:                                       ;  xref 273F:9986
273F:9C65  8B 44 DB                             mov     ax,[si-25h]
273F:9C68  89 44 0D                             mov     [si+0Dh],ax
273F:9C6B  89 05                                mov     [di],ax
273F:9C6D  8B 44 DD                             mov     ax,[si-23h]
273F:9C70  89 44 0F                             mov     [si+0Fh],ax
273F:9C73  89 45 02                             mov     [di+2],ax
273F:9C76  E9 FC69                              jmp     loc_1863                ; (98E2)
273F:9C79                       loc_1918:                                       ;  xref 273F:998C
273F:9C79  56                                   push    si
273F:9C7A  57                                   push    di
273F:9C7B  53                                   push    bx
273F:9C7C BE 6CEF                              mov     si, offset player_hotspot_rec
273F:9C7F  8B 7C 0B                             mov     di,[si+0Bh]
273F:9C82  C7 45 11 5E44                        mov     word ptr [di+11h], offset player_tick_proc
273F:9C87  C7 44 F5 002A                        mov     word ptr [si-0Bh],2Ah
273F:9C8C  C6 45 28 80                          mov     byte ptr [di+28h],80h
273F:9C90  C7 44 21 5C80                        mov     word ptr [si+21h],5C80h
273F:9C95 BB 5C80                              mov     bx,5C80h                ; (273F:5C80=2Ah)
273F:9C98  8B 47 03                             mov     ax,[bx+3]
273F:9C9B  89 45 0A                             mov     [di+0Ah],ax
273F:9C9E  C7 44 11 0020                        mov     word ptr [si+11h],20h
273F:9CA3  C7 45 04 0020                        mov     word ptr [di+4],20h
273F:9CA8  C7 44 13 0030                        mov     word ptr [si+13h],30h
273F:9CAD  C7 45 06 0030                        mov     word ptr [di+6],30h
273F:9CB2  83 44 0F 05                          add     word ptr [si+0Fh],5
273F:9CB6  83 45 02 05                          add     word ptr [di+2],5
273F:9CBA  E8 A83E                              call    char_face_left
273F:9CBD  83 7C 06 06                          cmp     word ptr [si+6],6
273F:9CC1  75 0E                                jne     loc_1919                ; Jump if not equal
273F:9CC3  06                                   push    es
273F:9CC4  BB 0C9F                              mov     bx,0C9Fh
273F:9CC7  E8 EBF2                              call    display_dialog
273F:9CCA  07                                   pop     es
273F:9CCB  BB 2738                              mov     bx,2738h
273F:9CCE  E8 01F8                              call    seq_add_item_to_inventory
273F:9CD1                       loc_1919:                                       ;  xref 273F:9CC1
273F:9CD1  5B                                   pop     bx
273F:9CD2  5F                                   pop     di
273F:9CD3  5E                                   pop     si
273F:9CD4  C6 06 11D5 00                        mov     mouse_buttons, 0
273F:9CD9  C6 06 11DA 00                        mov     mouse_buttons2, 0
273F:9CDE  E9 FC01                              jmp     loc_1863                ; (98E2)
273F:9CE1                       loc_1920:                                       ;  xref 273F:9989
273F:9CE1  C7 06 6CE4 002A                      mov     word ptr ds:[6CE4h],2Ah ; (273F:6CE4=0C18Bh)
273F:9CE7  80 0E 073D 50                        or      status_flags2, 50h
273F:9CEC  C3                                   retn

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:975F, 9DA5
                                ;��������������������������������������������������������������������������

273F:9CED                       sub_243         proc    near
273F:9CED  A1 6CCA                              mov     ax,word ptr ds:[6CCAh]  ; (273F:6CCA=6A26h)
273F:9CF0  05 FF84                              add     ax,0FF84h
273F:9CF3  3B 06 11D6                           cmp     ax, mouse_x2
273F:9CF7  73 51                                jae     loc_1925                ; Jump if above or =
273F:9CF9  05 002C                              add     ax,2Ch
273F:9CFC  3B 06 11D6                           cmp     ax, mouse_x2
273F:9D00  72 3D                                jb      loc_1924                ; Jump if below
273F:9D02  A1 6CFE                              mov     ax,word ptr ds:[6CFEh]  ; (273F:6CFE=76Eh)
273F:9D05  05 FF80                              add     ax,0FF80h
273F:9D08  3B 06 11D8                           cmp     ax, mouse_y2
273F:9D0C  73 46                                jae     loc_1926                ; Jump if above or =
273F:9D0E  05 0018                              add     ax,18h
273F:9D11  3B 06 11D8                           cmp     ax, mouse_y2
273F:9D15  73 48                                jae     loc_1927                ; Jump if above or =
273F:9D17  C7 06 11E1 0019                      mov     word ptr ds:[11E1h],19h ; (273F:11E1=3FBh)
273F:9D1D  B8 0003                              mov     ax,3
273F:9D20                       loc_1921:                                       ;  xref 273F:9D48, 9D52, 9D5D, 9D68
273F:9D20 80 3E 11D5 03                        cmp     mouse_buttons, 3
273F:9D25  73 14                                jae     loc_1923                ; Jump if above or =
273F:9D27  F6 06 11D5 01                        test    mouse_buttons, 1
273F:9D2C  74 03                                jz      loc_1922                ; Jump if zero
273F:9D2E  05 000A                              add     ax,0Ah
273F:9D31                       loc_1922:                                       ;  xref 273F:9D2C
273F:9D31  F6 06 11D5 02                        test    mouse_buttons, 2
273F:9D36  74 03                                jz      loc_1923                ; Jump if zero
273F:9D38  05 0005                              add     ax,5
273F:9D3B                       loc_1923:                                       ;  xref 273F:9D25, 9D36
273F:9D3B  A3 6CE2                              mov     word ptr ds:[6CE2h],ax  ; (273F:6CE2=0CEBh)
273F:9D3E  C3                                   retn
273F:9D3F                       loc_1924:                                       ;  xref 273F:9D00
273F:9D3F  C7 06 11E1 000E                      mov     word ptr ds:[11E1h],0Eh ; (273F:11E1=3FBh)
273F:9D45  B8 0004                              mov     ax,4
273F:9D48  EB D6                                jmp     short loc_1921          ; (9D20)
273F:9D4A                       loc_1925:                                       ;  xref 273F:9CF7
273F:9D4A  C7 06 11E1 000D                      mov     word ptr ds:[11E1h],0Dh ; (273F:11E1=3FBh)
273F:9D50  33 C0                                xor     ax,ax                   ; Zero register
273F:9D52  EB CC                                jmp     short loc_1921          ; (9D20)
273F:9D54                       loc_1926:                                       ;  xref 273F:9D0C
273F:9D54  C7 06 11E1 0017                      mov     word ptr ds:[11E1h],17h ; (273F:11E1=3FBh)
273F:9D5A  B8 0001                              mov     ax,1
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 372

273F:9D5D  EB C1                                jmp     short loc_1921          ; (9D20)
273F:9D5F                       loc_1927:                                       ;  xref 273F:9D15
273F:9D5F  C7 06 11E1 0018                      mov     word ptr ds:[11E1h],18h ; (273F:11E1=3FBh)
273F:9D65  B8 0002                              mov     ax,2
273F:9D68  EB B6                                jmp     short loc_1921          ; (9D20)
                                sub_243         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:975C
                                ;��������������������������������������������������������������������������

273F:9D6A                       sub_244         proc    near
273F:9D6A  F6 06 55A0 FF                        test    byte ptr ds:[55A0h],0FFh ; (273F:55A0=0C3h)
273F:9D6F  74 3B                                jz      loc_ret_1930            ; Jump if zero
273F:9D71  C6 06 11D5 00                        mov     mouse_buttons, 0
273F:9D76  C6 06 55A0 00                        mov     byte ptr ds:[55A0h],0   ; (273F:55A0=0C3h)
273F:9D7B                       loc_1928:                                       ;  xref 273F:9DD0, 9DE9, 9E02, 9E1D
                                                                                ;            9E37, 9E51, 9E67, 9E7D
273F:9D7B E8 F7A2                              call    check_keypress                 ; (9520)
273F:9D7E  74 25                                jz      loc_1929                ; Jump if zero
273F:9D80  E8 F805                              call    sub_233                 ; (9588)
273F:9D83  74 20                                jz      loc_1929                ; Jump if zero
273F:9D85  3C 37                                cmp     al,37h                  ; '7'
273F:9D87  74 2F                                je      loc_1935                ; Jump if equal
273F:9D89  3C 34                                cmp     al,34h                  ; '4'
273F:9D8B  74 45                                je      loc_1936                ; Jump if equal
273F:9D8D  3C 31                                cmp     al,31h                  ; '1'
273F:9D8F  74 5A                                je      loc_1937                ; Jump if equal
273F:9D91  3C 39                                cmp     al,39h                  ; '9'
273F:9D93  74 70                                je      loc_1938                ; Jump if equal
273F:9D95  3C 36                                cmp     al,36h                  ; '6'
273F:9D97  74 1D                                je      loc_1934                ; Jump if equal
273F:9D99  3C 33                                cmp     al,33h                  ; '3'
273F:9D9B  74 10                                je      loc_1931                ; Jump if equal
273F:9D9D  3C CB                                cmp     al,0CBh
273F:9D9F  74 0F                                je      loc_1932                ; Jump if equal
273F:9DA1  3C CD                                cmp     al,0CDh
273F:9DA3  74 0E                                je      loc_1933                ; Jump if equal
273F:9DA5                       loc_1929:                                       ;  xref 273F:9D7E, 9D83
273F:9DA5  E8 FF45                              call    sub_243                 ; (9CED)
273F:9DA8  FF 16 075E                           call    [show_cursor_proc]

273F:9DAC                       loc_ret_1930:                                   ;  xref 273F:9D6F
273F:9DAC  C3                                   retn
273F:9DAD                       loc_1931:                                       ;  xref 273F:9D9B
273F:9DAD  E9 008A                              jmp     loc_1940                ; (9E3A)
273F:9DB0                       loc_1932:                                       ;  xref 273F:9D9F
273F:9DB0  E9 00A1                              jmp     loc_1941                ; (9E54)
273F:9DB3                       loc_1933:                                       ;  xref 273F:9DA3
273F:9DB3  E9 00B4                              jmp     loc_1942                ; (9E6A)
273F:9DB6                       loc_1934:                                       ;  xref 273F:9D97
273F:9DB6  EB 68                                jmp     short loc_1939          ; (9E20)
273F:9DB8                       loc_1935:                                       ;  xref 273F:9D87
273F:9DB8  8B 0E 6CCA                           mov     cx,word ptr ds:[6CCAh]  ; (273F:6CCA=6A26h)
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 373

273F:9DBC  83 E9 64                             sub     cx,64h
273F:9DBF  8B 16 6CCC                           mov     dx,word ptr ds:[6CCCh]  ; (273F:6CCC=8B33h)
273F:9DC3  81 EA 0088                           sub     dx,88h
273F:9DC7  BB 0001                              mov     bx,1
273F:9DCA  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:9DCC  0E E8 8118                           callf   mouse_handler           ; (1EE8)
273F:9DD0  EB A9                                jmp     short loc_1928          ; (9D7B)
273F:9DD2                       loc_1936:                                       ;  xref 273F:9D8B
273F:9DD2  8B 0E 6CCA                           mov     cx,word ptr ds:[6CCAh]  ; (273F:6CCA=6A26h)
273F:9DD6  83 E9 64                             sub     cx,64h
273F:9DD9  8B 16 6CCC                           mov     dx,word ptr ds:[6CCCh]  ; (273F:6CCC=8B33h)
273F:9DDD  83 EA 70                             sub     dx,70h
273F:9DE0  BB 0001                              mov     bx,1
273F:9DE3  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:9DE5  0E E8 80FF                           callf   mouse_handler           ; (1EE8)
273F:9DE9  EB 90                                jmp     short loc_1928          ; (9D7B)
273F:9DEB                       loc_1937:                                       ;  xref 273F:9D8F
273F:9DEB  8B 0E 6CCA                           mov     cx,word ptr ds:[6CCAh]  ; (273F:6CCA=6A26h)
273F:9DEF  83 E9 64                             sub     cx,64h
273F:9DF2  8B 16 6CCC                           mov     dx,word ptr ds:[6CCCh]  ; (273F:6CCC=8B33h)
273F:9DF6  83 EA 58                             sub     dx,58h
273F:9DF9  BB 0001                              mov     bx,1
273F:9DFC  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:9DFE  0E E8 80E6                           callf   mouse_handler           ; (1EE8)
273F:9E02  E9 FF76                              jmp     loc_1928                ; (9D7B)
273F:9E05                       loc_1938:                                       ;  xref 273F:9D93
273F:9E05  8B 0E 6CCA                           mov     cx,word ptr ds:[6CCAh]  ; (273F:6CCA=6A26h)
273F:9E09  83 E9 64                             sub     cx,64h
273F:9E0C  8B 16 6CCC                           mov     dx,word ptr ds:[6CCCh]  ; (273F:6CCC=8B33h)
273F:9E10  81 EA 0088                           sub     dx,88h
273F:9E14  BB 0002                              mov     bx,2
273F:9E17  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:9E19  0E E8 80CB                           callf   mouse_handler           ; (1EE8)
273F:9E1D  E9 FF5B                              jmp     loc_1928                ; (9D7B)
273F:9E20                       loc_1939:                                       ;  xref 273F:9DB6
273F:9E20  8B 0E 6CCA                           mov     cx,word ptr ds:[6CCAh]  ; (273F:6CCA=6A26h)
273F:9E24  83 E9 64                             sub     cx,64h
273F:9E27  8B 16 6CCC                           mov     dx,word ptr ds:[6CCCh]  ; (273F:6CCC=8B33h)
273F:9E2B  83 EA 70                             sub     dx,70h
273F:9E2E  BB 0002                              mov     bx,2
273F:9E31  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:9E33  0E E8 80B1                           callf   mouse_handler           ; (1EE8)
273F:9E37  E9 FF41                              jmp     loc_1928                ; (9D7B)
273F:9E3A                       loc_1940:                                       ;  xref 273F:9DAD
273F:9E3A  8B 0E 6CCA                           mov     cx,word ptr ds:[6CCAh]  ; (273F:6CCA=6A26h)
273F:9E3E  83 E9 64                             sub     cx,64h
273F:9E41  8B 16 6CCC                           mov     dx,word ptr ds:[6CCCh]  ; (273F:6CCC=8B33h)
273F:9E45  83 EA 58                             sub     dx,58h
273F:9E48  BB 0002                              mov     bx,2
273F:9E4B  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:9E4D  0E E8 8097                           callf   mouse_handler           ; (1EE8)
273F:9E51  E9 FF27                              jmp     loc_1928                ; (9D7B)
273F:9E54                       loc_1941:                                       ;  xref 273F:9DB0
273F:9E54  B9 0014                              mov     cx,14h
273F:9E57  8B 16 6CCC                           mov     dx,word ptr ds:[6CCCh]  ; (273F:6CCC=8B33h)
273F:9E5B  83 EA 70                             sub     dx,70h
273F:9E5E  BB 0001                              mov     bx,1
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 374

273F:9E61  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:9E63  0E E8 8081                           callf   mouse_handler           ; (1EE8)
273F:9E67  E9 FF11                              jmp     loc_1928                ; (9D7B)
273F:9E6A                       loc_1942:                                       ;  xref 273F:9DB3
273F:9E6A  B9 012C                              mov     cx,12Ch
273F:9E6D  8B 16 6CCC                           mov     dx,word ptr ds:[6CCCh]  ; (273F:6CCC=8B33h)
273F:9E71  83 EA 70                             sub     dx,70h
273F:9E74  BB 0001                              mov     bx,1
273F:9E77  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
273F:9E79  0E E8 806B                           callf   mouse_handler           ; (1EE8)
273F:9E7D  E9 FEFB                              jmp     loc_1928                ; (9D7B)
                                sub_244         endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                       seq_get_door_blocked     proc    near
273F:9E80  8B C3                                mov     ax,bx
273F:9E82  E8 D369                              call    room_exit_hs_get_pointer
273F:9E85  8A 44 0C                             mov     al, [si+0Ch]            ; Get blocked status
273F:9E88  32 E4                                xor     ah, ah
273F:9E8A  A3 BA1F                              mov     general_val, ax          ; Store it in sequence field list
273F:9E8D  C3                                   retn
                       seq_get_door_blocked     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; bx = Hotspot Id
                                ;��������������������������������������������������������������������������

                      seq_deactivate_hotspot    proc    near
273F:9E8E  E8 6E57                              call    get_room_resource_pointer
273F:9E91  81 FB 7530                           cmp     bx, 7530h               ; Non-visual hotspot?
273F:9E95  73 0A                                jae     loc_1943                ; Skip unloading
273F:9E97  8B 7C 0B                             mov     di,[si+HS_ANIM_OFFSET]
273F:9E9A  0B FF                                or      di,di                   ; Is hotspot active?
273F:9E9C  74 03                                jz      loc_1943                ; Jump if not
273F:9E9E  E8 73D1                              call    animation_unload        ; Unload hotspot
273F:9EA1                       loc_1943:
273F:9EA1  C7 44 06 FFFF                        mov     word ptr [si+HS_ROOM_NUM], 0FFFFh
273F:9EA6  80 4C 03 20                          or      byte ptr [si+HS_FLAGS], 20h
273F:9EAA  81 FB 7530                           cmp     bx,7530h
273F:9EAE  73 04                                jae     loc_ret_1944            ; Jump if above or =
273F:9EB0  C6 44 15 FF                          mov     byte ptr [si+HS_LAYER], 0FFh

273F:9EB4                       loc_ret_1944:                                   ;  xref 273F:9EAE
273F:9EB4  C3                                   retn
                      seq_deactivate_hotspot    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:9CCE
                                ;��������������������������������������������������������������������������

                         seq_disable_hotspot    proc    near
273F:9EB5  E8 6E30                              call    get_room_resource_pointer
273F:9EB8  80 4C 03 20                          or      byte ptr [si+3],20h     ; ' '
273F:9EBC  C3                                   retn
                         seq_disable_hotspot    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:9CCE
                                ;��������������������������������������������������������������������������

                         seq_enable_hotspot     proc    near
273F:9EBD  E8 6E28                              call    get_room_resource_pointer
273F:9EC0  80 4C 03 80                          or      byte ptr [si+3],80h
273F:9EC4  80 64 03 DF                          and     byte ptr [si+3],0DFh
273F:9EC8  C3                                   retn
                         seq_enable_hotspot     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:9CCE
                                ;��������������������������������������������������������������������������

                   seq_add_item_to_inventory    proc    near
273F:9EC9  E8 6E1C                              call    get_room_resource_pointer
273F:9ECC  C7 44 06 03E8                        mov     word ptr [si+HS_ROOM_NUM], PLAYER_HOTSPOT_ID
273F:9ED1  80 4C 03 80                          or      byte ptr [si+HS_FLAGS], 80h
273F:9ED5  83 06 9835 01                        add     num_inventory_items, 1
273F:9EDA  8B 7C 0B                             mov     di, [si+HS_ANIM_OFFSET]
273F:9EDD  C3                                   retn
                   seq_add_item_to_inventory    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                     seq_check_dropped_desc     proc    near
273F:9EDE  C7 06 BA1D 0000                      mov     sequence_result, 0
273F:9EE4  E8 6E01                              call    get_room_resource_pointer
273F:9EE7  3B 4C 06                             cmp     cx, [si+HSH_DESC_ID_2]
273F:9EEA  75 06                                jne     loc_ret_1945            ; Jump if not equal
273F:9EEC  C7 06 BA1D 0001                      mov     sequence_result, 1
273F:9EF2                       loc_ret_1945:                                   ;  xref 273F:9EEA
273F:9EF2  C3                                   retn
                     seq_check_dropped_desc     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                     seq_set_support_offset     proc    near
273F:9EF3  E8 6DF2                              call    get_room_resource_pointer ; Get src from param #1
273F:9EF6  8B C1                                mov     ax, cx                  ; Get param #2
273F:9EF8 BB 1380                              mov     bx, offset support_data_offset_list
273F:9EFB  D1 E0                                shl     ax, 1                   ; Convert to word index
273F:9EFD  03 D8                                add     bx, ax
273F:9EFF  8B 07                                mov     ax, [bx]                ; Get support record offset
273F:9F01  8B DE                                mov     bx, si
273F:9F03  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:9F06  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:9F09  89 47 01                             mov     [bx+CURRENT_ACTION_SUPPORT_TABLE], ax  ; Set support record
273F:9F0C  C6 07 02                             mov     byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION
273F:9F0F  8B 44 06                             mov     ax, [si+HS_ROOM_NUM]
273F:9F12  89 47 03                             mov     [bx+CURRENT_ACTION_ROOM_NUM], ax
273F:9F15  C3                                   retn
                     seq_set_support_offset     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                             seq_method_53      proc    near
273F:9F16  E8 6DCF                              call    get_room_resource_pointer
273F:9F19  8B DE                                mov     bx, si
273F:9F1B  03 5C 61                             add     bx, [si+HS_ACTION_OFFSET]
273F:9F1E  83 C3 63                             add     bx, HS_FIRST_ACTION_OFFSET
273F:9F21  A1 6CF5                              mov     ax, [player_hotspot_rec+HS_ROOM_NUM]
273F:9F24  3B 44 06                             cmp     ax, [si+HS_ROOM_NUM]    ; Hotspot in player's room?
273F:9F27  74 12                                je      loc_ret_1948            ; Jump if equal
273F:9F29 BE 4F6F                              mov     si, 4F6Fh
273F:9F2C                       loc_1946:
273F:9F2C  3A 04                                cmp     al, [si]
273F:9F2E  74 0C                                je      loc_1949                ; Jump if equal
273F:9F30  83 C6 02                             add     si, 2
273F:9F33  F6 04 FF                             test    byte ptr [si], 0FFh
273F:9F36  75 F4                                jnz     loc_1946                ; Jump if not zero
273F:9F38                       loc_1947:
273F:9F38 89 47 03                             mov     [bx+CURRENT_ACTION_ROOM_NUM], ax

273F:9F3B                       loc_ret_1948:
273F:9F3B  C3                                   retn
273F:9F3C                       loc_1949:
273F:9F3C  8A 44 01                             mov     al, [si+1]
273F:9F3F  EB F7                                jmp     short loc_1947          ; (9F38)
                             seq_method_53      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

               seq_decrease_inventory_items     proc    near
273F:9F41  83 2E 9835 01                        sub     num_inventory_items, 1
273F:9F46  C3                                   retn
               seq_decrease_inventory_items     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                      seq_random_to_general     proc    near
273F:9F47  51                                   push    cx
273F:9F48  2B D9                                sub     bx, cx
273F:9F4A  53                                   push    bx
273F:9F4B  E8 A51E                              call    random
273F:9F4E  5B                                   pop     bx
273F:9F4F  F7 E3                                mul     bx                      ; dx:ax = reg * ax
273F:9F51  5B                                   pop     bx
273F:9F52  03 D3                                add     dx,bx
273F:9F54  89 16 BA1F                           mov     general_val, dx
273F:9F58  C3                                   retn
                      seq_random_to_general     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                           seq_add_actions      proc    near
273F:9F59  E8 6D8C                              call    get_room_resource_pointer
273F:9F5C  09 0C                                or      [si],cx
273F:9F5E  C3                                   retn
                           seq_add_actions      endp

273F:9F5F  00                                   db      0
273F:9F60  0000 0000            data_442        dd      00000h                  ;  xref 273F:A298, A318

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:7657
                                ;��������������������������������������������������������������������������

273F:9F64                       sub_246         proc    near
273F:9F64  B8 000B                              mov     ax,0Bh
                                                assume  ds:data_seg
273F:9F67  8B 0E 4D00                           mov     cx,buffer_segment       ; (31E4:4D00=0)
273F:9F6B  51                                   push    cx
273F:9F6C  33 D2                                xor     dx,dx                   ; Zero register
273F:9F6E  E8 63A3                              call    read_entry              ; (0314)
273F:9F71  5A                                   pop     dx
273F:9F72  33 C9                                xor     cx,cx                   ; Zero register
273F:9F74  B8 0004                              mov     ax,4
273F:9F77  80 0E 5668 80                        or      note_flag, MUSIC_NOTE  ; Show music note on screen
273F:9F7C  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:9F80  72 26                                jc      loc_1950                ; Jump if carry Set
273F:9F82  B8 000C                              mov     ax,0Ch
273F:9F85  8B 0E 4D00                           mov     cx,buffer_segment       ; (31E4:4D00=0)
273F:9F89  51                                   push    cx
273F:9F8A  33 D2                                xor     dx,dx                   ; Zero register
273F:9F8C  E8 6385                              call    read_entry              ; (0314)
273F:9F8F  01 16 4D00                           add     buffer_segment, dx      ; (31E4:4D00=0)
273F:9F93  5A                                   pop     dx
273F:9F94  33 C9                                xor     cx,cx                   ; Zero register
273F:9F96  B8 0004                              mov     ax,4
273F:9F99  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:9F9D  80 26 5668 7F                        and     note_flag, MUSIC_NOTE_OFF 
273F:9FA2  80 0E 5660 24                        or      music_status, 24h
273F:9FA7  C3                                   retn
273F:9FA8                       loc_1950:                                       ;  xref 273F:9F80
273F:9FA8  B8 000D                              mov     ax,0Dh
273F:9FAB  8B 0E 4D00                           mov     cx,buffer_segment       ; (31E4:4D00=0)
273F:9FAF  33 D2                                xor     dx,dx                   ; Zero register
273F:9FB1  E8 6360                              call    read_entry              ; (0314)
273F:9FB4  52                                   push    dx
273F:9FB5  8B 16 4D00                           mov     dx,buffer_segment       ; (31E4:4D00=0)
273F:9FB9  33 C9                                xor     cx,cx                   ; Zero register
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 377

273F:9FBB  B8 0001                              mov     ax,1
273F:9FBE  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:9FC2  5A                                   pop     dx
273F:9FC3  73 0B                                jnc     loc_1951
273F:9FC5  80 26 5668 7F                        and     note_flag, MUSIC_NOTE_OFF
273F:9FCA  80 0E 5660 14                        or      music_status, 14h
273F:9FCF  C3                                   retn
273F:9FD0                       loc_1951:                                       ;  xref 273F:9FC3
273F:9FD0  01 16 4D00                           add     buffer_segment, dx      ; (31E4:4D00=0)
273F:9FD4  80 26 5668 7F                        and     note_flag, MUSIC_NOTE_OFF
273F:9FD9  80 0E 5660 05                        or      music_status, 5
273F:9FDE  C3                                   retn
                                sub_246         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:104D
                                ;��������������������������������������������������������������������������

273F:9FDF                       sub_247         proc    near
273F:9FDF  53                                   push    bx
273F:9FE0  E8 00FB                              call    sub_250                 ; (A0DE)
273F:9FE3  5B                                   pop     bx
273F:9FE4  83 FB 06                             cmp     bx,6
273F:9FE7  74 14                                je      loc_1953                ; Jump if equal
273F:9FE9  53                                   push    bx
273F:9FEA  B8 0005                              mov     ax,5
273F:9FED  F7 E3                                mul     bx                      ; dx:ax = reg * ax
273F:9FEF  05 5671                              add     ax,5671h
273F:9FF2  8B F0                                mov     si,ax
273F:9FF4  8A 1C                                mov     bl,[si]
273F:9FF6  E8 0136                              call    sub_251                 ; (A12F)
273F:9FF9  5B                                   pop     bx
273F:9FFA  74 06                                jz      loc_1954                ; Jump if zero

273F:9FFC                       loc_ret_1952:                                   ;  xref 273F:A011, A02F
273F:9FFC  C3                                   retn

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:49E0, 732A, 7F8D, 88A8, 994E, 9B8F, 9BBD
                                ;                             9BF1, 9C14, A187, A69C

273F:9FFD                     play_sound:
273F:9FFD                       loc_1953:                                       ;  xref 273F:9FE7
273F:9FFD  53                                   push    bx
273F:9FFE  E8 00DD                              call    sub_250                 ; (A0DE)
273F:A001  5B                                   pop     bx
273F:A002                       loc_1954:                                       ;  xref 273F:9FFA
273F:A002  B8 0005                              mov     ax,5
273F:A005  F7 E3                                mul     bx                      ; dx:ax = reg * ax
273F:A007  05 5671                              add     ax,5671h
273F:A00A  8B F0                                mov     si,ax
273F:A00C  F6 06 1926 FF                        test    data_669, 0FFh
273F:A011  75 E9                                jnz     loc_ret_1952            ; Jump if not zero
273F:A013  8A 4C 02                             mov     cl,[si+2]
273F:A016  F6 06 5660 11                        test    music_status, 11h
273F:A01B  74 0F                                jz      loc_1955                ; Jump if zero
273F:A01D  D0 E9                                shr     cl,1                    ; Shift w/zeros fill
273F:A01F  D0 E9                                shr     cl,1                    ; Shift w/zeros fill
273F:A021  F6 06 5660 10                        test    music_status, 10h
273F:A026  74 04                                jz      loc_1955                ; Jump if zero
273F:A028  D0 E9                                shr     cl,1                    ; Shift w/zeros fill
273F:A02A  D0 E9                                shr     cl,1                    ; Shift w/zeros fill
273F:A02C                       loc_1955:                                       ;  xref 273F:A01B, A026
273F:A02C  80 E1 03                             and     cl,3
273F:A02F  74 CB                                jz      loc_ret_1952            ; Jump if zero
273F:A031 BF 5669                              mov     di,offset data_843      ; (31E4:5669=0)
273F:A034  33 DB                                xor     bx,bx                   ; Zero register
273F:A036                       loc_1956:                                       ;  xref 273F:A054
273F:A036  F6 05 FF                             test    byte ptr [di],0FFh
273F:A039  75 09                                jnz     loc_1957                ; Jump if not zero
273F:A03B  80 C7 01                             add     bh,1
273F:A03E  3A F9                                cmp     bh,cl
273F:A040  73 15                                jae     loc_1959                ; Jump if above or =
273F:A042  EB 09                                jmp     short loc_1958          ; (A04D)
273F:A044                       loc_1957:                                       ;  xref 273F:A039
273F:A044  8B DF                                mov     bx,di
273F:A046  81 EB 5669                           sub     bx,5669h
273F:A04A  80 C3 01                             add     bl,1
273F:A04D                       loc_1958:                                       ;  xref 273F:A042
273F:A04D  83 C7 01                             add     di,1
273F:A050  81 FF 5671                           cmp     di,5671h
273F:A054  72 E0                                jb      loc_1956                ; Jump if below
273F:A056  C3                                   retn
273F:A057                       loc_1959:                                       ;  xref 273F:A040
273F:A057  32 FF                                xor     bh,bh                   ; Zero register
273F:A059  BF 5669                              mov     di,5669h
273F:A05C  03 FB                                add     di,bx

273F:A05E                       locloop_1960:                                   ;  xref 273F:A064
273F:A05E  C6 05 01                             mov     byte ptr [di],1
273F:A061  83 C7 01                             add     di,1
273F:A064  E2 F8                                loop    locloop_1960            ; Loop if cx > 0

273F:A066 BF B9C7                              mov     di, offset data_1121 
273F:A069  B9 000A                              mov     cx,0Ah

273F:A06C                       locloop_1961:                                   ;  xref 273F:A0B7
273F:A06C  F6 45 02 FF                          test    byte ptr [di+2],0FFh
273F:A070  75 42                                jnz     loc_1963                ; Jump if not zero
273F:A072  8A 04                                mov     al,[si]
273F:A074  88 05                                mov     [di],al
273F:A076  88 5D 01                             mov     [di+1],bl
273F:A079  8A 4C 02                             mov     cl,[si+2]
273F:A07C  F6 06 5660 11                        test    music_status, 11h
273F:A081  74 0F                                jz      loc_1962                ; Jump if zero
273F:A083  D0 E9                                shr     cl,1                    ; Shift w/zeros fill
273F:A085  D0 E9                                shr     cl,1                    ; Shift w/zeros fill
273F:A087  F6 06 5660 10                        test    music_status, 10h
273F:A08C  74 04                                jz      loc_1962                ; Jump if zero
273F:A08E  D0 E9                                shr     cl,1                    ; Shift w/zeros fill
273F:A090  D0 E9                                shr     cl,1                    ; Shift w/zeros fill
273F:A092                       loc_1962:                                       ;  xref 273F:A081, A08C
273F:A092  80 E1 03                             and     cl,3
273F:A095  88 4D 02                             mov     [di+2],cl
273F:A098  8A 4C 03                             mov     cl,[si+3]
273F:A09B  88 4D 03                             mov     [di+3],cl
273F:A09E  8A 4C 04                             mov     cl,[si+4]
273F:A0A1  88 4D 04                             mov     [di+4],cl
273F:A0A4  B4 01                                mov     ah,1
273F:A0A6  32 FF                                xor     bh,bh                   ; Zero register
273F:A0A8  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A0AC  8A 4C 04                             mov     cl,[si+4]
273F:A0AF  8A 1C                                mov     bl,[si]
273F:A0B1  E9 00DD                              jmp     loc_1977                ; (A191)
273F:A0B4                       loc_1963:                                       ;  xref 273F:A070
273F:A0B4  83 C7 05                             add     di,5
273F:A0B7  E2 B3                                loop    locloop_1961            ; Loop if cx > 0

273F:A0B9  C3                                   retn

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:0071

273F:A0BA                       sub_249:
273F:A0BA  E8 0098                              call    sub_253                 ; (A155)
273F:A0BD BE B9C7                              mov     si, offset data_1121  
273F:A0C0  B9 000A                              mov     cx,0Ah

273F:A0C3                       locloop_1964:                                   ;  xref 273F:A0DC
273F:A0C3  F6 44 02 FF                          test    byte ptr [si+2],0FFh
273F:A0C7  74 10                                jz      loc_1965                ; Jump if zero
273F:A0C9  F6 44 03 01                          test    byte ptr [si+3],1
273F:A0CD  74 0A                                jz      loc_1965                ; Jump if zero
273F:A0CF  B4 04                                mov     ah,4
273F:A0D1  8A 04                                mov     al,[si]
273F:A0D3  24 7F                                and     al,7Fh
273F:A0D5  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A0D9                       loc_1965:                                       ;  xref 273F:A0C7, A0CD
273F:A0D9  83 C6 05                             add     si,5
273F:A0DC  E2 E5                                loop    locloop_1964            ; Loop if cx > 0

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:9FE0, 9FFE, A11A
                                ;��������������������������������������������������������������������������

                                sub_250         proc    near                                                                   
273F:A0DE BE B9C7                              mov     si, offset data_1121
273F:A0E1  B9 000A                              mov     cx, 0Ah

273F:A0E4                       locloop_1966:                                   ;  xref 273F:A117
273F:A0E4  F6 44 02 FF                          test    byte ptr [si+2],0FFh
273F:A0E8  74 2A                                jz      loc_1968                ; Jump if zero
273F:A0EA  B4 05                                mov     ah,5
273F:A0EC  8A 04                                mov     al,[si]
273F:A0EE  24 7F                                and     al,7Fh
273F:A0F0  F9                                   stc                             ; Set carry flag
                                                assume  ds:seg_code
273F:A0F1  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A0F5  73 1D                                jnc     loc_1968                ; Jump if carry=0
273F:A0F7  51                                   push    cx
273F:A0F8  8A 4C 02                             mov     cl,[si+2]
273F:A0FB  8A 44 01                             mov     al,[si+1]
273F:A0FE  32 E4                                xor     ah,ah                   ; Zero register
273F:A100  05 5669                              add     ax,5669h
273F:A103  8B F8                                mov     di,ax
273F:A105  32 ED                                xor     ch,ch                   ; Zero register

273F:A107                       locloop_1967:                                   ;  xref 273F:A10D
273F:A107  C6 05 00                             mov     byte ptr [di],0
273F:A10A  83 C7 01                             add     di,1
273F:A10D  E2 F8                                loop    locloop_1967            ; Loop if cx > 0

273F:A10F  C6 44 02 00                          mov     byte ptr [si+2],0
273F:A113  59                                   pop     cx
273F:A114                       loc_1968:                                       ;  xref 273F:A0E8, A0F5
273F:A114  83 C6 05                             add     si,5
273F:A117  E2 CB                                loop    locloop_1966            ; Loop if cx > 0

273F:A119  C3                                   retn
                                sub_250         endp
                                
                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;��������������������������������������������������������������������������

                               seq_method_66    proc    near
273F:A11A  E8 FFC1                              call    sub_250                 ; (A0DE)
273F:A11D  C7 06 BA1F 0000                      mov     general_val, 0
273F:A123  E8 0009                              call    sub_251                 ; (A12F)
273F:A126  74 06                                jz      loc_ret_1969            ; Jump if zero
273F:A128  C7 06 BA1F 0001                      mov     general_val, 1

273F:A12E                       loc_ret_1969:                                   ;  xref 273F:A126
273F:A12E  C3                                   retn
                               seq_method_66    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:9FF6, A123, A192
                                ;��������������������������������������������������������������������������

273F:A12F                       sub_251:
273F:A12F BE B9C7                              mov     si, offset data_1121 
273F:A132  B9 000A                              mov     cx,0Ah

273F:A135                       locloop_1970:                                   ;  xref 273F:A142
273F:A135  F6 44 02 FF                          test    byte ptr [si+2],0FFh
273F:A139  74 04                                jz      loc_1971                ; Jump if zero
273F:A13B  38 1C                                cmp     [si],bl
273F:A13D  74 08                                je      loc_1972                ; Jump if equal
273F:A13F                       loc_1971:                                       ;  xref 273F:A139
273F:A13F  83 C6 05                             add     si,5
273F:A142  E2 F1                                loop    locloop_1970            ; Loop if cx > 0

273F:A144  33 F6                                xor     si,si                   ; Zero register
273F:A146  C3                                   retn
273F:A147                       loc_1972:                                       ;  xref 273F:A13D
273F:A147  0B F6                                or      si,si                   ; Zero ?
273F:A149  C3                                   retn

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:A180, A18D

273F:A14A                       sub_252:
273F:A14A  B4 04                                mov     ah,4
273F:A14C  8A C3                                mov     al,bl
273F:A14E  24 7F                                and     al,7Fh
273F:A150  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A154  C3                                   retn

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:A0BA

273F:A155                       sub_253:
273F:A155  A1 9832                              mov     ax, room_number
273F:A158  E8 6B8F                              call    get_room_resource_pointer2
273F:A15B  8A 44 17                             mov     al, [si+17h]
273F:A15E  3A 06 BAB9                           cmp     al, script_val_88
273F:A162  74 1F                                je      loc_ret_1975            ; Jump if equal
273F:A164  A2 BAB9                              mov     script_val_88, al
273F:A167  3C 01                                cmp     al,1
273F:A169  72 12                                jb      loc_1974                ; Jump if below
273F:A16B  74 17                                jz      loc_1976                ; Jump if zero
273F:A16D  3C 03                                cmp     al,3
273F:A16F  72 04                                jb      loc_1973                ; Jump if below
273F:A171  74 0A                                jz      loc_1974                ; Jump if zero
273F:A173  EB 08                                jmp     short loc_1974          ; (A17D)
273F:A175                       loc_1973:                                       ;  xref 273F:A16F
273F:A175  33 DB                                xor     bx, bx                  ; Zero register
273F:A177  B9 000F                              mov     cx, 0Fh
273F:A17A  E8 0014                              call    sub_254                 ; (A191)
273F:A17D                       loc_1974:                                       ;  xref 273F:A169, A171, A173
273F:A17D  BB 0001                              mov     bx,1
273F:A180  E8 FFC7                              call    sub_252                 ; (A14A)

273F:A183                       loc_ret_1975:                                   ;  xref 273F:A162
273F:A183  C3                                   retn
273F:A184                       loc_1976:                                       ;  xref 273F:A16B
273F:A184  BB 0002                              mov     bx,2
273F:A187  E8 FE73                              call    play_sound                 ; (9FFD)
273F:A18A  BB 0021                              mov     bx,21h
273F:A18D  E8 FFBA                              call    sub_252                 ; (A14A)
273F:A190  C3                                   retn

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:A17A

273F:A191                       sub_254:
273F:A191                       loc_1977:                                       ;  xref 273F:A0B1
273F:A191  51                                   push    cx
273F:A192  E8 FF9A                              call    sub_251                 ; (A12F)
273F:A195  59                                   pop     cx
273F:A196  74 21                                jz      loc_ret_1979            ; Jump if zero
273F:A198  F6 06 5660 01                        test    music_status, 1
273F:A19D  75 1A                                jnz     loc_ret_1979            ; Jump if not zero

                                ;���� External Entry into Subroutine ��������������������������������������
                                ;
                                ;         Called from:   273F:A259

273F:A19F                       sub_255:
273F:A19F  8A D9                                mov     bl,cl
273F:A1A1  8A 4C 02                             mov     cl,[si+2]
273F:A1A4  8A 44 01                             mov     al,[si+1]
273F:A1A7  32 ED                                xor     ch,ch                   ; Zero register

273F:A1A9                       locloop_1978:                                   ;  xref 273F:A1B7
273F:A1A9  B4 06                                mov     ah,6
273F:A1AB  50                                   push    ax
273F:A1AC  53                                   push    bx
273F:A1AD  51                                   push    cx
                                                assume  ds:seg_code
273F:A1AE  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A1B2  59                                   pop     cx
273F:A1B3  5B                                   pop     bx
273F:A1B4  58                                   pop     ax
273F:A1B5  04 01                                add     al,1
273F:A1B7  E2 F0                                loop    locloop_1978            ; Loop if cx > 0


273F:A1B9                       loc_ret_1979:                                   ;  xref 273F:A196, A19D
273F:A1B9  C3                                   retn
                                sub_247         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:A3CE, A5A3
                                ;��������������������������������������������������������������������������

273F:A1BA                       sub_256         proc    near
                                                assume  ds:data_seg
273F:A1BA  F6 06 5660 11                        test    music_status, 11h
273F:A1BF  75 1F                                jnz     loc_1982                ; Jump if not zero
273F:A1C1  33 C0                                xor     ax,ax                   ; Zero register
273F:A1C3  E8 A823                              call    sleep                   ; (49E9)
273F:A1C6  B1 40                                mov     cl,40h                  ; '@'
273F:A1C8                       loc_1980:                                       ;  xref 273F:A1DE
273F:A1C8  B8 0608                              mov     ax,608h
273F:A1CB  8A D9                                mov     bl,cl
273F:A1CD                       loc_1981:                                       ;  xref 273F:A1D5
273F:A1CD  50                                   push    ax
273F:A1CE  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A1D2  58                                   pop     ax
273F:A1D3  2C 01                                sub     al,1
273F:A1D5  73 F6                                jnc     loc_1981                ; Jump if carry=0
273F:A1D7  8B C2                                mov     ax,dx
273F:A1D9  E8 A80D                              call    sleep                   ; (49E9)
273F:A1DC  D0 E9                                shr     cl,1                    ; Shift w/zeros fill
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 383

273F:A1DE  75 E8                                jnz     loc_1980                ; Jump if not zero
273F:A1E0                       loc_1982:                                       ;  xref 273F:A1BF
273F:A1E0  E8 0010                              call    sub_257                 ; (A1F3)
273F:A1E3  B8 0608                              mov     ax,608h
273F:A1E6  B3 80                                mov     bl,80h
273F:A1E8                       loc_1983:                                       ;  xref 273F:A1F0
273F:A1E8  50                                   push    ax
273F:A1E9  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A1ED  58                                   pop     ax
273F:A1EE  2C 01                                sub     al,1
273F:A1F0  73 F6                                jnc     loc_1983                ; Jump if carry=0
273F:A1F2  C3                                   retn
                                sub_256         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:4067, 710D, 8F60, 9336, 9392, A1E0, A436
                                ;                             A47D, A58F, A5AC, A654, A6D6, A8E6, A977
                                ;                             A98D
                                ;��������������������������������������������������������������������������

273F:A1F3                       sub_257         proc    near
273F:A1F3  06                                   push    es
273F:A1F4  57                                   push    di
273F:A1F5  51                                   push    cx
273F:A1F6  B4 03                                mov     ah,3
273F:A1F8  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A1FC BF 5669                              mov     di,offset data_843      ; (31E4:5669=0)
273F:A1FF  1E                                   push    ds
273F:A200  07                                   pop     es
273F:A201  B9 0008                              mov     cx,8
273F:A204  32 C0                                xor     al,al                   ; Zero register
273F:A206  F3/ AA                               rep     stosb                   ; Rep when cx >0 Store al to es:[di]
273F:A208  59                                   pop     cx
273F:A209  5F                                   pop     di
273F:A20A  07                                   pop     es
273F:A20B  C3                                   retn
                                sub_257         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:1061
                                ;��������������������������������������������������������������������������

                                play_music      proc    near
273F:A20C  B8 0005                              mov     ax,5
273F:A20F  F7 E3                                mul     bx                      ; dx:ax = reg * ax
273F:A211  05 5671                              add     ax,5671h
273F:A214  8B F0                                mov     si,ax
273F:A216  8A 04                                mov     al,[si]
273F:A218  24 7F                                and     al,7Fh
273F:A21A  B4 04                                mov     ah,4
273F:A21C  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A220  C3                                   retn
                                play_music      endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:8FE1
                                ;��������������������������������������������������������������������������

273F:A221                       sub_259         proc    near
273F:A221 BE B9C7                              mov     si, offset data_1121
273F:A224  B9 000A                              mov     cx,0Ah

273F:A227                       locloop_1984:                                   ;  xref 273F:A260
273F:A227  F6 44 02 FF                          test    byte ptr [si+2],0FFh
273F:A22B  74 30                                jz      loc_1986                ; Jump if zero
273F:A22D  F6 44 03 02                          test    byte ptr [si+3],2
273F:A231  74 2A                                jz      loc_1986                ; Jump if zero
273F:A233  51                                   push    cx
273F:A234  8A 44 01                             mov     al,[si+1]
273F:A237  32 E4                                xor     ah,ah                   ; Zero register
273F:A239  05 5669                              add     ax,5669h
273F:A23C  8B F8                                mov     di,ax
273F:A23E  8A 4C 02                             mov     cl,[si+2]
273F:A241  32 ED                                xor     ch,ch                   ; Zero register

273F:A243                       locloop_1985:                                   ;  xref 273F:A249
273F:A243  C6 05 01                             mov     byte ptr [di],1
273F:A246  83 C7 01                             add     di,1
273F:A249  E2 F8                                loop    locloop_1985            ; Loop if cx > 0

273F:A24B  B4 01                                mov     ah,1
273F:A24D  8A 04                                mov     al,[si]
273F:A24F  8A 5C 01                             mov     bl,[si+1]
273F:A252  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A256  8A 4C 04                             mov     cl,[si+4]
273F:A259  E8 FF43                              call    sub_255                 ; (A19F)
273F:A25C  59                                   pop     cx
273F:A25D                       loc_1986:                                       ;  xref 273F:A22B, A231
273F:A25D  83 C6 05                             add     si,5
273F:A260  E2 C5                                loop    locloop_1984            ; Loop if cx > 0

273F:A262  C3                                   retn
                                sub_259         endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:8FE1
                                ;��������������������������������������������������������������������������

                         music_proc_unknown     proc    far

273F:A263  1E                                   push    ds
273F:A264  51                                   push    cx
273F:A265  2E: 8B 0E 9F62                       mov     cx,word ptr cs:data_442+2 ; (273F:9F62=0)
273F:A26A  8E D9                                mov     ds,cx
273F:A26C  04 01                                add     al,1
273F:A26E  80 FC 01                             cmp     ah,1
273F:A271  72 45                                jb      loc_1992                ; Jump if below
273F:A273  74 2A                                jz      loc_1989                ; Jump if zero
273F:A275  80 FC 03                             cmp     ah,3
273F:A278  72 1E                                jb      loc_1988                ; Jump if below
273F:A27A  74 0F                                jz      loc_1987                ; Jump if zero
273F:A27C  80 FC 05                             cmp     ah,5
273F:A27F  72 0A                                jb      loc_1987                ; Jump if below
273F:A281  75 35                                jnz     loc_1992                ; Jump if not zero
273F:A283  3A 06 0009                           cmp     al,byte ptr ds:data_4e+1 ; (0000:0009=0)
273F:A287  74 21                                je      loc_1990                ; Jump if equal
273F:A289  EB 2D                                jmp     short loc_1992          ; (A2B8)
273F:A28B                       loc_1987:                                       ;  xref 273F:A27A, A27F
273F:A28B  C6 06 000B FF                        mov     byte ptr ds:data_6e+1,0FFh ; (0000:000B=0C8h)
273F:A290  C7 06 0008 00FF                      mov     word ptr ds:data_4e,0FFh ; (0000:0008=30h)
273F:A296  EB 12                                jmp     short loc_1990          ; (A2AA)
273F:A298                       loc_1988:                                       ;  xref 273F:A278
273F:A298  2E: FF 1E 9F60                       call    cs:data_442             ; (273F:9F60=0)
273F:A29D  EB 0B                                jmp     short loc_1990          ; (A2AA)
273F:A29F                       loc_1989:                                       ;  xref 273F:A273
273F:A29F  80 E4 7F                             and     ah,7Fh
273F:A2A2  80 FF 01                             cmp     bh,1
273F:A2A5  74 07                                je      loc_1991                ; Jump if equal
273F:A2A7  A2 000A                              mov     ds:data_6e,al           ; (0000:000A=0)
273F:A2AA                       loc_1990:                                       ;  xref 273F:A287, A296, A29D, A2B6
273F:A2AA 59                                   pop     cx
273F:A2AB  1F                                   pop     ds
273F:A2AC  F8                                   clc                             ; Clear carry flag
273F:A2AD  CB                                   retf                            ; Return far
273F:A2AE                       loc_1991:                                       ;  xref 273F:A2A5
273F:A2AE  A2 0008                              mov     byte ptr ds:[8],al      ; (273F:0008=0B8h)
273F:A2B1  C6 06 0009 00                        mov     byte ptr ds:[9],0       ; (273F:0009=0FCh)
273F:A2B6  EB F2                                jmp     short loc_1990          ; (A2AA)
273F:A2B8                       loc_1992:                                       ;  xref 273F:A271, A281, A289
273F:A2B8  59                                   pop     cx
273F:A2B9  1F                                   pop     ds
273F:A2BA  F9                                   stc                             ; Set carry flag
273F:A2BB  CB                                   retf                            ; Return far

                         music_proc_unknown     endp
                         
                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:7654
                                ;��������������������������������������������������������������������������

273F:A2BC                  show_introduction    proc    near
273F:A2BC  B8 0030                              mov     ax,30h                  ; Load MIDI entry #48
273F:A2BF  E8 D8A5                              call    read_into_buffer_2
                                                assume  ds:data_seg
273F:A2C2  A3 5782                              mov     misc_segment, ax        ; (31E4:5782=0)
273F:A2C5  8B D0                                mov     dx,ax
273F:A2C7  B8 0004                              mov     ax,4
273F:A2CA  33 C9                                xor     cx,cx                   ; Zero register
273F:A2CC  80 0E 5668 80                        or      note_flag, MUSIC_NOTE  ; Show music note on screen
273F:A2D1  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A2D5  72 07                                jc      loc_1993                ; Jump if carry Set
273F:A2D7  80 0E 5660 24                        or      music_status, 24h
273F:A2DC  EB 57                                jmp     short loc_1995          ; (A335)
273F:A2DE                       loc_1993:
273F:A2DE  B8 0031                              mov     ax,31h                  ; Load MIDI entry #49
273F:A2E1  8B 0E 5782                           mov     cx,misc_segment         ; (31E4:5782=0)
273F:A2E5  89 0E 4D00                           mov     buffer_segment, cx      ; (31E4:4D00=0)
273F:A2E9  E8 D87B                              call    read_into_buffer_2      ; (7B67)
273F:A2EC  8B D0                                mov     dx,ax
273F:A2EE  B8 0001                              mov     ax,1
273F:A2F1  33 C9                                xor     cx,cx                   ; Zero register
273F:A2F3  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A2F7  73 37                                jnc     loc_1994                ; Jump if carry=0

273F:A2F9  8B 0E 5664                           mov     cx,word ptr play_music_proc+2
273F:A2FD  33 D2                                xor     dx,dx                   ; Zero register
273F:A2FF  B8 000F                              mov     ax,0Fh
273F:A302  E8 600F                              call    read_entry              ; (0314)
273F:A305  03 16 5664                           add     dx,word ptr play_music_proc+2
273F:A309  89 16 4D00                           mov     buffer_segment, dx      ; (31E4:4D00=0)
273F:A30D  89 16 5782                           mov     misc_segment, dx
273F:A311  A1 5664                              mov     ax,word ptr play_music_proc+2  ; (31E4:5664=273Fh)
273F:A314  2E: A3 9F62                          mov     word ptr cs:data_442+2,ax ; (273F:9F62=0)
273F:A318  2E: C7 06 9F60 0000                  mov     word ptr cs:data_442,0  ; (273F:9F60=0)
273F:A31F  C7 06 5662 A263                      mov     play_music_proc, offset music_proc_unknown
273F:A325  8C 0E 5664                           mov     word ptr play_music_proc+2,cs

273F:A329  80 0E 5660 14                        or      music_status, 14h
273F:A32E  EB 05                                jmp     short loc_1995          ; (A335)
273F:A330                       loc_1994:                                       
273F:A330  80 0E 5660 05                        or      music_status, 5
273F:A335                       loc_1995:                                       ;  xref 273F:A2DC, A32E
273F:A335  80 26 5668 7F                        and     note_flag, MUSIC_NOTE_OFF
273F:A33A  8B 0E 5782                           mov     cx,misc_segment         ; (31E4:5782=0)
273F:A33E  87 0E 4D00                           xchg    buffer_segment, cx      ; (31E4:4D00=0)
273F:A342  89 0E 5782                           mov     misc_segment, cx
273F:A346  89 0E 5780                           mov     palette_segment, cx

273F:A34A  B8 0032                              mov     ax,32h                  ; Load set of sub-palettes
273F:A34D  33 D2                                xor     dx,dx                   
273F:A34F  E8 5FC2                              call    read_entry
273F:A352  01 16 5782                           add     misc_segment, dx

; Here it uses a new method of displaying the picture. After having loaded
; Entry Id 32h into the buffer segment, the "Kingdom was at peace" screen will be
; decoded into memory and then copied onto the screen by the [copy_screen_proc]

273F:A356  B8 0040                              mov     ax,40h                  ; "The kingdom was at peace"
273F:A359  E8 0457                              call    load_pic_with_animation
273F:A35C  FF 16 0766                           call    word ptr [fade_out_proc]

273F:A360  B8 0100                              mov     ax,100h
273F:A363  BB 0100                              mov     bx,100h
273F:A366  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A36A  33 C0                                xor     ax,ax                   ; Zero register
273F:A36C  E8 0519                              call    pause_with_kbd_mouse_break
273F:A36F  FF 16 077E                           call    word ptr [copy_screen_proc]
273F:A373  33 C0                                xor     ax,ax                   ; Install sub-palette #0
273F:A375  E8 04C1                              call    install_palette
273F:A378  E8 04F3                              call    screen_fade_in
273F:A37B  C6 06 55A0 00                        mov     byte ptr data_835,0     ; (31E4:55A0=0)
273F:A380  B8 035A                              mov     ax,35Ah
273F:A383  E8 0502                              call    pause_with_kbd_mouse_break
273F:A386  73 02                                jnc     loc_1996                ; Jump if full timeout occurred
273F:A388  74 76                                jz      loc_2005                ; Jump if Escape pressed
273F:A38A                       loc_1996:                                       ;  xref 273F:A386

; Loop for animation of showing peasants working in the field screen

273F:A38A  B9 004C                              mov     cx,4Ch                  ; Number of animation frames

273F:A38D                       locloop_1997:                                   ;  xref 273F:A3A2
273F:A38D  B8 0007                              mov     ax,7
273F:A390  E8 04F5                              call    pause_with_kbd_mouse_break
273F:A393  73 05                                jnc     loc_1998                ; Jump if full timeout occurred
273F:A395  75 0F                                jnz     loc_1999                ; Jump if Escape not pressed
273F:A397  E9 0202                              jmp     loc_2019
273F:A39A                       loc_1998:                                       ;  xref 273F:A393
273F:A39A  57                                   push    di
273F:A39B  51                                   push    cx
273F:A39C  FF 16 0780                           call    word ptr [pic_decode_proc]
273F:A3A0  59                                   pop     cx
273F:A3A1  5F                                   pop     di
273F:A3A2  E2 E9                                loop    locloop_1997            ; Loop if cx > 0

273F:A3A4  EB 15                                jmp     short loc_2001          ; (A3BB)
273F:A3A6                       loc_1999:                                       ;  xref 273F:A395
273F:A3A6  E8 04B6                              call    fade_out

273F:A3A9                       locloop_2000:                                   ;  xref 273F:A3AF
273F:A3A9  51                                   push    cx
273F:A3AA  FF 16 0780                           call    word ptr [pic_decode_proc]
273F:A3AE  59                                   pop     cx
273F:A3AF  E2 F8                                loop    locloop_2000            ; Loop if cx > 0

273F:A3B1  B8 0001                              mov     ax,1
273F:A3B4  E8 0482                              call    install_palette
273F:A3B7  FF 16 0760                           call    word ptr [fade_in_proc]
273F:A3BB                       loc_2001:                                       ;  xref 273F:A3A4
273F:A3BB  B8 0042                              mov     ax,42h                  ; Cliff overhang image
273F:A3BE  E8 03F2                              call    load_pic_with_animation                 
273F:A3C1  B8 0001                              mov     ax,1
273F:A3C4  E8 0472                              call    install_palette
273F:A3C7  FF 16 0762                           call    [set_lower_palette_proc]
273F:A3CB  BA 0014                              mov     dx,14h
273F:A3CE  E8 FDE9                              call    sub_256                 ; (A1BA)
273F:A3D1  B8 0064                              mov     ax,64h
273F:A3D4  E8 04B1                              call    pause_with_kbd_mouse_break
273F:A3D7  73 02                                jnc     loc_2002                ; Jump if carry=0
273F:A3D9  74 25                                jz      loc_2005                ; Jump if zero
273F:A3DB                       loc_2002:                                       ;  xref 273F:A3D7
273F:A3DB  B8 0101                              mov     ax,101h
273F:A3DE  BB 0100                              mov     bx,100h
273F:A3E1  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A3E5  B8 00C8                              mov     ax,0C8h
273F:A3E8  E8 049D                              call    pause_with_kbd_mouse_break
273F:A3EB  73 02                                jnc     loc_2003                ; Jump if carry=0
273F:A3ED  74 11                                jz      loc_2005                ; Jump if zero
273F:A3EF                       loc_2003:                                       ;  xref 273F:A3EB
273F:A3EF  FF 16 077E                           call    word ptr [copy_screen_proc]
273F:A3F3  B9 0064                              mov     cx,64h

273F:A3F6                       locloop_2004:                                   ;  xref 273F:A409
273F:A3F6  B8 0007                              mov     ax,7
273F:A3F9  E8 048C                              call    pause_with_kbd_mouse_break
273F:A3FC  73 05                                jnc     loc_2006                ; Jump if carry=0
273F:A3FE  75 0D                                jnz     loc_2007                ; Jump if not zero
273F:A400                       loc_2005:                                       ;  xref 273F:A388, A3D9, A3ED, A434
273F:A400  E9 0199                              jmp     loc_2019                ; (A59C)
273F:A403                       loc_2006:                                       ;  xref 273F:A3FC
273F:A403  51                                   push    cx
273F:A404  FF 16 0780                           call    word ptr [pic_decode_proc]
273F:A408  59                                   pop     cx
273F:A409  E2 EB                                loop    locloop_2004            ; Loop if cx > 0

273F:A40B  EB 0F                                jmp     short loc_2009          ; (A41C)
273F:A40D                       loc_2007:                                       ;  xref 273F:A3FE
273F:A40D  E8 044F                              call    fade_out

273F:A410                       locloop_2008:                                   ;  xref 273F:A416
273F:A410  51                                   push    cx
273F:A411  FF 16 0780                           call    word ptr [pic_decode_proc]
273F:A415  59                                   pop     cx
273F:A416  E2 F8                                loop    locloop_2008            ; Loop if cx > 0

273F:A418  FF 16 0760                           call    word ptr [fade_in_proc]
273F:A41C                       loc_2009:                                       ;  xref 273F:A40B
273F:A41C  B8 0044                              mov     ax,44h
273F:A41F  E8 0391                              call    load_pic_with_animation
273F:A422  B8 0002                              mov     ax,2
273F:A425  E8 0411                              call    install_palette
273F:A428  FF 16 0762                           call    [set_lower_palette_proc]
273F:A42C  B8 05FA                              mov     ax,5FAh
273F:A42F  E8 0456                              call    pause_with_kbd_mouse_break
273F:A432  73 02                                jnc     loc_2010                ; Jump if carry=0
273F:A434  74 CA                                jz      loc_2005                ; Jump if zero
273F:A436                       loc_2010:                                       ;  xref 273F:A432
273F:A436  E8 FDBA                              call    sub_257                 ; (A1F3)
273F:A439  B8 0102                              mov     ax,102h
273F:A43C  BB 0100                              mov     bx,100h
273F:A43F  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A443  FF 16 077E                           call    word ptr [copy_screen_proc]
273F:A447  B9 00F3                              mov     cx,0F3h

273F:A44A                       locloop_2011:                                   ;  xref 273F:A45D
273F:A44A  B8 0004                              mov     ax,4
273F:A44D  E8 0438                              call    pause_with_kbd_mouse_break
273F:A450  73 05                                jnc     loc_2012                ; Jump if carry=0
273F:A452  75 0B                                jnz     loc_2013                ; Jump if not zero
273F:A454  E9 0145                              jmp     loc_2019                ; (A59C)
273F:A457                       loc_2012:                                       ;  xref 273F:A450
273F:A457  51                                   push    cx
273F:A458  FF 16 0780                           call    word ptr [pic_decode_proc]
273F:A45C  59                                   pop     cx
273F:A45D  E2 EB                                loop    locloop_2011            ; Loop if cx > 0

273F:A45F                       loc_2013:                                       ;  xref 273F:A452
273F:A45F  B8 0024                              mov     ax,24h
273F:A462  E8 034E                              call    load_pic_with_animation
273F:A465  FF 16 077E                           call    word ptr [copy_screen_proc]
273F:A469  33 C0                                xor     ax,ax                   ; Zero register
273F:A46B  E8 041A                              call    pause_with_kbd_mouse_break
273F:A46E  B8 0003                              mov     ax,3
273F:A471  E8 03C5                              call    install_palette
273F:A474  E8 0404                              call    set_lower_palette
273F:A477  B8 0328                              mov     ax,328h
273F:A47A  E8 040B                              call    pause_with_kbd_mouse_break
273F:A47D  E8 FD73                              call    sub_257                 ; (A1F3)
273F:A480  B8 0103                              mov     ax,103h
273F:A483  BB 0100                              mov     bx,100h
273F:A486  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A48A  B8 0046                              mov     ax,46h
273F:A48D  E8 0323                              call    load_pic_with_animation
273F:A490  B8 031E                              mov     ax,31Eh
273F:A493  E8 03F2                              call    pause_with_kbd_mouse_break
273F:A496  FF 16 077E                           call    word ptr [copy_screen_proc]
273F:A49A  B9 007C                              mov     cx,7Ch

273F:A49D                       locloop_2014:                                   ;  xref 273F:A4B0
273F:A49D  B8 0007                              mov     ax,7
273F:A4A0  E8 03E5                              call    pause_with_kbd_mouse_break
273F:A4A3  73 05                                jnc     loc_2015                ; Jump if carry=0
273F:A4A5  75 0B                                jnz     loc_2016                ; Jump if not zero
273F:A4A7  E9 00F2                              jmp     loc_2019                ; (A59C)
273F:A4AA                       loc_2015:                                       ;  xref 273F:A4A3
273F:A4AA  51                                   push    cx
273F:A4AB  FF 16 0780                           call    word ptr [pic_decode_proc]
273F:A4AF  59                                   pop     cx
273F:A4B0  E2 EB                                loop    locloop_2014            ; Loop if cx > 0

273F:A4B2                       loc_2016:                                       ;  xref 273F:A4A5
273F:A4B2  B8 0048                              mov     ax,48h
273F:A4B5  E8 02FB                              call    load_pic_with_animation
273F:A4B8  E8 03A4                              call    fade_out
273F:A4BB  B8 0004                              mov     ax,4
273F:A4BE  E8 0378                              call    install_palette
273F:A4C1  FF 16 077E                           call    word ptr [copy_screen_proc]
273F:A4C5  B8 0063                              mov     ax,63h
273F:A4C8  E8 03BD                              call    pause_with_kbd_mouse_break
273F:A4CB  E8 03AD                              call    set_lower_palette
273F:A4CE  B8 0054                              mov     ax,54h
273F:A4D1  E8 03B4                              call    pause_with_kbd_mouse_break
273F:A4D4  E8 0388                              call    fade_out
273F:A4D7  FF 16 0780                           call    word ptr [pic_decode_proc]
273F:A4DB  B8 005D                              mov     ax,5Dh
273F:A4DE  E8 03A7                              call    pause_with_kbd_mouse_break
273F:A4E1  E8 0397                              call    set_lower_palette
273F:A4E4  B8 0052                              mov     ax,52h
273F:A4E7  E8 039E                              call    pause_with_kbd_mouse_break
273F:A4EA  E8 0372                              call    fade_out
273F:A4ED  FF 16 0780                           call    word ptr [pic_decode_proc]
273F:A4F1  B8 003F                              mov     ax,3Fh
273F:A4F4  E8 0391                              call    pause_with_kbd_mouse_break
273F:A4F7  E8 0381                              call    set_lower_palette
273F:A4FA  B8 0057                              mov     ax,57h
273F:A4FD  E8 0388                              call    pause_with_kbd_mouse_break
273F:A500  E8 035C                              call    fade_out
273F:A503  FF 16 0780                           call    word ptr [pic_decode_proc]
273F:A507  B8 0059                              mov     ax,59h
273F:A50A  E8 037B                              call    pause_with_kbd_mouse_break
273F:A50D  E8 036B                              call    set_lower_palette
273F:A510  B8 005A                              mov     ax,5Ah
273F:A513  E8 0372                              call    pause_with_kbd_mouse_break
273F:A516  E8 0346                              call    fade_out
273F:A519  FF 16 0780                           call    word ptr [pic_decode_proc]
273F:A51D  B8 0035                              mov     ax,35h
273F:A520  E8 0365                              call    pause_with_kbd_mouse_break
273F:A523  E8 0355                              call    set_lower_palette
273F:A526  B8 0058                              mov     ax,58h
273F:A529  E8 035C                              call    pause_with_kbd_mouse_break
273F:A52C  E8 0330                              call    fade_out
273F:A52F  FF 16 0780                           call    word ptr [pic_decode_proc]
273F:A533  B8 005B                              mov     ax,5Bh
273F:A536  E8 034F                              call    pause_with_kbd_mouse_break
273F:A539  E8 033F                              call    set_lower_palette
273F:A53C  B8 0059                              mov     ax,59h
273F:A53F  E8 0346                              call    pause_with_kbd_mouse_break
273F:A542  FF 16 0766                           call    word ptr [fade_out_proc]

273F:A546  B8 0021                              mov     ax,21h
273F:A549  E8 957B                              call    read_palette            ; (3AC7)
273F:A54C  B8 0022                              mov     ax,22h
273F:A54F  E8 0261                              call    load_pic_with_animation
273F:A552  FF 16 077E                           call    word ptr [copy_screen_proc]
273F:A556  B8 A000                              mov     ax, VGA_SEGMENT
273F:A559  8E C0                                mov     es,ax
273F:A55B BF F000                              mov     di,data_1448e           ; (A000:F000=0)
273F:A55E  B9 0500                              mov     cx,500h
273F:A561  33 C0                                xor     ax,ax                   ; Zero register
273F:A563  F3/ AB                               rep     stosw                   ; Rep when cx >0 Store ax to es:[di]
273F:A565  FF 16 0760                           call    word ptr [fade_in_proc]
273F:A569  33 C0                                xor     ax,ax                   ; Zero register
273F:A56B  E8 031A                              call    pause_with_kbd_mouse_break
273F:A56E  B8 0384                              mov     ax,384h
273F:A571  E8 0314                              call    pause_with_kbd_mouse_break
273F:A574  72 19                                jc      loc_2018                ; Jump if carry Set
273F:A576  F6 06 5660 10                        test    music_status, 10h
273F:A57B  75 12                                jnz     loc_2018                ; Jump if not zero
273F:A57D                       loc_2017:                                       ;  xref 273F:A58D
273F:A57D  B8 0005                              mov     ax,5
273F:A580  E8 0305                              call    pause_with_kbd_mouse_break
273F:A583  72 0A                                jc      loc_2018                ; Jump if carry Set
273F:A585  F9                                   stc                             ; Set carry flag
273F:A586  B8 0503                              mov     ax,503h
273F:A589  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A58D  73 EE                                jnc     loc_2017                ; Jump if carry=0
273F:A58F                       loc_2018:                                       ;  xref 273F:A574, A57B, A583
273F:A58F  E8 FC61                              call    sub_257                 ; (A1F3)
273F:A592  80 26 5660 FB                        and     music_status, 0FBh
273F:A597  FF 16 0766                           call    word ptr [fade_out_proc]
273F:A59B  C3                                   retn
273F:A59C                       loc_2019:                                       ;  xref 273F:A397, A400, A454, A4A7
273F:A59C  FF 16 0766                           call    word ptr [fade_out_proc]
273F:A5A0  BA 0014                              mov     dx,14h
273F:A5A3  E8 FC14                              call    sub_256                 ; (A1BA)
273F:A5A6  80 26 5660 FB                        and     music_status, 0FBh
273F:A5AB  C3                                   retn
                           show_introduction    endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0033
                                ;��������������������������������������������������������������������������

                    display_chute_animation     proc    near
273F:A5AC  E8 FC44                              call    sub_257                 ; (A1F3)
273F:A5AF  A1 4CFE                              mov     ax, data_814
273F:A5B2  A3 5782                              mov     misc_segment, ax
273F:A5B5  E8 79A7                              call    show_disk_cursor
273F:A5B8  B8 404C                              mov     ax,404Ch
273F:A5BB  E8 9509                              call    read_palette            ; (3AC7)
273F:A5BE  B8 404D                              mov     ax,404Dh
273F:A5C1  E8 01EF                              call    load_pic_with_animation
273F:A5C4  80 0E 11D0 01                        or      menubar_state, 1     ; (31E4:11D0=3)
273F:A5C9  FF 16 075E                           call    word ptr [show_cursor_proc]
273F:A5CD  FF 16 077E                           call    word ptr [copy_screen_proc]
273F:A5D1  E8 029A                              call    sub_267                 ; (A86E)
273F:A5D4  53                                   push    bx
273F:A5D5  B8 0140                              mov     ax,140h
273F:A5D8  33 DB                                xor     bx,bx                   ; Zero register
273F:A5DA  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A5DE  5B                                   pop     bx
273F:A5DF  B9 0018                              mov     cx,18h

273F:A5E2                       locloop_2020:                                   ;  xref 273F:A5EE
273F:A5E2  51                                   push    cx
273F:A5E3  B8 0006                              mov     ax,6
273F:A5E6  E8 A400                              call    sleep
273F:A5E9  FF 16 0780                           call    word ptr [pic_decode_proc]
273F:A5ED  59                                   pop     cx
273F:A5EE  E2 F2                                loop    locloop_2020            ; Loop if cx > 0

273F:A5F0  B8 404F                              mov     ax,404Fh
273F:A5F3  E8 01BD                              call    load_pic_with_animation
273F:A5F6  FF 16 0764                           call    [empty_palette_proc]
273F:A5FA  B9 0004                              mov     cx,4

273F:A5FD                       locloop_2021:                                   ;  xref 273F:A620
273F:A5FD  51                                   push    cx
273F:A5FE  FF 16 077E                           call    word ptr [copy_screen_proc]
273F:A602  59                                   pop     cx
273F:A603  83 F9 04                             cmp     cx,4
273F:A606  75 05                                jne     loc_2022                ; Jump if not equal
273F:A608  51                                   push    cx
273F:A609  E8 0262                              call    sub_267                 ; (A86E)
273F:A60C  59                                   pop     cx
273F:A60D                       loc_2022:                                       ;  xref 273F:A606
273F:A60D  51                                   push    cx
273F:A60E  B9 000B                              mov     cx,0Bh

273F:A611                       locloop_2023:                                   ;  xref 273F:A61D
273F:A611  51                                   push    cx
273F:A612  B8 0005                              mov     ax,5
273F:A615  E8 A3D1                              call    sleep                   ; (49E9)
273F:A618  FF 16 0780                           call    word ptr [pic_decode_proc]
273F:A61C  59                                   pop     cx
273F:A61D  E2 F2                                loop    locloop_2023            ; Loop if cx > 0

273F:A61F  59                                   pop     cx
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 392

273F:A620  E2 DB                                loop    locloop_2021            ; Loop if cx > 0

273F:A622  FF 16 0764                           call    [empty_palette_proc]
273F:A626  B8 4051                              mov     ax,4051h
273F:A629  E8 0187                              call    load_pic_with_animation
273F:A62C  FF 16 077E                           call    word ptr [copy_screen_proc]
273F:A630  E8 0248                              call    set_lower_palette
273F:A633  B9 0006                              mov     cx,6

273F:A636                       locloop_2024:                                   ;  xref 273F:A642
273F:A636  51                                   push    cx
273F:A637  B8 0006                              mov     ax,6
273F:A63A  E8 A3AC                              call    sleep                   ; (49E9)
273F:A63D  FF 16 0780                           call    word ptr [pic_decode_proc]
273F:A641  59                                   pop     cx
273F:A642  E2 F2                                loop    locloop_2024            ; Loop if cx > 0

273F:A644  FF 16 0766                           call    word ptr [fade_out_proc]
273F:A648  80 26 11D0 FE                        and     menubar_state, 0FEh  ; (31E4:11D0=3)
273F:A64D  FF 16 075E                           call    word ptr [show_cursor_proc]
273F:A651  E8 D440                              call    load_resources
273F:A654  E8 FB9C                              call    sub_257                 ; (A1F3)
273F:A657  C6 06 BAB9 01                        mov     byte ptr script_val_88, 1
273F:A65C  C3                                   retn
                    display_chute_animation     endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0153
                                ;��������������������������������������������������������������������������

273F:A65D                    skorl_knockout     proc    near
273F:A65D  FF 16 0766                           call    word ptr [fade_out_proc]
273F:A661  E8 78FB                              call    show_disk_cursor
273F:A664  A1 4CFE                              mov     ax, data_814
273F:A667  A3 5782                              mov     misc_segment, ax
273F:A66A  B8 4060                              mov     ax,4060h
273F:A66D  E8 9457                              call    read_palette            ; (3AC7)
273F:A670  B8 4061                              mov     ax,4061h
273F:A673  E8 013D                              call    load_pic_with_animation
273F:A676  80 0E 11D0 01                        or      menubar_state, 1     ; (31E4:11D0=3)
273F:A67B  FF 16 075E                           call    word ptr [show_cursor_proc]
273F:A67F  FF 16 077E                           call    word ptr [copy_screen_proc]
273F:A683  E8 01E8                              call    sub_267                 ; (A86E)
273F:A686  B9 0018                              mov     cx,18h

273F:A689                       locloop_2025:                                   ;  xref 273F:A6A8
273F:A689  51                                   push    cx
273F:A68A  B8 0004                              mov     ax,4
273F:A68D  E8 A359                              call    sleep                   ; (49E9)
273F:A690  83 F9 0C                             cmp     cx,0Ch
273F:A693  75 0E                                jne     loc_2026                ; Jump if not equal
273F:A695  55                                   push    bp
273F:A696  56                                   push    si
273F:A697  52                                   push    dx
273F:A698  53                                   push    bx
273F:A699  BB 0033                              mov     bx,33h
273F:A69C  E8 F95E                              call    play_sound                 ; (9FFD)
273F:A69F  5B                                   pop     bx
273F:A6A0  5A                                   pop     dx
273F:A6A1  5E                                   pop     si
273F:A6A2  5D                                   pop     bp
273F:A6A3                       loc_2026:                                       ;  xref 273F:A693
273F:A6A3  FF 16 0780                           call    word ptr [pic_decode_proc]
273F:A6A7  59                                   pop     cx
273F:A6A8  E2 DF                                loop    locloop_2025            ; Loop if cx > 0

273F:A6AA  FF 16 0766                           call    word ptr [fade_out_proc]
273F:A6AE  E8 D3E3                              call    load_resources
273F:A6B1  80 26 11D0 FE                        and     menubar_state, 0FEh  ; (31E4:11D0=3)
273F:A6B6  FF 16 075E                           call    word ptr [show_cursor_proc]
273F:A6BA  C3                                   retn
                             skorl_knockout     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:0038
                                ;��������������������������������������������������������������������������

                    display_barrel_animation    proc    near
273F:A6BB  A1 4CFE                              mov     ax, data_814
273F:A6BE  A3 5782                              mov     misc_segment, ax
273F:A6C1  B8 E9F0                              mov     ax,0E9F0h
273F:A6C4  E8 9400                              call    read_palette            ; (3AC7)
273F:A6C7  B8 E9F1                              mov     ax,0E9F1h
273F:A6CA  E8 00E6                              call    load_pic_with_animation
273F:A6CD  80 0E 11D0 01                        or      menubar_state, 1     ; (31E4:11D0=3)
273F:A6D2  FF 16 075E                           call    word ptr [show_cursor_proc]
273F:A6D6  E8 FB1A                              call    sub_257                 ; (A1F3)
273F:A6D9  B8 013B                              mov     ax,13Bh
273F:A6DC  33 DB                                xor     bx,bx                   ; Zero register
273F:A6DE  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A6E2  FF 16 077E                           call    word ptr [copy_screen_proc]
273F:A6E6  E8 0185                              call    sub_267                 ; (A86E)
273F:A6E9  B9 00B0                              mov     cx,0B0h

273F:A6EC                       locloop_2027:                                   ;  xref 273F:A6F8
273F:A6EC  51                                   push    cx
273F:A6ED  B8 0007                              mov     ax,7
273F:A6F0  E8 A2F6                              call    sleep                   ; (49E9)
273F:A6F3  FF 16 0780                           call    word ptr [pic_decode_proc]
273F:A6F7  59                                   pop     cx
273F:A6F8  E2 F2                                loop    locloop_2027            ; Loop if cx > 0

273F:A6FA  C7 06 9832 002A                      mov     room_number, ROOMNUM_WINE_CELLAR
273F:A700  E8 D391                              call    load_resources
273F:A703  FF 16 0766                           call    word ptr [fade_out_proc]
273F:A707  80 26 11D0 FE                        and     menubar_state, 0FEh
273F:A70C  FF 16 075E                           call    word ptr [show_cursor_proc]
273F:A710  C3                                   retn
                    display_barrel_animation    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called indircetly via calls to word ptr [pic_decode_proc]
                                ;��������������������������������������������������������������������������

                           vga_pic_decode       proc    near

273F:A711  1E                                   push    ds
273F:A712  B8 A000                              mov     ax, VGA_SEGMENT
273F:A715  8E C0                                mov     es,ax
273F:A717  33 FF                                xor     di,di                   ; Zero register
273F:A719  8E DA                                mov     ds,dx
273F:A71B                       loc_2028:
273F:A71B  8A 0F                                mov     cl,[bx]                 ; Get repeating length
273F:A71D  32 ED                                xor     ch,ch
273F:A71F  83 C3 01                             add     bx,1
273F:A722  0A C9                                or      cl,cl                   ; Was the repeat length 0?
273F:A724  75 05                                jnz     loc_2029
273F:A726  8B 0F                                mov     cx,[bx]                 ; Yes, so get length from next 2 bytes
273F:A728  83 C3 02                             add     bx,2
273F:A72B                       loc_2029:
273F:A72B  8E DD                                mov     ds,bp
273F:A72D  F3/ A4                               rep     movsb                   ; Rep when cx >0 Mov [si] to es:[di]
273F:A72F  8E DA                                mov     ds,dx
273F:A731  8A 07                                mov     al,[bx]                 ; Get screen inc amount
273F:A733  32 E4                                xor     ah,ah
273F:A735  83 C3 01                             add     bx,1
273F:A738  0A C0                                or      al,al                   ; Zero ?
273F:A73A  75 05                                jnz     loc_2030
273F:A73C  8B 07                                mov     ax,[bx]                 ; Yes, so get inc from next 2 bytes
273F:A73E  83 C3 02                             add     bx,2
273F:A741                       loc_2030:
273F:A741  03 F8                                add     di,ax
273F:A743  81 FF FA00                           cmp     di, 320*200             ; 0FA00h = full screen
273F:A747  72 D2                                jb      loc_2028                ; Jump if below
273F:A749  1F                                   pop     ds
273F:A74A  B1 04                                mov     cl,4

273F:A74C  8B C6                                mov     ax,si
273F:A74E  D3 E8                                shr     ax,cl                   ; Shift w/zeros fill
273F:A750  03 E8                                add     bp,ax
273F:A752  83 E6 0F                             and     si,0Fh

273F:A755  8B C3                                mov     ax,bx
273F:A757  D3 E8                                shr     ax,cl                   ; Shift w/zeros fill
273F:A759  03 D0                                add     dx,ax
273F:A75B  83 E3 0F                             and     bx,0Fh
273F:A75E  C3                                   retn

                           vga_pic_decode      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called indircetly via calls to word ptr [pic_decode_proc]
                                ;��������������������������������������������������������������������������

                           ega_pic_decode      endp

273F:A75F  1E                                   push    ds
273F:A760  1E                                   push    ds
273F:A761  07                                   pop     es
273F:A762  8E DD                                mov     ds,bp
273F:A764  AC                                   lodsb                           ; String [si] to al
273F:A765  8A C8                                mov     cl,al
273F:A767                       loc_2031:                                       ;  xref 273F:A77D
273F:A767 80 E9 01                             sub     cl,1
273F:A76A  72 13                                jc      loc_2032                ; Jump if carry Set
273F:A76C  AC                                   lodsb                           ; String [si] to al
273F:A76D  32 E4                                xor     ah,ah                   ; Zero register
273F:A76F  8B D8                                mov     bx,ax
273F:A771  26: C6 87 0790 01                    mov     byte ptr es:[hotspot_rects_list][bx],1 ; (273F:0790=1Fh)
273F:A777  26: C6 87 0890 01                    mov     byte ptr es:[hotspot_rects_list+100h][bx],1 ; (273F:0890=0BEh)
273F:A77D  EB E8                                jmp     short loc_2031          ; (A767)
273F:A77F                       loc_2032:                                       ;  xref 273F:A76A
273F:A77F  26: A1 4CE4                          mov     ax, es:data_segment2
273F:A783  8E C0                                mov     es,ax
273F:A785  BF 0500                              mov     di, MENUBAR_BLOCK_SIZE/2
273F:A788                       loc_2033:                                       ;  xref 273F:A797, A79D
273F:A788 AC                                   lodsb                           ; String [si] to al
273F:A789  32 E4                                xor     ah,ah                   ; Zero register
273F:A78B  03 F8                                add     di,ax
273F:A78D 81 FF 7D00                           cmp     di,data_1467e           ; (FF12:7D00=0C2h)
273F:A791  73 0C                                jae     loc_2034                ; Jump if above or =
273F:A793  AC                                   lodsb                           ; String [si] to al
273F:A794  25 00FF                              and     ax,0FFh
273F:A797  74 EF                                jz      loc_2033                ; Jump if zero
273F:A799  8B C8                                mov     cx,ax
273F:A79B  F3/ A4                               rep     movsb                   ; Rep when cx >0 Mov [si] to es:[di]
273F:A79D  EB E9                                jmp     short loc_2033          ; (A788)
273F:A79F                       loc_2034:                                       ;  xref 273F:A791
273F:A79F  1F                                   pop     ds
273F:A7A0  B1 04                                mov     cl,4
273F:A7A2  8B C6                                mov     ax,si
273F:A7A4  D3 E8                                shr     ax,cl                   ; Shift w/zeros fill
273F:A7A6  03 E8                                add     bp,ax
273F:A7A8  83 E6 0F                             and     si,0Fh
273F:A7AB  55                                   push    bp
273F:A7AC  56                                   push    si
273F:A7AD  E8 78AC                              call    ega_show_menu
273F:A7B0  5E                                   pop     si
273F:A7B1  5D                                   pop     bp
273F:A7B2  C3                                   retn

                           ega_pic_decode      endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:A359, A3BE, A41F, A462, A48D, A4B5, A54F
                                ;                             A5C1, A5F3, A629, A673, A6CA, A91A, A9E3
                                ;                             A9F3
                                ;��������������������������������������������������������������������������

273F:A7B3            load_pic_with_animation    proc    near
273F:A7B3  50                                   push    ax
273F:A7B4  E8 5C2F                              call    get_entry_size
273F:A7B7  8B 0E 4D02                           mov     cx,buffer_segment_end   ; (31E4:4D02=0)
273F:A7BB  2B CA                                sub     cx,dx
273F:A7BD  33 D2                                xor     dx,dx                   ; Zero register
273F:A7BF  51                                   push    cx
273F:A7C0  E8 5B51                              call    read_entry              ; (0314)
273F:A7C3  5A                                   pop     dx
273F:A7C4  83 EA 08                             sub     dx,8
273F:A7C7  A1 5782                              mov     ax,misc_segment         ; (31E4:5782=0)
273F:A7CA  8E C0                                mov     es,ax
273F:A7CC  E8 91BB                              call    decode_file_entry       ; (398A)
273F:A7CF  89 16 5784                           mov     decoded_data_end_segment, dx
273F:A7D3  58                                   pop     ax
273F:A7D4  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:A7D9  74 0A                                je      loc_ret_2035            ; Jump if equal
273F:A7DB  8B CA                                mov     cx,dx
273F:A7DD  33 D2                                xor     dx,dx                   ; Zero register
273F:A7DF  05 0001                              add     ax,1
273F:A7E2  E8 5B2F                              call    read_entry              ; (0314)

273F:A7E5                       loc_ret_2035:                                   ;  xref 273F:A7D9
273F:A7E5  C3                                   retn
                     load_pic_with_animation    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called indircetly via calls to word ptr [copy_screen_proc]
                                ;��������������������������������������������������������������������������

                             vga_copy_screen    proc    near

273F:A7E6  B8 A000                              mov     ax, VGA_SEGMENT
273F:A7E9  8E C0                                mov     es,ax
273F:A7EB  1E                                   push    ds
273F:A7EC  A1 5782                              mov     ax,misc_segment         ; (31E4:5782=0)
273F:A7EF  8E D8                                mov     ds,ax
273F:A7F1  33 F6                                xor     si,si                   ; Zero register
273F:A7F3  33 FF                                xor     di,di                   ; Zero register
273F:A7F5  B9 7D00                              mov     cx, 320*200/2           ; 7D00h
273F:A7F8  F3/ A5                               rep     movsw                   ; Rep when cx >0 Mov [si] to es:[di]
273F:A7FA  1F                                   pop     ds
273F:A7FB  8B 2E 5782                           mov     bp,misc_segment         ; (31E4:5782=0)
273F:A7FF  81 C5 0FA0                           add     bp, 320*200/16          ; 0FA0h (segment incr amount)
273F:A803  8B 16 5784                           mov     dx, decoded_data_end_segment
273F:A807  33 F6                                xor     si,si                   ; Zero register for BP:SI return
273F:A809  33 DB                                xor     bx,bx                   ; Zero register for DX:BX return
273F:A80B  C3                                   retn

                             vga_copy_screen    endp

                             ega_copy_screen    proc    near

                                                assume  ds:seg_code
273F:A80C  A1 5784                              mov     ax,data_354             ; (273F:5784=0A302h)
273F:A80F  A3 4CE4                              mov     data_segment2, ax
273F:A812  8E C0                                mov     es,ax
273F:A814  1E                                   push    ds
273F:A815  A1 5782                              mov     ax,data_353             ; (273F:5782=0C583h)
273F:A818  8E D8                                mov     ds,ax
273F:A81A  33 F6                                xor     si,si                   ; Zero register
273F:A81C BF 0500                              mov     di,data_1450e           ; (A302:0500=0)
273F:A81F  B9 3C00                              mov     cx,3C00h
273F:A822  F3/ A5                               rep     movsw                   ; Rep when cx >0 Mov [si] to es:[di]
273F:A824  1F                                   pop     ds
273F:A825  E8 6139                              call    clear_hotspot_rects
273F:A828  E8 C7DA                              call    menubar_clear_image
273F:A82B  E8 782E                              call    ega_show_menu
273F:A82E  8B 2E 5782                           mov     bp,data_353             ; (273F:5782=0C583h)
273F:A832  81 C5 0780                           add     bp,780h
273F:A836  33 F6                                xor     si,si                   ; Zero register
273F:A838  C3                                   retn

                             ega_copy_screen    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:A375, A3B4, A3C4, A425, A471, A4BE
                                ;��������������������������������������������������������������������������

273F:A839               install_palette         proc    near
                                                assume  ds:data_seg
273F:A839  80 3E 0742 02                        cmp     video_style, VIDEO_STYLE_EGA
273F:A83E  74 1E                                je      loc_ret_2036            ; Jump if equal
273F:A840  56                                   push    si
273F:A841  57                                   push    di
273F:A842  52                                   push    dx
273F:A843  1E                                   push    ds

273F:A844 BE 00C0                              mov     si, 0C0h                ; 64 palette entries * 3 bytes
273F:A847  F7 E6                                mul     si                      ; dx:ax = reg * ax
273F:A849  8B F0                                mov     si,ax
273F:A84B BF 1457                              mov     di,offset unprocessed_vga_palette
273F:A84E  1E                                   push    ds
273F:A84F  07                                   pop     es
273F:A850  A1 5780                              mov     ax, palette_segment
273F:A853  8E D8                                mov     ds,ax
273F:A855  B9 0060                              mov     cx, 0C0h/2              ; Copy palette data over
273F:A858  F3/ A5                               rep     movsw                   ; Rep when cx >0 Mov [si] to es:[di]

273F:A85A  1F                                   pop     ds
273F:A85B  5A                                   pop     dx
273F:A85C  5F                                   pop     di
273F:A85D  5E                                   pop     si

273F:A85E                       loc_ret_2036:                                   ;  xref 273F:A83E
273F:A85E  C3                                   retn
                        install_palette         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:A3A6, A40D, A4B8, A4D4, A4EA, A500, A516
                                ;                             A52C
                                ;��������������������������������������������������������������������������

273F:A85F                      fade_out         proc    near
273F:A85F  55                                   push    bp
273F:A860  56                                   push    si
273F:A861  52                                   push    dx
273F:A862  53                                   push    bx
273F:A863  51                                   push    cx
273F:A864  FF 16 0766                           call    word ptr [fade_out_proc]
273F:A868  59                                   pop     cx
273F:A869  5B                                   pop     bx
273F:A86A  5A                                   pop     dx
273F:A86B  5E                                   pop     si
273F:A86C  5D                                   pop     bp
273F:A86D  C3                                   retn
                               fade_out         endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:A378, A5D1, A609, A683, A6E6, A932
                                ;��������������������������������������������������������������������������

273F:A86E                  screen_fade_in       proc    near
273F:A86E  55                                   push    bp
273F:A86F  56                                   push    si
273F:A870  52                                   push    dx
273F:A871  53                                   push    bx
273F:A872  FF 16 0760                           call    word ptr [fade_in_proc]
273F:A876  5B                                   pop     bx
273F:A877  5A                                   pop     dx
273F:A878  5E                                   pop     si
273F:A879  5D                                   pop     bp
273F:A87A  C3                                   retn
                           screen_fade_in       endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:A474, A4CB, A4E1, A4F7, A50D, A523, A539
                                ;                             A630
                                ;��������������������������������������������������������������������������

273F:A87B                 set_lower_palette     proc    near
273F:A87B  55                                   push    bp
273F:A87C  56                                   push    si
273F:A87D  52                                   push    dx
273F:A87E  53                                   push    bx
273F:A87F  FF 16 0762                           call    [set_lower_palette_proc]
273F:A883  5B                                   pop     bx
273F:A884  5A                                   pop     dx
273F:A885  5E                                   pop     si
273F:A886  5D                                   pop     bp
273F:A887  C3                                   retn
                          set_lower_palette     endp


                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ;         Called from:   273F:A36C, A383, A390, A3D4, A3E8, A3F9, A42F
                                ;                             A44D, A46B, A47A, A493, A4A0, A4C8, A4D1
                                ;                             A4DE, A4E7, A4F4, A4FD, A50A, A513, A520
                                ;                             A529, A536, A53F, A56B, A571, A580, A9E9
                                ;                             A9F9
                                ;��������������������������������������������������������������������������

273F:A888         pause_with_kbd_mouse_break    proc    near
273F:A888                       loc_2037:                                       ;  xref 273F:A89A, A8B8
273F:A888 F6 06 55A0 FF                        test    byte ptr data_835,0FFh  ; (31E4:55A0=0)
273F:A88D  75 15                                jnz     loc_2038                ; Jump if not zero
273F:A88F  F6 06 11D5 03                        test    byte ptr mouse_buttons, 3
273F:A894  75 42                                jnz     loc_2043                ; Jump if not zero
273F:A896  39 06 38B1                           cmp     time_ctr, ax            ; (31E4:38B1=0)
273F:A89A  72 EC                                jb      loc_2037                ; Jump if below
273F:A89C  C7 06 38B1 0000                      mov     time_ctr, 0             ; (31E4:38B1=0)
273F:A8A2  F8                                   clc                             ; Clear carry flag
273F:A8A3  C3                                   retn
273F:A8A4                       loc_2038:                                       ;  xref 273F:A88D
273F:A8A4  C6 06 55A0 00                        mov     byte ptr data_835,0     ; (31E4:55A0=0)
273F:A8A9  52                                   push    dx
273F:A8AA  50                                   push    ax
273F:A8AB  A1 38B1                              mov     ax, time_ctr            ; (31E4:38B1=0)
273F:A8AE  B4 06                                mov     ah,6
273F:A8B0  B2 FF                                mov     dl,0FFh
273F:A8B2  CD 21                                int     21h                     ; DOS Services  ah=function 06h
                                                                                ;  special char i/o, dl=subfunc
273F:A8B4  75 04                                jnz     loc_2040                ; Jump if not zero
273F:A8B6                       loc_2039:                                       ;  xref 273F:A8CA
273F:A8B6  58                                   pop     ax
273F:A8B7  5A                                   pop     dx
273F:A8B8  EB CE                                jmp     short loc_2037          ; (A888)
273F:A8BA                       loc_2040:                                       ;  xref 273F:A8B4
273F:A8BA  50                                   push    ax
273F:A8BB                       loc_2041:                                       ;  xref 273F:A8C1
273F:A8BB  B4 06                                mov     ah,6
273F:A8BD  B2 FF                                mov     dl,0FFh
273F:A8BF  CD 21                                int     21h                     ; DOS Services  ah=function 06h
                                                                                ;  special char i/o, dl=subfunc
273F:A8C1  75 F8                                jnz     loc_2041                ; Jump if not zero
273F:A8C3  58                                   pop     ax
273F:A8C4  3C 20                                cmp     al,20h                  ; ' '
273F:A8C6  74 04                                je      loc_2042                ; Jump if equal
273F:A8C8  3C 1B                                cmp     al,1Bh
273F:A8CA  75 EA                                jne     loc_2039                ; Jump if not equal
273F:A8CC                       loc_2042:                                       ;  xref 273F:A8C6
273F:A8CC  C7 06 38B1 0000                      mov     time_ctr, 0             ; (31E4:38B1=0)
273F:A8D2  3C 1B                                cmp     al,1Bh
273F:A8D4  F9                                   stc                             ; Set carry flag
273F:A8D5  58                                   pop     ax
273F:A8D6  5A                                   pop     dx
273F:A8D7  C3                                   retn
273F:A8D8                       loc_2043:                                       ;  xref 273F:A894
273F:A8D8  F6 06 11D5 01                        test    mouse_buttons, 1
273F:A8DD  F9                                   stc                             ; Set carry flag
273F:A8DE  C3                                   retn
                  pause_with_kbd_mouse_break    endp

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;
                                ; Starts ending sequence
                                ;��������������������������������������������������������������������������

                        seq_endgame_sequence    proc    near
273F:A8DF  FF 16 0766                           call    word ptr ds:[fade_out_proc]
273F:A8E3  E8 7679                              call    show_disk_cursor
273F:A8E6  E8 F90A                              call    sub_257                 ; (A1F3)
273F:A8E9  A1 4CFE                              mov     ax, data_814
273F:A8EC  A3 5782                              mov     data_353, ax
273F:A8EF  F6 06 5660 20                        test    music_status, 20h
273F:A8F4  74 1B                                jz      loc_2044                ; Jump if zero
273F:A8F6  B8 FF10                              mov     ax,0FF10h
273F:A8F9  8B 0E 5782                           mov     cx,data_353             ; (273F:5782=0C583h)
273F:A8FD  51                                   push    cx
273F:A8FE  33 D2                                xor     dx,dx                   ; Zero register
273F:A900  E8 5A11                              call    read_entry              ; (0314)
273F:A903  01 16 5782                           add     data_353,dx             ; (273F:5782=0C583h)
273F:A907  B8 0004                              mov     ax,4
273F:A90A  5A                                   pop     dx
273F:A90B  33 C9                                xor     cx,cx                   ; Zero register
273F:A90D  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A911                       loc_2044:                                       ;  xref 273F:A8F4
273F:A911  B8 FF00                              mov     ax,0FF00h
273F:A914  E8 91B0                              call    read_palette            ; (3AC7)
273F:A917  B8 FF01                              mov     ax,0FF01h
273F:A91A  E8 FE96                              call    load_pic_with_animation
273F:A91D  03 16 5784                           add     dx,data_354             ; (273F:5784=0A302h)
273F:A921  89 16 5780                           mov     data_352,dx             ; (273F:5780=78Bh)
273F:A925  80 0E 11D0 01                        or      menubar_state, 1
273F:A92A  FF 16 075E                           call    [show_cursor_proc]
273F:A92E  FF 16 077E                           call    word ptr ds:[77Eh]      ; (273F:077E=0C00Bh)
273F:A932  E8 FF39                              call    sub_267                 ; (A86E)
273F:A935 BF 5786                              mov     di,offset data_355      ; (273F:5786=19h)
273F:A938                       loc_2045:                                       ;  xref 273F:A971
273F:A938  8B 0D                                mov     cx,[di]
273F:A93A  57                                   push    di

273F:A93B                       locloop_2046:                                   ;  xref 273F:A947
273F:A93B  51                                   push    cx
273F:A93C  B8 0009                              mov     ax, 9
273F:A93F  E8 A0A7                              call    sleep                   ; (49E9)
273F:A942  FF 16 0780                           call    word ptr ds:[780h]      ; (273F:0780=4574h)
273F:A946  59                                   pop     cx
273F:A947  E2 F2                                loop    locloop_2046            ; Loop if cx > 0

273F:A949  5F                                   pop     di
273F:A94A  55                                   push    bp
273F:A94B  56                                   push    si
273F:A94C  52                                   push    dx
273F:A94D  53                                   push    bx
273F:A94E  8B 45 02                             mov     ax,[di+2]
273F:A951  F6 06 5660 20                        test    music_status, 20h
273F:A956  74 03                                jz      loc_2047                ; Jump if zero
273F:A958  8B 45 04                             mov     ax,[di+4]
273F:A95B                       loc_2047:                                       ;  xref 273F:A956
273F:A95B  0B C0                                or      ax,ax                   ; Zero ?
273F:A95D  74 07                                jz      loc_2048                ; Jump if zero
273F:A95F  8A 5D 06                             mov     bl, [di+6]
273F:A962  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A966                       loc_2048:                                       ;  xref 273F:A95D
273F:A966  5B                                   pop     bx
273F:A967  5A                                   pop     dx
273F:A968  5E                                   pop     si
273F:A969  5D                                   pop     bp
273F:A96A  83 C7 07                             add     di,7
273F:A96D  F7 05 FFFF                           test    word ptr [di],0FFFFh
273F:A971  75 C5                                jnz     loc_2045                ; Jump if not zero
273F:A973  55                                   push    bp
273F:A974  56                                   push    si
273F:A975  52                                   push    dx
273F:A976  53                                   push    bx
273F:A977  E8 F879                              call    sub_257                 ; (A1F3)
273F:A97A  B8 0100                              mov     ax,100h
273F:A97D  33 DB                                xor     bx,bx                   ; Zero register
273F:A97F  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A983                       loc_2049:                                       ;  xref 273F:A98B
273F:A983  B8 0500                              mov     ax,500h
273F:A986  F9                                   stc                             ; Set carry flag
273F:A987  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A98B  73 F6                                jnc     loc_2049                ; Jump if carry=0
273F:A98D  E8 F863                              call    sub_257                 ; (A1F3)
273F:A990  F6 06 5660 20                        test    music_status, 20h
273F:A995  74 0B                                jz      loc_2050                ; Jump if zero
273F:A997  B8 0106                              mov     ax,106h
273F:A99A  33 DB                                xor     bx,bx                   ; Zero register
273F:A99C  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A9A0  EB 3A                                jmp     short loc_2052          ; (A9DC)
273F:A9A2                       loc_2050:                                       ;  xref 273F:A995
273F:A9A2  F6 06 5660 01                        test    music_status, 1
273F:A9A7  74 2A                                jz      loc_2051                ; Jump if zero
273F:A9A9  B8 FF11                              mov     ax,0FF11h
273F:A9AC  8B 0E 4CFE                           mov     cx, data_814
273F:A9B0  33 D2                                xor     dx,dx                   ; Zero register
273F:A9B2  51                                   push    cx
273F:A9B3  E8 595E                              call    read_entry              ; (0314)
273F:A9B6  03 16 4CFE                           add     dx, data_814
273F:A9BA  89 16 5782                           mov     data_353,dx             ; (273F:5782=0C583h)
273F:A9BE  5A                                   pop     dx
273F:A9BF  33 C9                                xor     cx,cx                   ; Zero register
273F:A9C1  B8 0001                              mov     ax,1
273F:A9C4  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A9C8  B8 0100                              mov     ax,100h
273F:A9CB  33 DB                                xor     bx,bx                   ; Zero register
273F:A9CD  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A9D1  EB 09                                jmp     short loc_2052          ; (A9DC)
273F:A9D3                       loc_2051:                                       ;  xref 273F:A9A7
273F:A9D3  B8 0106                              mov     ax,106h
273F:A9D6  B7 01                                mov     bh,1
273F:A9D8  FF 1E 5662                           call    dword ptr [play_music_proc]
273F:A9DC                       loc_2052:                                       ;  xref 273F:A9A0, A9D1
273F:A9DC  5B                                   pop     bx
273F:A9DD  5A                                   pop     dx
273F:A9DE  5E                                   pop     si
273F:A9DF  5D                                   pop     bp
273F:A9E0  B8 FF03                              mov     ax,0FF03h
273F:A9E3  E8 FDCD                              call    load_pic_with_animation
273F:A9E6  B8 0096                              mov     ax,96h
273F:A9E9  E8 FE9C                              call    pause_with_kbd_mouse_break
273F:A9EC  FF 16 077E                           call    word ptr ds:[77Eh]      ; (273F:077E=0C00Bh)
273F:A9F0  B8 FF05                              mov     ax,0FF05h
273F:A9F3  E8 FDBD                              call    load_pic_with_animation
273F:A9F6  B8 05DC                              mov     ax,5DCh
273F:A9F9  E8 FE8C                              call    pause_with_kbd_mouse_break
273F:A9FC  FF 16 077E                           call    word ptr ds:[77Eh]      ; (273F:077E=0C00Bh)
273F:AA00  B8 05DC                              mov     ax,5DCh
273F:AA03  E8 9FE3                              call    sleep                   ; (49E9)
273F:AA06                       loc_2053:                                       ;  xref 273F:AA10
273F:AA06  F6 06 11D5 FF                        test    mouse_buttons, 0FFh
273F:AA0B  75 05                                jnz     loc_2054                ; Jump if not zero
273F:AA0D  E8 EB10                              call    check_keypress                 ; (9520)
273F:AA10  74 F4                                jz      loc_2053                ; Jump if zero
273F:AA12                       loc_2054:                                       ;  xref 273F:AA0B
273F:AA12  FF 16 0766                           call    word ptr ds:[fade_out_proc]
273F:AA16  B8 0000                              mov     ax,0
273F:AA19  B6 01                                mov     dh,1
273F:AA1B  E8 9586                              call    display_message         ; (3FA4)
273F:AA1E  E8 5DAC                              call    sub_10                  ; (07CD)
273F:AA21  C7 06 86DF 001C                      mov     word ptr ds:[86DFh],1Ch ; (273F:86DF=6C7h)
273F:AA27  B4 3C                                mov     ah,3Ch                  ; '<'
273F:AA29  33 C9                                xor     cx,cx                   ; Zero register
273F:AA2B BA 5D80                              mov     dx,5D80h                ; (273F:5D80=0E8h)
273F:AA2E  CD 21                                int     21h                     ; DOS Services  ah=function 3Ch
                                                                                ;  create/truncate file @ ds:dx
273F:AA30  72 16                                jc      loc_ret_2055            ; Jump if carry Set
273F:AA32  8B D8                                mov     bx,ax
273F:AA34  B4 40                                mov     ah,40h                  ; '@'
273F:AA36  B9 F010                              mov     cx, WRITE_BUFFER_SIZE
273F:AA39 BA 5D90                              mov     dx, offset write_buffer ; (273F:5D90=47h)
273F:AA3C  2B CA                                sub     cx,dx
273F:AA3E  CD 21                                int     21h                     ; DOS Services  ah=function 40h
                                                                                ;  write file  bx=file handle
                                                                                ;   cx=bytes from ds:dx buffer
273F:AA40  72 06                                jc      loc_ret_2055            ; Jump if carry Set
273F:AA42  B4 3E                                mov     ah,3Eh
273F:AA44  CD 21                                int     21h                     ; DOS Services  ah=function 3Eh
                                                                                ;  close file, bx=file handle
273F:AA46  73 00                                jnc     loc_ret_2055            ; Jump if carry=0

273F:AA48                       loc_ret_2055:                                   ;  xref 273F:AA30, AA40, AA46
273F:AA48  C3                                   retn
                        seq_endgame_sequence    endp

273F:AA49  0007[00]                             db      7 dup (0)

                                seg_code        ends



                                ;------------------------------------------------------------  data_seg   ----

                                data_seg        segment byte public
                                                assume cs:data_seg  , ds:data_seg , ss:stack_seg_k

31E4:0000  43 6F 70 79 72 69    copyright       db      'Copyright Revolution Software 1990-1992'
31E4:0006  67 68 74 20 52 65
31E4:000C  76 6F 6C 75 74 69
31E4:0012  6F 6E 20 53 6F 66
31E4:0018  74 77 61 72 65 20
31E4:001E  31 39
31E4:0020  39 30 2D 31 39 39
31E4:0026  32
31E4:0027  20 20 20 53 79 73    data_519        db      '   System design and code: David'
31E4:002D  74 65 6D 20 64 65
31E4:0033  73 69 67 6E 20 61
31E4:0039  6E 64 20 63 6F 64
31E4:003F  65 3A 20 44 61 76
31E4:0045  69 64
31E4:0047  20 53 79 6B 65 73                    db      ' Sykes and Tony Warriner. Some o'
31E4:004D  20 61 6E 64 20 54
31E4:0053  6F 6E 79 20 57 61
31E4:0059  72 72 69 6E 65 72
31E4:005F  2E 20 53 6F 6D 65
31E4:0065  20 6F
31E4:0067  74 68 65 72 20 70                    db      'ther people did the rest.   This'
31E4:006D  65 6F 70 6C 65 20
31E4:0073  64 69 64 20 74 68
31E4:0079  65 20 72 65 73 74
31E4:007F  2E 20 20 20 54 68
31E4:0085  69 73
31E4:0087  20 76 65 72 73 69                    db      ' version assembled 15:16:59 on 0'
31E4:008D  6F 6E 20 61 73 73
31E4:0093  65 6D 62 6C 65 64
31E4:0099  20 31 35 3A 31 36
31E4:009F  3A 35 39 20 6F 6E
31E4:00A5  20 30
31E4:00A7  31 2F 31 30 2F 39                    db      '1/10/92'
31E4:00AD  32
31E4:00AE  00 00                                db      0, 0
31E4:00B0  00                   data_525        db      0                       ;  xref 273F:03D0
31E4:00B1  01                   data_526        db      1                       ;  xref 273F:0C46
31E4:00B2  0000                 data_527        dw      0                       ; Data table (indexed access)
31E4:00B4  FF                                   db      0FFh
31E4:00B5  FF                   data_528        db      0FFh

31E4:00B6  0000                 file_offset_table dw    0
31E4:00B8  00C8                                 dw      offset disk1vga
31E4:00BA  00D2                                 dw      offset disk2vga
31E4:00BC  00DC                                 dw      offset disk3vga
31E4:00BE  00E6                                 dw      offset disk4vga
31E4:00C0  00F0                                 dw      offset disk1ega
31E4:00C2  00FA                                 dw      offset disk2ega
31E4:00C4  0104                                 dw      offset disk3ega
31E4:00C6  010E                                 dw      offset disk4ega

31E4:00C8  44 49 53 4B 31 2E    disk1vga        db      'DISK1.VGA', 0
31E4:00CE  56 47 41 00
31E4:00D2  44 49 53 4B 32 2E    disk2vga        db      'DISK2.VGA', 0
31E4:00D8  56 47 41 00
31E4:00DC  44 49 53 4B 33 2E    disk3vga        db      'DISK3.VGA', 0
31E4:00E2  56 47 41 00
31E4:00E6  44 49 53 4B 34 2E    disk4vga        db      'DISK4.VGA', 0
31E4:00EC  56 47 41 00
31E4:00F0  44 49 53 4B 31 2E    disk1ega        db      'DISK1.EGA', 0
31E4:00F6  45 47 41 00
31E4:00FA  44 49 53 4B 32 2E    disk2ega        db      'DISK2.EGA', 0
31E4:0100  45 47 41 00
31E4:0104  44 49 53 4B 33 2E    disk3ega        db      'DISK3.EGA', 0
31E4:010A  45 47 41 00
31E4:010E  44 49 53 4B 34 2E    disk4ega        db      'DISK4.EGA', 0

31E4:0118  00                   retry_count     db      0                       ;  xref 273F:039F, 273F:03A5
                                                                                ;       273F:03AA, 273F:03B1

31E4:0119                       file_buffer     dw      0, 0, 0
                                file_filenum    dw      0
31E4:0121                       file_entries    db     5f8h dup (0)             ; space for the file entries table

;***** - Old data block definitions
31E4:0119  0000                 data_535        dw      0                       ;  xref 273F:0351, 273F:8FA2
31E4:011B  0000                 data_536        dw      0
31E4:011D  0000                 data_537        dw      0
31E4:011F  0000                 data_538        dw      0
31E4:0121  0120[00]                             db      288 dup (0)
31E4:0241  0000                 data_539        dw      0                       ; Data table (indexed access)
                                                                                ;  xref 31E4:7E86
31E4:0243  00C5[00]                             db      197 dup (0)
31E4:0308  0000                 data_540        dw      0                       ; Data table (indexed access)
                                                                                ;  xref 273F:8F4F
31E4:030A  00DC[00]                             db      220 dup (0)
31E4:03E6  0000                 data_541        dw      0                       ; Data table (indexed access)
                                                                                ;  xref 31E4:BCCD
31E4:03E8  0338[00]                             db      824 dup (0)
;***** ----------------------------


31E4:0719  0007[00]                             db      7 dup (0)
31E4:0720  6F 6E 00 00 74 6F                    db       6Fh, 6Eh, 00h, 00h, 74h, 6Fh
31E4:0726  00                                   db       00h
31E4:0727  28 6E 6F 74 68 69                    db      '(nothing)'
31E4:072D  6E 67 29
31E4:0730  00 66 6F 72 00 2E                    db       00h, 66h, 6Fh, 72h, 00h, 2Eh
31E4:0736  20 2E 20 2E 00                       db       20h, 2Eh, 20h, 2Eh, 00h
31E4:073B  00                   data_542        db      0                       ;  xref 273F:0745, 273F:4016
                                                                                ;       273F:4088
31E4:073C  00                   status_flags    db      0
31E4:073D  00                  status_flags2    db      0
31E4:073E  01            old_ctrl_break_flag    db      1                       ;  xref 273F:0725, 273F:402C
31E4:073F  01                   data_546        db      1                       ;  xref 273F:073E, 273F:4037
31E4:0740  0000                 data_547        dw      0                       ;  xref 273F:07DE
31E4:0742  00                   video_style     db      0                       ;  1=VGA, 2=EGA
31E4:0743  00                   video_mode      db      0                       ;  xref 273F:04FF, 273F:05C0
31E4:0744  0000             show_screen_proc    dw      0                       ;  xref 273F:0509, 273F:05CA
31E4:0746  0000                  screen_size    dw      0                       ;  xref 273F:0515, 273F:05D6
31E4:0748  0000                 screen_width    dw      0                       ;  xref 273F:051B, 273F:05DC
31E4:074A  0000                   char_width    dw      0                       ;  xref 273F:050F, 273F:05D0
31E4:074C  0000           menubar_block_size    dw      0                       ;  xref 273F:0521, 273F:05E2
                                                                                ;       273F:700A, 273F:7ADB
31E4:074E  0000                 data_555        dw      0                       ;  xref 273F:0527, 273F:05E8
31E4:0750  0000          segment_screen_proc    dw      0                       ;  xref 273F:052D, 273F:05EE
31E4:0752  0000  show_compressed_screen_proc    dw      0
31E4:0754  0000          add_animation_proc     dw      0

31E4:0756  0000        draw_talk_dialog_proc    dw      0
31E4:0758  0000             talk_dialog_proc    dw      0
31E4:075A  0000      display2_character_proc    dw      0
31E4:075C  0000                add_rect_proc    dw      0

31E4:075E  0000             show_cursor_proc    dw      0
31E4:0760  0000                 fade_in_proc    dw      0
31E4:0762  0000       set_lower_palette_proc    dw      0
31E4:0764  0000           empty_palette_proc    dw      0
31E4:0766  0000                fade_out_proc    dw      0
31E4:0768  0000                 data_568        dw      0
31E4:076A  0000       display_character_proc    dw      0
31E4:076C  0000              menu_items_proc    dw      0         
31E4:076E  0000                 data_571        dw      0
31E4:0770  0000                 data_572        dw      0                       ;  xref 273F:0587, 273F:064E
31E4:0772  0000   toggle_menu_highlight_proc    dw      0
31E4:0774  0000                 data_574        dw      0                       ;  xref 273F:0593, 273F:065A
31E4:0776  0000                 data_575        dw      0                       ;  xref 273F:0599, 273F:0660
31E4:0778  0000                 data_576        dw      0                       ;  xref 273F:059F, 273F:0666
31E4:077A  0000             draw_dialog_proc    dw      0
31E4:077C  0000           decode_entry_proc     dw      0
31E4:077E  0000             copy_screen_proc    dw      0
31E4:0780  0000              pic_decode_proc    dw      0

31E4:0782  0000                saved_mouse_x    dw      0
31E4:0784  0000                saved_mouse_y    dw      0
31E4:0786  00                  default_drive    db      0                       ;  xref 273F:0712, 273F:9345
31E4:0787  0009[00]                             db      9 dup (0)

31E4:0790  00           hotspot_rects_list      db      0                       ;  xref 273F:0963, 273F:0B61
31E4:0791  0044[00]                             db      68 dup (0)
31E4:07D5  00                   data_584        db      0                       ; Data table (indexed access)
31E4:07D6  00 00 00 00 00 00                    db      0, 0, 0, 0, 0, 0
31E4:07DC  0064[00]            display_mask     db      100 dup (0)
31E4:0890  0100[00]     hotspot_rects_list_2    db      256 dup (0)
31E4:0990  0000                 data_587        dw      0                       ;  xref 273F:2087

31E4:0992  0100[00]            rects_layer_0    db      256 dup (0)
31E4:0A92  0100[00]            rects_layer_1    db      256 dup (0)
31E4:0B92  0100[00]            rects_layer_2    db      256 dup (0)
31E4:0C92  0100[00]            rects_layer_3    db      256 dup (0)


31E4:0ADE  00                   data_593        db      0                       ;  xref 273F:09E7
31E4:0ADF  0026[00]                             db      38 dup (0)
31E4:0B05  00                   data_594        db      0
31E4:0B06  0015[00]                             db      21 dup (0)
31E4:0B1B  00                   data_595        db      0                       ; Data table (indexed access)
31E4:0B1C  00                                   db      0
31E4:0B1D  00                   data_596        db      0                       ; Data table (indexed access)
31E4:0B1E  00 00 00                             db      0, 0, 0
31E4:0B21  00                   data_597        db      0                       ; Data table (indexed access)
31E4:0B22  0016[00]                             db      22 dup (0)
31E4:0B38  00                   data_598        db      0                       ;  xref 273F:0AFE
31E4:0B39  00A5[00]                             db      165 dup (0)
31E4:0BDE  00                   data_599        db      0                       ;  xref 273F:09ED
31E4:0BDF  0048[00]                             db      72 dup (0)
31E4:0C27  00                   data_600        db      0
31E4:0C28  00B6[00]                             db      182 dup (0)
31E4:0CDE  00                   data_601        db      0                       ;  xref 273F:09F3
31E4:0CDF  00B3[00]                             db      179 dup (0)

31E4:0D92  0010[00]             room_layers     dw      8 dup (0)               ; Resource Ids for layers in room display

31E4:0DA2  0000               rectangle_size    dw      0
31E4:0DA4  00             num_occupied_rects    db      0
31E4:0DA5  00                  current_layer    db      0
31E4:0DA6  0000                 rect_x_start    dw      0
31E4:0DA8  0000                   rect_y_end    dw      0
31E4:0DAA  0000              num_horiz_rects    dw      0
31E4:0DAC  0000               num_vert_rects    dw      0

31E4:0DAE  00 00                                db      0, 0
31E4:0DB0  A000            screen_start_seg     dw      0A000h          ; I think these two are used for page
31E4:0DB2  A200           screen_start_seg2     dw      0A200h          ; swapping for writing to a back buffer

31E4:0DB4  00    talk_dialog_close_flag     db      0

31E4:0DB5             processed_vga_palette     db      300h dup (0)            ; Holds processed VGA palette

31E4:10B5  4C 6F 6F 6B 20 61    look_at_str     db      'Look at ', 0           ;  xref 273F:136B
31E4:10BB  74 20 00
31E4:10BE  0000         num_impinging_chars     dw      0
31E4:10C0  0026[00]     impinging_char_list     db      38 dup (0)

31E4:10E6  0000               char_rect_left    dw      0
31E4:10E8  0000              char_rect_right    dw      0
31E4:10EA  0000                char_rect_top    dw      0
31E4:10EC  0000             char_rect_bottom    dw      0
31E4:10EE  0000              pl_check_result    dw      0
31E4:10F0  00               animation_table2    db      0                       ;  xref 273F:1556, 273F:1598
                                                                                ;       273F:15C3
31E4:10F1  00BF[00]                             db      198 dup (0)
31E4:11B0  0000                    data_11b0    db      0
31E4:11B1  000F[00]                             db      15 dup (0)
31E4:11C0  0021              talk_dialog_top    dw      21h
31E4:11C2  0027             talk_dialog_left    dw      27h
31E4:11C4  0000            talk_dialog_width    dw      0
31E4:11C6  0000           talk_dialog_height    dw      0
31E4:11C8  0008[00]                             db      8 dup (0)

31E4:11D0  03                menubar_state      db      3
31E4:11D1  0000                 mouse_x         dw      0
31E4:11D3  0000                 mouse_y         dw      0
31E4:11D5  00                  mouse_buttons    db      0
31E4:11D6  0000                 mouse_x2        dw      0
31E4:11D8  0000                 mouse_y2        dw      0
31E4:11DA  00                 mouse_buttons2    db      0
31E4:11DB  0000                 char_dest_x     dw      0
31E4:11DD  0000                 char_dest_y     dw      0
31E4:11DF  0000              cursor_centroid    dw      0
31E4:11E1  0000                 cursor_index    dw      0
31E4:11E3  00               cursor_index_new    db      0
31E4:11E4  0000             hotspot_name_id2    dw      0
31E4:11E6  0000              hotspot_name_id    dw      0
31E4:11E8  0000                 data_638        dw      0                       ;  xref 273F:2118, 273F:2AD2
                                                                                ;       273F:2B31
31E4:11EA  00                   data_639        db      0                       ;  xref 273F:2B21
31E4:11EB  00                                   db      0
31E4:11EC  0000                 data_640        dw      0                       ;  xref 273F:2123, 273F:2AF7
31E4:11EE  00                   data_641        db      0                       ;  xref 273F:2B61
31E4:11EF  00BF[00]                             db      191 dup (0)
31E4:12AE  00                   data_642        db      0                       ;  xref 273F:211B, 273F:2149
31E4:12AF  0074[00]                             db      116 dup (0)
31E4:1323  0016[00]                             db      22 dup (0)
31E4:1339  001F[00]                             db      31 dup (0)
31E4:1358  0028[00]                             db      40 dup (0)

31E4:1380  13C2     support_data_offset_list    dw       13C2h
31E4:1382  BB95                                 dw      0BB95h
31E4:1384  3617                                 dw       3617h
31E4:1386  365B                                 dw       365Bh
31E4:1388  7135                                 dw       7135h
31E4:138A  7AF5                                 dw       7AF5h
31E4:138C  7ACB                                 dw       7ACBh
31E4:138E  7DF9                                 dw       7DF9h
31E4:1390  7DA8                                 dw       7DA8h
31E4:1392  785C                                 dw       785Ch
31E4:1394  7248                                 dw       7248h
31E4:1396  726E                                 dw       726Eh
31E4:1398  728A                                 dw       728Ah
31E4:139A  709E                                 dw       709Eh
31E4:139C  3661                                 dw       3661h
31E4:139E  6F4F                                 dw       6F4Fh
31E4:13A0  6F77                                 dw       6F77h
31E4:13A2  6F9F                                 dw       6F9Fh
31E4:13A4  0000                                 dw       0

31E4:13A6  00 00 22                             db       00h, 00h, 22h
31E4:13A9  79 4A 79 72 79 00                    db       79h, 4Ah, 79h, 72h, 79h, 00h
31E4:13AF  00 00 00 2B 6F A6                    db       00h, 00h, 00h, 2Bh, 6Fh,0A6h
31E4:13B5  77 00 77 36 77 60                    db       77h, 00h, 77h, 36h, 77h, 60h
31E4:13BB  77 98 79 BD 7A 5D                    db       77h, 98h, 79h,0BDh, 7Ah, 5Dh
31E4:13C1  7A 20 00 1F 00 00                    db       7Ah, 20h, 00h, 1Fh, 00h, 00h
31E4:13C7  00 FA 7E                             db       00h,0FAh, 7Eh


31E4:13CA  13D2        hotspot_dealloc_table:   dw       offset dealloc_hotspot_list_1
31E4:13CC  13E2                                 dw       offset dealloc_hotspot_list_2
31E4:13CE  13F4                                 dw       offset dealloc_hotspot_list_3
31E4:13D0  13F2                                 dw       offset dealloc_hotspot_list_4

31E4:13D2  13F2       dealloc_hotspot_list_1:   dw       13F2h
31E4:13D4  0418 2711 2712 040D                  dw       0418h, 2711h, 2712h, 040Dh
31E4:13DA  03EA 0411 0000                       dw       03EAh, 0411h, 0

31E4:13E2  2729       dealloc_hotspot_list_2:   dw       2729h
31E4:13E4  272A 272B 272C 272D                  dw       272Ah, 272Bh, 272Ch, 272Eh
31E4:13EC  272E 272F 0000                       dw       272Eh, 272Fh, 0

31E4:13F2  03EF       dealloc_hotspot_list_4:   dw       03EFh
31E4:13F4  03E9       dealloc_hotspot_list_3:   dw       03E9h
31E4:13F6  03EB 03EC 03ED 03EE                  dw       03EBh, 03ECh, 03EDh, 03EEh
31E4:13FE  03F0 03F1 0420 0429                  dw       03F0h, 03F1h, 0420h, 0429h
31E4:1406  0436 2715 2716 2717                  dw       0436h, 2715h, 2716h, 2717h
31E4:140E  2718 2719 271A 271E                  dw       2718h, 2719h, 271Ah, 271Eh
31E4:1416  271F 2720 2721 2722                  dw       271Fh, 2720h, 2721h, 2722h
31E4:141E  2725 2726 0000                       dw       2725h, 2726h, 0

31E4:1424  000C[00]                             db      12 dup (0)

31E4:1430  10 58 BF 5C A0 58                    db       10h, 58h,0BFh, 5Ch,0A0h, 58h
31E4:1436  C4 58 CD                             db      0C4h, 58h,0CDh
31E4:1439  58 34 58                             db       58h, 34h, 58h

31E4:143C  0008[00]                             db      8 dup (0)

31E4:1444  79 00 59 00 04 06   ega_unknown_rec  db       79h, 00h, 59h, 00h, 04h, 06h
31E4:144A  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:1450  DC E2 DC FF E3 E2   vga_unknown_rec  db      0DCh,0E2h,0DCh,0FFh,0E3h,0E2h

31E4:1456  FF               current_room_num    db      0FFh
31E4:1457  00        unprocessed_vga_palette    db       0
31E4:1458  00 00 00 00 00 34                    db       00h, 00h, 00h, 00h, 00h, 34h
31E4:145E  34 2C 18 10 2C 24                    db       34h, 2Ch, 18h, 10h, 2Ch, 24h
31E4:1464  24 18 18 18 18 10                    db       24h, 18h, 18h, 18h, 18h, 10h
31E4:146A  10 10 08 08 08 3C                    db       10h, 10h, 08h, 08h, 08h, 3Ch
31E4:1470  2C 18 34 08 00 34                    db       2Ch, 18h, 34h, 08h, 00h, 34h
31E4:1476  24 18 2C 18 10 24                    db       24h, 18h, 2Ch, 18h, 10h, 24h
31E4:147C  10 08 18 08 00 10                    db       10h, 08h, 18h, 08h, 00h, 10h
31E4:1482  00 00 3C 30 20 26                    db       00h, 00h, 3Ch, 30h, 20h, 26h
31E4:1484  24 22 24 21 20 20                    db       24h, 22h, 24h, 21h, 20h, 20h
31E4:148E  1E 1C 1E 1B 1A 1A                    db       1Eh, 1Ch, 1Eh, 1Bh, 1Ah, 1Ah
31E4:1494  17 16 16 14 12 14                    db       17h, 16h, 16h, 14h, 12h, 14h
31E4:149A  12 10 12 10 0E 10                    db       12h, 10h, 12h, 10h, 0Eh, 10h
31E4:14A0  0E 0C 0E 0C 0A 0C                    db       0Eh, 0Ch, 0Eh, 0Ch, 0Ah, 0Ch
31E4:14A6  0A 09 0A 08 07                       db       0Ah, 09h, 0Ah, 08h, 07h
31E4:14AB  000C[00]                             db      12 dup (0)
31E4:14B7  3F 2D 1B 39 28 19                    db       3Fh, 2Dh, 1Bh, 39h, 28h, 19h
31E4:14BD  34 22 17 30 1E 13                    db       34h, 22h, 17h, 30h, 1Eh, 13h
31E4:14C3  2C 1A 0F 28 17 0B                    db       2Ch, 1Ah, 0Fh, 28h, 17h, 0Bh
31E4:14C9  25 15 08 22 12 05                    db       25h, 15h, 08h, 22h, 12h, 05h
31E4:14CF  1F 10 03 1B 0E 01                    db       1Fh, 10h, 03h, 1Bh, 0Eh, 01h
31E4:14D5  18 0C 00 16 0B 00                    db       18h, 0Ch, 00h, 16h, 0Bh, 00h
31E4:14DB  13 09 00 11 08 00                    db       13h, 09h, 00h, 11h, 08h, 00h
31E4:14E1  0F 07 00 0C 06                       db       0Fh, 07h, 00h, 0Ch, 06h
31E4:14E6  00F4[00]                             db      244 dup (0)
31E4:15DA  00         unprocessed_vga_palette2  db      0                       ;  xref 273F:3AB3
31E4:15DB  00 00 2E 2C 28 0E                    db       00h, 00h, 2Eh, 2Ch, 28h, 0Eh
31E4:15E1  0E 14 24 23 20 1B                    db       0Eh, 14h, 24h, 23h, 20h, 1Bh
31E4:15E7  1A 17 12 11 0F 0A                    db       1Ah, 17h, 12h, 11h, 0Fh, 0Ah
31E4:15ED  0A 10 10 12 1A 37                    db       0Ah, 10h, 10h, 12h, 1Ah, 37h
31E4:15F3  24 1B 30 20 18 28                    db       24h, 1Bh, 30h, 20h, 18h, 28h
31E4:15F9  18 10 20 10 08 18                    db       18h, 10h, 20h, 10h, 08h, 18h
31E4:15FF  08                                   db      8
31E4:1600  00                                   db      0
31E4:1601  10 00 00 13 14 1E                    db       10h, 00h, 00h, 13h, 14h, 1Eh
31E4:1607  00 00 00 3F 2A 20                    db       00h, 00h, 00h, 3Fh, 2Ah, 20h
31E4:160D  1C 18 0C 24 20 20                    db       1Ch, 18h, 0Ch, 24h, 20h, 20h
31E4:1613  1C 18 18 14 10 10                    db       1Ch, 18h, 18h, 14h, 10h, 10h
31E4:1619  0C 08 08 0A 09 04                    db       0Ch, 08h, 08h, 0Ah, 09h, 04h
31E4:161F  10 12 08 30 20 18                    db       10h, 12h, 08h, 30h, 20h, 18h
31E4:1625  28 18 10 20 10 08                    db       28h, 18h, 10h, 20h, 10h, 08h
31E4:162B  18 08 00 10 00 00                    db       18h, 08h, 00h, 10h, 00h, 00h
31E4:1631  10 0E 05 00 00 00                    db       10h, 0Eh, 05h, 00h, 00h, 00h
31E4:1637  2F 2B 2B 34 26 1A                    db       2Fh, 2Bh, 2Bh, 34h, 26h, 1Ah
31E4:163D  26 21 21 1C 18 18                    db       26h, 21h, 21h, 1Ch, 18h, 18h
31E4:1643  14 10 10 0C 08 08                    db       14h, 10h, 10h, 0Ch, 08h, 08h
31E4:1649  08 0C 00 28 08 00                    db       08h, 0Ch, 00h, 28h, 08h, 00h
31E4:164F  30 20 18 28 18 10                    db       30h, 20h, 18h, 28h, 18h, 10h
31E4:1655  20 10 08 18 08 00                    db       20h, 10h, 08h, 18h, 08h, 00h
31E4:165B  10 00 00 14 18                       db       10h, 00h, 00h, 14h, 18h
31E4:1660  008B[00]                             db      139 dup (0)
31E4:16EB             unprocessed_vga_palette3  db       0Eh, 0Bh, 08h, 10h, 08h, 00h
31E4:16F1  14 0C 04 18 10 08                    db       14h, 0Ch, 04h, 18h, 10h, 08h
31E4:16F7  1C 14 0C 20 18 10                    db       1Ch, 14h, 0Ch, 20h, 18h, 10h
31E4:16FD  1F 1F 1F                             db       1Fh, 1Fh, 1Fh
31E4:1700  3F 3F 3F                             db       3Fh, 3Fh, 3Fh
31E4:1703  0024[00]                             db      36 dup (0)

31E4:1727                upper_vga_palette      db      0Dh, 09h, 04h           ; colours for pallete
                                                db      12h, 0Dh, 06h           ; entries #F0h - FFh
                                                db      17h, 10h, 09h
                                                db      1Ch, 15h, 0Dh
                                                db      21h, 19h, 10h
                                                db      26h, 1Eh, 15h
                                                db      2Ch, 23h, 1Ah
                                                db      3Fh, 30h, 00h
                                                db      22h, 22h, 2Bh
                                                db      16h, 17h, 25h
                                                db      0Dh, 0Dh, 20h
                                                db      05h, 06h, 1Bh
                                                db      00h, 00h, 16h
                                                db      1Fh, 1Fh, 1Fh
                                                db      00h, 00h, 00h
                                                db      3Fh, 3Fh, 3Fh

31E4:1757  00    replacement_vga_palette        db      0                       ; Replacement section of VGA palette
31E4:1758  00 00 2E 2C 28 0E                    db       00h, 00h, 2Eh, 2Ch, 28h, 0Eh
31E4:175E  0E 14 24 23 20 1B                    db       0Eh, 14h, 24h, 23h, 20h, 1Bh
31E4:1764  1A 17 12 11 0F 0A                    db       1Ah, 17h, 12h, 11h, 0Fh, 0Ah
31E4:176A  0A 10 10 12 1A 37                    db       0Ah, 10h, 10h, 12h, 1Ah, 37h
31E4:1770  24 1B 30 20 18 28                    db       24h, 1Bh, 30h, 20h, 18h, 28h
31E4:1776  18 10 20 10 08 18                    db       18h, 10h, 20h, 10h, 08h, 18h
31E4:177C  08 00 10 00 00 13                    db       08h, 00h, 10h, 00h, 00h, 13h
31E4:1782  14 1E 00 00 00 3F                    db       14h, 1Eh, 00h, 00h, 00h, 3Fh
31E4:1788  2A 20 1C 18 0C 24                    db       2Ah, 20h, 1Ch, 18h, 0Ch, 24h
31E4:178E  20 20 1C 18 18 14                    db       20h, 20h, 1Ch, 18h, 18h, 14h
31E4:1794  10 10 0C 08 08 0A                    db       10h, 10h, 0Ch, 08h, 08h, 0Ah
31E4:179A  09 04 10 12 08 30                    db       09h, 04h, 10h, 12h, 08h, 30h
31E4:17A0  20 18 28 18 10 20                    db       20h, 18h, 28h, 18h, 10h, 20h
31E4:17A6  10 08 18 08 00 10                    db       10h, 08h, 18h, 08h, 00h, 10h
31E4:17AC  00 00 10 0E 05 00                    db       00h, 00h, 10h, 0Eh, 05h, 00h
31E4:17B2  00 00 2F 2B 2B 34                    db       00h, 00h, 2Fh, 2Bh, 2Bh, 34h
31E4:17B8  26 1A 26 21 21 1C                    db       26h, 1Ah, 26h, 21h, 21h, 1Ch
31E4:17BE  18 18 14 10 10 0C                    db       18h, 18h, 14h, 10h, 10h, 0Ch
31E4:17C4  08 08 08 0C 00 28                    db       08h, 08h, 08h, 0Ch, 00h, 28h
31E4:17CA  08 00 30 20 18 28                    db       08h, 00h, 30h, 20h, 18h, 28h
31E4:17D0  18 10 20 10 08 18                    db       18h, 10h, 20h, 10h, 08h, 18h
31E4:17D6  08 00 10 00 00 14                    db       08h, 00h, 10h, 00h, 00h, 14h
31E4:17DC  18 00 00 00 00 32                    db       18h, 00h, 00h, 00h, 00h, 32h
31E4:17E2  20 1F 2A 1A 18 22                    db       20h, 1Fh, 2Ah, 1Ah, 18h, 22h
31E4:17E8  14 12 1A 0F 0D 12                    db       14h, 12h, 1Ah, 0Fh, 0Dh, 12h
31E4:17EE  0A 08 2F 04 00 26                    db       0Ah, 08h, 2Fh, 04h, 00h, 26h
31E4:17F4  00 1D 1C 00 16 12                    db       00h, 1Dh, 1Ch, 00h, 16h, 12h
31E4:17FA  00 0E 37 2A 00 2C                    db       00h, 0Eh, 37h, 2Ah, 00h, 2Ch
31E4:1800  21 00 22 19 00 18                    db       21h, 00h, 22h, 19h, 00h, 18h
31E4:1806  11 00 0E 0A 00                       db       11h, 00h, 0Eh, 0Ah, 00h
31E4:180B  0E        replacement_vga_ palette2  db       0Eh
31E4:180C  0B 08 10 08 00 14                    db       0Bh, 08h, 10h, 08h, 00h, 14h
31E4:1812  0C 04 18 10 08 1C                    db       0Ch, 04h, 18h, 10h, 08h, 1Ch
31E4:1818  14 0C 20 18 10 1F                    db       14h, 0Ch, 20h, 18h, 10h, 1Fh
31E4:181E  1F 1F                                db       1Fh, 1Fh
31E4:1820  3F 3F 3F                             db       3Fh, 3Fh, 3Fh

31E4:1823  000D[00]                             db      13 dup (0)

31E4:1830  413A             animation_rec_1     dw       413Ah    ; Disk resource Id
31E4:1832  12 00 00 00                          db       12h, 00h, 00h, 00h
31E4:1836  00 00 00                             db       00h, 00h, 00h
31E4:1839  413C             animation_rec_2     dw       413Ch
31E4:183B  12 00 00 00                          db       12h, 00h, 00h, 00h
31E4:183F  00 00 00                             db       00h, 00h, 00h
31E4:1842  413B             animation_rec_3     dw       413Bh
31E4:1844  12 00 00 00                          db       12h, 00h, 00h, 00h
31E4:1848  00 00 00                             db       00h, 00h, 00h

31E4:184B  7901             animation_rec_4     dw       7901h
31E4:184D  12                                   db       12h
31E4:184E  0000                                 dw       0

31E4:1850  00 00 00 00       anim_src_table     db      0, 0, 0, 0
31E4:1854  00                 cp_num_digits     db      0
31E4:1855  00                  cp_num_tries     db      0
31E4:1856  3D0F                     cp_proc     dw      offset cp_proc_1

; Remaining entries of anim_src_table

31E4:1858  E8 00 E0 00 20 00 30 00
31E4:185E  30 00 33 01 E0 00 20 00
31E4:1866  30 00 B9 00 A8 00 D0 00
31E4:186E  28 00 0A 01 28 01 10 00
31E4:1876  08 00 11 01 28 01 10 00
31E4:187E  08 00 24 01 28 01 10 00
31E4:1886  08 00 2B 01 28 01 10 00
31E4:188E  08 00 F6 00 18 01 30 00
31E4:1896  0E 00 28 01 18 01 30 00

31e4:189E  0E 00                                dw      0E00h

; The table below contains the offset for the code fragments to handle each of
; the possible opcodes in the simple instruction interpreter used by the game

31E4:18A0  3F9F              sequence_table     dw      offset sequence_restore_sp   ; 00/01h opcode
31E4:18A2  3E72                                 dw      offset sequence_add          ; 02/03h opcode
31E4:18A4  3E7C                                 dw      offset sequence_subtract     ; 04/05h opcode
31E4:18A6  3E86                                 dw      offset sequence_multiply     ; 06/07h opcode
31E4:18A8  3E92                                 dw      offset sequence_divide       ; 08/09h opcode
31E4:18AA  3EA0                                 dw      offset sequence_not_equals   ; 05h opcode
31E4:18AC  3EBA                                 dw      offset sequence_equals       ; 06h opcode
31E4:18AE  3EC3                                 dw      offset sequence_greater      ; 0E/0Fh opcode
31E4:18B0  3ECC                                 dw      offset sequence_smaller      ; 10/11h opcode
31E4:18B2  3ED5                                 dw      offset sequence_smaller2     ; 12/13h opcode
31E4:18B4  3EDE                                 dw      offset sequence_greater2     ; 14/15h opcode
31E4:18B6  3EE7                                 dw      offset sequence_and          ; 16/17h opcode
31E4:18B8  3EF2                                 dw      offset sequence_or           ; 18/19h opcode
31E4:18BA  3EFD                                 dw      offset sequence_logical_and  ; 1A/1Bh opcode
31E4:18BC  3F0C                                 dw      offset sequence_logical_or   ; 1C/1Dh opcode
31E4:18BE  3F1B                                 dw      offset sequence_get_field    ; 1E/1Fh opcode
31E4:18C0  3F2D                                 dw      offset sequence_set_field    ; 20/21h opcode
31E4:18C2  3F46                                 dw      offset sequence_push_value   ; 22/23h opcode
31E4:18C4  3F4E                                 dw      offset sequence_subroutine   ; 24/25h opcode
31E4:18C6  3F58                                 dw      offset sequence_call_method  ; 26/27h opcode
31E4:18C8  3F9E                                 dw      offset sequence_end          ; 28/29h opcode
31E4:18CA  3F90                                 dw      offset sequence_cond_jump    ; 2A/2Bh opcode
31E4:18CC  3F99                                 dw      offset sequence_jump         ; 2C/2Dh opcode
31E4:18CE  3F9F                                 dw      offset sequence_restore_sp   ; 2E/2Fh opcode
31E4:18D0  3F9F                                 dw      offset sequence_restore_sp   ; 30/31h opcode
31E4:18D2  3F3F                                 dw      offset sequence_random       ; 32/33h opcode      

31E4:18D4  003C[00]                             db      60 dup (0)
31E4:1910  0000                 current_sp      dw      0

31E4:1912  000E[00]                             db      14 dup (0)

31E4:1920  0000        room_exit_hotspot_id     dw      0
31E4:1922  0000               dest_room_num     dw      0
31E4:1924  0000                hotspot_id       dw      0
31E4:1926  00                   data_669        db      0                       ;  xref 273F:47F3, 273F:4829
                                                                                ;       273F:A00C
31E4:1927  0000      active_animation_offset    dw      0

31E4:1929  96 00 24 81       exit_coord_list    db       96h, 00h, 24h, 81h
31E4:192D  02 00 00                             db       02h, 00h, 00h
31E4:1930  0051[00]                             db      81 dup (0)

31E4:1981  E3 00 DA 80 01 00                    db      0E3h, 00h,0DAh, 80h, 01h, 00h
31E4:1987  44 01 DA 00 03 00                    db       44h, 01h,0DAh, 00h, 03h, 00h
31E4:198D  BA 01 FC 00 05 00                    db      0BAh, 01h,0FCh, 00h, 05h, 00h
31E4:1993  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:1999  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:199F  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:19A5  00 00 06 06                          db       0, 0, 6, 6
31E4:19A9  0018[0C]                             db      24 dup (0Ch)
31E4:19C1  00 00 00 00 00 0C                    db       00h, 00h, 00h, 00h, 00h, 0Ch
31E4:19C7  0012[00]                             db      18 dup (0)
31E4:19D9  80 00 1B 01 02 00                    db       80h, 00h, 1Bh, 01h, 02h, 00h
31E4:19DF  B8 01 1B 01 04                       db      0B8h, 01h, 1Bh, 01h, 04h
31E4:19E4  001C[00]                             db      28 dup (0)
31E4:1A00  06                                   db      6
31E4:1A01  0030[00]                             db      48 dup (0)
31E4:1A31  52 01 3C 01 03                       db       52h, 01h, 3Ch, 01h, 03h
31E4:1A36  0053[00]                             db      83 dup (0)
31E4:1A89  3A 01 DD 00 06 00                    db       3Ah, 01h,0DDh, 00h, 06h, 00h
31E4:1A8F  AA 01 0B 81 28 00                    db      0AAh, 01h, 0Bh, 81h, 28h, 00h
31E4:1A95  00                                   db       00h
31E4:1A96  003C[00]                             db      60 dup (0)
31E4:1AD2  06 06 06 06                          db      6, 6, 6, 6
31E4:1AD6  000B[00]                             db      11 dup (0)
31E4:1AE1  AA 01 0B 01 05 00                    db      0AAh, 01h, 0Bh, 01h, 05h, 00h
31E4:1AE7  83 00 0B 01                          db       83h, 00h, 0Bh, 01h
31E4:1AEB  29                                   db      29h
31E4:1AEC  0041[00]                             db      65 dup (0)
31E4:1B2D  06                                   db      6
31E4:1B2E  000B[00]                             db      11 dup (0)
31E4:1B39  9A 00 0A 01 08                       db       9Ah, 00h, 0Ah, 01h, 08h
31E4:1B3E  0053[00]                             db      83 dup (0)
31E4:1B91  17 01 4B 01 07 00                    db       17h, 01h, 4Bh, 01h, 07h, 00h
31E4:1B97  F2 00 FC 00                          db      0F2h, 00h,0FCh, 00h
31E4:1B9B  09                                   db      9
31E4:1B9C  0021[00]                             db      33 dup (0)
31E4:1BBD  0018[06]                             db      24 dup (6)
31E4:1BD5  00 06 06 06                          db      0, 6, 6, 6
31E4:1BD9  0010[00]                             db      16 dup (0)
31E4:1BE9  52 01 44 01 08 00                    db       52h, 01h, 44h, 01h, 08h, 00h
31E4:1BEF  81 00 19 01 0A 00                    db       81h, 00h, 19h, 01h, 0Ah, 00h
31E4:1BF5  0021[00]                             db      33 dup (0)
31E4:1C16  0017[06]                             db      23 dup (6)
31E4:1C2D  00 06 06 06                          db      0, 6, 6, 6
31E4:1C31  0010[00]                             db      16 dup (0)
31E4:1C41  BF 01 09 01 09 00                    db      0BFh, 01h, 09h, 01h, 09h, 00h
31E4:1C47  B8 00 4B 01 0B 00                    db      0B8h, 00h, 4Bh, 01h, 0Bh, 00h
31E4:1C4D  7E 00 2B 01 0D 00                    db       7Eh, 00h, 2Bh, 01h, 0Dh, 00h
31E4:1C53  02 01 03 81 22 00                    db       02h, 01h, 03h, 81h, 22h, 00h
31E4:1C59  00                                   db       00h
31E4:1C5A  0015[00]                             db      21 dup (0)
31E4:1C6F  06 06                                db      6, 6
31E4:1C71  0C                                   db      0Ch
31E4:1C72  0C 0C 0C 0C 0C 0C    data_691        db      0Ch, 0Ch, 0Ch, 0Ch, 0Ch, 0Ch, 0Ch ;  xref 31E4:726C
31E4:1C78  0C
31E4:1C79  0C 0C 0C 0C                          db      0Ch, 0Ch, 0Ch, 0Ch
31E4:1C7D  0C                   data_692        db      0Ch                     ; Data table (indexed access)
31E4:1C7E  0C 0C 0C 0C 0C 0C                    db       0Ch, 0Ch, 0Ch, 0Ch, 0Ch, 0Ch
31E4:1C84  06 00 12                             db       06h, 00h, 12h
31E4:1C87  0C 0C                                db       0Ch, 0Ch
31E4:1C89  0010[00]                             db      16 dup (0)
31E4:1C99  F2 00 FC 00 0A 00                    db      0F2h, 00h,0FCh, 00h, 0Ah, 00h
31E4:1C9F  0C 01 4B 01 1B 00                    db       0Ch, 01h, 4Bh, 01h, 1Bh, 00h
31E4:1CA5  0023[00]                             db      35 dup (0)
31E4:1CC8  06                                   db      6
31E4:1CC9  000D[00]                             db      13 dup (0)
31E4:1CD6  06 00 00 00 00 00                    db      6, 0, 0, 0, 0, 0
31E4:1CDC  06 00 00                             db      6, 0, 0
31E4:1CDF  0012[00]                             db      18 dup (0)
31E4:1CF1  05 01 C4 00 14 00                    db       05h, 01h,0C4h, 00h, 14h, 00h
31E4:1CF7  6B 01 2C 01 1B 00                    db       6Bh, 01h, 2Ch, 01h, 1Bh, 00h
31E4:1CFD  A5 00 D4 80 20 00                    db      0A5h, 00h,0D4h, 80h, 20h, 00h
31E4:1D03  0018[00]                             db      24 dup (0)
31E4:1D1B  06 06 06 06 06                       db      6, 6, 6, 6, 6
31E4:1D20  000F[00]                             db      15 dup (0)
31E4:1D2F  06 00 00 00 00 0C                    db       06h, 00h, 00h, 00h, 00h, 0Ch
31E4:1D35  00 06 00 00                          db       00h, 06h, 00h, 00h
31E4:1D39  0010[00]                             db      16 dup (0)
31E4:1D49  BF 01 26 01 0A 00                    db      0BFh, 01h, 26h, 01h, 0Ah, 00h
31E4:1D4F  80 00 35 01 0E 00                    db       80h, 00h, 35h, 01h, 0Eh, 00h
31E4:1D55  BC 00 43 01 14 00                    db      0BCh, 00h, 43h, 01h, 14h, 00h
31E4:1D5B  001D[00]                             db      29 dup (0)
31E4:1D78  0C 00 06 06 06 0C                    db       0Ch, 00h, 06h, 06h, 06h, 0Ch
31E4:1D7E  0C 06                                db       0Ch, 06h
31E4:1D80  0007[0C]                             db      7 dup (0Ch)
31E4:1D87  00 0C 0C 06 06 0C                    db       00h, 0Ch, 0Ch, 06h, 06h, 0Ch
31E4:1D8D  00 00 06 0C 00                       db       00h, 00h, 06h, 0Ch, 00h
31E4:1D92  000F[00]                             db      15 dup (0)
31E4:1DA1  BF 01 10 01 0D 00                    db      0BFh, 01h, 10h, 01h, 0Dh, 00h
31E4:1DA7  80 00 14 01 0F 00                    db       80h, 00h, 14h, 01h, 0Fh, 00h
31E4:1DAD  D2 00 46 01 13 00                    db      0D2h, 00h, 46h, 01h, 13h, 00h
31E4:1DB3  F1 00 E8 80 1F 00                    db      0F1h, 00h,0E8h, 80h, 1Fh, 00h
31E4:1DB9  001A[00]                             db      26 dup (0)
31E4:1DD3  06 06 0C 0C 0C 00                    db       06h, 06h, 0Ch, 0Ch, 0Ch, 00h
31E4:1DD9  0C 0C 0C 0C 0C 0C                    db       0Ch, 0Ch, 0Ch, 0Ch, 0Ch, 0Ch
31E4:1DDF  00 0C 0C 0C 12 00                    db       00h, 0Ch, 0Ch, 0Ch, 12h, 00h
31E4:1DE5  00 00 0C 00                          db       00h, 00h, 0Ch, 00h
31E4:1DE9  0010[00]                             db      16 dup (0)
31E4:1DF9  BF 01 24 01 0E 00                    db      0BFh, 01h, 24h, 01h, 0Eh, 00h
31E4:1DFF  FA 00 46 01 11 00                    db      0FAh, 00h, 46h, 01h, 11h, 00h
31E4:1E05  F4 00 F4 80 26 00                    db      0F4h, 00h,0F4h, 80h, 26h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 415

31E4:1E0B  00 00                                db       00h, 00h
31E4:1E0D  001F[00]                             db      31 dup (0)
31E4:1E2C  06 06 06 00 00 06                    db      6, 6, 6, 0, 0, 6
31E4:1E32  06 06 06 00 00 00                    db      6, 6, 6, 0, 0, 0
31E4:1E38  06 06 00                             db      6, 6, 0
31E4:1E3B  0007[00]                             db      7 dup (0)
31E4:1E42  0C 00                                db       0Ch, 00h
31E4:1E44  000D[00]                             db      13 dup (0)
31E4:1E51  12 01 B4 00 0F 00                    db       12h, 01h,0B4h, 00h, 0Fh, 00h
31E4:1E57  0C 01 46 01 11 00                    db       0Ch, 01h, 46h, 01h, 11h, 00h
31E4:1E5D  0023[00]                             db      35 dup (0)
31E4:1E80  06 00 00 00 00 06                    db      6, 0, 0, 0, 0, 6
31E4:1E86  06 06                                db      6, 6
31E4:1E88  0007[06]                             db      7 dup (6)
31E4:1E8F  00 06 06 06 00 06                    db      0, 6, 6, 6, 0, 6
31E4:1E95  00 00 06 06                          db      0, 0, 6, 6
31E4:1E99  0010[00]                             db      16 dup (0)
31E4:1EA9  E1 00 EA 00 0F 00                    db      0E1h, 00h,0EAh, 00h, 0Fh, 00h
31E4:1EAF  B1 00 46 01 12 00                    db      0B1h, 00h, 46h, 01h, 12h, 00h
31E4:1EB5  BF 01 30 01 13 00                    db      0BFh, 01h, 30h, 01h, 13h, 00h
31E4:1EBB  80 00 32 01 15 00                    db       80h, 00h, 32h, 01h, 15h, 00h
31E4:1EC1  4B 01 05 81 1D                       db       4Bh, 01h, 05h, 81h, 1Dh
31E4:1EC6  000D[00]                             db      13 dup (0)
31E4:1ED3  0008[0C]                             db      8 dup (0Ch)
31E4:1EDB  00 00 00 06 0C 0C                    db       00h, 00h, 00h, 06h, 0Ch, 0Ch
31E4:1EE1  12 12 06 06 0C 0C                    db       12h, 12h, 06h, 06h, 0Ch, 0Ch
31E4:1EE7  0C 06 18 0C 0C 0C                    db       0Ch, 06h, 18h, 0Ch, 0Ch, 0Ch
31E4:1EED  00                                   db       00h
31E4:1EEE  0C 0C 0C                             db       0Ch, 0Ch, 0Ch
31E4:1EF1  0010[00]                             db      16 dup (0)
31E4:1F01  48 01 DD 00 11 00                    db       48h, 01h,0DDh, 00h, 11h, 00h
31E4:1F07  80 00 20 01 17 00                    db       80h, 00h, 20h, 01h, 17h, 00h
31E4:1F0D  BE 01 37 01 18 00                    db      0BEh, 01h, 37h, 01h, 18h, 00h
31E4:1F13  02 01 EB 00 1C                       db       02h, 01h,0EBh, 00h, 1Ch
31E4:1F18  0022[00]                             db      34 dup (0)
31E4:1F3A  06 06 0C 0C 00 00                    db       06h, 06h, 0Ch, 0Ch, 00h, 00h
31E4:1F40  12 00                                db       12h, 00h
31E4:1F42  0017[00]                             db      23 dup (0)
31E4:1F59  0F 01 EE 00 0E 00                    db       0Fh, 01h,0EEh, 00h, 0Eh, 00h
31E4:1F5F  80 00 1F 01 11 00                    db       80h, 00h, 1Fh, 01h, 11h, 00h
31E4:1F65  BE 01 24 01 14 00                    db      0BEh, 01h, 24h, 01h, 14h, 00h
31E4:1F6B  D7 00 42 01 19 00                    db      0D7h, 00h, 42h, 01h, 19h, 00h
31E4:1F71  72 01 EB 80 1E 00                    db       72h, 01h,0EBh, 80h, 1Eh, 00h
31E4:1F77  9C 00 ED 00                          db       9Ch, 00h,0EDh, 00h
31E4:1F7B  23                                   db      23h
31E4:1F7C  000C[00]                             db      12 dup (0)
31E4:1F88  0C 0C 00 00 06 06                    db       0Ch, 0Ch, 00h, 00h, 06h, 06h
31E4:1F8E  06 00 0C 06 06 06                    db       06h, 00h, 0Ch, 06h, 06h, 06h
31E4:1F94  12 12 0C 0C 06 06                    db       12h, 12h, 0Ch, 0Ch, 06h, 06h
31E4:1F9A  18 00 0C 00 00 1E                    db       18h, 00h, 0Ch, 00h, 00h, 1Eh
31E4:1FA0  0C 00                                db       0Ch, 00h
31E4:1FA2  000F[00]                             db      15 dup (0)
31E4:1FB1  D3 00 C0 00 0D 00                    db      0D3h, 00h,0C0h, 00h, 0Dh, 00h
31E4:1FB7  80 00 18 01 13 00                    db       80h, 00h, 18h, 01h, 13h, 00h
31E4:1FBD  66 01 41 01 0C 00                    db       66h, 01h, 41h, 01h, 0Ch, 00h
31E4:1FC3  42 01 E2 80 24 00                    db       42h, 01h,0E2h, 80h, 24h, 00h
31E4:1FC9  0017[00]                             db      23 dup (0)
31E4:1FE0  0C 00 00 06 06 06                    db       0Ch, 00h, 00h, 06h, 06h, 06h
31E4:1FE6  0008[06]                             db      8 dup (6)
31E4:1FEE  0C 0C 06 06 06 00                    db       0Ch, 0Ch, 06h, 06h, 06h, 00h
31E4:1FF4  0C 00 00 06 12 00                    db       0Ch, 00h, 00h, 06h, 12h, 00h
31E4:1FFA  00 00 00 00 00 00                    db      0, 0, 0, 0, 0, 0
31E4:2000  00                   data_721        db      0                       ; Data table (indexed access)
31E4:2001  0008[00]                             db      8 dup (0)
31E4:2009  A2 01 07 01 11 00                    db      0A2h, 01h, 07h, 01h, 11h, 00h
31E4:200F  8F 00 03 01 16 00                    db       8Fh, 00h, 03h, 01h, 16h, 00h
31E4:2015  00                                   db       00h
31E4:2016  002C[00]                             db      44 dup (0)
31E4:2042  06 06                                db      6, 6
31E4:2044  001D[00]                             db      29 dup (0)
31E4:2061  F2 00 FC 00 15 00                    db      0F2h, 00h,0FCh, 00h, 15h, 00h
31E4:2067  14 01 4B 01 17                       db       14h, 01h, 4Bh, 01h, 17h
31E4:206C  002A[00]                             db      42 dup (0)
31E4:2096  06 00 00 00 00 06                    db      6, 0, 0, 0, 0, 6
31E4:209C  06 06 00 00 06                       db      6, 6, 0, 0, 6
31E4:20A1  0018[00]                             db      24 dup (0)
31E4:20B9  A2 01 07 01 12 00                    db      0A2h, 01h, 07h, 01h, 12h, 00h
31E4:20BF  8F 00 03 01 16 00                    db       8Fh, 00h, 03h, 01h, 16h, 00h
31E4:20C5  00                                   db       00h
31E4:20C6  002B[00]                             db      43 dup (0)
31E4:20F1  06 06                                db      6, 6
31E4:20F3  001E[00]                             db      30 dup (0)
31E4:2111  A2 01 07 01 19 00                    db      0A2h, 01h, 07h, 01h, 19h, 00h
31E4:2117  8F 00 03 01 12                       db       8Fh, 00h, 03h, 01h, 12h
31E4:211C  0027[00]                             db      39 dup (0)
31E4:2143  06 06 06 06 00 00                    db      6, 6, 6, 6, 0, 0
31E4:2149  06 06 06 00 00 00                    db      6, 6, 6, 0, 0, 0
31E4:214F  00 06 06 00                          db      0, 6, 6, 0
31E4:2153  0016[00]                             db      22 dup (0)
31E4:2169  F2 00 FC 00 13 00                    db      0F2h, 00h,0FCh, 00h, 13h, 00h
31E4:216F  14 01 4B 01 18 00                    db       14h, 01h, 4Bh, 01h, 18h, 00h
31E4:2175  0029[00]                             db      41 dup (0)
31E4:219E  06 00 00 00 06 06                    db      6, 0, 0, 0, 6, 6
31E4:21A4  06 00 00 00 06 00                    db      6, 0, 0, 0, 6, 0
31E4:21AA  00                                   db      0
31E4:21AB  0016[00]                             db      22 dup (0)
31E4:21C1  12 01 B4 00 14 00                    db       12h, 01h,0B4h, 00h, 14h, 00h
31E4:21C7  14 01 46 01                          db       14h, 01h, 46h, 01h
31E4:21CB  0C                                   db      0Ch
31E4:21CC  0023[00]                             db      35 dup (0)
31E4:21EF  06 06                                db      6, 6
31E4:21F1  000E[00]                             db      14 dup (0)
31E4:21FF  06 00 00 00 00 06                    db      6, 0, 0, 0, 0, 6
31E4:2205  00 00                                db      0, 0
31E4:2207  0012[00]                             db      18 dup (0)
31E4:2219  A2 01 07 01 0B 00                    db      0A2h, 01h, 07h, 01h, 0Bh, 00h
31E4:221F  8F 00 03 01 0C 00                    db       8Fh, 00h, 03h, 01h, 0Ch, 00h
31E4:2225  0023[00]                             db      35 dup (0)
31E4:2248  06 00 00 00 06 06                    db      6, 0, 0, 0, 6, 6
31E4:224E  06                                   db      6
31E4:224F  0008[06]                             db      8 dup (6)
31E4:2257  00 06 06 06 00 06                    db      0, 6, 6, 6, 0, 6
31E4:225D  00 00 06 06                          db      0, 0, 6, 6
31E4:2261  0010[00]                             db      16 dup (0)
31E4:2271  02 01 EE 00 12                       db       02h, 01h,0EEh, 00h, 12h
31E4:2276  0053[00]                             db      83 dup (0)
31E4:22C9  9B 00 4A 81 11 00                    db       9Bh, 00h, 4Ah, 81h, 11h, 00h
31E4:22CF  0052[00]                             db      82 dup (0)
31E4:2321  C3 00 3B 81 13 00                    db      0C3h, 00h, 3Bh, 81h, 13h, 00h
31E4:2327  00                                   db       00h
31E4:2328  0051[00]                             db      81 dup (0)
31E4:2379  65 01 43 81 0E                       db       65h, 01h, 43h, 81h, 0Eh
31E4:237E  0053[00]                             db      83 dup (0)
31E4:23D1  AC 00 43 81 0C 00                    db      0ACh, 00h, 43h, 81h, 0Ch, 00h
31E4:23D7  0042[00]                             db      66 dup (0)
31E4:2419  00                   data_743        db      0
31E4:241A  000F[00]                             db      15 dup (0)
31E4:2429  AC 00 43 01 0C 00                    db      0ACh, 00h, 43h, 01h, 0Ch, 00h
31E4:242F  0052[00]                             db      82 dup (0)
31E4:2481  C3 00 34 81 0A 00                    db      0C3h, 00h, 34h, 81h, 0Ah, 00h
31E4:2487  00                                   db       00h
31E4:2488  0051[00]                             db      81 dup (0)
31E4:24D9  4B 01 43 01 13 00                    db       4Bh, 01h, 43h, 01h, 13h, 00h
31E4:24DF  0052[00]                             db      82 dup (0)
31E4:2531  80 00 04 81 14 00                    db       80h, 00h, 04h, 81h, 14h, 00h
31E4:2537  00                                   db       00h
31E4:2538  0051[00]                             db      81 dup (0)
31E4:2589  AC 00 43 01 0C 00                    db      0ACh, 00h, 43h, 01h, 0Ch, 00h
31E4:258F  0052[00]                             db      82 dup (0)
31E4:25E1  42 01 45 81 0F 00                    db       42h, 01h, 45h, 81h, 0Fh, 00h
31E4:25E7  83 00 0B                             db       83h, 00h, 0Bh
31E4:25EA  41 27                                db       41h, 27h
31E4:25EC  003F[00]                             db      63 dup (0)
31E4:262B  06 06                                db      6, 6
31E4:262D  000C[00]                             db      12 dup (0)
31E4:2639  AA 01 0B 81 26 00                    db      0AAh, 01h, 0Bh, 81h, 26h, 00h
31E4:263F  83 00 0B 41 28 00                    db       83h, 00h, 0Bh, 41h, 28h, 00h
31E4:2645  003F[00]                             db      63 dup (0)
31E4:2684  06                                   db      6
31E4:2685  000C[00]                             db      12 dup (0)
31E4:2691  AA 01 0B 81 27 00                    db      0AAh, 01h, 0Bh, 81h, 27h, 00h
31E4:2697  83 00 0B 41 29 00                    db       83h, 00h, 0Bh, 41h, 29h, 00h
31E4:269D  0040[00]                             db      64 dup (0)
31E4:26DD  06                                   db      6
31E4:26DE  000B[00]                             db      11 dup (0)
31E4:26E9  AA 01 0B 01 28                       db      0AAh, 01h, 0Bh, 01h, 28h
31E4:26EE  0029[00]                             db      41 dup (0)
31E4:2717  0000                 data_756        dw      0                       ; Data table (indexed access)
                                                                                ;  xref 31E4:BD21
31E4:2719  0028[00]                             db      40 dup (0)
31E4:2741  BB 01 2B 01 2B                       db      0BBh, 01h, 2Bh, 01h, 2Bh
31E4:2746  0053[00]                             db      83 dup (0)
31E4:2799  7A 00 12 01 2A 00                    db       7Ah, 00h, 12h, 01h, 2Ah, 00h
31E4:279F  BA 01 11 01                          db      0BAh, 01h, 11h, 01h
31E4:27A3  2C                                   db      2Ch
31E4:27A4  0044[00]                             db      68 dup (0)
31E4:27E8  06 06 06 06 06 00                    db       06h, 06h, 06h, 06h, 06h, 00h
31E4:27EE  00 00 00 0C 01 48                    db       00h, 00h, 00h, 0Ch, 01h, 48h
31E4:27F4  01 2B 00 D1 00 F4                    db       01h, 2Bh, 00h,0D1h, 00h,0F4h
31E4:27FA  00 32 00 6C 01 DD                    db       00h, 32h, 00h, 6Ch, 01h,0DDh
31E4:2800  00                   data_759        db      0                       ;  xref 31E4:1895
31E4:2801  2D 00 00                             db       2Dh, 00h, 00h
31E4:2804  003D[00]                             db      61 dup (0)
31E4:2841  0C 0C 00 0C 00 06                    db       0Ch, 0Ch, 00h, 0Ch, 00h, 06h
31E4:2847  06 00 94 00 C1 00                    db       06h, 00h, 94h, 00h,0C1h, 00h
31E4:284D  34 00 BF 01 C2 00                    db       34h, 00h,0BFh, 01h,0C2h, 00h
31E4:2853  33 00 7F 00 30 01                    db       33h, 00h, 7Fh, 00h, 30h, 01h
31E4:2859  2C 00 BF 01 23 01                    db       2Ch, 00h,0BFh, 01h, 23h, 01h
31E4:285F  2E 00 00                             db       2Eh, 00h, 00h
31E4:2862  0034[00]                             db      52 dup (0)
31E4:2896  0C 0C 0C 00 12 06                    db       0Ch, 0Ch, 0Ch, 00h, 12h, 06h
31E4:289C  12 00 00 06 00 7F                    db       12h, 00h, 00h, 06h, 00h, 7Fh
31E4:28A2  00 C1 00 32 00 06                    db       00h,0C1h, 00h, 32h, 00h, 06h
31E4:28A8  01 A8 00 2F 00 7F                    db       01h,0A8h, 00h, 2Fh, 00h, 7Fh
31E4:28AE  00 2F 01 2D 00 B1                    db       00h, 2Fh, 01h, 2Dh, 00h,0B1h
31E4:28B4  01 34 01                             db       01h, 34h, 01h
31E4:28B7  30                                   db      30h
31E4:28B8  0036[00]                             db      54 dup (0)
31E4:28EE  0C 0C 0C 0C 00 06                    db       0Ch, 0Ch, 0Ch, 0Ch, 00h, 06h
31E4:28F4  12 12 00 00 00 BB                    db       12h, 12h, 00h, 00h, 00h,0BBh
31E4:28FA  01 3A 01 2E 00 00                    db       01h, 3Ah, 01h, 2Eh, 00h, 00h
31E4:2900  0051[00]                             db      81 dup (0)
31E4:2951  8A 00 0A 01 2E                       db       8Ah, 00h, 0Ah, 01h, 2Eh
31E4:2956  0053[00]                             db      83 dup (0)
31E4:29A9  BB 01 3A 01 2E 00                    db      0BBh, 01h, 3Ah, 01h, 2Eh, 00h
31E4:29AF  7F 00 33 01 01                       db       7Fh, 00h, 33h, 01h, 01h
31E4:29B4  0019[00]                             db      25 dup (0)
31E4:29CD  06                                   db      6
31E4:29CE  0033[00]                             db      51 dup (0)

; The hotspot table contains a set of hotspot entries, each one being an Id
; following by four word parameters specifying the bounds of the hotspot;
; each coordinate being the position + 80h. The table is ended by an Id
; entry of 0

31E4:2A01  2716               hotspot_table     dw      2716h                 ;Id
                                                dw      99h, b8h, 112h, 147h  ;xs,xe,ys,ye
.... table contents removed....

31E4:2D5C  0000                                 dw       0         ; End of list specifier
31E4:2D5E  00                                   db       0

31E4:2D5F                      actions_list     dw       1
                                                db       1, 'Get', 0
31E4:2D66                                       dw       0
                                                db       1, 'Drop', 0
31E4:2D6E                                       dw       3
                                                db       1, 'Push', 0
31E4:2D76                                       dw       4
                                                db       1, 'Pull', 0
31E4:2D7E                                       dw       5
                                                db       1, 'Operate', 0
31E4:2D89                                       dw       6
                                                db       1, 'Open', 0
31E4:2D91                                       dw       7
                                                db       1, 'Close', 0
31E4:2D9A                                       dw       8
                                                db       1, 'Lock', 0
31E4:2DA2                                       dw       9
                                                db       1, 'Unlock', 0
31E4:2DAC                                       dw       10
                                                db       1, 'Use', 0
31E4:2DB3                                       dw       11
                                                db       1, 'Give', 0
31E4:2DBB                                       dw       12
                                                db       1, 'Talk to', 0
31E4:2DC6                                       dw       13
                                                db       1, 'Tell', 0
31E4:2DCE                                       dw       14
                                                db       1, 'Buy', 0
31E4:2DD5                                       dw       15
                                                db       1, 'Look', 0
31E4:2DDD                                       dw       16
                                                db       1, 'Look at', 0
31E4:2DE8                                       dw       17
                                                db       1, 'Look through', 0
31E4:2DF8                                       dw       18
                                                db       1, 'Ask', 0
31E4:2DFF                                       dw       0
                                                db       1, 'Eat', 0
31E4:2E06                                       dw       20
                                                db       1, 'Drink', 0
31E4:2E0F                                       dw       21
                                                db       1, 'Status', 0
31E4:2E19                                       dw       22
                                                db       1, 'Go to', 0
31E4:2E22                                       dw       23
                                                db       1, 'Return', 0
31E4:2E2C                                       dw       24
                                                db       1, 'Bribe', 0
31E4:2E35                                       dw       25
                                                db       1, 'Examine', 0

31E4:2E40                                       db       02h
31E4:2E41                                       db       1, 'and then', 0
31E4:2E4B                                       db       1, 'finish', 0

31E4:2E53  00 7D FF 7C                          db       00h, 7Dh,0FFh, 7Ch

; This table contains a set of references of the room exit hotspots in
; the various rooms - it used by the NPC movement code
31E4:2E57  02 80 2712    room_exit_hotspots     db       02h, 80h, 2712h
31E4:2E5B  01 80 2711                           db       01h, 80h, 2711h
31E4:2E5F  11 80 2715                           db       11h, 80h, 2715h
31E4:2E63  1D 80 2716                           db       1Dh, 80h, 2716h
31E4:2E67  13 80 2717                           db       13h, 80h, 2717h
31E4:2E6B  1E 80 2718                           db       1Eh, 80h, 2718h
31E4:2E6F  0E 80 2719                           db       0Eh, 80h, 2719h
31E4:2E73  1F 80 271A                           db       1Fh, 80h, 271Ah
31E4:2E77  0F 80 271E                           db       0Fh, 80h, 271Eh
31E4:2E7B  0C 80 271F                           db       0Ch, 80h, 271Fh
31E4:2E7F  20 80 2720                           db       20h, 80h, 2720h
31E4:2E83  14 80 2721                           db       14h, 80h, 2721h
31E4:2E87  24 80 2722                           db       24h, 80h, 2722h
31E4:2E8B  0A 80 2725                           db       0Ah, 80h, 2725h
31E4:2E8F  22 80 2726                           db       22h, 80h, 2726h
31E4:2E93  26 80 2729                           db       26h, 80h, 2729h
31E4:2E97  26 40 272A                           db       26h, 40h, 272Ah
31E4:2E9B  27 80 272B                           db       27h, 80h, 272Bh
31E4:2E9F  27 40 272C                           db       27h, 40h, 272Ch
31E4:2EA3  28 80 272D                           db       28h, 80h, 272Dh
31E4:2EA7  28 40 272C                           db       28h, 40h, 272Ch
31E4:2EAB  29 80 272D                           db       29h, 80h, 272Dh
31E4:2EAF  00 00                                dw       0

; This table contains a set of rectangles indicating the main walkable areas
; of each room, and is used by the NPC code to choose random destinations for
; characters after bumping into each other

31E4:2EB1  02              room_bounds_table    db       02h
31E4:2EB2  01 51 01 1D 01 38                    db       01h, 51h, 01h, 1Dh, 01h, 38h
31E4:2EB8  01 B2 00 6A 01 F9                    db       01h,0B2h, 00h, 6Ah, 01h,0F9h
31E4:2EBE  00 12 01 C1 00 63                    db       00h, 12h, 01h,0C1h, 00h, 63h
31E4:2EC4  01 12 01 2E 01 FF                    db       01h, 12h, 01h, 2Eh, 01h,0FFh
31E4:2ECA  00 7D 01 11 01 2E                    db       00h, 7Dh, 01h, 11h, 01h, 2Eh
31E4:2ED0  01 E2 00 53 01 02                    db       01h,0E2h, 00h, 53h, 01h, 02h
31E4:2ED6  01 1B 01 D0 00 5F                    db       01h, 1Bh, 01h,0D0h, 00h, 5Fh
31E4:2EDC  01 1A 01 3F 01 D6                    db       01h, 1Ah, 01h, 3Fh, 01h,0D6h
31E4:2EE2  00 69 01 F6 00 27                    db       00h, 69h, 01h,0F6h, 00h, 27h
31E4:2EE8  01 B7 00 82 01 19                    db       01h,0B7h, 00h, 82h, 01h, 19h
31E4:2EEE  01 41 01 A4 00 9F                    db       01h, 41h, 01h,0A4h, 00h, 9Fh
31E4:2EF4  01 1F 01 41 01 C6                    db       01h, 1Fh, 01h, 41h, 01h,0C6h
31E4:2EFA  00 9F 01 FF 00 38                    db       00h, 9Fh, 01h,0FFh, 00h, 38h
31E4:2F00  01 86 00 9F 01 07                    db       01h, 86h, 00h, 9Fh, 01h, 07h
31E4:2F06  01 38 01 9C 00 9F                    db       01h, 38h, 01h, 9Ch, 00h, 9Fh
31E4:2F0C  01 0D 01 38 01 9C                    db       01h, 0Dh, 01h, 38h, 01h, 9Ch
31E4:2F12  00 9F 01 F7                          db       00h, 9Fh, 01h,0F7h
31E4:2F16  00                                   db      0                       
31E4:2F17  38 01 CF 00 70 01                    db       38h, 01h,0CFh, 00h, 70h, 01h
31E4:2F1D  EF 00 28 01 9C 00                    db      0EFh, 00h, 28h, 01h, 9Ch, 00h
31E4:2F23  9F 01 0E 01 38 01                    db       9Fh, 01h, 0Eh, 01h, 38h, 01h
31E4:2F29  A9 00 90 01 EE 00                    db      0A9h, 00h, 90h, 01h,0EEh, 00h
31E4:2F2F  1D 01 DF 00 68 01                    db       1Dh, 01h,0DFh, 00h, 68h, 01h
31E4:2F35  0F 01 38 01 C7 00                    db       0Fh, 01h, 38h, 01h,0C7h, 00h
31E4:2F3B  78 01 01 01 38 01                    db       78h, 01h, 01h, 01h, 38h, 01h
31E4:2F41  AF 00 87 01 08 01                    db      0AFh, 00h, 87h, 01h, 08h, 01h
31E4:2F47  37 01 C4 00 60 01                    db       37h, 01h,0C4h, 00h, 60h, 01h
31E4:2F4D  EF 00 20 01 A0 00                    db      0EFh, 00h, 20h, 01h,0A0h, 00h
31E4:2F53  3D 01 E9 00 3D 01                    db       3Dh, 01h,0E9h, 00h, 3Dh, 01h
31E4:2F59  DA 00 7C 01 FC 00                    db      0DAh, 00h, 7Ch, 01h,0FCh, 00h
31E4:2F5F  1A 01                                db       1Ah, 01h

; Room exits table

31E4:2F61  0000            room_exits_table     dw      0
31E4:2F63  353D                                 dw      offset room1_exits
31E4:2F65  354D                                 ... offset list
31E4:2F67  3579
31E4:2F69  3597
31E4:2F6B  2FE3
31E4:2F6D  2FC5
31E4:2F6F  35A7
31E4:2F71  3501
31E4:2F73  34E3
31E4:2F75  34A9
31E4:2F77  351F
31E4:2F79  347D
31E4:2F7B  3451
31E4:2F7D  3417
31E4:2F7F  33EB
31E4:2F81  33CD
31E4:2F83  3385
31E4:2F85  334B
31E4:2F87  32F5
31E4:2F89  32BB
31E4:2F8B  329D
31E4:2F8D  327F
31E4:2F8F  3261
31E4:2F91  3243
31E4:2F93  3225
31E4:2F95  3207
31E4:2F97  31E9
31E4:2F99  31D9
31E4:2F9B  31C9
31E4:2F9D  31A9
31E4:2F9F  31B9
31E4:2FA1  3199
31E4:2FA3  0000
31E4:2FA5  313D
31E4:2FA7  30FF
31E4:2FA9  314D
31E4:2FAB  0000
31E4:2FAD  315D
31E4:2FAF  317B
31E4:2FB1  311F
31E4:2FB3  310F
31E4:2FB5  30EF
31E4:2FB7  30D1
31E4:2FB9  30A5
31E4:2FBB  306B
31E4:2FBD  3031
31E4:2FBF  3021
31E4:2FC1  3001
31E4:2FC3  3011

31E4:2FC5  91 01 BF 01                    db       11h, 30h, 91h, 01h,0BFh, 01h
31E4:2FC9  CE 00 0E 01 0E 00                    db      0CEh, 00h, 0Eh, 01h, 0Eh, 00h
31E4:2FCF  00 00 05 00 7F 00                    db       00h, 00h, 05h, 00h, 7Fh, 00h
31E4:2FD5  AC 00 D0 00 0E 01                    db      0ACh, 00h,0D0h, 00h, 0Eh, 01h
31E4:2FDB  0D 00 00 00 29 00                    db       0Dh, 00h, 00h, 00h, 29h, 00h
31E4:2FE1  00 00 36 01 56 01                    db       00h, 00h, 36h, 01h, 56h, 01h
31E4:2FE7  C6 00 FA 00 0B 00                    db      0C6h, 00h,0FAh, 00h, 0Bh, 00h
31E4:2FED  00 00 06 00 91 01                    db       00h, 00h, 06h, 00h, 91h, 01h
31E4:2FF3  BF 01 CE 00 0E 01                    db      0BFh, 01h,0CEh, 00h, 0Eh, 01h
31E4:2FF9  0E 00 2F 27 28 00                    db       0Eh, 00h, 2Fh, 27h, 28h, 00h
31E4:2FFF  00 00 77 00 C3 00                    db       00h, 00h, 77h, 00h,0C3h, 00h
31E4:3005  CF 00 15 01 0D 00                    db      0CFh, 00h, 15h, 01h, 0Dh, 00h
31E4:300B  00 00 2E 00 00 00                    db       00h, 00h, 2Eh, 00h, 00h, 00h
31E4:3011  7F 00 9B 00 EC 00                    db       7Fh, 00h, 9Bh, 00h,0ECh, 00h
31E4:3017  3E 01 0D 00 00 00                    db       3Eh, 01h, 0Dh, 00h, 00h, 00h
31E4:301D  01 00 00 00 AA 01                    db       01h, 00h, 00h, 00h,0AAh, 01h
31E4:3023  C2 01 D7 00 3E 01                    db      0C2h, 01h,0D7h, 00h, 3Eh, 01h
31E4:3029  0E 00 00 00 2E 00                    db       0Eh, 00h, 00h, 00h, 2Eh, 00h
31E4:302F  00 00 7F 00 94 00                    db       00h, 00h, 7Fh, 00h, 94h, 00h
31E4:3035  87 00 C8 00 0D 00                    db       87h, 00h,0C8h, 00h, 0Dh, 00h
31E4:303B  00 00 32 00 00 01                    db       00h, 00h, 32h, 00h, 00h, 01h
31E4:3041  22 01 7F 00 C1 00                    db       22h, 01h, 7Fh, 00h,0C1h, 00h
31E4:3047  0B 00 00 00 2F 00                    db       0Bh, 00h, 00h, 00h, 2Fh, 00h

31E4:304D  7F 00 94 00 F5 00                    db       7Fh, 00h, 94h, 00h,0F5h, 00h
31E4:3053  47 01 0D 00 00 00                    db       47h, 01h, 0Dh, 00h, 00h, 00h
31E4:3059  2D 00 7F 01 96 01                    db       2Dh, 00h, 7Fh, 01h, 96h, 01h
31E4:305F  F4 00 3D 01 0E 00                    db      0F4h, 00h, 3Dh, 01h, 0Eh, 00h
31E4:3065  00 00 30 00 00 00                    db       00h, 00h, 30h, 00h, 00h, 00h
31E4:306B  7D 00 C7 00 87 00                    db       7Dh, 00h,0C7h, 00h, 87h, 00h
31E4:3071  CD 00 0D 00 00 00                    db      0CDh, 00h, 0Dh, 00h, 00h, 00h
31E4:3077  34 00 AB 01 BF 01                    db       34h, 00h,0ABh, 01h,0BFh, 01h
31E4:307D  87 00 CD 00 0E 00                    db       87h, 00h,0CDh, 00h, 0Eh, 00h
31E4:3083  00 00 33 00 7D 00                    db       00h, 00h, 33h, 00h, 7Dh, 00h
31E4:3089  A7 00 E7 00 3D 01                    db      0A7h, 00h,0E7h, 00h, 3Dh, 01h
31E4:308F  0D 00 00 00 2C 00                    db       0Dh, 00h, 00h, 00h, 2Ch, 00h
31E4:3095  AB 01 F4 01 F5 00                    db      0ABh, 01h,0F4h, 01h,0F5h, 00h
31E4:309B  47 01 0E 00 00 00                    db       47h, 01h, 0Eh, 00h, 00h, 00h
31E4:30A1  2E 00 00 00 04 01                    db       2Eh, 00h, 00h, 00h, 04h, 01h
31E4:30A7  44 01 39 01 47 01                    db       44h, 01h, 39h, 01h, 47h, 01h
31E4:30AD  0C 00 00 00 2B 00                    db       0Ch, 00h, 00h, 00h, 2Bh, 00h
31E4:30B3  CF 00 F3 00 BD 00                    db      0CFh, 00h,0F3h, 00h,0BDh, 00h
31E4:30B9  00 01 0B 00 00 00                    db       00h, 01h, 0Bh, 00h, 00h, 00h
31E4:30BF  32 00 67 01 8A 01                    db       32h, 00h, 67h, 01h, 8Ah, 01h
31E4:30C5  BE 00 01 01 0B 00                    db      0BEh, 00h, 01h, 01h, 0Bh, 00h
31E4:30CB  00 00 2D 00 00 00                    db       00h, 00h, 2Dh, 00h, 00h, 00h
31E4:30D1  7F 00 9A                             db       7Fh, 00h, 9Ah

31E4:30D4  00 C6 00    hotspot_display_buffer   db       00h,0C6h, 00h
31E4:30D7  19 01 0D 00 00 00                    db       19h, 01h, 0Dh, 00h, 00h, 00h
31E4:30DD  2A 00 A7 01 BF 01                    db       2Ah, 00h,0A7h, 01h,0BFh, 01h
31E4:30E3  CF 00 21 01 0E 00                    db      0CFh, 00h, 21h, 01h, 0Eh, 00h
31E4:30E9  00 00 2C 00 00 00                    db       00h, 00h, 2Ch, 00h, 00h, 00h
31E4:30EF  A3 01 BF 01 C8 00                    db      0A3h, 01h,0BFh, 01h,0C8h, 00h
31E4:30F5  29 01 0E 00 00 00                    db       29h, 01h, 0Eh, 00h, 00h, 00h
31E4:30FB  2B 00 00 00                          db       2Bh, 00h, 00h, 00h
31E4:30FF  3F                                   db      3Fh
31E4:3100  01                   data_771        db      1
31E4:3101  74 01 32 01 4A 01                    db       74h, 01h, 32h, 01h, 4Ah, 01h
31E4:3107  0C 00 00 00 13 00                    db       0Ch, 00h, 00h, 00h, 13h, 00h
31E4:310D  00 00 91 01 BF 01                    db       00h, 00h, 91h, 01h,0BFh, 01h
31E4:3113  CE 00 0E 01 0E 00                    db      0CEh, 00h, 0Eh, 01h, 0Eh, 00h
31E4:3119  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
31E4:311F  91 01 BF 01 CE 00                    db       91h, 01h,0BFh, 01h,0CEh, 00h
31E4:3125  0E 01 0E 00 2D 27                    db       0Eh, 01h, 0Eh, 00h, 2Dh, 27h
31E4:312B  27 00 7F 00 AC 00                    db       27h, 00h, 7Fh, 00h,0ACh, 00h
31E4:3131  D0 00 0E 01 0D 00                    db      0D0h, 00h, 0Eh, 01h, 0Dh, 00h
31E4:3137  2E 27 29 00 00 00                    db       2Eh, 27h, 29h, 00h, 00h, 00h
31E4:313D  C1 00 E0 00 1D 01                    db      0C1h, 00h,0E0h, 00h, 1Dh, 01h
31E4:3143  36 01 0C 00 26 27                    db       36h, 01h, 0Ch, 00h, 26h, 27h
31E4:3149  0A 00 00 00 7F 00                    db       0Ah, 00h, 00h, 00h, 7Fh, 00h
31E4:314F  94 00 C6 00 14 01                    db       94h, 00h,0C6h, 00h, 14h, 01h
31E4:3155  0D 00 22 27 14 00                    db       0Dh, 00h, 22h, 27h, 14h, 00h
31E4:315B  00 00 2E 01 62 01                    db       00h, 00h, 2Eh, 01h, 62h, 01h
31E4:3161  34 01 90 01 0C 00                    db       34h, 01h, 90h, 01h, 0Ch, 00h
31E4:3167  29 27 0F 00 7F 00                    db       29h, 27h, 0Fh, 00h, 7Fh, 00h
31E4:316D  AC 00 D0 00 0E 01                    db      0ACh, 00h,0D0h, 00h, 0Eh, 01h
31E4:3173  0D 00 2A 27 27 00                    db       0Dh, 00h, 2Ah, 27h, 27h, 00h
31E4:3179  00 00 91 01 BF 01                    db       00h, 00h, 91h, 01h,0BFh, 01h
31E4:317F  CE 00 0E 01 0E 00                    db      0CEh, 00h, 0Eh, 01h, 0Eh, 00h
31E4:3185  2B 27 26 00 7F 00                    db       2Bh, 27h, 26h, 00h, 7Fh, 00h
31E4:318B  AC 00 D0 00 0E 01                    db      0ACh, 00h,0D0h, 00h, 0Eh, 01h
31E4:3191  0D 00 2C 27 28 00                    db       0Dh, 00h, 2Ch, 27h, 28h, 00h

31E4:3197  00 00 A3 00 CB 00                    db       00h, 00h,0A3h, 00h,0CBh, 00h
31E4:319D  36 01 4A 01 0C 00                    db       36h, 01h, 4Ah, 01h, 0Ch, 00h
31E4:31A3  20 27 0C 00 00 00                    db       20h, 27h, 0Ch, 00h, 00h, 00h
31E4:31A9  B9 00 E0 00 24 01                    db      0B9h, 00h,0E0h, 00h, 24h, 01h
31E4:31AF  4A 01 0C 00 18 27                    db       4Ah, 01h, 0Ch, 00h, 18h, 27h
31E4:31B5  13 00 00 00 63 01                    db       13h, 00h, 00h, 00h, 63h, 01h
31E4:31BB  83 01 39 01 90 01                    db       83h, 01h, 39h, 01h, 90h, 01h
31E4:31C1  0C 00 1A 27 0E 00                    db       0Ch, 00h, 1Ah, 27h, 0Eh, 00h
31E4:31C7  00 00 98 00 B9 00                    db       00h, 00h, 98h, 00h,0B9h, 00h
31E4:31CD  2E 01 48 01 0C 00                    db       2Eh, 01h, 48h, 01h, 0Ch, 00h
31E4:31D3  16 27 11 00 00 00                    db       16h, 27h, 11h, 00h, 00h, 00h
31E4:31D9  00 01 20 01 D5 00                    db       00h, 01h, 20h, 01h,0D5h, 00h
31E4:31DF  0F 01 0B 00 00                       db       0Fh, 01h, 0Bh, 00h, 00h

; Popmenu entry list : The contents of the popup menu get constructed in this
; data block - first word is the number of entries, followed by the list of
; items in it; each one being a word giving the Item Id, followed by the text

31E4:31E4  1200          popmenu_entry_count    dw       1200h      ; Number of entries
31E4:31E6             popmenu_entry_contents
                                                ... data

31E4:31E9  7F 00                                db       7Fh, 00h
31E4:31EB  BC 00 BB 00 29 01                    db      0BCh, 00h,0BBh, 00h, 29h, 01h
31E4:31F1  0D 00 00 00 0C 00                    db       0Dh, 00h, 00h, 00h, 0Ch, 00h
31E4:31F7  7E 01 BF 01 BB 00                    db       7Eh, 01h,0BFh, 01h,0BBh, 00h
31E4:31FD  29 01 0E 00 00 00                    db       29h, 01h, 0Eh, 00h, 00h, 00h
31E4:3203  0B 00 00 00 D8 00                    db       0Bh, 00h, 00h, 00h,0D8h, 00h
31E4:3209  61 01 2D 01 90 01                    db       61h, 01h, 2Dh, 01h, 90h, 01h
31E4:320F  0C 00 00 00 0C 00                    db       0Ch, 00h, 00h, 00h, 0Ch, 00h
31E4:3215  08 01 33 01 90 00                    db       08h, 01h, 33h, 01h, 90h, 00h
31E4:321B  C8 00 0B 00 00 00                    db      0C8h, 00h, 0Bh, 00h, 00h, 00h
31E4:3221  14 00 00 00 CB 00                    db       14h, 00h, 00h, 00h,0CBh, 00h
31E4:3227  61 01 36 01 90 01                    db       61h, 01h, 36h, 01h, 90h, 01h
31E4:322D  0C 00 00 00 18 00                    db       0Ch, 00h, 00h, 00h, 18h, 00h
31E4:3233  EB 00 12 01 D6 00                    db      0EBh, 00h, 12h, 01h,0D6h, 00h
31E4:3239  07 01 0B 00 00 00                    db       07h, 01h, 0Bh, 00h, 00h, 00h
31E4:323F  13 00 00 00 7F 00                    db       13h, 00h, 00h, 00h, 7Fh, 00h
31E4:3245  BC 00 BB 00 29 01                    db      0BCh, 00h,0BBh, 00h, 29h, 01h
31E4:324B  0D 00 00 00 12 00                    db       0Dh, 00h, 00h, 00h, 12h, 00h
31E4:3251  7E 01 BF 01 BB 00                    db       7Eh, 01h,0BFh, 01h,0BBh, 00h
31E4:3257  29 01 0E 00 00 00                    db       29h, 01h, 0Eh, 00h, 00h, 00h
31E4:325D  19 00 00 00 7F 00                    db       19h, 00h, 00h, 00h, 7Fh, 00h
31E4:3263  BC 00 BB 00 29 01                    db      0BCh, 00h,0BBh, 00h, 29h, 01h
31E4:3269  0D 00 00 00 16 00                    db       0Dh, 00h, 00h, 00h, 16h, 00h
31E4:326F  7E 01 BF 01 BB 00                    db       7Eh, 01h,0BFh, 01h,0BBh, 00h
31E4:3275  29 01 0E 00 00 00                    db       29h, 01h, 0Eh, 00h, 00h, 00h
31E4:327B  12 00 00 00 D8 00                    db       12h, 00h, 00h, 00h,0D8h, 00h
31E4:3281  61 01 3D 01 90 01                    db       61h, 01h, 3Dh, 01h, 90h, 01h
31E4:3287  0C 00 00 00 17 00                    db       0Ch, 00h, 00h, 00h, 17h, 00h
31E4:328D  F2 00 12 01 DA 00                    db      0F2h, 00h, 12h, 01h,0DAh, 00h
31E4:3293  0D 01 0B 00 00 00                    db       0Dh, 01h, 0Bh, 00h, 00h, 00h
31E4:3299  15 00 00 00 7F 00                    db       15h, 00h, 00h, 00h, 7Fh, 00h
31E4:329F  BC 00 BB 00 29 01                    db      0BCh, 00h,0BBh, 00h, 29h, 01h
31E4:32A5  0D 00 00 00 16 00                    db       0Dh, 00h, 00h, 00h, 16h, 00h
31E4:32AB  7E 01 BF 01 BB 00                    db       7Eh, 01h,0BFh, 01h,0BBh, 00h
31E4:32B1  29 01 0E 00 00 00                    db       29h, 01h, 0Eh, 00h, 00h, 00h
31E4:32B7  11 00 00 00 7F 00                    db       11h, 00h, 00h, 00h, 7Fh, 00h
31E4:32BD  87 00 D5 00 54 01                    db       87h, 00h,0D5h, 00h, 54h, 01h
31E4:32C3  0D 00 00 00 13 00                    db       0Dh, 00h, 00h, 00h, 13h, 00h
31E4:32C9  C8 00 EF 00 AC 00                    db      0C8h, 00h,0EFh, 00h,0ACh, 00h
31E4:32CF  D4 00 0B 00 00 00                    db      0D4h, 00h, 0Bh, 00h, 00h, 00h
31E4:32D5  0D 00 5B 01 89 01                    db       0Dh, 00h, 5Bh, 01h, 89h, 01h
31E4:32DB  39 01 54 01 0C 00                    db       39h, 01h, 54h, 01h, 0Ch, 00h
31E4:32E1  00 00 1A 00 44 01                    db       00h, 00h, 1Ah, 00h, 44h, 01h
31E4:32E7  61 01 BB 00 F4 00                    db       61h, 01h,0BBh, 00h,0F4h, 00h

31E4:32ED  0B 00 21 27 24 00                    db       0Bh, 00h, 21h, 27h, 24h, 00h
31E4:32F3  00 00 7F 00 87 00                    db       00h, 00h, 7Fh, 00h, 87h, 00h
31E4:32F9  07 01 2F 01 0D 00                    db       07h, 01h, 2Fh, 01h, 0Dh, 00h
31E4:32FF  00 00 11 00 FB 00                    db       00h, 00h, 11h, 00h,0FBh, 00h
31E4:3305  36 01 C0 00 F5 00                    db       36h, 01h,0C0h, 00h,0F5h, 00h
31E4:330B  0B 00 00 00 0E 00                    db       0Bh, 00h, 00h, 00h, 0Eh, 00h
31E4:3311  B0 01 BF 01 0C 01                    db      0B0h, 01h,0BFh, 01h, 0Ch, 01h
31E4:3317  4A 01 0E 00 00 00                    db       4Ah, 01h, 0Eh, 00h, 00h, 00h
31E4:331D  14 00 B9 00 FE 00                    db       14h, 00h,0B9h, 00h,0FEh, 00h
31E4:3323  39 01 47 01 0C 00                    db       39h, 01h, 47h, 01h, 0Ch, 00h
31E4:3329  00 00 19 00 6F 01                    db       00h, 00h, 19h, 00h, 6Fh, 01h
31E4:332F  88 01 D0 00 07 01                    db       88h, 01h,0D0h, 00h, 07h, 01h
31E4:3335  0B 00 17 27 1E 00                    db       0Bh, 00h, 17h, 27h, 1Eh, 00h
31E4:333B  98 00 B6 00 B8 00                    db       98h, 00h,0B6h, 00h,0B8h, 00h
31E4:3341  03 01 0B 00 00 00                    db       03h, 01h, 0Bh, 00h, 00h, 00h
31E4:3347  23 00 00 00 7F                       db       23h, 00h, 00h, 00h, 7Fh
31E4:334C  8700         popmenu_num_entries     dw       8700h
31E4:334D  00 02 01 47 01                       db       00h, 02h, 01h, 47h, 01h
31E4:3353  0D 00 00 00 17                       db       0Dh, 00h, 00h, 00h, 17h
31E4:3358  3B00                   data_3358     dw       3B00h
31E4:335A  01 7E 01 B5                          db       01h, 7Eh, 01h,0B5h
31E4:335E  EB00                   data_335E     dw      0EB00h
31E4:335F  00 0B                                db       00h, 0Bh
31E4:3362  0000       popmenu_current_index     dw       0
31E4:3364  0100         popmenu_prior_index     dw       100h
31E4:3366  0000              mouse_y_change     dw       0
31E4:3368  0000            menu_items_proc2     dw       0

31E4:336B  0F 01 47 01 0E 00                    db       0Fh, 01h, 47h, 01h, 0Eh, 00h
31E4:3371  00 00 18 00 0C 01                    db       00h, 00h, 18h, 00h, 0Ch, 01h
31E4:3377  2F 01 CB 00 F9 00                    db       2Fh, 01h,0CBh, 00h,0F9h, 00h
31E4:337D  0D 00 00                             db       0Dh, 00h, 00h

31E4:3380  1C00                   data_3380     dw       1C00h
31E4:3382  00 00                  data_3382     dw       0
31E4:3384  D400                   data_3384     dw      0D400h
31E4:3386  0B00                   data_3386     dw       0B00h
31E4:3388  01                                   db       01h
31E4:3389  BB 00 0A 01 0B 00                    db      0BBh, 00h, 0Ah, 01h, 0Bh, 00h
31E4:338F  00 00 10 00 9B 00                    db       00h, 00h, 10h, 00h, 9Bh, 00h
31E4:3395  DF 00 21 01 47 01                    db      0DFh, 00h, 21h, 01h, 47h, 01h
31E4:339B  0C 00 00 00 12 00                    db       0Ch, 00h, 00h, 00h, 12h, 00h
31E4:33A1  B0 01 C2 01 DB 00                    db      0B0h, 01h,0C2h, 01h,0DBh, 00h
31E4:33A7  47 01 0E 00 00 00                    db       47h, 01h, 0Eh, 00h, 00h, 00h
31E4:33AD  13 00 7F 00 87 00                    db       13h, 00h, 7Fh, 00h, 87h, 00h
31E4:33B3  0B 01 47 01 0D 00                    db       0Bh, 01h, 47h, 01h, 0Dh, 00h
31E4:33B9  00 00 15 00 4A 01                    db       00h, 00h, 15h, 00h, 4Ah, 01h
31E4:33BF  63 01 E5 00 18 01                    db       63h, 01h,0E5h, 00h, 18h, 01h
31E4:33C5  0B 00 15 27 1D 00                    db       0Bh, 00h, 15h, 27h, 1Dh, 00h
31E4:33CB  00 00 D8 00 61 01                    db       00h, 00h,0D8h, 00h, 61h, 01h
31E4:33D1  2D 01 90 01 0C 00                    db       2Dh, 01h, 90h, 01h, 0Ch, 00h
31E4:33D7  00 00 11 00 08 01                    db       00h, 00h, 11h, 00h, 08h, 01h
31E4:33DD  33 01 90 00 C8 00                    db       33h, 01h, 90h, 00h,0C8h, 00h
31E4:33E3  0B 00 00 00 0F 00                    db       0Bh, 00h, 00h, 00h, 0Fh, 00h
31E4:33E9  00 00 7F 00 73 01                    db       00h, 00h, 7Fh, 00h, 73h, 01h
31E4:33EF  3B 01 47 01 0C 00                    db       3Bh, 01h, 47h, 01h, 0Ch, 00h
31E4:33F5  00 00 10 00 B0 01                    db       00h, 00h, 10h, 00h,0B0h, 01h
31E4:33FB  C2 01 FD 00 46 01                    db      0C2h, 01h,0FDh, 00h, 46h, 01h
31E4:3401  0E 00 00 00 0E 00                    db       0Eh, 00h, 00h, 00h, 0Eh, 00h
31E4:3407  EA 00 29 01 B4 00                    db      0EAh, 00h, 29h, 01h,0B4h, 00h
31E4:340D  04 01 0B 00 1E 27                    db       04h, 01h, 0Bh, 00h, 1Eh, 27h
31E4:3413  26 00 00 00 7F 00                    db       26h, 00h, 00h, 00h, 7Fh, 00h
31E4:3419  87 00 F8 00 2A 01                    db       87h, 00h,0F8h, 00h, 2Ah, 01h
31E4:341F  0D 00 00 00 0F 00                    db       0Dh, 00h, 00h, 00h, 0Fh, 00h
31E4:3425  7F 00 15 01 39 01                    db       7Fh, 00h, 15h, 01h, 39h, 01h
31E4:342B  5E 01 0C 00 00 00                    db       5Eh, 01h, 0Ch, 00h, 00h, 00h
31E4:3431  13 00 B0 01 C2 01                    db       13h, 00h,0B0h, 01h,0C2h, 01h
31E4:3437  F3 00 2B 01 0E 00                    db      0F3h, 00h, 2Bh, 01h, 0Eh, 00h
31E4:343D  00 00 0D 00 F4 00                    db       00h, 00h, 0Dh, 00h,0F4h, 00h

31E4:3443  0F 01 CB 00 FA 00                    db       0Fh, 01h,0CBh, 00h,0FAh, 00h
31E4:3449  0B 00 19 27 1F 00                    db       0Bh, 00h, 19h, 27h, 1Fh, 00h
31E4:344F  00 00 7F 00 8E 00                    db       00h, 00h, 7Fh, 00h, 8Eh, 00h
31E4:3455  E6 00 4A 01 0D 00                    db      0E6h, 00h, 4Ah, 01h, 0Dh, 00h
31E4:345B  00 00 0E 00 B1 01                    db       00h, 00h, 0Eh, 00h,0B1h, 01h
31E4:3461  C2 01 DF 00 5E 01                    db      0C2h, 01h,0DFh, 00h, 5Eh, 01h
31E4:3467  0E 00 00 00 0A 00                    db       0Eh, 00h, 00h, 00h, 0Ah, 00h
31E4:346D  9B 00 FE 00 3E 01                    db       9Bh, 00h,0FEh, 00h, 3Eh, 01h
31E4:3473  47 01 0C 00 00 00                    db       47h, 01h, 0Ch, 00h, 00h, 00h
31E4:3479  14 00 00 00 01 01                    db       14h, 00h, 00h, 00h, 01h, 01h
31E4:347F  24 01 85 00 D0 00                    db       24h, 01h, 85h, 00h,0D0h, 00h
31E4:3485  0B 00 00 00 1A 00                    db       0Bh, 00h, 00h, 00h, 1Ah, 00h
31E4:348B  4D 01 BF 01 13 01                    db       4Dh, 01h,0BFh, 01h, 13h, 01h
31E4:3491  47 01 0E 00 00 00                    db       47h, 01h, 0Eh, 00h, 00h, 00h
31E4:3497  1B 00 A2 00 C2 00                    db       1Bh, 00h,0A2h, 00h,0C2h, 00h
31E4:349D  AC 00 DE 00 0B 00                    db      0ACh, 00h,0DEh, 00h, 0Bh, 00h
31E4:34A3  1F 27 20 00 00 00                    db       1Fh, 27h, 20h, 00h, 00h, 00h
31E4:34A9  9A 01 C2 01 CC 00                    db       9Ah, 01h,0C2h, 01h,0CCh, 00h
31E4:34AF  14 01 0E 00 00 00                    db       14h, 01h, 0Eh, 00h, 00h, 00h
31E4:34B5  09 00 7F 00 87 00                    db       09h, 00h, 7Fh, 00h, 87h, 00h
31E4:34BB  F6 00 47 01 0D 00                    db      0F6h, 00h, 47h, 01h, 0Dh, 00h
31E4:34C1  00 00 0D 00 AF 00                    db       00h, 00h, 0Dh, 00h,0AFh, 00h
31E4:34C7  D4 00 39 01 4A 01                    db      0D4h, 00h, 39h, 01h, 4Ah, 01h
31E4:34CD  0C 00 00 00 0B 00                    db       0Ch, 00h, 00h, 00h, 0Bh, 00h
31E4:34D3  05 01 1E 01 DB 00                    db       05h, 01h, 1Eh, 01h,0DBh, 00h
31E4:34D9  0E 01 0B 00 25 27                    db       0Eh, 01h, 0Bh, 00h, 25h, 27h
31E4:34DF  22 00 00 00 7F 00                    db       22h, 00h, 00h, 00h, 7Fh, 00h
31E4:34E5  B2 00 E6 00 29 01                    db      0B2h, 00h,0E6h, 00h, 29h, 01h
31E4:34EB  0D 00 00 00 0A 00                    db       0Dh, 00h, 00h, 00h, 0Ah, 00h
31E4:34F1  E1 00 92 01 39 01                    db      0E1h, 00h, 92h, 01h, 39h, 01h
31E4:34F7  47 01 0C 00 00 00                    db       47h, 01h, 0Ch, 00h, 00h, 00h
31E4:34FD  08 00 00 00 D8 00                    db       08h, 00h, 00h, 00h,0D8h, 00h
31E4:3503  61 01 31 01 90 01                    db       61h, 01h, 31h, 01h, 90h, 01h
31E4:3509  0C 00 00 00 07 00                    db       0Ch, 00h, 00h, 00h, 07h, 00h
31E4:350F  EC 00 12 01 D5 00                    db      0ECh, 00h, 12h, 01h,0D5h, 00h
31E4:3515  09 01 0B 00 00 00                    db       09h, 01h, 0Bh, 00h, 00h, 00h
31E4:351B  09 00 00 00 D8 00                    db       09h, 00h, 00h, 00h,0D8h, 00h
31E4:3521  61 01 38 01 90 01                    db       61h, 01h, 38h, 01h, 90h, 01h
31E4:3527  0C 00 00 00 0C 00                    db       0Ch, 00h, 00h, 00h, 0Ch, 00h
31E4:352D  EC 00 12 01 D6 00                    db      0ECh, 00h, 12h, 01h,0D6h, 00h
31E4:3533  0D 01 0B 00 00 00                    db       0Dh, 01h, 0Bh, 00h, 00h, 00h
31E4:3539  0A 00 00 00

31E4:353D                       room1_exits     dw       7Fh
31E4:353F  E0 00 E8 00 29 01                    db      0E0h, 00h,0E8h, 00h, 29h, 01h
31E4:3545  0D                                   db      0Dh
31E4:3546  00                   data_772        db      0                       ; Data table (indexed access)
31E4:3547  11 27 02 00 00 00                    db       11h, 27h, 02h, 00h, 00h, 00h
31E4:354D  DE 00 FB 00 C8 00                    db      0DEh, 00h,0FBh, 00h,0C8h, 00h
31E4:3553  FA 00 0B 00 12 27                    db      0FAh, 00h, 0Bh, 00h, 12h, 27h
31E4:3559  01 00 3E 01 5B 01                    db       01h, 00h, 3Eh, 01h, 5Bh, 01h
31E4:355F  C8 00 FA 00 0B 00                    db      0C8h, 00h,0FAh, 00h, 0Bh, 00h
31E4:3565  00 00 03 00 94 01                    db       00h, 00h, 03h, 00h, 94h, 01h
31E4:356B  C2 01 D1 00 01 01                    db      0C2h, 01h,0D1h, 00h, 01h, 01h
31E4:3571  0E 00 14 27 05 00                    db       0Eh, 00h, 14h, 27h, 05h, 00h
31E4:3577  00 00 7F 00 A4 00                    db       00h, 00h, 7Fh, 00h,0A4h, 00h
31E4:357D  E5 00 20 01 0D 00                    db      0E5h, 00h, 20h, 01h, 0Dh, 00h
31E4:3583  00 00 02 00 84 01                    db       00h, 00h, 02h, 00h, 84h, 01h
31E4:3589  BE 01 E5 00 26 01                    db      0BEh, 01h,0E5h, 00h, 26h, 01h
31E4:358F  0E 00 00 00 04 00                    db       0Eh, 00h, 00h, 00h, 04h, 00h
31E4:3595  00 00 46 01 6B 01                    db       00h, 00h, 46h, 01h, 6Bh, 01h
31E4:359B  31 01 47 01 0C 00                    db       31h, 01h, 47h, 01h, 0Ch, 00h
31E4:35A1  00 00 03 00 00 00                    db       00h, 00h, 03h, 00h, 00h, 00h
31E4:35A7  7F 00 D2 00 DA 00                    db       7Fh, 00h,0D2h, 00h,0DAh, 00h

31E4:35AD  1B 01 0D 00 00 00                    db       1Bh, 01h, 0Dh, 00h, 00h, 00h
31E4:35B3  08 00 00 00 1C 00                    db       08h, 00h, 00h, 00h, 1Ch, 00h
31E4:35B9  02 00 F7 35 1E 00                    db       02h, 00h,0F7h, 35h, 1Eh, 00h
31E4:35BF  58 1D 1E 00 16 2C                    db       58h, 1Dh, 1Eh, 00h, 16h, 2Ch
31E4:35C5  1F 00 23 00 1D 2C                    db       1Fh, 00h, 23h, 00h, 1Dh, 2Ch
31E4:35CB  C5 35 1C 00 01 00                    db      0C5h, 35h, 1Ch, 00h, 01h, 00h
31E4:35D1  F7 35 21 00 E7 03                    db      0F7h, 35h, 21h, 00h,0E7h, 03h
31E4:35D7  1E 00 0B 1D 1F 00                    db       1Eh, 00h, 0Bh, 1Dh, 1Fh, 00h
31E4:35DD  1E 00 0B 1D 1C 00                    db       1Eh, 00h, 0Bh, 1Dh, 1Ch, 00h
31E4:35E3  02 00 00 00 07 00                    db       02h, 00h, 00h, 00h, 07h, 00h
31E4:35E9  12 27 1F 00 1E 00                    db       12h, 27h, 1Fh, 00h, 1Eh, 00h
31E4:35EF  3A 2C 20 00 1E 00                    db       3Ah, 2Ch, 20h, 00h, 1Eh, 00h
31E4:35F5  58 1D 1C 00 04 00                    db       58h, 1Dh, 1Ch, 00h, 04h, 00h
31E4:35FB  00 00 05 00 10 04                    db       00h, 00h, 05h, 00h, 10h, 04h
31E4:3601  1E 00 58 1D 1C 00                    db       1Eh, 00h, 58h, 1Dh, 1Ch, 00h
31E4:3607  03 00 00 00 1E 00                    db       03h, 00h, 00h, 00h, 1Eh, 00h
31E4:360D  58 1D 1E 00 58 1D                    db       58h, 1Dh, 1Eh, 00h, 58h, 1Dh
31E4:3613  22 00 B7 35 21 00                    db       22h, 00h,0B7h, 35h, 21h, 00h
31E4:3619  18 04 1E 00 E9 12                    db       18h, 04h, 1Eh, 00h,0E9h, 12h
31E4:361F  21 00 11 27 21 00                    db       21h, 00h, 11h, 27h, 21h, 00h
31E4:3625  E8 03 20 00 20 00                    db      0E8h, 03h, 20h, 00h, 20h, 00h
31E4:362B  20 00 20 00 27 00                    db       20h, 00h, 20h, 00h, 27h, 00h
31E4:3631  CB 00 00 00 20 00                    db      0CBh, 00h, 00h, 00h, 20h, 00h
31E4:3637  20 00 20 00 20 00                    db       20h, 00h, 20h, 00h, 20h, 00h
31E4:363D  27 00 CC 00 00 00                    db       27h, 00h,0CCh, 00h, 00h, 00h
31E4:3643  20 00 20 00 20 00                    db       20h, 00h, 20h, 00h, 20h, 00h
31E4:3649  21 00 11 27 1E 00                    db       21h, 00h, 11h, 27h, 1Eh, 00h
31E4:364F  31 1D 27 00 8C 00                    db       31h, 1Dh, 27h, 00h, 8Ch, 00h
31E4:3655  00 00 22 00 27 36                    db       00h, 00h, 22h, 00h, 27h, 36h
31E4:365B  1C 00 02 00 27 36                    db       1Ch, 00h, 02h, 00h, 27h, 36h
31E4:3661  1E 00 42 1E 21 00                    db       1Eh, 00h, 42h, 1Eh, 21h, 00h
31E4:3667  E8 03 22 00 61 36                    db      0E8h, 03h, 22h, 00h, 61h, 36h
31E4:366D  00 00 00                             db       00h, 00h, 00h

31E4:3670  0000                errormsg_list   dw   0                  ;Table used by display_message() to print errors
31E4:3672  368A                                dw   offset errormsg1
31E4:3674  369E                                dw   offset errormsg2
31E4:3676  36C2                                dw   offset errormsg3
31E4:3678  36E0                                dw   offset errormsg4
31E4:367A  36FB                                dw   offset errormsg5
31E4:367C  3713                                dw   offset errormsg6
31E4:367E  372B                                dw   offset errormsg7
31E4:3680  3763                                dw   offset errormsg8
31E4:3682  3788                                dw   offset errormsg9
31E4:3684  379F                                dw   offset errormsga
31E4:3686  3743                                dw   offset errormsgb
31E4:3688  37C0                                dw   offset errormsgc

31E4:368A                      errormsg1       db   6, '8Disk read error.$', 0
31E4:369E                      errormsg2       db   'Game needs colour EGA/VGA monitor.$', 0
31E4:36C2                      errormsg3       db   'Game needs DOS 2.0 or later.$', 0
31E4:36E0                      errormsg4       db   11h, '8Please insert game disk$', 0
31E4:36FB                      errormsg5       db   1Ch, '8Please insert disk A$', 0
31E4:3713                      errormsg6       db   27h, '8Please insert disk B$', 0
31E4:372B                      errormsg7       db   32h, '8Please insert disk C$', 0
31E4:3743                      errormsgb       db   3Dh, '8Please insert Lure data disk$', 0
31E4:3763                      errormsg8       db   'Not enough memory to play the game.$', 0
31E4:3788                      errormsg9       db   'Data file is corrupt.$', 0
31E4:379F                      errormsga       db   'Sorry - copy protection failed.$', 0
31E4:37C0                      errormsgc       db   'Unknown error.$'

31E4:37D0                      data_777        db   'Press a mouse button when ready.$', 0
31E4:37F2                      data_778        db   'and press any key.$', 0

31E4:3806  09 09 15 05 0A                       db       09h, 09h, 15h, 05h, 0Ah
31E4:380B  0A B0 00 7A 00 00                    db       0Ah,0B0h, 00h, 7Ah, 00h, 00h
31E4:3811  09 09 15 05 0A 0A                    db       09h, 09h, 15h, 05h, 0Ah, 0Ah
31E4:3817  B0 00 78 00 00 09                    db      0B0h, 00h, 78h, 00h, 00h, 09h
31E4:381D  09 15 05 0A 0A B0                    db       09h, 15h, 05h, 0Ah, 0Ah,0B0h
31E4:3823  00 64 01 00 09 09                    db       00h, 64h, 01h, 00h, 09h, 09h
31E4:3829  15 05 0A 0A B0 00                    db       15h, 05h, 0Ah, 0Ah,0B0h, 00h
31E4:382F  65 01 00 09 09 15                    db       65h, 01h, 00h, 09h, 09h, 15h
31E4:3835  05 0A 0A B0 00 66                    db       05h, 0Ah, 0Ah,0B0h, 00h, 66h
31E4:383B  01 00 09 06 15 05                    db       01h, 00h, 09h, 06h, 15h, 05h
31E4:3841  0A 0A B0 00 56 01                    db       0Ah, 0Ah,0B0h, 00h, 56h, 01h
31E4:3847  00                                   db       00h
31E4:3848  0A 0D 24             data_779        db      0Ah, 0Dh, '$'           ;  xref 273F:4055, 273F:4094
                                                                                ;       273F:40AB
31E4:384B  00 00 00 00 00                       db       00h, 00h, 00h, 00h, 00h

31E4:3850  41D9            actions2_proc_list   dw       41D9h
                                                dw       offset get_proc        ; 1 = GET
                                                dw       0
                                                dw       offset operate_proc
                                                dw       offset operate_proc
                                                dw       offset operate_proc    ; 5
                                                dw       offset open_proc
                                                dw       offset close_proc
31E4:3860                                       dw       offset lock_unlock_proc 
                                                dw       offset lock_unlock_proc
                                                dw       offset use_proc         ; 10 = USE
                                                dw       offset give_proc
                                                dw       offset talk_to_proc
                                                dw       offset tell_proc
                                                dw       0
                                                dw       offset look_proc        ; 15 = LOOK
31E4:3870                                       dw       offset look_at_proc
                                                dw       offset look_through_proc
                                                dw       offset ask_proc
                                                dw       0
                                                dw       offset drink_proc       ; 20 = DRINK
                                                dw       offset status_proc
                                                dw       offset go_to_proc
                                                dw       offset return_proc
31E4:3880                                       dw       offset bribe_proc
                                                dw       offset examine_proc    ; 25
                                                dw       0
                                                dw       0
                                                dw       offset npc_set_blocked_offset_proc
                                                dw       offset npc_unknown_1
                                                dw       offset npc_execute_script_proc ; 30
                                                dw       offset npc_reset_paused_list
                                                dw       offset npc_set_random_dest
                                                dw       offset npc_walking_check
                                                dw       offset npc_set_support_offset
                                                dw       offset npc_set_support_offset_conditional ; 35
                                                dw       offset npc_dispatch_action
                                                dw       offset npc_unknown_3
                                                dw       offset npc_pause
                                                dw       offset npc_start_talking
                                                dw       offset npc_jump_to_address    ; 40

31E4:38A2  0001                  random_v1      dw       1
31E4:38A4  0000                  random_v2      dw       0

31E4:38A6  0B[00]                               db      11 dup (0)
31E4:38B0  01                   data_781        db      1
31E4:38B1  0000                 time_ctr        dw      0                       ;  xref 273F:4974, 273F:A896
                                                                                ;       273F:A89C, 273F:A8AB
                                                                                ;       273F:A8CC
31E4:38B3  32                   data_783        db      32h                     ;  xref 273F:4956, 273F:4967

31E4:38B4  008D[00]                             db      140 dup (0)
31E4:3940  0000         pathfind_buffer_end     dw      0
31E4:3942  0000                 pathfind_sp     dw      0
31E4:3944  0000      pathfind_countdown_ctr     dw      0
31E4:3946  0000        pathfind_in_progress     db      0
31E4:3947  003C[00]                             db      60 dup (0)
31E4:3983  000A[00]    player_pathfind_data     dw      5 dup (0)

........
31E4:3E92  00                   data_785        db      0                       ;  xref 31E4:18A6
31E4:3E93  01CD[00]                             db      461 dup (0)
31E4:4060 �077D[00]                             db      1917 dup (0)
31E4:4227  000A[00]      chars_pathfind_data    dw      5 dup (0)

........
31E4:47DD  0000 0000            data_786        dd      00000h                  ; Data table (indexed access)
31E4:47E1  02EF[00]                             db      751 dup (0)

; List of hotspots that don't to be walked to before being looked at
                         lookat_hotspot_list
31E4:4AD0  0411 0412 041F 0420                  dw      0411h, 0412h, 041Fh, 0420h
31E4:4AD8  0421 0422 0426 0427                  dw      0421h, 0422h, 0426h, 0427h
31E4:4AE0  0428 0429 0436 0437                  dw      0428h, 0429h, 0436h, 0437h
31E4:4AE8  0000                                 dw      0

31E4:4AEA  0421 0879      bribe_hotspot_list    dw      421h, 879h
31E4:4AEE  03E9 08C7                            dw      3E9h, 8C7h
31E4:4AF2  0429 08D1                            dw      429h, 8D1h
31E4:4AF6  0422 08D4                            dw      422h, 8D4h
31E4:4AFA  0420 08D6                            dw      420h, 8D6h
31E4:4AFE  042B 0956                            dw      42Bh, 956h
31E4:4B02  03F2 0BE6                            dw      3F2h,0BE6h
31E4:4B06  0000                                 dw      0

31E4:4B08  59 6F 75 20 61 72    carrying_str    db      'You are carrying '
31E4:4B0E  65 20 63 61 72 72
31E4:4B14  79 69 6E 67 20
31E4:4B19  6E 6F 74 68 69 6E       items_str    dw      'nothing.', 0
31E4:4B1F  67 2E 00
31E4:4B22  59 6F 75 20 68 61       money_str    db      'You have '
31E4:4B28  76 65 20
31E4:4B2B  78                   s_num_groats    db      'x'
31E4:4B2C  20 67 72 6F 61 74                    db      ' groat'
31E4:4B32  73 00             s_groats_plural    db      's', 0

31E4:4B34  000C[00]                             db      13 dup (0)
31E4:4B40  00                   data_791        db      0
31E4:4B41  00 00                data_792        dw      0

31E4:4B43  0050[00]             hotspot_name    db      80 dup (0)
31E4:4B93  005D[00]              action_name    db      93 dup (0)

31E4:4BF0  00                   data_794        db      0                       ;  xref 273F:207A, 273F:7016
31E4:4BF1  0000       menuitem_table_location   dw      0

31E4:4BF1  0007[00]                             db      7 dup (0)
31E4:4BF8  0000                    data_unk1    dw      0
31E4:4BFA  00             mouse_buttons_temp    db      0
31E4:4BFB  4C5A           menuitem_list_info    db      offset menuitem_credits_str
31E4:4BFD  7084                                 dw      offset menuitem_credits

31E4:4BFF  67 4C          menuitem_list_file    db      offset menuitem_restart_str
31E4:4C01  70EA                                 dw      offset menuitem_restart
31E4:4C03  43 4C                                db      offset menuitem_save_str
31E4:4C05  8EB2                                 dw      offset menuitem_save
31E4:4C07  4D 4C                                db      offset menuitem_restore_str
31E4:4C09  8F4A                                 dw      offset menuitem_restore

31E4:4C0B  0028        menuitem_table_info      dw       28h                         ; X start
31E4:4C0D  0057                                 dw       57h                         ; X end
31E4:4C0F  0003                                 dw       3
31E4:4C11  0001                                 dw       1
31E4:4C13  0007                                 dw       7                           ; Max characters width
31E4:4C15  0001                                 dw       1                           ; Num items
31E4:4C17  4BFB                                 dw       offset menuitem_list_info

31E4:4C19              menuitem_table_file      dw       7Fh
31E4:4C1B  B3 00                                dw       0B3h
31E4:4C1D  0D 00                                dw       0Dh
31E4:4C1F  01 00                                dw       01h
31E4:4C21  0C 00                                dw       0Ch
31E4:4C23  03 00                                dw       03h
31E4:4C25  4BFF                                 dw       offset menuitem_list_file

31E4:4C27              menuitem_table_info2     dw       0A0h
31E4:4C29                                       dw       0A6h
31E4:4C2B  06 00                                dw       6
31E4:4C2D  01 00                                dw       1
31E4:4C2F  05 00                                dw       5
31E4:4C31  00 00                                dw       0
31E4:4C33  FB 4B                                db       offset menuitem_list_info

31E4:4C35  E0 00      menuitem_table_help       dw       0E0h
31E4:4C37  19 01                                dw       119h
31E4:4C39  1B 00                                dw       1Bh
31E4:4C3B  01 00                                dw       1
31E4:4C3D  0A 00                                dw       0Ah
31E4:4C3F  03 00                                dw       03h
31E4:4C41  4C99                                 dw      offset menuitem_list_help

31E4:4C43                  menuitem_save_str    db      'Save game', 0
31E4:4C4D               menuitem_restore_str    db      'Restore game', 0
31E4:4C5A               menuitem_credits_str    db      'Credits', 0
31E4:4C62                  menuitem_quit_str    db      'Quit', 0
31E4:4C67               menuitem_restart_str    db      'Restart game', 0
31E4:4C74             menuitem_textspeed_str    db      'Slow text', 8Bh, 0
31E4:4C7F               slowtext_slow_substr    db      'Slow'
31E4:4C83               slowtext_fast_substr    db      'Fast'
31E4:4C87                 menuitem_sound_str    db      'Sound on ', 0
31E4:4C91                    sound_on_substr    db      'on ', 0
31E4:4C95                   sound_off_substr    db      'off', 0

31E4:4C99  4C62               menu_list_help    dw       offset menuitem_quit_str
31E4:4C9B  7036                                 dw       offset menuitem_quit
31E4:4C9D  4C74                                 dw       offset menuitem_textspeed_str
31E4:4C9F  70F5                                 dw       offset menuitem_textspeed
31E4:4CA1  4C87                                 dw       offset menuitem_sound_str
31E4:4CA3  710D                                 dw       offset menuitem_sound

31E4:4CA5  00                                   db       0
31E4:4CA6  000A[00]                             db      10 dup (0)

31E4:4CB0                 exit_hotspots_list    dw      2711h                   ; Cell door room #1
                                                dw      2712h                   ; Cell door room #2
                                                dw      2714h
                                                dw      2715h
                                                dw      2716h
                                                dw      2717h
                                                dw      2718h
                                                dw      2719h
                                                dw      271Ah
                                                dw      271Eh
                                                dw      271Fh
                                                dw      2720h
                                                dw      2721h
                                                dw      2722h
                                                dw      2725h
                                                dw      2726h
                                                dw      2729h
                                                dw      272Ah
                                                dw      272Bh
                                                dw      272Ch
                                                dw      272Dh
                                                dw      272Eh
                                                dw      272Fh
                                                dw      0

31E4:4CE0  0000         current_room_segment    dw      0
31E4:4CE2  0000                 data_segment    dw      0
31E4:4CE4  0000              data_segment2      dw      0
31E4:4CE6  0000           talk_dialog_buffer    dw      0  
31E4:4CE8  0000              strings_segment    dw      0
31E4:4CEA  0000            strings_segment_2    dw      0                       ;  xref 273F:7E16
31E4:4CEC  0000            strings_segment_3    dw      0                       ;  xref 273F:7E22
31E4:4CEE  0000                names_segment    dw      0
31E4:4CF0  0000                font2_segment    dw      0
31E4:4CF2  0000                 font_segment    dw      0
31E4:4CF4  0000              cursors_segment    dw      0
31E4:4CF6  0000                 data_810        dw      0                       ;  xref 273F:7AD8
31E4:4CF8  0000                 data_811        dw      0                       ;  xref 273F:7AEA
31E4:4CFA  0000                 data_812        dw      0                       ;  xref 273F:79EF
31E4:4CFC  0000           largest_free_block    dw      0
31E4:4CFE  0000                     data_814    dw      0       
31E4:4D00  0000               buffer_segment    dw      0
31E4:4D02  0000           buffer_segment_end    dw      0

31E4:4D04  0000            anim_src_segment2    dw      0
31E4:4D06  0000             anim_src_segment    dw      0
31E4:4D08  0008[00]                             db      8 dup (0)
31E4:4D10  42 4E 1B 4E 63 4E                    db       42h, 4Eh, 1Bh, 4Eh, 63h, 4Eh
31E4:4D16  AC 4E 00 00 00 00                    db      0ACh, 4Eh, 00h, 00h, 00h, 00h
31E4:4D1C  AC 4E AC 4E AC 4E                    db      0ACh, 4Eh,0ACh, 4Eh,0ACh, 4Eh
31E4:4D22  C9 4E AC 4E AC 4E                    db      0C9h, 4Eh,0ACh, 4Eh,0ACh, 4Eh
31E4:4D28  AC 4E AC 4E AC 4E                    db      0ACh, 4Eh,0ACh, 4Eh,0ACh, 4Eh
31E4:4D2E  AC 4E AC 4E AC 4E                    db      0ACh, 4Eh,0ACh, 4Eh,0ACh, 4Eh
31E4:4D34  AC 4E AC 4E AC 4E                    db      0ACh, 4Eh,0ACh, 4Eh,0ACh, 4Eh
31E4:4D3A  AC 4E AC 4E AC 4E                    db      0ACh, 4Eh,0ACh, 4Eh,0ACh, 4Eh
31E4:4D40  AC 4E AC 4E AC 4E                    db      0ACh, 4Eh,0ACh, 4Eh,0ACh, 4Eh
31E4:4D46  AC 4E 62 4D AC 4E                    db      0ACh, 4Eh, 62h, 4Dh,0ACh, 4Eh
31E4:4D4C  AC 4E F0 4E AC 4E                    db      0ACh, 4Eh,0F0h, 4Eh,0ACh, 4Eh
31E4:4D52  AC 4E AC 4E AC 4E                    db      0ACh, 4Eh,0ACh, 4Eh,0ACh, 4Eh
31E4:4D58  AC 4E AC 4E AC 4E                    db      0ACh, 4Eh,0ACh, 4Eh,0ACh, 4Eh
31E4:4D5E  AC 4E AC 4E 08 01                    db      0ACh, 4Eh,0ACh, 4Eh, 08h, 01h
31E4:4D64  00 1E 00 42 1E 20                    db       00h, 1Eh, 00h, 42h, 1Eh, 20h
31E4:4D6A  00 00 00 FF FF 01                    db       00h, 00h, 00h,0FFh,0FFh, 01h
31E4:4D70  00 20 00 1F 00 00                    db       00h, 20h, 00h, 1Fh, 00h, 00h
31E4:4D76  00 FF FF 01 00 20                    db       00h,0FFh,0FFh, 01h, 00h, 20h
31E4:4D7C  00 1F 00 00 00 FF                    db       00h, 1Fh, 00h, 00h, 00h,0FFh
31E4:4D82  FF 03 00 24 00 20                    db      0FFh, 03h, 00h, 24h, 00h, 20h
31E4:4D88  04 A5 4D 25 00 20                    db       04h,0A5h, 4Dh, 25h, 00h, 20h
31E4:4D8E  04 02 08 00 00 04                    db       04h, 02h, 08h, 00h, 00h, 04h
31E4:4D94  08 00 00 25 00 20                    db       08h, 00h, 00h, 25h, 00h, 20h
31E4:4D9A  04 03 08 00 00 00                    db       04h, 03h, 08h, 00h, 00h, 00h
31E4:4DA0  00 00 00 20 00 00                    db       00h, 00h, 00h, 20h, 00h, 00h
31E4:4DA6  00 FF FF 01 00 20                    db       00h,0FFh,0FFh, 01h, 00h, 20h
31E4:4DAC  00 1F 00 00 00 FF                    db       00h, 1Fh, 00h, 00h, 00h,0FFh
31E4:4DB2  FF 01 00 20 00 1F                    db      0FFh, 01h, 00h, 20h, 00h, 1Fh
31E4:4DB8  00 00 00 FF FF 03                    db       00h, 00h, 00h,0FFh,0FFh, 03h
31E4:4DBE  00 24 00 20 04 A5                    db       00h, 24h, 00h, 20h, 04h,0A5h
31E4:4DC4  4D 25 00 20 04 02                    db       4Dh, 25h, 00h, 20h, 04h, 02h
31E4:4DCA  08 00 00 04 08 00                    db       08h, 00h, 00h, 04h, 08h, 00h
31E4:4DD0  00 25 00 20 04 94                    db       00h, 25h, 00h, 20h, 04h, 94h
31E4:4DD6  0B 00 00 95 0B 00                    db       0Bh, 00h, 00h, 95h, 0Bh, 00h
31E4:4DDC  00 25 00 20 04 96                    db       00h, 25h, 00h, 20h, 04h, 96h
31E4:4DE2  0B 0F 00 00 00 00                    db       0Bh, 0Fh, 00h, 00h, 00h, 00h
31E4:4DE8  00 20 00 00 00 FF                    db       00h, 20h, 00h, 00h, 00h,0FFh
31E4:4DEE  FF 03 00 25 00 2B                    db      0FFh, 03h, 00h, 25h, 00h, 2Bh
31E4:4DF4  04 DB 0A 00 00 DC                    db       04h,0DBh, 0Ah, 00h, 00h,0DCh
31E4:4DFA  0A 00 00 25 00 2B                    db       0Ah, 00h, 00h, 25h, 00h, 2Bh
31E4:4E00  04 DD 0A 00 00 DE                    db       04h,0DDh, 0Ah, 00h, 00h,0DEh
31E4:4E06  0A 0A 00 25 00 2B                    db       0Ah, 0Ah, 00h, 25h, 00h, 2Bh
31E4:4E0C  04 DF 0A 0F 00 E0                    db       04h,0DFh, 0Ah, 0Fh, 00h,0E0h
31E4:4E12  0A 00 00 1F 00 00                    db       0Ah, 00h, 00h, 1Fh, 00h, 00h
31E4:4E18  00 FF FF 02 01 00                    db       00h,0FFh,0FFh, 02h, 01h, 00h
31E4:4E1E  1E 00 42 1E 20 00                    db       1Eh, 00h, 42h, 1Eh, 20h, 00h
31E4:4E24  00 00 FF FF 01 00                    db       00h, 00h,0FFh,0FFh, 01h, 00h
31E4:4E2A  20 00 00 00 FF FF                    db       20h, 00h, 00h, 00h,0FFh,0FFh
31E4:4E30  01 00 FE FF 1C 00                    db       01h, 00h,0FEh,0FFh, 1Ch, 00h
31E4:4E36  03 00 00 00 20 00                    db       03h, 00h, 00h, 00h, 20h, 00h
31E4:4E3C  1F 00 00 00 FF FF                    db       1Fh, 00h, 00h, 00h,0FFh,0FFh
31E4:4E42  03 01 00 20 00 00                    db       03h, 01h, 00h, 20h, 00h, 00h
31E4:4E48  00 FF FF 01 00 11                    db       00h,0FFh,0FFh, 01h, 00h, 11h
31E4:4E4E  00 0C 04 1F 00 00                    db       00h, 0Ch, 04h, 1Fh, 00h, 00h
31E4:4E54  00 FF FF 01 00 1E                    db       00h,0FFh,0FFh, 01h, 00h, 1Eh
31E4:4E5A  00 42 1E 20 00 00                    db       00h, 42h, 1Eh, 20h, 00h, 00h
31E4:4E60  00 FF FF 05 01 00                    db       00h,0FFh,0FFh, 05h, 01h, 00h
31E4:4E66  1E 00 42 1E 20 00                    db       1Eh, 00h, 42h, 1Eh, 20h, 00h
31E4:4E6C  00 00 FF FF 01 00                    db       00h, 00h,0FFh,0FFh, 01h, 00h
31E4:4E72  20 00 00 00 FF FF                    db       20h, 00h, 00h, 00h,0FFh,0FFh
31E4:4E78  03 00 06 00 32 75                    db       03h, 00h, 06h, 00h, 32h, 75h
31E4:4E7E  00 00 FF FF 03 00                    db       00h, 00h,0FFh,0FFh, 03h, 00h
31E4:4E84  1D 00 54 E8 00 00                    db       1Dh, 00h, 54h,0E8h, 00h, 00h
31E4:4E8A  FF FF 03 00 1F 00                    db      0FFh,0FFh, 03h, 00h, 1Fh, 00h
31E4:4E90  11 00 30 75 1F 00                    db       11h, 00h, 30h, 75h, 1Fh, 00h
31E4:4E96  00 00 FF FF 01 00                    db       00h, 00h,0FFh,0FFh, 01h, 00h
31E4:4E9C  FE FF 1C 00 02 00                    db      0FEh,0FFh, 1Ch, 00h, 02h, 00h
31E4:4EA2  00 00 20 00 1F 00                    db       00h, 00h, 20h, 00h, 1Fh, 00h
31E4:4EA8  00 00 FF FF 03 01                    db       00h, 00h,0FFh,0FFh, 03h, 01h
31E4:4EAE  00 1E 00 42 1E 20                    db       00h, 1Eh, 00h, 42h, 1Eh, 20h
31E4:4EB4  00 00 00 FF FF 01                    db       00h, 00h, 00h,0FFh,0FFh, 01h
31E4:4EBA  00 1F 00 00 00 FF                    db       00h, 1Fh, 00h, 00h, 00h,0FFh
31E4:4EC0  FF 01 00 20 00 00                    db      0FFh, 01h, 00h, 20h, 00h, 00h
31E4:4EC6  00 FF FF 04 01 00                    db       00h,0FFh,0FFh, 04h, 01h, 00h
31E4:4ECC  1E 00 42 1E 20 00                    db       1Eh, 00h, 42h, 1Eh, 20h, 00h
31E4:4ED2  00 00 FF FF 03 00                    db       00h, 00h,0FFh,0FFh, 03h, 00h
31E4:4ED8  1D 00 62 E8 00 00                    db       1Dh, 00h, 62h,0E8h, 00h, 00h
31E4:4EDE  FF FF 01 00 1F 00                    db      0FFh,0FFh, 01h, 00h, 1Fh, 00h
31E4:4EE4  00 00 FF FF 01 00                    db       00h, 00h,0FFh,0FFh, 01h, 00h
31E4:4EEA  20 00 00 00 FF FF                    db       20h, 00h, 00h, 00h,0FFh,0FFh
31E4:4EF0  07 01 00 23 00 6C                    db       07h, 01h, 00h, 23h, 00h, 6Ch
31E4:4EF6  1E FF 4E 1E 00 42                    db       1Eh,0FFh, 4Eh, 1Eh, 00h, 42h
31E4:4EFC  1E 20 00 00 00 FF                    db       1Eh, 20h, 00h, 00h, 00h,0FFh
31E4:4F02  FF 03 00 25 00 29                    db      0FFh, 03h, 00h, 25h, 00h, 29h
31E4:4F08  04 9B 0B 00 00 9C                    db       04h, 9Bh, 0Bh, 00h, 00h, 9Ch
31E4:4F0E  0B 00 00 25 00 29                    db       0Bh, 00h, 00h, 25h, 00h, 29h
31E4:4F14  04 9D 0B 00 00 00                    db       04h, 9Dh, 0Bh, 00h, 00h, 00h
31E4:4F1A  00 00 00 20 00 00                    db       00h, 00h, 00h, 20h, 00h, 00h
31E4:4F20  00 FF FF 03 00 25                    db       00h,0FFh,0FFh, 03h, 00h, 25h
31E4:4F26  00 29 04 9E 0B 00                    db       00h, 29h, 04h, 9Eh, 0Bh, 00h
31E4:4F2C  00 9F 0B 00 00 25                    db       00h, 9Fh, 0Bh, 00h, 00h, 25h
31E4:4F32  00 29 04 A0 0B 00                    db       00h, 29h, 04h,0A0h, 0Bh, 00h
31E4:4F38  00 A2 0B 00 00 25                    db       00h,0A2h, 0Bh, 00h, 00h, 25h
31E4:4F3E  00 29 04 A1 0B 00                    db       00h, 29h, 04h,0A1h, 0Bh, 00h
31E4:4F44  00 00 00 00 00 20                    db       00h, 00h, 00h, 00h, 00h, 20h
31E4:4F4A  00 00 00 FF FF 01                    db       00h, 00h, 00h,0FFh,0FFh, 01h
31E4:4F50  00 1F 00 00 00 FF                    db       00h, 1Fh, 00h, 00h, 00h,0FFh
31E4:4F56  FF 01 00 20 00 00                    db      0FFh, 01h, 00h, 20h, 00h, 00h
31E4:4F5C  00 FF FF 01 00 1F                    db       00h,0FFh,0FFh, 01h, 00h, 1Fh
31E4:4F62  00 00 00 FF FF 01                    db       00h, 00h, 00h,0FFh,0FFh, 01h
31E4:4F68  00 20 00 00 00 FF                    db       00h, 20h, 00h, 00h, 00h,0FFh
31E4:4F6E  FF 1F 0E                             db      0FFh, 1Fh, 0Eh 

31E4:4F71     follower_room_translate_list      db       1Eh, 13h, 07h, 08h, 1Ch, 12h
31E4:4F77                                       db       26h, 0Fh, 27h, 0Fh, 28h, 0Fh
31E4:4F7D                                       db       29h, 0Fh, 22h, 0Ah, 23h, 13h
31E4:4F83                                       db       24h, 14h, 31h, 2Ch, 2Fh, 2Ch
31E4:4F89                                       db       00h

31E4:4F8A  00                   data_817        db      0                       
31E4:4F8B  00 00 00 00 00 61                    db       00h, 00h, 00h, 00h, 00h, 61h
31E4:4F91  00 61 6E 00                          db       00h, 61h, 6Eh, 00h
31E4:4F95  74 68 65                             db       74h, 68h, 65h
31E4:4F98  0008[00]                             db      8 dup (0)
31E4:4FA0  15 16 17 18 19 1A                    db       15h, 16h, 17h, 18h, 19h, 1Ah
31E4:4FA6  19 18 17 16 17 18                    db       19h, 18h, 17h, 16h, 17h, 18h
31E4:4FAC  19 1A 19 18 17 16                    db       19h, 1Ah, 19h, 18h, 17h, 16h
31E4:4FB2  15 00 0D 0E 0F 10                    db       15h, 00h, 0Dh, 0Eh, 0Fh, 10h
31E4:4FB8  11 12 11 12 11 10                    db       11h, 12h, 11h, 12h, 11h, 10h
31E4:4FBE  0F 13 14 00 0C 0D                    db       0Fh, 13h, 14h, 00h, 0Ch, 0Dh
31E4:4FC4  0E 0F 10 0F 10 0F                    db       0Eh, 0Fh, 10h, 0Fh, 10h, 0Fh
31E4:4FCA  10 0F 0E 0D 0C 00                    db       10h, 0Fh, 0Eh, 0Dh, 0Ch, 00h
31E4:4FD0  01 02 03 04 05 04                    db       01h, 02h, 03h, 04h, 05h, 04h
31E4:4FD6  05 04 03 02 06 07                    db       05h, 04h, 03h, 02h, 06h, 07h
31E4:4FDC  00 0D 0E 0F 10 11                    db       00h, 0Dh, 0Eh, 0Fh, 10h, 11h
31E4:4FE2  12 13 14 15 16 17                    db       12h, 13h, 14h, 15h, 16h, 17h
31E4:4FE8  18 19 1A 1B 00 1C                    db       18h, 19h, 1Ah, 1Bh, 00h, 1Ch
31E4:4FEE  1D 1E 1F                             db       1Dh, 1Eh, 1Fh
31E4:4FF1  20 21 22 23 24                       db      ' !"#$'
31E4:4FF6  25 26 27 28 29 2A                    db      '%&', 27h, '()*+,-./0(', 27h, '&%'
31E4:4FFC  2B 2C 2D 2E 2F 30
31E4:5002  28 27 26 25
31E4:5006  24                                   db      '$'
31E4:5007  23 22 21 20                          db      '#"! '
31E4:500B  1F 1E 1D 1C 00 01                    db       1Fh, 1Eh, 1Dh, 1Ch, 00h, 01h
31E4:5011  02 03 04 05 06 07                    db       02h, 03h, 04h, 05h, 06h, 07h
31E4:5017  08 09 0A 0B 0C 0D                    db       08h, 09h, 0Ah, 0Bh, 0Ch, 0Dh
31E4:501D  0E 0F 10 11 12 13                    db       0Eh, 0Fh, 10h, 11h, 12h, 13h
31E4:5023  14 15 16 17 18 00                    db       14h, 15h, 16h, 17h, 18h, 00h
31E4:5029  00                                   db       0

31E4:502A  001D BB47            sub_211_list    dw       1Dh, 0BB47h
31E4:502E  0020 BB61                            dw       20h, 0BB61h
31E4:5032  0023 BB7B                            dw       23h, 0BB7Bh        

31E4:5036  000A[00]                             db      10 dup (0)

31E4:5040  09 08 15 05 0A 0A      look_info     db      09h, 08h, 15h, 05h, 0Ah, 0Ah
31E4:5046  B0 00                                db      0B0h, 00h,
31E4:5048  D2 00                                db      0D2h, 00h
31E4:504A  0006[00]                             db      6 dup (0)

31E4:5050  CF5E               give_talk_list    dw      0CF5Eh                  ; Data table (indexed access)
31E4:5052  CF14                                 dw      0CF14h
31E4:5054  CF90                                 dw      0CF90h
31E4:5056  CFAA                                 dw      0CFAAh
31E4:5058  CFD0                                 dw      0CFD0h
31E4:505A  CFF6                                 dw      0CFF6h

; The following table consists of the set of hotspot Ids and offsets for character talk records.
; Following this is the individual talk records for the characters

31E4:505C  03EA 5202             talk_table     db      03EAh, offset skorl_record
31E4:5060  0411 5206                            db      0411h, 5206h
31E4:5064  03E9 5426                            db      03E9h, 5426h
31E4:5068  0412 5478                            db      0412h, 5478h
31E4:506C  03EB 547C                            db      03EBh, 547Ch
31E4:5070  03EC 54B2                            db      03ECh, 54B2h
31E4:5074  03ED 52E2                            db      03EDh, 52E2h
31E4:5078  041F 52AC                            db      041Fh, 52ACh
31E4:507C  0421 53F0                            db      0421h, 53F0h
31E4:5080  0422 53BA                            db      0422h, 53BAh
31E4:5084  0426 545C                            db      0426h, 545Ch
31E4:5088  0428 545C                            db      0428h, 545Ch
31E4:508C  0427 5384                            db      0427h, 5384h
31E4:5090  03EF 5318                            db      03EFh, 5318h
31E4:5094  0420 534E                            db      0420h, 534Eh
31E4:5098  0429 520A                            db      0429h, 520Ah
31E4:509C  03EE 5196                            db      03EEh, 5196h
31E4:50A0  03F0 51CC                            db      03F0h, 51CCh
31E4:50A4  042B 5276                            db      042Bh, 5276h
31E4:50A8  042C 5240                            db      042Ch, 5240h
31E4:50AC  042D 5240                            db      042Dh, 5240h
31E4:50B0  0434 5504                            db      0434h, 5504h
31E4:50B4  0436 512A                            db      0436h, 512Ah
31E4:50B8  03F1 5160                            db      03F1h, 5160h
31E4:50BC  03F2 511C                            db      03F2h, 511Ch
31E4:50C0  0437 5102                            db      0437h, 5102h
31E4:50C4  0438 510E                            db      0438h, 510Eh
31E4:50C8  0442 50CC                            db      0442h, offset talk_442h_record

31E4:50CC  10 D0 00 00 1E D0   talk_442h_record db      10h,0D0h, 00h, 00h, 1Eh,0D0h

31E4:5202  0000                skorl_record     dw      0
31E4:5204  EB24                                 dw      offset skorl_talk_0
31E4:5206  0000 E022

;***** TALK RECORD DATA deleted *****

31E4:5504  002C[00]                             db      44 dup (0)              ; Start of final talk list
31E4:5530  EE EB 7A EC                          dw      0EBEEh, 0EC7Ah
31E4:5534  000C[00]                             db      12 dup (0)


31E4:5540  73 61 76 65 67 61  savegame_filename db      'savegame.dta', 0       ;  xref 273F:934F
31E4:5546  6D 65 2E 64 74 61
31E4:554C  00
31E4:554D  FFFF                 data_832        dw      0FFFFh                  ;  xref 273F:8F7C, 273F:8F86
31E4:554F  00 00 00 00 00 20                    db       00h, 00h, 00h, 00h, 00h, 20h
31E4:5555  21 40 23 24                          db      '!@#$'
31E4:5559  25 5E 26 2A 28 29                    db      '%^&*()_+|-=\{}[]:;', 27h, '<>?,.'
31E4:555F  5F 2B 7C 2D 3D 5C
31E4:5565  7B 7D 5B 5D 3A 3B
31E4:556B  27 3C 3E 3F 2C 2E
31E4:5571  2F 60 7E 22 00                       db      '/`~"', 0
31E4:5576  52 65 73 74 6F 72                    db      'Restore game', 0
31E4:557C  65 20 67 61 6D 65
31E4:5582  00
31E4:5583  53 61 76 65 20 67                    db      'Save game', 0
31E4:5589  61 6D 65 00
31E4:558D  E0 E1 E1 E0 DE 01                    db      0E0h,0E1h,0E1h,0E0h,0DEh, 01h
31E4:5593  79 12                                db       79h, 12h
31E4:5595  000B[00]                             db      11 dup (0)
31E4:55A0  00                   data_835        db      0                       ;  xref 273F:94FB, 273F:A37B
                                                                                ;       273F:A888, 273F:A8A4
31E4:55A1  0000                 data_836        dw      0                       ;  xref 273F:949E, 273F:94F8
31E4:55A3  04 0A 10 16 05 0B                    db       04h, 0Ah, 10h, 16h, 05h, 0Bh
31E4:55A9  11 17 06 0C 12 07                    db       11h, 17h, 06h, 0Ch, 12h, 07h
31E4:55AF  0D 13 08 0E 14 09                    db       0Dh, 13h, 08h, 0Eh, 14h, 09h
31E4:55B5  0F 15 00 00                          db       0Fh, 15h, 00h, 00h
31E4:55B9  0007[00]                             db      7 dup (0)
31E4:55C0  10 63 12 00 00 00                    db       10h, 63h, 12h, 00h, 00h, 00h
31E4:55C6  00 00 00 11 63 12                    db       00h, 00h, 00h, 11h, 63h, 12h
31E4:55CC  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:55D2  12 63 12 00 00 00                    db       12h, 63h, 12h, 00h, 00h, 00h
31E4:55D8  00 00 00 13 63 12                    db       00h, 00h, 00h, 13h, 63h, 12h
31E4:55DE  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:55E4  14 63 12 00 00 00                    db       14h, 63h, 12h, 00h, 00h, 00h
31E4:55EA  00 00 00 15 63 12                    db       00h, 00h, 00h, 15h, 63h, 12h
31E4:55F0  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:55F6  16 63 12 00 00 00                    db       16h, 63h, 12h, 00h, 00h, 00h
31E4:55FC  00 00 00 17 63 12                    db       00h, 00h, 00h, 17h, 63h, 12h
31E4:5602  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:5608  18 63 12 00 00 00                    db       18h, 63h, 12h, 00h, 00h, 00h
31E4:560E  00 00 00 19 63 12                    db       00h, 00h, 00h, 19h, 63h, 12h
31E4:5614  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:561A  20 63 12 00 00 00                    db       20h, 63h, 12h, 00h, 00h, 00h
31E4:5620  00 00 00 21 63 12                    db       00h, 00h, 00h, 21h, 63h, 12h
31E4:5626  00 00 00 00 00                       db       00h, 00h, 00h, 00h, 00h

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;��������������������������������������������������������������������������

31E4:562B                       sub_272         proc    near
31E4:562B  00 22                                add     [bp+si],ah
31E4:562D  63 12 00 00 00 00                    db       63h, 12h, 00h, 00h, 00h, 00h
31E4:5633  00 00 23 63 12 00                    db       00h, 00h, 23h, 63h, 12h, 00h
31E4:5639  00 00 00 00 00 24                    db       00h, 00h, 00h, 00h, 00h, 24h
31E4:563F  63 12 00 00 00 00                    db       63h, 12h, 00h, 00h, 00h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 444

31E4:5645  00 00 25 63 12 00                    db       00h, 00h, 25h, 63h, 12h, 00h
31E4:564B  00 00 00 00 00 26                    db       00h, 00h, 00h, 00h, 00h, 26h
31E4:5651  63 12                                db       63h, 12h
31E4:5653  000D[00]                             db      13 dup (0)
31E4:5660  00                   music_status    db      0                       ;  xref 273F:092D, 273F:493B
                                                                                ;       273F:4942, 273F:7619
                                                                                ;       273F:93E0, 273F:93E4
                                                                                ;       273F:9405, 273F:9FA2
                                                                                ;       273F:9FCA, 273F:9FD9
                                                                                ;       273F:A016, 273F:A021
                                                                                ;       273F:A07C, 273F:A087
                                                                                ;       273F:A198, 273F:A1BA
                                                                                ;       273F:A2D7, 273F:A329
                                                                                ;       273F:A330, 273F:A576
                                                                                ;       273F:A592, 273F:A5A6
31E4:5661  00                                   db      0
31E4:5662  0000 0000        play_music_proc     dw      0, 0                    ;  xref 273F:04BC, 273F:494B
                                                                                ;       273F:762D, 273F:933E
                                                                                ;       273F:9F7C, 273F:9F99
                                                                                ;       273F:9FBE, 273F:A0A8
                                                                                ;       273F:A0D5, 273F:A150
                                                                                ;       273F:A1CE, 273F:A1E9
                                                                                ;       273F:A1F8, 273F:A2D1
                                                                                ;       273F:A2F3, 273F:A31F
                                                                                ;       273F:A366, 273F:A3E1
                                                                                ;       273F:A43F, 273F:A486
                                                                                ;       273F:A589, 273F:A5DA
                                                                                ;       273F:A6DE
31E4:5666  00 00                                db      0, 0
31E4:5668  00                   note_flag       db      0                       ;  xref 273F:48E2, 273F:48E9
                                                                                ;       273F:48F0, 273F:48F5
                                                                                ;       273F:4908, 273F:4936
                                                                                ;       273F:9F77, 273F:9F9D
                                                                                ;       273F:9FC5, 273F:9FD4
                                                                                ;       273F:A2CC, 273F:A335
31E4:5669  00                   data_843        db      0                       ;  xref 273F:A031, 273F:A1FC
31E4:566A  0007[00]                             db      7 dup (0)
31E4:5671  8A 1E 1A 03 80 00                    db       8Ah, 1Eh, 1Ah, 03h, 80h, 00h
31E4:5677  40 15 00 80 81 40                    db       40h, 15h, 00h, 80h, 81h, 40h
31E4:567D  02 02 C8 06 40 15                    db       02h, 02h,0C8h, 06h, 40h, 15h
31E4:5683  00 80 12 64 15 00                    db       00h, 80h, 12h, 64h, 15h, 00h
31E4:5689  80 13 40 15 00 80                    db       80h, 13h, 40h, 15h, 00h, 80h
31E4:568F  11 0A 15 00 40 18                    db       11h, 0Ah, 15h, 00h, 40h, 18h
31E4:5695  1E 15 00 80 97 1E                    db       1Eh, 15h, 00h, 80h, 97h, 1Eh
31E4:569B  19 03 C8 07 7E 15                    db       19h, 03h,0C8h, 07h, 7Eh, 15h
31E4:56A1  01 80 08 7E 15 01                    db       01h, 80h, 08h, 7Eh, 15h, 01h
31E4:56A7  80 00 40 15 00 0F                    db       80h, 00h, 40h, 15h, 00h, 0Fh
31E4:56AD  8A 40 1A 03 18 16                    db       8Ah, 40h, 1Ah, 03h, 18h, 16h
31E4:56B3  00 15 01 80 15 7F                    db       00h, 15h, 01h, 80h, 15h, 7Fh
31E4:56B9  06 01 80 8F 0A 11                    db       06h, 01h, 80h, 8Fh, 0Ah, 11h
31E4:56BF  03 1C 41 64 15 01                    db       03h, 1Ch, 41h, 64h, 15h, 01h
31E4:56C5  80 10 64 16 01 02                    db       80h, 10h, 64h, 16h, 01h, 02h
31E4:56CB  97 8C 19 03 08 99                    db       97h, 8Ch, 19h, 03h, 08h, 99h
31E4:56D1  6A 11 02 6A 2B 80                    db       6Ah, 11h, 02h, 6Ah, 2Bh, 80h
31E4:56D7  15 01 80 97 80 19                    db       15h, 01h, 80h, 97h, 80h, 19h
31E4:56DD  03 04 2A 80 15 01                    db       03h, 04h, 2Ah, 80h, 15h, 01h
31E4:56E3  C8 38 80 15 01 80                    db      0C8h, 38h, 80h, 15h, 01h, 80h
31E4:56E9  3A 80 05 00 80 36                    db       3Ah, 80h, 05h, 00h, 80h, 36h
31E4:56EF  80 15 00 80 35 80                    db       80h, 15h, 00h, 80h, 35h, 80h
31E4:56F5  15 00 80 18 1E 15                    db       15h, 00h, 80h, 18h, 1Eh, 15h
31E4:56FB  00 19 18 1E 15 00                    db       00h, 19h, 18h, 1Eh, 15h, 00h
31E4:5701  07 02 1E 15 00 80                    db       07h, 02h, 1Eh, 15h, 00h, 80h
31E4:5707  04 1E 05 00 80 05                    db       04h, 1Eh, 05h, 00h, 80h, 05h
31E4:570D  1E 05 00 80 09 1E                    db       1Eh, 05h, 00h, 80h, 09h, 1Eh
31E4:5713  15 00 80 0C 80 19                    db       15h, 00h, 80h, 0Ch, 80h, 19h
31E4:5719  02 80 83 80 19 00                    db       02h, 80h, 83h, 80h, 19h, 00h
31E4:571F  80 1A 80 15 00 80                    db       80h, 1Ah, 80h, 15h, 00h, 80h
31E4:5725  22 80 15 00 80 1B                    db       22h, 80h, 15h, 00h, 80h, 1Bh
31E4:572B  80 1D 00 80 9E 80                    db       80h, 1Dh, 00h, 80h, 9Eh, 80h
31E4:5731  19 01 80 9F 80 15                    db       19h, 01h, 80h, 9Fh, 80h, 15h
31E4:5737  01 80 21 80 05 01                    db       01h, 80h, 21h, 80h, 05h, 01h
31E4:573D  80 2D 80 15 01 80                    db       80h, 2Dh, 80h, 15h, 01h, 80h
31E4:5743  30 80 15 01 80 B4                    db       30h, 80h, 15h, 01h, 80h,0B4h
31E4:5749  80 15 01 80 23 80                    db       80h, 15h, 01h, 80h, 23h, 80h
31E4:574F  11 01 80 24 80 11                    db       11h, 01h, 80h, 24h, 80h, 11h
31E4:5755  01 80 25 80 11 01                    db       01h, 80h, 25h, 80h, 11h, 01h
31E4:575B  80 26 80 11 01 80                    db       80h, 26h, 80h, 11h, 01h, 80h
31E4:5761  27 80 11 01 80 28                    db       27h, 80h, 11h, 01h, 80h, 28h
31E4:5767  80 11 01 C8 42 64                    db       80h, 11h, 01h,0C8h, 42h, 64h
31E4:576D  15 01 80 29 80 15                    db       15h, 01h, 80h, 29h, 80h, 15h
31E4:5773  01 80 3F 80 15 01                    db       01h, 80h, 3Fh, 80h, 15h, 01h
31E4:5779  80 FF 00                             db       80h,0FFh, 00h
31E4:577C  00 00 00 00                          db      0, 0, 0, 0
31E4:5780  0000              palette_segment    dw      0                       ;  xref 273F:A346, 273F:A850
31E4:5782  0000                 misc_segment    dw      0                       ;  xref 273F:A2C2, 273F:A2E1
                                                                                ;       273F:A30D, 273F:A33A
                                                                                ;       273F:A342, 273F:A352
                                                                                ;       273F:A5B2, 273F:A667
                                                                                ;       273F:A6BE, 273F:A7C7
                                                                                ;       273F:A7EC, 273F:A7FB
31E4:5784  0000      decoded_data_end_segment   dw      0                       ;  xref 273F:A7CF, 273F:A803

31E4:5786  09 00 45 01 02 01                    db       09h, 00h, 45h, 01h, 02h, 01h
31E4:578C  00 1B 00 48 01 05                    db       00h, 1Bh, 00h, 48h, 01h, 05h
31E4:5792  01 00 18 00 46 01                    db       01h, 00h, 18h, 00h, 46h, 01h
31E4:5798  03 01 02 18 00 37                    db       03h, 01h, 02h, 18h, 00h, 37h
31E4:579E  01 01 01 00 03 00                    db       01h, 01h, 01h, 00h, 03h, 00h
31E4:57A4  37 01 01 01 01 03                    db       37h, 01h, 01h, 01h, 01h, 03h
31E4:57AA  00 37 01 01 01 02                    db       00h, 37h, 01h, 01h, 01h, 02h
31E4:57B0  03 00 37 01 01 01                    db       03h, 00h, 37h, 01h, 01h, 01h
31E4:57B6  03 03 00 37 01 01                    db       03h, 03h, 00h, 37h, 01h, 01h
31E4:57BC  01 04 04 00 37 01                    db       01h, 04h, 04h, 00h, 37h, 01h
31E4:57C2  01 01 05 07 00 47                    db       01h, 01h, 05h, 07h, 00h, 47h
31E4:57C8  01 04 01 06 1F 00                    db       01h, 04h, 01h, 06h, 1Fh, 00h
31E4:57CE  00 00 06 01 00                       db       00h, 00h, 06h, 01h, 00h
31E4:57D3  000D[00]                             db      13 dup (0)

                  hotspot_script_master_list
31E4:57E0  F0 02 80 00 AE 0B                    db      0F0h, 02h, 80h, 00h,0AEh, 0Bh
31E4:57E6  84 0C B2 0C 08 0D                    db       84h, 0Ch,0B2h, 0Ch, 08h, 0Dh
31E4:57EC  00 04 1E 26 C2 26                    db       00h, 04h, 1Eh, 26h,0C2h, 26h
31E4:57F2  08 27 78 26 DA 09                    db       08h, 27h, 78h, 26h,0DAh, 09h
31E4:57F8  E0 09 4C 04 52 0F                    db      0E0h, 09h, 4Ch, 04h, 52h, 0Fh
31E4:57FE  F0 0A 00 00 00 00                    db      0F0h, 0Ah, 00h, 00h, 00h, 00h
31E4:5804  00 00 82 02 22 03                    db       00h, 00h, 82h, 02h, 22h, 03h
31E4:580A  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h

; This animation pixel block is referenced by the pixel block for rooms

31E4:5810  08 40 01     voice_anim_block        db       08h, 40h, 01h

31E4:5813  0000         voice_pixel_segment     dw       0
31E4:5815  0000                                 dw       0
31E4:5817  0000          voice_frame_offset     dw       0

31E4:5819  10 43 12                             db       10h, 43h, 12h
31E4:581C  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:5822  12 43 12 00 00 00                    db       12h, 43h, 12h, 00h, 00h, 00h
31E4:5828  00 00 00 13 43 12                    db       00h, 00h, 00h, 13h, 43h, 12h
31E4:582E  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:5834  17 41 12 00 00 00                    db       17h, 41h, 12h, 00h, 00h, 00h
31E4:583A  00 00 00 11                          db       00h, 00h, 00h, 11h
31E4:583E  41                                   db      41h
31E4:583F  0007[00]                             db      7 dup (0)
31E4:5846  10 42 12 00 00 00                    db       10h, 42h, 12h, 00h, 00h, 00h
31E4:584C  00 00 00 12 41 12                    db       00h, 00h, 00h, 12h, 41h, 12h
31E4:5852  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:5858  11 42 12 00 00 00                    db       11h, 42h, 12h, 00h, 00h, 00h
31E4:585E  00 00 00 10 91 12                    db       00h, 00h, 00h, 10h, 91h, 12h
31E4:5864  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:586A  10 9D 12 00 00 00                    db       10h, 9Dh, 12h, 00h, 00h, 00h
31E4:5870  00 00 00 11 9D 12                    db       00h, 00h, 00h, 11h, 9Dh, 12h
31E4:5876  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:587C  11 A0 12 00 00 00                    db       11h,0A0h, 12h, 00h, 00h, 00h
31E4:5882  00 00 00 10 8C 12                    db       00h, 00h, 00h, 10h, 8Ch, 12h
31E4:5888  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:588E  10 A0 12 00 00 00                    db       10h,0A0h, 12h, 00h, 00h, 00h
31E4:5894  00 00 00                             db       00h, 00h, 00h,
31E4:5897  4114               anim_entry_1:     dw       4114h                  ; Disk res for anim contents?
31E4:5899  12                                   db       12h
31E4:589A  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:58A0  11 44 04 00 00 00                    db       11h, 44h, 04h, 00h, 00h, 00h
31E4:58A6  00 00 00 12 42 12                    db       00h, 00h, 00h, 12h, 42h, 12h
31E4:58AC  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:58B2  11 87 12 00 00 00                    db       11h, 87h, 12h, 00h, 00h, 00h
31E4:58B8  00 00 00 10 87 12                    db       00h, 00h, 00h, 10h, 87h, 12h
31E4:58BE  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:58C4  13 41 12 00 00 00                    db       13h, 41h, 12h, 00h, 00h, 00h
31E4:58CA  00 00 00 15 41 12                    db       00h, 00h, 00h, 15h, 41h, 12h
31E4:58D0  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:58D6  12 44 12 00 00 00                    db       12h, 44h, 12h, 00h, 00h, 00h
31E4:58DC  00 00 00 16 41 12                    db       00h, 00h, 00h, 16h, 41h, 12h
31E4:58E2  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:58E8  10 9C 12 00 00 00                    db       10h, 9Ch, 12h, 00h, 00h, 00h
31E4:58EE  00 00 00 10 93 12                    db       00h, 00h, 00h, 10h, 93h, 12h
31E4:58F4  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:58FA  10 9E 12 00 00 00                    db       10h, 9Eh, 12h, 00h, 00h, 00h
31E4:5900  00 00 00 10 8E 12                    db       00h, 00h, 00h, 10h, 8Eh, 12h
31E4:5906  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:590C  10 9F 12 00 00 00                    db       10h, 9Fh, 12h, 00h, 00h, 00h
31E4:5912  00 00 00 11 9C 12                    db       00h, 00h, 00h, 11h, 9Ch, 12h
31E4:5918  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:591E  11 9F 12 00 00 00                    db       11h, 9Fh, 12h, 00h, 00h, 00h
31E4:5924  00 00 00 13 9E 12                    db       00h, 00h, 00h, 13h, 9Eh, 12h
31E4:592A  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:5930  16 9E 12 00 00 00                    db       16h, 9Eh, 12h, 00h, 00h, 00h
31E4:5936  00 00 00 12 9C 12                    db       00h, 00h, 00h, 12h, 9Ch, 12h
31E4:593C  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:5942  11 94 12 00 00 00                    db       11h, 94h, 12h, 00h, 00h, 00h
31E4:5948  00 00 00 12 A0 12                    db       00h, 00h, 00h, 12h,0A0h, 12h
31E4:594E  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:5954  11 8C 12 00 00 00                    db       11h, 8Ch, 12h, 00h, 00h, 00h
31E4:595A  00 00 00 10 A4 12                    db       00h, 00h, 00h, 10h,0A4h, 12h
31E4:5960  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:5966  10 94 12 00 00 00                    db       10h, 94h, 12h, 00h, 00h, 00h
31E4:596C  00 00 00 12 9F 12                    db       00h, 00h, 00h, 12h, 9Fh, 12h
31E4:5972  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:5978  13 9F 12 00 00 00                    db       13h, 9Fh, 12h, 00h, 00h, 00h
31E4:597E  00 00 00 12 9E 12                    db       00h, 00h, 00h, 12h, 9Eh, 12h
31E4:5984  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:598A  10 8F 12 00 00 00                    db       10h, 8Fh, 12h, 00h, 00h, 00h
31E4:5990  00 00 00 12 9D 12                    db       00h, 00h, 00h, 12h, 9Dh, 12h
31E4:5996  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:599C  20 8A 12 00 00 00                    db       20h, 8Ah, 12h, 00h, 00h, 00h
31E4:59A2  00 00 00 10 A2 12                    db       00h, 00h, 00h, 10h,0A2h, 12h
31E4:59A8  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:59AE  12 66 12 00 00 00                    db       12h, 66h, 12h, 00h, 00h, 00h
31E4:59B4  00 00 00 10 66 12                    db       00h, 00h, 00h, 10h, 66h, 12h
31E4:59BA  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:59C0  11 66 12 00 00 00                    db       11h, 66h, 12h, 00h, 00h, 00h
31E4:59C6  00 00 00 13 66 12                    db       00h, 00h, 00h, 13h, 66h, 12h
31E4:59CC  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:59D2  10 69 12 00 00 00                    db       10h, 69h, 12h, 00h, 00h, 00h
31E4:59D8  00 00 00 04 ED 12                    db       00h, 00h, 00h, 04h,0EDh, 12h
31E4:59DE  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:59E4  10 A3 12 00 00 00                    db       10h,0A3h, 12h, 00h, 00h, 00h
31E4:59EA  00 00 00 11 A3 12                    db       00h, 00h, 00h, 11h,0A3h, 12h
31E4:59F0  00 00 00 00 00                       db       00h, 00h, 00h, 00h, 00h

                                ;���� External Entry into Subroutine ��������������������������������������

31E4:59F5                       sub_273:
31E4:59F5  00 11                                add     [bx+di],dl
31E4:59F7  69 12 00 00 00 00                    db       69h, 12h, 00h, 00h, 00h, 00h
31E4:59FD  00 00 12 69 12 00                    db       00h, 00h, 12h, 69h, 12h, 00h
31E4:5A03  00 00 00 00 00 13                    db       00h, 00h, 00h, 00h, 00h, 13h
31E4:5A09  69 12 00 00 00 00                    db       69h, 12h, 00h, 00h, 00h, 00h
31E4:5A0F  00 00 14 69 12 00                    db       00h, 00h, 14h, 69h, 12h, 00h
31E4:5A15  00 00 00 00 00 16                    db       00h, 00h, 00h, 00h, 00h, 16h
31E4:5A1B  EF 12 00 00 00 00                    db      0EFh, 12h, 00h, 00h, 00h, 00h
31E4:5A21  00 00 10 EA 12 00                    db       00h, 00h, 10h,0EAh, 12h, 00h
31E4:5A27  00 00 00 00 00 15                    db       00h, 00h, 00h, 00h, 00h, 15h
31E4:5A2D  EF 12 00 00 00 00                    db      0EFh, 12h, 00h, 00h, 00h, 00h
31E4:5A33  00 00 14 EF 12 00                    db       00h, 00h, 14h,0EFh, 12h, 00h
31E4:5A39  00 00 00 00 00 13                    db       00h, 00h, 00h, 00h, 00h, 13h
31E4:5A3F  EF 12 00 00 00 00                    db      0EFh, 12h, 00h, 00h, 00h, 00h
31E4:5A45  00 00 11 EA 12 00                    db       00h, 00h, 11h,0EAh, 12h, 00h
31E4:5A4B  00 00 00 00 00 10                    db       00h, 00h, 00h, 00h, 00h, 10h
31E4:5A51  EF 12 00 00 00 00                    db      0EFh, 12h, 00h, 00h, 00h, 00h
31E4:5A57  00 00 11 EF 12 00                    db       00h, 00h, 11h,0EFh, 12h, 00h
31E4:5A5D  00 00 00 00 00 12                    db       00h, 00h, 00h, 00h, 00h, 12h
31E4:5A63  EF 12 00 00 00 00                    db      0EFh, 12h, 00h, 00h, 00h, 00h
31E4:5A69  00 00 17 63 12 00                    db       00h, 00h, 17h, 63h, 12h, 00h
31E4:5A6F  00 00 00 00 00 27                    db       00h, 00h, 00h, 00h, 00h, 27h
31E4:5A75  63 12 00 00 00 00                    db       63h, 12h, 00h, 00h, 00h, 00h
31E4:5A7B  00 00 28 63 12 00                    db       00h, 00h, 28h, 63h, 12h, 00h
31E4:5A81  00 00 00 00 00 17                    db       00h, 00h, 00h, 00h, 00h, 17h
31E4:5A87  EF 12 00 00 00 00                    db      0EFh, 12h, 00h, 00h, 00h, 00h
31E4:5A8D  00 00 12 8E 12 00                    db       00h, 00h, 12h, 8Eh, 12h, 00h
31E4:5A93  00 00 00 00 00 11                    db       00h, 00h, 00h, 00h, 00h, 11h
31E4:5A99  8E 12 00 00 00 00                    db       8Eh, 12h, 00h, 00h, 00h, 00h
31E4:5A9F  00 00 14 9D 12 00                    db       00h, 00h, 14h, 9Dh, 12h, 00h
31E4:5AA5  00 00 00 00 00 11                    db       00h, 00h, 00h, 00h, 00h, 11h
31E4:5AAB  A2 12 00 00 00 00                    db      0A2h, 12h, 00h, 00h, 00h, 00h
31E4:5AB1  00 00 13 9D 12 00                    db       00h, 00h, 13h, 9Dh, 12h, 00h
31E4:5AB7  00 00 00 00 00 06                    db       00h, 00h, 00h, 00h, 00h, 06h
31E4:5ABD  EB 12 00 00 00 00                    db      0EBh, 12h, 00h, 00h, 00h, 00h
31E4:5AC3  00 00 05 EB 12 00                    db       00h, 00h, 05h,0EBh, 12h, 00h
31E4:5AC9  00 00 00 00 00 02                    db       00h, 00h, 00h, 00h, 00h, 02h
31E4:5ACF  EB 12 00 00 00 00                    db      0EBh, 12h, 00h, 00h, 00h, 00h
31E4:5AD5  00 00 03 EB 12 00                    db       00h, 00h, 03h,0EBh, 12h, 00h
31E4:5ADB  00 00 00 00 00 04                    db       00h, 00h, 00h, 00h, 00h, 04h
31E4:5AE1  EB 12 00 00 00 00                    db      0EBh, 12h, 00h, 00h, 00h, 00h
31E4:5AE7  00 00 12 EA 12 00                    db       00h, 00h, 12h,0EAh, 12h, 00h
31E4:5AED  00 00 00 00 00 13                    db       00h, 00h, 00h, 00h, 00h, 13h
31E4:5AF3  EA 12 00 00 00 00                    db      0EAh, 12h, 00h, 00h, 00h, 00h
31E4:5AF9  00 00 14 EA 12 00                    db       00h, 00h, 14h,0EAh, 12h, 00h
31E4:5AFF  00 00 00 00 00 15                    db       00h, 00h, 00h, 00h, 00h, 15h
31E4:5B05  EA 12 00 00 00 00                    db      0EAh, 12h, 00h, 00h, 00h, 00h
31E4:5B0B  00 00 16 EA 12 00                    db       00h, 00h, 16h,0EAh, 12h, 00h
31E4:5B11  00 00 00 00 00 17                    db       00h, 00h, 00h, 00h, 00h, 17h
31E4:5B17  EA 12 00 00 00 00                    db      0EAh, 12h, 00h, 00h, 00h, 00h
31E4:5B1D  00 00 18 EA 12 00                    db       00h, 00h, 18h,0EAh, 12h, 00h
31E4:5B23  00 00 00 00 00 19                    db       00h, 00h, 00h, 00h, 00h, 19h
31E4:5B29  EA 12 00 00 00 00                    db      0EAh, 12h, 00h, 00h, 00h, 00h
31E4:5B2F  00 00 20 EA 12 00                    db       00h, 00h, 20h,0EAh, 12h, 00h
31E4:5B35  00 00 00 00 00 21                    db       00h, 00h, 00h, 00h, 00h, 21h
31E4:5B3B  EA 12 00 00 00 00                    db      0EAh, 12h, 00h, 00h, 00h, 00h
31E4:5B41  00 00 22 EA 12 00                    db       00h, 00h, 22h,0EAh, 12h, 00h
31E4:5B47  00 00 00 00 00 23                    db       00h, 00h, 00h, 00h, 00h, 23h
31E4:5B4D  EA 12 00 00 00 00                    db      0EAh, 12h, 00h, 00h, 00h, 00h
31E4:5B53  00 00 24 EA 12 00                    db       00h, 00h, 24h,0EAh, 12h, 00h
31E4:5B59  00 00 00 00 00 25                    db       00h, 00h, 00h, 00h, 00h, 25h
31E4:5B5F  EA 12 00 00 00 00                    db      0EAh, 12h, 00h, 00h, 00h, 00h
31E4:5B65  00 00 26 EA 12 00                    db       00h, 00h, 26h,0EAh, 12h, 00h
31E4:5B6B  00 00 00 00 00 27                    db       00h, 00h, 00h, 00h, 00h, 27h
31E4:5B71  EA 12 00 00 00 00                    db      0EAh, 12h, 00h, 00h, 00h, 00h
31E4:5B77  00 00 13 9C 12 00                    db       00h, 00h, 13h, 9Ch, 12h, 00h
31E4:5B7D  00 00 00 00 00 14                    db       00h, 00h, 00h, 00h, 00h, 14h
31E4:5B83  9C 12 00 00 00 00                    db       9Ch, 12h, 00h, 00h, 00h, 00h
31E4:5B89  00 00 0A 8D 12 00                    db       00h, 00h, 0Ah, 8Dh, 12h, 00h
31E4:5B8F  00 00 00 00 00 0B                    db       00h, 00h, 00h, 00h, 00h, 0Bh
31E4:5B95  8D 12 00 00 00 00                    db       8Dh, 12h, 00h, 00h, 00h, 00h
31E4:5B9B  00 00 0C 8D 12 00                    db       00h, 00h, 0Ch, 8Dh, 12h, 00h
31E4:5BA1  00 00 00 00 00 0D                    db       00h, 00h, 00h, 00h, 00h, 0Dh
31E4:5BA7  8D 12 00 00 00 00                    db       8Dh, 12h, 00h, 00h, 00h, 00h
31E4:5BAD  00 00 15 69 12 00                    db       00h, 00h, 15h, 69h, 12h, 00h
31E4:5BB3  00 00 00 00 00 0F                    db       00h, 00h, 00h, 00h, 00h, 0Fh
31E4:5BB9  00 FC FF 00 00 0E                    db       00h,0FCh,0FFh, 00h, 00h, 0Eh
31E4:5BBF  00 FC FF 00 00 0D                    db       00h,0FCh,0FFh, 00h, 00h, 0Dh
31E4:5BC5  00 FC FF 00 00 0C                    db       00h,0FCh,0FFh, 00h, 00h, 0Ch
31E4:5BCB  00 FC FF 00 00 0B                    db       00h,0FCh,0FFh, 00h, 00h, 0Bh
31E4:5BD1  00 FC FF 00 00 0A                    db       00h,0FCh,0FFh, 00h, 00h, 0Ah
31E4:5BD7  00 FC FF 00 00 09                    db       00h,0FCh,0FFh, 00h, 00h, 09h
31E4:5BDD  00 FC FF 00 00 08                    db       00h,0FCh,0FFh, 00h, 00h, 08h
31E4:5BE3  00 FC FF 00 00 FF                    db       00h,0FCh,0FFh, 00h, 00h,0FFh
31E4:5BE9  FF 00 00 04 00 00                    db      0FFh, 00h, 00h, 04h, 00h, 00h
31E4:5BEF  00 01 00 04 00 00                    db       00h, 01h, 00h, 04h, 00h, 00h
31E4:5BF5  00 02 00 04 00 00                    db       00h, 02h, 00h, 04h, 00h, 00h
31E4:5BFB  00 03 00 04 00 00                    db       00h, 03h, 00h, 04h, 00h, 00h
31E4:5C01  00 04 00 04 00 00                    db       00h, 04h, 00h, 04h, 00h, 00h
31E4:5C07  00 05 00 04 00 00                    db       00h, 05h, 00h, 04h, 00h, 00h
31E4:5C0D  00 06 00 04 00 00                    db       00h, 06h, 00h, 04h, 00h, 00h
31E4:5C13  00 07 00 04 00 00                    db       00h, 07h, 00h, 04h, 00h, 00h
31E4:5C19  00 FF FF 18 00 00                    db       00h,0FFh,0FFh, 18h, 00h, 00h
31E4:5C1F  00 FE FF 19 00 00                    db       00h,0FEh,0FFh, 19h, 00h, 00h
31E4:5C25  00 FE FF 1A 00 00                    db       00h,0FEh,0FFh, 1Ah, 00h, 00h
31E4:5C2B  00 FE FF 1B 00 00                    db       00h,0FEh,0FFh, 1Bh, 00h, 00h
31E4:5C31  00 FE FF 1C 00 00                    db       00h,0FEh,0FFh, 1Ch, 00h, 00h
31E4:5C37  00 FE FF 1D 00 00                    db       00h,0FEh,0FFh, 1Dh, 00h, 00h
31E4:5C3D  00 FE FF 1E 00 00                    db       00h,0FEh,0FFh, 1Eh, 00h, 00h
31E4:5C43  00 FE FF 1F 00 00                    db       00h,0FEh,0FFh, 1Fh, 00h, 00h
31E4:5C49  00 FE FF FF FF 10                    db       00h,0FEh,0FFh,0FFh,0FFh, 10h
31E4:5C4F  00 00 00 02 00 11                    db       00h, 00h, 00h, 02h, 00h, 11h
31E4:5C55  00 00 00 02 00 12                    db       00h, 00h, 00h, 02h, 00h, 12h
31E4:5C5B  00 00 00 02 00 13                    db       00h, 00h, 00h, 02h, 00h, 13h
31E4:5C61  00 00 00 02 00 14                    db       00h, 00h, 00h, 02h, 00h, 14h
31E4:5C67  00 00 00 02 00 15                    db       00h, 00h, 00h, 02h, 00h, 15h
31E4:5C6D  00 00 00 02 00 16                    db       00h, 00h, 00h, 02h, 00h, 16h
31E4:5C73  00 00 00 02 00 17                    db       00h, 00h, 00h, 02h, 00h, 17h
31E4:5C79  00 00 00 02 00 FF                    db       00h, 00h, 00h, 02h, 00h,0FFh
31E4:5C7F  FF                                   db      0FFh
31E4:5C80  20 41                                db       20h, 41h
31E4:5C82  0007[00]                             db      7 dup (0)
31E4:5C89  1C 5C 4E 5C B8 5B                    db       1Ch, 5Ch, 4Eh, 5Ch,0B8h, 5Bh
31E4:5C8F  EA 5B 23 22 21 20                    db      0EAh, 5Bh, 23h, 22h, 21h, 20h
31E4:5C95  21 41 00 00 00 00                    db       21h, 41h, 00h, 00h, 00h, 00h
31E4:5C9B  00 00 00 1C 5C 4E                    db       00h, 00h, 00h, 1Ch, 5Ch, 4Eh
31E4:5CA1  5C B8 5B EA 5B 23                    db       5Ch,0B8h, 5Bh,0EAh, 5Bh, 23h
31E4:5CA7  22 21 20 17 9E                       db       22h, 21h, 20h, 17h, 9Eh
31E4:5CAC  0007[00]                             db      7 dup (0)
31E4:5CB3  1C 5C 4E 5C B8 5B                    db       1Ch, 5Ch, 4Eh, 5Ch,0B8h, 5Bh
31E4:5CB9  EA 5B 23 22 21 20                    db      0EAh, 5Bh, 23h, 22h, 21h, 20h
31E4:5CBF  11 43 00 00 00 00                    db       11h, 43h, 00h, 00h, 00h, 00h
31E4:5CC5  00 00 00 1C 5C 4E                    db       00h, 00h, 00h, 1Ch, 5Ch, 4Eh
31E4:5CCB  5C B8 5B EA 5B 23                    db       5Ch,0B8h, 5Bh,0EAh, 5Bh, 23h
31E4:5CD1  22 21 20 10 44 00                    db       22h, 21h, 20h, 10h, 44h, 00h
31E4:5CD7  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:5CDD  1C 5C 4E 5C B8 5B                    db       1Ch, 5Ch, 4Eh, 5Ch,0B8h, 5Bh
31E4:5CE3  EA 5B 23 22 21 20                    db      0EAh, 5Bh, 23h, 22h, 21h, 20h
31E4:5CE9  12 8A 00 00 00 00                    db       12h, 8Ah, 00h, 00h, 00h, 00h
31E4:5CEF  00 00 00 1C 5C 4E                    db       00h, 00h, 00h, 1Ch, 5Ch, 4Eh
31E4:5CF5  5C B8 5B EA 5B 23                    db       5Ch,0B8h, 5Bh,0EAh, 5Bh, 23h
31E4:5CFB  22 21 20 13 8A 00                    db       22h, 21h, 20h, 13h, 8Ah, 00h
31E4:5D01  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:5D07  1C 5C 4E 5C B8 5B                    db       1Ch, 5Ch, 4Eh, 5Ch,0B8h, 5Bh
31E4:5D0D  EA 5B 23 22 21 20                    db      0EAh, 5Bh, 23h, 22h, 21h, 20h
31E4:5D13  10 8A 00 00 00 00                    db       10h, 8Ah, 00h, 00h, 00h, 00h
31E4:5D19  00 00 00 1C 5C 4E                    db       00h, 00h, 00h, 1Ch, 5Ch, 4Eh
31E4:5D1F  5C B8 5B EA 5B 23                    db       5Ch,0B8h, 5Bh,0EAh, 5Bh, 23h
31E4:5D25  22 21 20 14 9F                       db       22h, 21h, 20h, 14h, 9Fh
31E4:5D2A  0007[00]                             db      7 dup (0)
31E4:5D31  1C 5C 4E 5C B8 5B                    db       1Ch, 5Ch, 4Eh, 5Ch,0B8h, 5Bh
31E4:5D37  EA 5B 23 22 21 20                    db      0EAh, 5Bh, 23h, 22h, 21h, 20h
31E4:5D3D  14 A4                                db       14h,0A4h
31E4:5D3F  0007[00]                             db      7 dup (0)
31E4:5D46  1C 5C 4E 5C B8 5B                    db       1Ch, 5Ch, 4Eh, 5Ch,0B8h, 5Bh
31E4:5D4C  EA 5B 23 22 21 20                    db      0EAh, 5Bh, 23h, 22h, 21h, 20h
31E4:5D52  11 A4 00 00 00 00                    db       11h,0A4h, 00h, 00h, 00h, 00h
31E4:5D58  00 00 00 1C 5C 4E                    db       00h, 00h, 00h, 1Ch, 5Ch, 4Eh
31E4:5D5E  5C B8 5B EA 5B 23                    db       5Ch,0B8h, 5Bh,0EAh, 5Bh, 23h
31E4:5D64  22 21 20 18 EF                       db       22h, 21h, 20h, 18h,0EFh
31E4:5D69  0007[00]                             db      7 dup (0)
31E4:5D70  1C 5C 4E 5C B8 5B                    db       1Ch, 5Ch, 4Eh, 5Ch,0B8h, 5Bh
31E4:5D76  EA 5B 23 22 21 20                    db      0EAh, 5Bh, 23h, 22h, 21h, 20h
31E4:5D7C  00 00 00 00 52 00                    db       00h, 00h, 00h, 00h, 52h, 00h
31E4:5D82  000E[00]                             db      14 dup (0)


31E4:5D90  00                   write_buffer    db      0                       ;  xref 273F:8F8D
31E4:5D91  00 00 00 00 00 00                    db      0, 0, 0, 0, 0, 0
31E4:5D97  00                                   db      0

31E4:5D98  EF                hotspot_table_2    db      0EFh
31E4:5D99  6C 47 00 00 00 00                    db       6Ch, 47h, 00h, 00h, 00h, 00h
31E4:5D9F  00 00 B9 70 F1 00                    db       00h, 00h,0B9h, 70h,0F1h, 00h
31E4:5DA5  33 01 00 00 03 67                    db       33h, 01h, 00h, 00h, 03h, 67h
31E4:5DAB  6D 49 00 E2 00 00                    db       6Dh, 49h, 00h,0E2h, 00h, 00h
31E4:5DB1  00 01 CE 72 7A 01                    db       00h, 01h,0CEh, 72h, 7Ah, 01h
31E4:5DB7  D0 08 00 00 02 C2                    db      0D0h, 08h, 00h, 00h, 02h,0C2h
31E4:5DBD  77 7A 01 D8 08 00                    db       77h, 7Ah, 01h,0D8h, 08h, 00h
31E4:5DC3  00 02 E1 79 7A 01                    db       00h, 02h,0E1h, 79h, 7Ah, 01h
31E4:5DC9  DC 08 00 00 02 1F                    db      0DCh, 08h, 00h, 00h, 02h, 1Fh
31E4:5DCF  7B 7A 01 12 0B 00                    db       7Bh, 7Ah, 01h, 12h, 0Bh, 00h
31E4:5DD5  00 02 21 7D 55 08                    db       00h, 02h, 21h, 7Dh, 55h, 08h
31E4:5DDB  56 08 00 00 06 18                    db       56h, 08h, 00h, 00h, 06h, 18h
31E4:5DE1  7C 7A 01 26 0B 00                    db       7Ch, 7Ah, 01h, 26h, 0Bh, 00h
31E4:5DE7  00 02 E6 6D 49 00                    db       00h, 02h,0E6h, 6Dh, 49h, 00h
31E4:5DED  FE 0B 00 00 02 50                    db      0FEh, 0Bh, 00h, 00h, 02h, 50h
31E4:5DF3  71 7A 01 A4 0F 00                    db       71h, 7Ah, 01h,0A4h, 0Fh, 00h
31E4:5DF9  00 08 E9 6F 49 00                    db       00h, 08h,0E9h, 6Fh, 49h, 00h
31E4:5DFF  DF 0F 00 00 00 FF                    db      0DFh, 0Fh, 00h, 00h, 00h,0FFh
31E4:5E05  FF 00 00 00 00 00                    db      0FFh, 00h, 00h, 00h, 00h, 00h
31E4:5E0B  00 00 FF FF 00 00                    db       00h, 00h,0FFh,0FFh, 00h, 00h
31E4:5E11  00 00 00 00 00 FF                    db       00h, 00h, 00h, 00h, 00h,0FFh
31E4:5E17  FF 00 00 00 00 00                    db      0FFh, 00h, 00h, 00h, 00h, 00h
31E4:5E1D  00 00 FF FF 00 00                    db       00h, 00h,0FFh,0FFh, 00h, 00h
31E4:5E23  00 00 00 00 00 FF                    db       00h, 00h, 00h, 00h, 00h,0FFh
31E4:5E29  FF 00 00 00 00 00                    db      0FFh, 00h, 00h, 00h, 00h, 00h
31E4:5E2F  00 00 FF FF 00 00                    db       00h, 00h,0FFh,0FFh, 00h, 00h
31E4:5E35  00 00 00 00 00 FF                    db       00h, 00h, 00h, 00h, 00h,0FFh
31E4:5E3B  FF 00 00 00 00 00                    db      0FFh, 00h, 00h, 00h, 00h, 00h
31E4:5E41  00 00 FF                             db       00h, 00h,0FFh

                                ;���� External Entry into Subroutine ��������������������������������������

31E4:5E44                       sub_274:
31E4:5E44  FF 00                                inc     word ptr [bx+si]
31E4:5E46  00 00 00 00 00                       db      0, 0, 0, 0, 0
31E4:5E4B                       loc_2130:
31E4:5E4B  00 FF                                add     bh,bh
31E4:5E4D  FF 00                                inc     word ptr [bx+si]
31E4:5E4F  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:5E55  FF FF 00 00 00 00                    db      0FFh,0FFh, 00h, 00h, 00h, 00h
31E4:5E5B  00 00 00 FF FF 00                    db       00h, 00h, 00h,0FFh,0FFh, 00h
31E4:5E61  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:5E67  FF FF 00 00 00 00                    db      0FFh,0FFh, 00h, 00h, 00h, 00h
31E4:5E6D  00 00                                db       00h, 00h
31E4:5E6F                       loc_2131:
31E4:5E6F  00 FF                                add     bh,bh
31E4:5E71  FF 00                                inc     word ptr [bx+si]
31E4:5E73  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:5E79  FF FF 00 00 00 00                    db      0FFh,0FFh, 00h, 00h, 00h, 00h
31E4:5E7F  00 00 00 FF FF 00                    db       00h, 00h, 00h,0FFh,0FFh, 00h
31E4:5E85  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:5E8B  FF FF 00 00 00 00                    db      0FFh,0FFh, 00h, 00h, 00h, 00h
31E4:5E91  00 00 00 FF FF 00                    db       00h, 00h, 00h,0FFh,0FFh, 00h
31E4:5E97  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:5E9D  FF FF 00 00 00 00                    db      0FFh,0FFh, 00h, 00h, 00h, 00h
31E4:5EA3  00 00 00 FF FF 00                    db       00h, 00h, 00h,0FFh,0FFh, 00h
31E4:5EA9  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:5EAF  FF FF 00 00 00 00                    db      0FFh,0FFh, 00h, 00h, 00h, 00h
31E4:5EB5  00 00 00                             db       00h, 00h, 00h
31E4:5EB8  07                hotspot_table_5    db      7                       ;  xref 273F:1CA1, 273F:1CEE
31E4:5EB9  7E 8B 40 AC 00 00                    db       7Eh, 8Bh, 40h,0ACh, 00h, 00h
31E4:5EBF  00 01 B0 81 8B 40                    db       00h, 01h,0B0h, 81h, 8Bh, 40h
31E4:5EC5  AC 00 00 00 01 DB                    db      0ACh, 00h, 00h, 00h, 01h,0DBh
31E4:5ECB  81 8B 40 AC 00 00                    db       81h, 8Bh, 40h,0ACh, 00h, 00h
31E4:5ED1  00 01                                db       00h, 01h
31E4:5ED3  0009[00]                             db      9 dup (0)
31E4:5EDC  EA 6A CD 40 5C 01                    db      0EAh, 6Ah,0CDh, 40h, 5Ch, 01h
31E4:5EE2  00 00 01 FB 83 EE                    db       00h, 00h, 01h,0FBh, 83h,0EEh
31E4:5EE8  40 EF 00 00 00 01                    db       40h,0EFh, 00h, 00h, 00h, 01h
31E4:5EEE  C6 7E 00 00 00 00                    db      0C6h, 7Eh, 00h, 00h, 00h, 00h
31E4:5EF4  00 00 00 D2 7F 8B                    db       00h, 00h, 00h,0D2h, 7Fh, 8Bh
31E4:5EFA  40 AC 00 00 00 01                    db       40h,0ACh, 00h, 00h, 00h, 01h
31E4:5F00  05 80 8F 20 E1 00                    db       05h, 80h, 8Fh, 20h,0E1h, 00h
31E4:5F06  00 00 01 37 80 48                    db       00h, 00h, 01h, 37h, 80h, 48h
31E4:5F0C  00 E0 00 00 00 01                    db       00h,0E0h, 00h, 00h, 00h, 01h
31E4:5F12  81 80 92 20 DA 00                    db       81h, 80h, 92h, 20h,0DAh, 00h
31E4:5F18  00 00 01 00                          db       00h, 00h, 01h, 00h
31E4:5F1C  001A[00]                             db      26 dup (0)
31E4:5F36  A7 7F 00 00 00 00                    db      0A7h, 7Fh, 00h, 00h, 00h, 00h
31E4:5F3C  00 00 00 7C 7F 35                    db       00h, 00h, 00h, 7Ch, 7Fh, 35h
31E4:5F42  21 36 01 00 00 02                    db       21h, 36h, 01h, 00h, 00h, 02h
31E4:5F48  F0 7E D3 40 23 01                    db      0F0h, 7Eh,0D3h, 40h, 23h, 01h
31E4:5F4E  00 00 01 06 82 D3                    db       00h, 00h, 01h, 06h, 82h,0D3h
31E4:5F54  40 D4 00 00 00 01                    db       40h,0D4h, 00h, 00h, 00h, 01h
31E4:5F5A  31 82 00 00 00 00                    db       31h, 82h, 00h, 00h, 00h, 00h
31E4:5F60  00 00 00 5C 82 D5                    db       00h, 00h, 00h, 5Ch, 82h,0D5h
31E4:5F66  00 D9 00 00 00 01                    db       00h,0D9h, 00h, 00h, 00h, 01h
31E4:5F6C  1F 7F 00 00 00 00                    db       1Fh, 7Fh, 00h, 00h, 00h, 00h
31E4:5F72  00 00 00 49 7F                       db       00h, 00h, 00h, 49h, 7Fh
31E4:5F77  0007[00]                             db      7 dup (0)
31E4:5F7E  3A 7E 8B 40 AC 00                    db       3Ah, 7Eh, 8Bh, 40h,0ACh, 00h
31E4:5F84  00 00 01 55 88 7A                    db       00h, 00h, 01h, 55h, 88h, 7Ah
31E4:5F8A  01 A6 08 00 00 02                    db       01h,0A6h, 08h, 00h, 00h, 02h
31E4:5F90  D1 80 7A 01 8E 08                    db      0D1h, 80h, 7Ah, 01h, 8Eh, 08h
31E4:5F96  00 00 02 05 8C 7A                    db       00h, 00h, 02h, 05h, 8Ch, 7Ah
31E4:5F9C  01 CD 08 00 00 02                    db       01h,0CDh, 08h, 00h, 00h, 02h
31E4:5FA2  71 8D 7A 01 66 08                    db       71h, 8Dh, 7Ah, 01h, 66h, 08h
31E4:5FA8  00 00 02 85 8E 00                    db       00h, 00h, 02h, 85h, 8Eh, 00h
31E4:5FAE  00 00 00 00 00 02                    db       00h, 00h, 00h, 00h, 00h, 02h
31E4:5FB4  70 7E 4E 48 4F 08                    db       70h, 7Eh, 4Eh, 48h, 4Fh, 08h
31E4:5FBA  00 00 02 9B 7E 00                    db       00h, 00h, 02h, 9Bh, 7Eh, 00h
31E4:5FC0  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:5FC6  B6 8D 49 00 7A 0C                    db      0B6h, 8Dh, 49h, 00h, 7Ah, 0Ch
31E4:5FCC  00 00 02 40 8E 49                    db       00h, 00h, 02h, 40h, 8Eh, 49h
31E4:5FD2  00 8A 08 00 00 02                    db       00h, 8Ah, 08h, 00h, 00h, 02h
31E4:5FD8                       loc_2132:
31E4:5FD8  FB                                   sti                             ; Enable interrupts
31E4:5FD9  8D 49 00                             lea     cx,[bx+di+0]            ; Load effective addr
31E4:5FDC  7B 0C                                jnp     loc_2133                ; Jump if not parity
31E4:5FDE  00 00                                add     [bx+si],al
31E4:5FE0  02 1E 7A81                           add     bl,ds:data_54e          ; (0000:7A81=0D1h)
31E4:5FE4  01 A5 0008                           add     ds:data_4e[di],sp       ; (0000:0008=30h)
31E4:5FE8  00 02                                add     [bp+si],al
31E4:5FEA                       loc_2133:                                       ;  xref 31E4:5FDC
31E4:5FEA  8C 82 090B                           mov     [bp+si+90Bh],es
31E4:5FEE  0C 09                                or      al,9
31E4:5FF0  00 00                                add     [bx+si],al
31E4:5FF2  02 55 8C                             add     dl,[di-74h]
31E4:5FF5  7A 01                                jp      loc_2134                ; Jump if parity=1
31E4:5FF7  54                                   push    sp
31E4:5FF8                       loc_2134:                                       ;  xref 31E4:5FF5
31E4:5FF8  09 00                                or      [bx+si],ax
31E4:5FFA  00 02                                add     [bp+si],al
31E4:5FFC  E7 8C                                out     8Ch,ax                  ; port 8Ch ??I/O Non-standard
31E4:5FFE  96                                   xchg    si,ax
31E4:5FFF  09 A6 000A                           or      [bp+0Ah],sp
31E4:6003  00 02                                add     [bp+si],al
31E4:6005  2C 8D                                sub     al,8Dh
31E4:6007  96                                   xchg    si,ax
31E4:6008  09 A6 000A                           or      [bp+0Ah],sp
31E4:600C  00 02                                add     [bp+si],al
31E4:600E  C2 D482                              retn    0D482h
                                sub_272         endp

31E4:6011  29 06 0C 00 00 04                    db       29h, 06h, 0Ch, 00h, 00h, 04h
31E4:6017  F8 82 D3 29 06 0C                    db      0F8h, 82h,0D3h, 29h, 06h, 0Ch
31E4:601D  00 00 04 2E 83 D4                    db       00h, 00h, 04h, 2Eh, 83h,0D4h
31E4:6023  29 06 0C 00 00 04                    db       29h, 06h, 0Ch, 00h, 00h, 04h
31E4:6029  64 83 D3 29 06 0C                    db       64h, 83h,0D3h, 29h, 06h, 0Ch
31E4:602F  00 00 04 9A 83 D4                    db       00h, 00h, 04h, 9Ah, 83h,0D4h
31E4:6035  29 06 0C 00 00 04                    db       29h, 06h, 0Ch, 00h, 00h, 04h
31E4:603B  D0 83 D3 29 06 0C                    db      0D0h, 83h,0D3h, 29h, 06h, 0Ch
31E4:6041  00 00 04 B5 8E 0D                    db       00h, 00h, 04h,0B5h, 8Eh, 0Dh
31E4:6047  0A 93 0B 00 00 04                    db       0Ah, 93h, 0Bh, 00h, 00h, 04h
31E4:604D  02 98 00 00 00 00                    db       02h, 98h, 00h, 00h, 00h, 00h
31E4:6053  00 00 00 6B 81 7A                    db       00h, 00h, 00h, 6Bh, 81h, 7Ah
31E4:6059  01 83 0A 00 00 02                    db       01h, 83h, 0Ah, 00h, 00h, 02h
31E4:605F  25 8F 49 00 DF 0F                    db       25h, 8Fh, 49h, 00h,0DFh, 0Fh
31E4:6065  00 00 08 6A 8F 49                    db       00h, 00h, 08h, 6Ah, 8Fh, 49h
31E4:606B  00 DF 0F 00 00 08                    db       00h,0DFh, 0Fh, 00h, 00h, 08h
31E4:6071  AF 8F 00 00 00 00                    db      0AFh, 8Fh, 00h, 00h, 00h, 00h
31E4:6077  00 00 08 CB 95 E8                    db       00h, 00h, 08h,0CBh, 95h,0E8h
31E4:607D  0F E9 0F 00 00 08                    db       0Fh,0E9h, 0Fh, 00h, 00h, 08h
31E4:6083  F5 95 00 00 00 00                    db      0F5h, 95h, 00h, 00h, 00h, 00h
31E4:6089  00 00 08 1F 96 00                    db       00h, 00h, 08h, 1Fh, 96h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 453

31E4:608F  00 00 00 00 00 08                    db       00h, 00h, 00h, 00h, 00h, 08h
31E4:6095  54 96 EA 0F EB 0F                    db       54h, 96h,0EAh, 0Fh,0EBh, 0Fh
31E4:609B  00 00 08 D8 97 00                    db       00h, 00h, 08h,0D8h, 97h, 00h
31E4:60A1  00 00 00 00 00 08                    db       00h, 00h, 00h, 00h, 00h, 08h
31E4:60A7  AD 96                                db      0ADh, 96h
31E4:60A9  0007[00]                             db      7 dup (0)
31E4:60B0  D7 96                                db      0D7h, 96h
31E4:60B2  0007[00]                             db      7 dup (0)
31E4:60B9  01 97 00 00 00 00                    db       01h, 97h, 00h, 00h, 00h, 00h
31E4:60BF  00 00 00 A2 8C 7A                    db       00h, 00h, 00h,0A2h, 8Ch, 7Ah
31E4:60C5  01 0A 0C 00 00 02                    db       01h, 0Ah, 0Ch, 00h, 00h, 02h
31E4:60CB  DA 8F 00 00 00 00                    db      0DAh, 8Fh, 00h, 00h, 00h, 00h
31E4:60D1  00 00 02 5A 97                       db       00h, 00h, 02h, 5Ah, 97h
31E4:60D6  0007[00]                             db      7 dup (0)
31E4:60DD  84 97 00 00 00 00                    db       84h, 97h, 00h, 00h, 00h, 00h
31E4:60E3  00 00 00 AE 97 00                    db       00h, 00h, 00h,0AEh, 97h, 00h
31E4:60E9  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:60EF  05 90 00 00 00 00                    db       05h, 90h, 00h, 00h, 00h, 00h
31E4:60F5  00 00 08 30 90 00                    db       00h, 00h, 08h, 30h, 90h, 00h
31E4:60FB  00 00 00 00 00 08                    db       00h, 00h, 00h, 00h, 00h, 08h
31E4:6101  5B 90 00 00 00 00                    db       5Bh, 90h, 00h, 00h, 00h, 00h
31E4:6107  00 00 08 86 90 00                    db       00h, 00h, 08h, 86h, 90h, 00h
31E4:610D  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:6113  B1 90 00 00 00 00                    db      0B1h, 90h, 00h, 00h, 00h, 00h
31E4:6119  00 00 00 DC 90                       db       00h, 00h, 00h,0DCh, 90h
31E4:611E  0007[00]                             db      7 dup (0)
31E4:6125  07 91                                db       07h, 91h
31E4:6127  0007[00]                             db      7 dup (0)
31E4:612E  32 91 00 00 00 00                    db       32h, 91h, 00h, 00h, 00h, 00h
31E4:6134  00 00 00 5D 91                       db       00h, 00h, 00h, 5Dh, 91h
31E4:6139  0007[00]                             db      7 dup (0)
31E4:6140  88 91 00 00 00 00                    db       88h, 91h, 00h, 00h, 00h, 00h
31E4:6146  00 00 00 B3 91 00                    db       00h, 00h, 00h,0B3h, 91h, 00h
31E4:614C  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:6152  DE 91                                db      0DEh, 91h
31E4:6154  0007[00]                             db      7 dup (0)
31E4:615B  09 92 00 00 00 00                    db       09h, 92h, 00h, 00h, 00h, 00h
31E4:6161  00 00 00 34 92                       db       00h, 00h, 00h, 34h, 92h
31E4:6166  0007[00]                             db      7 dup (0)
31E4:616D  5F 92                                db       5Fh, 92h
31E4:616F  0007[00]                             db      7 dup (0)
31E4:6176  8A 92 00 00 00 00                    db       8Ah, 92h, 00h, 00h, 00h, 00h
31E4:617C  00 00 00 61 93                       db       00h, 00h, 00h, 61h, 93h
31E4:6181  0007[00]                             db      7 dup (0)
31E4:6188  B5 92                                db      0B5h, 92h
31E4:618A  0007[00]                             db      7 dup (0)
31E4:6191  E0 92                                db      0E0h, 92h
31E4:6193  0007[00]                             db      7 dup (0)
31E4:619A  0B 93 00 00 00 00                    db       0Bh, 93h, 00h, 00h, 00h, 00h
31E4:61A0  00 00 00 36 93 00                    db       00h, 00h, 00h, 36h, 93h, 00h
31E4:61A6  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:61AC  8C 93 00 00 00 00                    db       8Ch, 93h, 00h, 00h, 00h, 00h
31E4:61B2  00 00 00 B7 93 00                    db       00h, 00h, 00h,0B7h, 93h, 00h
31E4:61B8  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:61BE  E2 93                                db      0E2h, 93h
31E4:61C0  0007[00]                             db      7 dup (0)
31E4:61C7  0D 94 00 00 00 00                    db       0Dh, 94h, 00h, 00h, 00h, 00h
31E4:61CD  00 00 00 38 94                       db       00h, 00h, 00h, 38h, 94h
31E4:61D2  0007[00]                             db      7 dup (0)
31E4:61D9  63 94                                db       63h, 94h
31E4:61DB  0007[00]                             db      7 dup (0)
31E4:61E2  8E 94 00 00 00 00                    db       8Eh, 94h, 00h, 00h, 00h, 00h
31E4:61E8  00 00 00 B9 94 A7                    db       00h, 00h, 00h,0B9h, 94h,0A7h
31E4:61EE  0C A8 0C 00 00 00                    db       0Ch,0A8h, 0Ch, 00h, 00h, 00h
31E4:61F4  EC 94 A9 0C AA 0C                    db      0ECh, 94h,0A9h, 0Ch,0AAh, 0Ch
31E4:61FA  00 00 02 17 95                       db       00h, 00h, 02h, 17h, 95h
31E4:61FF  0007[00]                             db      7 dup (0)
31E4:6206  42 95                                db       42h, 95h
31E4:6208  0007[00]                             db      7 dup (0)
31E4:620F  6D 95                                db       6Dh, 95h
31E4:6211  0010[00]                             db      16 dup (0)
31E4:6221  98 95                                db       98h, 95h
31E4:6223  0007[00]                             db      7 dup (0)
31E4:622A  FA 8E 00 00 00 00                    db      0FAh, 8Eh, 00h, 00h, 00h, 00h
31E4:6230  00 00 00 D4                          db       00h, 00h, 00h,0D4h
31E4:6234  6A                                   db      6Ah
31E4:6235  0007[00]                             db      7 dup (0)
31E4:623C  FF FF                                db      0FFh,0FFh
31E4:623E  39                hotspot_table_3    db      39h

31E4:623F  84 6C 40 E7 00 DC                    db       84h, 6Ch, 40h,0E7h, 00h,0DCh
31E4:6245  00 0F 38 87 6D 20                    db       00h, 0Fh, 38h, 87h, 6Dh, 20h
31E4:624B  AD 00 00 00 01 70                    db      0ADh, 00h, 00h, 00h, 01h, 70h
31E4:6251  87 6D 20 E5 00 00                    db       87h, 6Dh, 20h,0E5h, 00h, 00h
31E4:6257  00 01 6E 84 90 40                    db       00h, 01h, 6Eh, 84h, 90h, 40h
31E4:625D  E4 00 DD 00 0F AE                    db      0E4h, 00h,0DDh, 00h, 0Fh,0AEh
31E4:6263  87 91 20 DB 00 00                    db       87h, 91h, 20h,0DBh, 00h, 00h
31E4:6269  00 01 E6 87 DD 47                    db       00h, 01h,0E6h, 87h,0DDh, 47h
31E4:626F  7B 08 00 00 02 1B                    db       7Bh, 08h, 00h, 00h, 02h, 1Bh
31E4:6275  88 DD 47 7B 08 00                    db       88h,0DDh, 47h, 7Bh, 08h, 00h
31E4:627B  00 02 AE 88 DD 47                    db       00h, 02h,0AEh, 88h,0DDh, 47h
31E4:6281  31 08 00 00 02 D8                    db       31h, 08h, 00h, 00h, 02h,0D8h
31E4:6287  88 DD 47 7B 08 00                    db       88h,0DDh, 47h, 7Bh, 08h, 00h
31E4:628D  00 02 10 89 DD 47                    db       00h, 02h, 10h, 89h,0DDh, 47h
31E4:6293  7B 08 00 00 02 69                    db       7Bh, 08h, 00h, 00h, 02h, 69h
31E4:6299  8A DD 47 7B 08 00                    db       8Ah,0DDh, 47h, 7Bh, 08h, 00h
31E4:629F  00 02 98 84 49 41                    db       00h, 02h, 98h, 84h, 49h, 41h
31E4:62A5  5B 01 00 00 0F D9                    db       5Bh, 01h, 00h, 00h, 0Fh,0D9h
31E4:62AB  86 80 41 81 01 00                    db       86h, 80h, 41h, 81h, 01h, 00h
31E4:62B1  00 0F 0E 87 7D 41                    db       00h, 0Fh, 0Eh, 87h, 7Dh, 41h
31E4:62B7  62 01 00 00 0F A4                    db       62h, 01h, 00h, 00h, 0Fh,0A4h
31E4:62BD  8A DD 47 05 0C 00                    db       8Ah,0DDh, 47h, 05h, 0Ch, 00h
31E4:62C3  00 02 4B 89 DD 47                    db       00h, 02h, 4Bh, 89h,0DDh, 47h
31E4:62C9  7B 08 00 00 02 75                    db       7Bh, 08h, 00h, 00h, 02h, 75h
31E4:62CF  89 DD 47 7B 08 00                    db       89h,0DDh, 47h, 7Bh, 08h, 00h
31E4:62D5  00 02 B0 89 DD 47                    db       00h, 02h,0B0h, 89h,0DDh, 47h
31E4:62DB  7B 08 00 00 02 DA                    db       7Bh, 08h, 00h, 00h, 02h,0DAh
31E4:62E1  89 DD 47 7B 08 00                    db       89h,0DDh, 47h, 7Bh, 08h, 00h
31E4:62E7  00 02 C7 84 F3 48                    db       00h, 02h,0C7h, 84h,0F3h, 48h
31E4:62ED  F4                                   db      0F4h
31E4:62EE                       loc_2135:
31E4:62EE  08 00                                or      [bx+si],al
31E4:62F0  00 0F                                add     [bx],cl
31E4:62F2  56                                   push    si
31E4:62F3  86 7B 41                             xchg    [bp+di+41h],bh
31E4:62F6  7C 01                ;*              jl      loc_2136                ;*Jump if <
31E4:62F6  7C 01                                db       7Ch, 01h
31E4:62F8  00 00                                add     [bx+si],al
31E4:62FA  0F                   ;*              pop     cs                      ; Dangerous-8088 only
31E4:62FA  0F                                   db      0Fh
31E4:62FB  15 DD8A                              adc     ax,0DD8Ah
31E4:62FE  47                                   inc     di
31E4:62FF  7B 08                ;*              jnp     loc_2137                ;*Jump if not parity
31E4:62FF  7B 08                                db       7Bh, 08h
31E4:6301  00 00                                add     [bx+si],al
31E4:6303  02 3F                                add     bh,[bx]
31E4:6305  8A DD                                mov     bl,ch
31E4:6307  47                                   inc     di
31E4:6308  7B 08                                jnp     loc_2138                ; Jump if not parity
31E4:630A  00 00                                add     [bx+si],al
31E4:630C  02 80 5086                           add     al,data_822[bx+si]      ; (31E4:5086=5Ch)
31E4:6310  41                                   inc     cx
31E4:6311  53                                   push    bx
31E4:6312                       loc_2138:                                       ;  xref 31E4:6308
31E4:6312  01 00                                add     [bx+si],ax
31E4:6314  00 0F                                add     [bx],cl
31E4:6316  AF                                   scasw                           ; Scan es:[di] for ax
31E4:6317  86 51 41                             xchg    [bx+di+41h],dl
31E4:631A  52                                   push    dx
31E4:631B  01 00                                add     [bx+si],ax
31E4:631D  00 0F                                add     [bx],cl
31E4:631F  CE                                   into                            ; Int 4 on overflow
31E4:6320  8A DD                                mov     bl,ch
31E4:6322  47                                   inc     di
31E4:6323  7B 08                                jnp     $+0Ah                   ; Jump if not parity
31E4:6325  00 00                                add     [bx+si],al
31E4:6327  04 09                                add     al,9
31E4:6329  8B DD                                mov     bx,bp
31E4:632B  47                                   inc     di
31E4:632C  07                                   pop     es
31E4:632D  0C 00                                or      al,0
31E4:632F  00 04                                add     [si],al
31E4:6331  33 8B 47DD                           xor     cx,[bp+di+47DDh]
31E4:6335  07                                   pop     es
31E4:6336  0C 00                                or      al,0
31E4:6338  00 04                                add     [si],al
31E4:633A  5D                                   pop     bp
31E4:633B  8B DD                                mov     bx,bp
31E4:633D  47                                   inc     di
31E4:633E  07                                   pop     es
31E4:633F  0C 00                                or      al,0
31E4:6341  00 04                                add     [si],al
31E4:6343  87 8B 47DD                           xchg    [bp+di+47DDh],cx
31E4:6347  07                                   pop     es
31E4:6348  0C 00                                or      al,0
31E4:634A  00 04                                add     [si],al
31E4:634C  B1 8B                                mov     cl,8Bh
31E4:634E  DD 47 07                             fld     qword ptr [bx+7]        ; Push onto stack
31E4:6351  0C 00                                or      al,0
31E4:6353  00 04                                add     [si],al
31E4:6355  DB 8B DD 47 07 0C                    db      0DBh, 8Bh,0DDh, 47h, 07h, 0Ch
31E4:635B  00 00 04 F1 84 5D                    db       00h, 00h, 04h,0F1h, 84h, 5Dh
31E4:6361  41 5E 01 00 00 0F                    db       41h, 5Eh, 01h, 00h, 00h, 0Fh
31E4:6367  1B 85 4E 4B 4D 0B                    db       1Bh, 85h, 4Eh, 4Bh, 4Dh, 0Bh
31E4:636D  00 00 0F 45 85 65                    db       00h, 00h, 0Fh, 45h, 85h, 65h
31E4:6373  0B 66 0B 00 00 0F                    db       0Bh, 66h, 0Bh, 00h, 00h, 0Fh
31E4:6379  6F 85 67 0B 68 0B                    db       6Fh, 85h, 67h, 0Bh, 68h, 0Bh
31E4:637F  00 00 0F 99 85 7E                    db       00h, 00h, 0Fh, 99h, 85h, 7Eh
31E4:6385  41 7F 01 00 00 0F                    db       41h, 7Fh, 01h, 00h, 00h, 0Fh
31E4:638B  C8 85 FE 2F 15 10                    db      0C8h, 85h,0FEh, 2Fh, 15h, 10h
31E4:6391  14 10 0F F2 85 FF                    db       14h, 10h, 0Fh,0F2h, 85h,0FFh
31E4:6397  2F 00 10 00 00 08                    db       2Fh, 00h, 10h, 00h, 00h, 08h
31E4:639D  27 86 6B 21 6C 01                    db       27h, 86h, 6Bh, 21h, 6Ch, 01h
31E4:63A3  00 00 0F 1C 86 74                    db       00h, 00h, 0Fh, 1Ch, 86h, 74h
31E4:63A9  81 75 01 00 00 0F                    db       81h, 75h, 01h, 00h, 00h, 0Fh
31E4:63AF  FF FF                                db      0FFh,0FFh

31E4:63B1  A3              hotspot_table_4      db      0A3h

31E4:63B2  6C 86 40 9A 00 00                    db       6Ch, 86h, 40h, 9Ah, 00h, 00h
31E4:63B8  00 01 6F 6C EA 40                    db       00h, 01h, 6Fh, 6Ch,0EAh, 40h
31E4:63BE  EB 00 00 00 01 89                    db      0EBh, 00h, 00h, 00h, 01h, 89h
31E4:63C4  6C E8 40 E9 00 00                    db       6Ch,0E8h, 40h,0E9h, 00h, 00h
31E4:63CA  00 01 65 6C 04 41                    db       00h, 01h, 65h, 6Ch, 04h, 41h
31E4:63D0  05 01 00 00 01 56                    db       05h, 01h, 00h, 00h, 01h, 56h
31E4:63D6  6C 06 21 07 01 00                    db       6Ch, 06h, 21h, 07h, 01h, 00h
31E4:63DC  00 01 44 6C 1A 21                    db       00h, 01h, 44h, 6Ch, 1Ah, 21h
31E4:63E2  1B 01 00 00 01 35                    db       1Bh, 01h, 00h, 00h, 01h, 35h
31E4:63E8  6C 10 21 0D 01 00                    db       6Ch, 10h, 21h, 0Dh, 01h, 00h
31E4:63EE  00 01 26 6C 0F 21                    db       00h, 01h, 26h, 6Ch, 0Fh, 21h
31E4:63F4  0E 01 00 00 01 0D                    db       0Eh, 01h, 00h, 00h, 01h, 0Dh
31E4:63FA  6C 24 21 25 01 00                    db       6Ch, 24h, 21h, 25h, 01h, 00h
31E4:6400  00 01 1C 6C 11 21                    db       00h, 01h, 1Ch, 6Ch, 11h, 21h
31E4:6406  12 01 00 00 01 FB                    db       12h, 01h, 00h, 00h, 01h,0FBh
31E4:640C  6B 21 21 22 01 00                    db       6Bh, 21h, 21h, 22h, 01h, 00h
31E4:6412  00 01 E9 6B EC 27                    db       00h, 01h,0E9h, 6Bh,0ECh, 27h
31E4:6418  ED 07 00 00 02 D7                    db      0EDh, 07h, 00h, 00h, 02h,0D7h
31E4:641E  6B 33 48 32 08 00                    db       6Bh, 33h, 48h, 32h, 08h, 00h
31E4:6424  00 02 C4 6B EA 40                    db       00h, 02h,0C4h, 6Bh,0EAh, 40h
31E4:642A  61 08 00 00 02 BA                    db       61h, 08h, 00h, 00h, 02h,0BAh
31E4:6430  6B 2F 08 2D 08 00                    db       6Bh, 2Fh, 08h, 2Dh, 08h, 00h
31E4:6436  00 02 B0 6B 2F 08                    db       00h, 02h,0B0h, 6Bh, 2Fh, 08h
31E4:643C  74 08 00 00 02 A6                    db       74h, 08h, 00h, 00h, 02h,0A6h
31E4:6442  6B 71 48 7E 08 00                    db       6Bh, 71h, 48h, 7Eh, 08h, 00h
31E4:6448  00 02 A6 6B 71 08                    db       00h, 02h,0A6h, 6Bh, 71h, 08h
31E4:644E  7E 08 00 00 02 9C                    db       7Eh, 08h, 00h, 00h, 02h, 9Ch
31E4:6454  6B 7F 08 68 08 00                    db       6Bh, 7Fh, 08h, 68h, 08h, 00h
31E4:645A  00 02 88 6B 7F 08                    db       00h, 02h, 88h, 6Bh, 7Fh, 08h
31E4:6460  82 08 00 00 02 92                    db       82h, 08h, 00h, 00h, 02h, 92h
31E4:6466  6B 83 08 6E 08 00                    db       6Bh, 83h, 08h, 6Eh, 08h, 00h
31E4:646C  00 02 7E 6B 71 08                    db       00h, 02h, 7Eh, 6Bh, 71h, 08h
31E4:6472  85 08 00 00 02 74                    db       85h, 08h, 00h, 00h, 02h, 74h
31E4:6478  6B 83 08 87 08 00                    db       6Bh, 83h, 08h, 87h, 08h, 00h
31E4:647E  00 02 6A 6B 83 08                    db       00h, 02h, 6Ah, 6Bh, 83h, 08h
31E4:6484  89 08 00 00 02 60                    db       89h, 08h, 00h, 00h, 02h, 60h
31E4:648A  6B 30 08 65 08 00                    db       6Bh, 30h, 08h, 65h, 08h, 00h
31E4:6490  00 02 56 6B 30 08                    db       00h, 02h, 56h, 6Bh, 30h, 08h
31E4:6496  2E 08 00 00 02                       db       2Eh, 08h, 00h, 00h, 02h
31E4:649B  4C 6B                                db       4Ch, 6Bh
31E4:649D  0009[00]                             db      9 dup (0)
31E4:64A6  C8 09 C9 09 00 00                    db      0C8h, 09h,0C9h, 09h, 00h, 00h
31E4:64AC  00 B4 6C 2F 08 FB                    db       00h,0B4h, 6Ch, 2Fh, 08h,0FBh
31E4:64B2  0B 00 00 02 14 6B                    db       0Bh, 00h, 00h, 02h, 14h, 6Bh
31E4:64B8  E0 4F E3 0F 00 00                    db      0E0h, 4Fh,0E3h, 0Fh, 00h, 00h
31E4:64BE  08 3D 6B E1 0F E2                    db       08h, 3Dh, 6Bh,0E1h, 0Fh,0E2h
31E4:64C4  0F 00 00 08 29 6B                    db       0Fh, 00h, 00h, 08h, 29h, 6Bh
31E4:64CA  E1 0F E6 0F 00 00                    db      0E1h, 0Fh,0E6h, 0Fh, 00h, 00h
31E4:64D0  08 29 6B E1 0F E6                    db       08h, 29h, 6Bh,0E1h, 0Fh,0E6h
31E4:64D6  0F 00 00 08 29 6B                    db       0Fh, 00h, 00h, 08h, 29h, 6Bh
31E4:64DC  E1 0F E6 0F 00 00                    db      0E1h, 0Fh,0E6h, 0Fh, 00h, 00h
31E4:64E2  08 29 6B E1 0F E6                    db       08h, 29h, 6Bh,0E1h, 0Fh,0E6h
31E4:64E8  0F 00 00 08 29 6B                    db       0Fh, 00h, 00h, 08h, 29h, 6Bh
31E4:64EE  E1 0F E6 0F 00 00                    db      0E1h, 0Fh,0E6h, 0Fh, 00h, 00h
31E4:64F4  08 33 6B E1 0F E6                    db       08h, 33h, 6Bh,0E1h, 0Fh,0E6h
31E4:64FA  0F 00 00 08 33 6B                    db       0Fh, 00h, 00h, 08h, 33h, 6Bh
31E4:6500  E1 0F E6 0F 00 00                    db      0E1h, 0Fh,0E6h, 0Fh, 00h, 00h
31E4:6506  08 33 6B E1 0F E6                    db       08h, 33h, 6Bh,0E1h, 0Fh,0E6h
31E4:650C  0F 00 00 08 A4 6A                    db       0Fh, 00h, 00h, 08h,0A4h, 6Ah
31E4:6512  DD 47 7B 08 00 00                    db      0DDh, 47h, 7Bh, 08h, 00h, 00h
31E4:6518  01 C2 6A A7 0B A3                    db       01h,0C2h, 6Ah,0A7h, 0Bh,0A3h
31E4:651E                       loc_2139:
31E4:651E  0B 00                                or      ax,[bx+si]
31E4:6520  00 02                                add     [bp+si],al
31E4:6522  C2 A76A                              retn    0A76Ah
                                                                                ;* No entry point to code
31E4:6525  0B A4 000B                           or      sp,word ptr copyright+0Bh[si] ; (31E4:000B=7665h)
31E4:6529  00 02                                add     [bp+si],al
31E4:652B  B8 A86A                              mov     ax,0A86Ah
31E4:652E  0B A5 000B                           or      sp,word ptr copyright+0Bh[di] ; (31E4:000B=7665h)
31E4:6532  00 02                                add     [bp+si],al
31E4:6534  B8 A86A                              mov     ax,0A86Ah
31E4:6537  0B A6 000B                           or      sp,[bp+0Bh]
31E4:653B  00 02                                add     [bp+si],al
31E4:653D  AE                                   scasb                           ; Scan es:[di] for al
31E4:653E  6A 83 08 FF 0B 00                    db       6Ah, 83h, 08h,0FFh, 0Bh, 00h
31E4:6544  00 00 9A 6A DD 47                    db       00h, 00h, 9Ah, 6Ah,0DDh, 47h
31E4:654A  7B 08 00 00 00 7F                    db       7Bh, 08h, 00h, 00h, 00h, 7Fh
31E4:6550  6A 85 40 AE 00 00                    db       6Ah, 85h, 40h,0AEh, 00h, 00h
31E4:6556  00 01 70 6A 54 0C                    db       00h, 01h, 70h, 6Ah, 54h, 0Ch
31E4:655C  55 0C 00 00 02 5E                    db       55h, 0Ch, 00h, 00h, 02h, 5Eh
31E4:6562  6A 58 0C 79 0C 00                    db       6Ah, 58h, 0Ch, 79h, 0Ch, 00h
31E4:6568  00 02 54 6A EE 40                    db       00h, 02h, 54h, 6Ah,0EEh, 40h
31E4:656E  61 0C 00 00 02 54                    db       61h, 0Ch, 00h, 00h, 02h, 54h
31E4:6574  6A 7D 0C 60 0C 00                    db       6Ah, 7Dh, 0Ch, 60h, 0Ch, 00h
31E4:657A  00 02 54 6A 7E 0C                    db       00h, 02h, 54h, 6Ah, 7Eh, 0Ch
31E4:6580  5F 0C 00 00 02 54                    db       5Fh, 0Ch, 00h, 00h, 02h, 54h
31E4:6586  6A 7F 0C 5E 0C 00                    db       6Ah, 7Fh, 0Ch, 5Eh, 0Ch, 00h
31E4:658C  00 02 54 6A 80 0C                    db       00h, 02h, 54h, 6Ah, 80h, 0Ch
31E4:6592  5C 0C 00 00 02 45                    db       5Ch, 0Ch, 00h, 00h, 02h, 45h
31E4:6598  6A FC 0F FD 0F 00                    db       6Ah,0FCh, 0Fh,0FDh, 0Fh, 00h
31E4:659E  00 08 3B 6A 02 30                    db       00h, 08h, 3Bh, 6Ah, 02h, 30h
31E4:65A4  03 10 00 00 08 31                    db       03h, 10h, 00h, 00h, 08h, 31h
31E4:65AA  6A 04 30 05 10 00                    db       6Ah, 04h, 30h, 05h, 10h, 00h
31E4:65B0  00 08 27 6A 90 20                    db       00h, 08h, 27h, 6Ah, 90h, 20h
31E4:65B6  06 10 00 00 08 27                    db       06h, 10h, 00h, 00h, 08h, 27h
31E4:65BC  6A 07 10 08 10 00                    db       6Ah, 07h, 10h, 08h, 10h, 00h
31E4:65C2  00 08 27 6A 09 10                    db       00h, 08h, 27h, 6Ah, 09h, 10h
31E4:65C8  0A 10 00 00 08 27                    db       0Ah, 10h, 00h, 00h, 08h, 27h
31E4:65CE  6A 0B 10 0C 10 00                    db       6Ah, 0Bh, 10h, 0Ch, 10h, 00h
31E4:65D4  00 08 27 6A 0D 10                    db       00h, 08h, 27h, 6Ah, 0Dh, 10h
31E4:65DA  0E 10 00 00 02 13                    db       0Eh, 10h, 00h, 00h, 02h, 13h
31E4:65E0  6A 19 10 1A 10 00                    db       6Ah, 19h, 10h, 1Ah, 10h, 00h
31E4:65E6  00 08 1D 6A F3 08                    db       00h, 08h, 1Dh, 6Ah,0F3h, 08h
31E4:65EC  B8 0C 00 00 02 FF                    db      0B8h, 0Ch, 00h, 00h, 02h,0FFh
31E4:65F2  FF                                   db      0FFh
              player_action_support_record:
31E4:65F3  03E0[00]                             db      992 dup (0)

31E4:69D3  20 00                                db       20h, 00h
31E4:69D5  0042[00]                             db      66 dup (0)
31E4:6A17  57 6D 2D 00 00 00                    db       57h, 6Dh, 2Dh, 00h, 00h, 00h
31E4:6A1D  00 00 00 00 57 6D                    db       00h, 00h, 00h, 00h, 57h, 6Dh
31E4:6A23  24 00 00 00 00 00                    db       24h, 00h, 00h, 00h, 00h, 00h
31E4:6A29  00 00 57 6D 2B 00                    db       00h, 00h, 57h, 6Dh, 2Bh, 00h
31E4:6A2F  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:6A35  57 6D 2B 00 00 00                    db       57h, 6Dh, 2Bh, 00h, 00h, 00h
31E4:6A3B  00 00 00 00 57 6D                    db       00h, 00h, 00h, 00h, 57h, 6Dh
31E4:6A41  2B 00 00 00 00 00                    db       2Bh, 00h, 00h, 00h, 00h, 00h
31E4:6A47  00 00 4F 6A 2B 00                    db       00h, 00h, 4Fh, 6Ah, 2Bh, 00h
31E4:6A4D  00 00 01 00 10 BD                    db       00h, 00h, 01h, 00h, 10h,0BDh
31E4:6A53  12 00 00 00 00 57                    db       12h, 00h, 00h, 00h, 00h, 57h
31E4:6A59  6D 22 00 00 00 00                    db       6Dh, 22h, 00h, 00h, 00h, 00h
31E4:6A5F  00 00 00 57 6D 09                    db       00h, 00h, 00h, 57h, 6Dh, 09h
31E4:6A65  00 00 00 02 00 01                    db       00h, 00h, 00h, 02h, 00h, 01h
31E4:6A6B  0B 80 10 2F 0E 01                    db       0Bh, 80h, 10h, 2Fh, 0Eh, 01h
31E4:6A71  02 00 00 68 6A 1E                    db       02h, 00h, 00h, 68h, 6Ah, 1Eh
31E4:6A77  00 01 00 01 00 11                    db       00h, 01h, 00h, 01h, 00h, 11h
31E4:6A7D  1F 02 00 00 01 00                    db       1Fh, 02h, 00h, 00h, 01h, 00h
31E4:6A83  7A 6A 01 00 03 00                    db       7Ah, 6Ah, 01h, 00h, 03h, 00h
31E4:6A89  05 00 01 10 80 06                    db       05h, 00h, 01h, 10h, 80h, 06h
31E4:6A8F  06 80 07 07 00 08                    db       06h, 80h, 07h, 07h, 00h, 08h
31E4:6A95  36 09 09 36 09 E1                    db       36h, 09h, 09h, 36h, 09h,0E1h
31E4:6A9B  03 00 00 89 6A 0C                    db       03h, 00h, 00h, 89h, 6Ah, 0Ch
31E4:6AA1  00 00 00 E0 01 00                    db       00h, 00h, 00h,0E0h, 01h, 00h
31E4:6AA7  00 89 6A 04                          db       00h, 89h, 6Ah, 04h
31E4:6AAB  0007[00]                             db      7 dup (0)
31E4:6AB2  57 6D 0C 00 00 00                    db       57h, 6Dh, 0Ch, 00h, 00h, 00h
31E4:6AB8  00 00 00 00 57 6D                    db       00h, 00h, 00h, 00h, 57h, 6Dh
31E4:6ABE  23 00 00 00 00 00                    db       23h, 00h, 00h, 00h, 00h, 00h
31E4:6AC4  00 00 57 6D 13 00                    db       00h, 00h, 57h, 6Dh, 13h, 00h
31E4:6ACA  00 00 02 00 0A 66                    db       00h, 00h, 02h, 00h, 0Ah, 66h
31E4:6AD0  12 01 0B 80                          db       12h, 01h, 0Bh, 80h

; Hotspot entry 46Bh contains a loading routine offset for the copy protection check

31E4:6AD4  39 41 00 00 CC 6A                    db       39h, 41h, 00h, 00h, 0cch, 6ah
31E4:6ADA  FF FF 00                             db      0FFh,0FFh, 00h
31E4:6ADD  3AFE                                 dw       offset copy_protection_check
31E4:6ADF  00 00 64                             db       00h, 00h, 64h
31E4:6AE2  00 64 00 10 00 01                    db       00h, 64h, 00h, 10h, 00h, 01h
31E4:6AE8  00 03 01 02 00 40                    db       00h, 03h, 01h, 02h, 00h, 40h
31E4:6AEE  CC 6A 02 00 00 72                    db      0CCh, 6Ah, 02h, 00h, 00h, 72h
31E4:6AF4  71 00 00 64 00 64                    db       71h, 00h, 00h, 64h, 00h, 64h
31E4:6AFA  00 10 00 01 00 03                    db       00h, 10h, 00h, 01h, 00h, 03h
31E4:6B00  00 BD 41 02 00 02                    db       00h,0BDh, 41h, 02h, 00h, 02h
31E4:6B06  00 02 00 00 00 A9                    db       00h, 02h, 00h, 00h, 00h,0A9h
31E4:6B0C  58 00 00 00 00 00                    db       58h, 00h, 00h, 00h, 00h, 00h
31E4:6B12  00 00 09 02 00 40                    db       00h, 00h, 09h, 02h, 00h, 40h
31E4:6B18  1E 6B 2A 00 02 00                    db       1Eh, 6Bh, 2Ah, 00h, 02h, 00h
31E4:6B1E  03 00 0A 50 04 04                    db       03h, 00h, 0Ah, 50h, 04h, 04h
31E4:6B24  30 04 01 30 04 00                    db       30h, 04h, 01h, 30h, 04h, 00h
31E4:6B2A  00 00 00 57 6D 2A                    db       00h, 00h, 00h, 57h, 6Dh, 2Ah
31E4:6B30  00 02 00 00 00 00                    db       00h, 02h, 00h, 00h, 00h, 00h
31E4:6B36  00 57 6D 2A 00 03                    db       00h, 57h, 6Dh, 2Ah, 00h, 03h
31E4:6B3C  00 00 00 00 00 47                    db       00h, 00h, 00h, 00h, 00h, 47h
31E4:6B42  6B 2A 00 02 00 01                    db       6Bh, 2Ah, 00h, 02h, 00h, 01h
31E4:6B48  00 10 B6 12 00 00                    db       00h, 10h,0B6h, 12h, 00h, 00h
31E4:6B4E  00 00 57 6D 22 00                    db       00h, 00h, 57h, 6Dh, 22h, 00h
31E4:6B54  01 00 00 00 00 00                    db       01h, 00h, 00h, 00h, 00h, 00h
31E4:6B5A  57 6D 0A 00 03 00                    db       57h, 6Dh, 0Ah, 00h, 03h, 00h
31E4:6B60  00 00 00 00 57 6D                    db       00h, 00h, 00h, 00h, 57h, 6Dh
31E4:6B66  0C 00 00 00 00 00                    db       0Ch, 00h, 00h, 00h, 00h, 00h
31E4:6B6C  00 00 57 6D 1D 00                    db       00h, 00h, 57h, 6Dh, 1Dh, 00h
31E4:6B72  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:6B78  57 6D 1C 00 00 00                    db       57h, 6Dh, 1Ch, 00h, 00h, 00h
31E4:6B7E  00 00 00 00 57 6D                    db       00h, 00h, 00h, 00h, 57h, 6Dh
31E4:6B84  14 00 00 00 00 00                    db       14h, 00h, 00h, 00h, 00h, 00h
31E4:6B8A  00 00 57 6D 11 00                    db       00h, 00h, 57h, 6Dh, 11h, 00h
31E4:6B90  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:6B96  57 6D 11 00 00 00                    db       57h, 6Dh, 11h, 00h, 00h, 00h
31E4:6B9C  00 00 00 00 57 6D                    db       00h, 00h, 00h, 00h, 57h, 6Dh
31E4:6BA2  0E                                   db       0Eh
31E4:6BA3  0007[00]                             db      7 dup (0)
31E4:6BAA  57 6D 09 00 00 00                    db       57h, 6Dh, 09h, 00h, 00h, 00h
31E4:6BB0  00 00 00 00 57 6D                    db       00h, 00h, 00h, 00h, 57h, 6Dh
31E4:6BB6  13 00 00 00 00 00                    db       13h, 00h, 00h, 00h, 00h, 00h
31E4:6BBC  00 00 57 6D 0A 00                    db       00h, 00h, 57h, 6Dh, 0Ah, 00h
31E4:6BC2  00 00 00 02 00 50                    db       00h, 00h, 00h, 02h, 00h, 50h
31E4:6BC8  CE 6B 1E 00 01 00                    db      0CEh, 6Bh, 1Eh, 00h, 01h, 00h
31E4:6BCE  02 00 0A 4F 0B 01                    db       02h, 00h, 0Ah, 4Fh, 0Bh, 01h
31E4:6BD4  00 0B 80 01 02 00                    db       00h, 0Bh, 80h, 01h, 02h, 00h
31E4:6BDA  40 E1 6B 13 00 00                    db       40h,0E1h, 6Bh, 13h, 00h, 00h
31E4:6BE0  00 02 00 0A 81 09                    db       00h, 02h, 00h, 0Ah, 81h, 09h
31E4:6BE6  01 0B 80 01 02 00                    db       01h, 0Bh, 80h, 01h, 02h, 00h
31E4:6BEC  00 F3 6B 1C 00 01                    db       00h,0F3h, 6Bh, 1Ch, 00h, 01h
31E4:6BF2  00 02 00 01 50 0D                    db       00h, 02h, 00h, 01h, 50h, 0Dh
31E4:6BF8  05 FB 08 10 00 00                    db       05h,0FBh, 08h, 10h, 00h, 00h
31E4:6BFE  00 05                                db       00h, 05h
31E4:6C00  6C                   data_891        db      6Ch
31E4:6C01  04 00 03 00 02 00                    db       04h, 00h, 03h, 00h, 02h, 00h
31E4:6C07  01 12 80 05 21 80                    db       01h, 12h, 80h, 05h, 21h, 80h
31E4:6C0D  01 02 00 00 17 6C                    db       01h, 02h, 00h, 00h, 17h, 6Ch
31E4:6C13  01 00 00 00 01 00                    db       01h, 00h, 00h, 00h, 01h, 00h
31E4:6C19  01 1F 80 00 00 00                    db       01h, 1Fh, 80h, 00h, 00h, 00h
31E4:6C1F  00 57 6D 03 00 01                    db       00h, 57h, 6Dh, 03h, 00h, 01h
31E4:6C25  00 00 00 00 00 30                    db       00h, 00h, 00h, 00h, 00h, 30h
31E4:6C2B  6C 03 00 00 00 01                    db       6Ch, 03h, 00h, 00h, 00h, 01h
31E4:6C31  00 01 19 80 00 00                    db       00h, 01h, 19h, 80h, 00h, 00h
31E4:6C37  00 00 3F 6C 03 00                    db       00h, 00h, 3Fh, 6Ch, 03h, 00h
31E4:6C3D  03 00 01 00 01 19                    db       03h, 00h, 01h, 00h, 01h, 19h
31E4:6C43  80 01 02 00 00 4E                    db       80h, 01h, 02h, 00h, 00h, 4Eh
31E4:6C49  6C 04 00 01 00 02                    db       6Ch, 04h, 00h, 01h, 00h, 02h
31E4:6C4F  00 0A AD 07 01 0B                    db       00h, 0Ah,0ADh, 07h, 01h, 0Bh
31E4:6C55  80 00 00 00 00 60                    db       80h, 00h, 00h, 00h, 00h, 60h
31E4:6C5B  6C 03 00 00 00 01                    db       6Ch, 03h, 00h, 00h, 00h, 01h
31E4:6C61  00 01 12 80 00 00                    db       00h, 01h, 12h, 80h, 00h, 00h
31E4:6C67  00 00 4E 6C 02 00                    db       00h, 00h, 4Eh, 6Ch, 02h, 00h
31E4:6C6D  00 00 70 02 00 40                    db       00h, 00h, 70h, 02h, 00h, 40h
31E4:6C73  78 6C 03 00 00 05                    db       78h, 6Ch, 03h, 00h, 00h, 05h
31E4:6C79  00 06 41 2C 05 41                    db       00h, 06h, 41h, 2Ch, 05h, 41h
31E4:6C7F  2C 07 03 80 0A F8                    db       2Ch, 07h, 03h, 80h, 0Ah,0F8h
31E4:6C85  07 01 0B 80 2D 02                    db       07h, 01h, 0Bh, 80h, 2Dh, 02h
31E4:6C8B  00 00 92 6C 03 00                    db       00h, 00h, 92h, 6Ch, 03h, 00h
31E4:6C91  00 05 00 01 10 80                    db       00h, 05h, 00h, 01h, 10h, 80h
31E4:6C97  04 13 80 03 13 80                    db       04h, 13h, 80h, 03h, 13h, 80h
31E4:6C9D  06 14 80 10 AF 12                    db       06h, 14h, 80h, 10h,0AFh, 12h

31E4:6CA3  00 00 01 00 AC 6C                    db       00h, 00h, 01h, 00h,0ACh, 6Ch
31E4:6CA9  03 00 00 02 00 01                    db       03h, 00h, 00h, 02h, 00h, 01h
31E4:6CAF  0B 80 11 21 05 00                    db       0Bh, 80h, 11h, 21h, 05h, 00h
31E4:6CB5  00 01 00 BD 6C 13                    db       00h, 01h, 00h,0BDh, 6Ch, 13h
31E4:6CBB  00 00 01 00 11 3C                    db       00h, 00h, 01h, 00h, 11h, 3Ch
31E4:6CC1  02 40 04                             db       02h, 40h, 04h
31E4:6CC4  0020[00]                             db      32 dup (0)
31E4:6CE4  0001                 data_893        dw      1
31E4:6CE6  0009[00]                             db      9 dup (0)

; This is the hotspot resource that represents the player character, and is returned
; when a call to get_room_resource_pointer is done with id = 3e8h

31E4:6CEF  00             player_hotspot_rec    db      0
31E4:6CF0  00 00 40 57 6D                       db       00h, 00h, 40h, 57h, 6Dh
31E4:6CF5  0001           player_room_number    dw      1
31E4:6CF7  00 67 71                             db       00h, 67h, 71h
31E4:6CFA  0000                 data_897        dw      0
31E4:6CFC  0110                 data_898        dw      110h
31E4:6CFE  00FA                 data_899        dw      0FAh
31E4:6D00  20 00 30 00 01 01                    db       20h, 00h, 30h, 00h, 01h, 01h
31E4:6D06  5E44          player_tick_handler    dw      offset player_tick_proc
31E4:6D08  20 00 30 00 08 00                    db       20h, 00h, 30h, 00h, 08h, 00h
31E4:6D0E  00 00 80 5C 80 00                    db       00h, 00h, 80h, 5Ch, 80h, 00h
31E4:6D14  0010[00]                             db      16 dup (0)
31E4:6D24  F8 04 00                             db      0F8h, 04h, 00h
31E4:6D27  0022[00]                             db      34 dup (0)

....
31E4:6D31  0000                                 dw      0
31E4:6D33  00                                   db      0
....
31E4:6D49  73 66                                db       73h, 66h
31E4:6D4B  0007[00]                             db      7 dup (0)
31E4:6D52  00            player_action_state    db      0
31E4:6D53  F3 65 00 00 00 00                    db      0F3h, 65h, 00h, 00h, 00h, 00h
31E4:6D59  04 00 0B 88 17 12                    db       04h, 00h, 0Bh, 88h, 17h, 12h
31E4:6D5F  8C 1B 0D B0 1C 0C                    db       8Ch, 1Bh, 0Dh,0B0h, 1Ch, 0Ch
31E4:6D65  43 15                                db       43h, 15h

31E4:6D67  00 0C 82 00     skorl_hotspot_rec    db       00h, 0Ch, 82h, 00h
31E4:6D6B  59 6D 03 00 00 67                    db       59h, 6Dh, 03h, 00h, 00h, 67h
31E4:6D71  71 00 00 32 01 E8                    db       71h, 00h, 00h, 32h, 01h,0E8h
31E4:6D77  00 20 00 30 00 01                    db       00h, 20h, 00h, 30h, 00h, 01h
31E4:6D7D  01 FA 7E 20 00 30                    db       01h,0FAh, 7Eh, 20h, 00h, 30h
31E4:6D83  00 08 00 00 00 BF                    db       00h, 08h, 00h, 00h, 00h,0BFh
31E4:6D89  5C 9E                                db       5Ch, 9Eh
31E4:6D8B  0009[00]                             db      9 dup (0)
31E4:6D94  C2 15 00 00 2C 01                    db      0C2h, 15h, 00h, 00h, 2Ch, 01h
31E4:6D9A  00 00 00 04 00                       db       00h, 00h, 00h, 04h, 00h
31E4:6D9F  000D[00]                             db      13 dup (0)
31E4:6DAC  C2 14 00                             db      0C2h, 14h, 00h
31E4:6DAF  0012[00]                             db      18 dup (0)
31E4:6DC1  F3 66                                db      0F3h, 66h
31E4:6DC3  0007[00]                             db      7 dup (0)
31E4:6DCA  02 B7 35 03                          db       02h,0B7h, 35h, 03h
31E4:6DCE  0010[00]                             db      16 dup (0)
31E4:6DDE  02 00 0B 88 17 12                    db       02h, 00h, 0Bh, 88h, 17h, 12h
31E4:6DE4  8C 1B                                db       8Ch, 1Bh

                  village_skorl_hotspot_rec:
31E4:6DE6  00 0C 82 00                          db       00h, 0Ch, 82h, 00h
31E4:6DEA  DE 6D 13 00 00 67                    db      0DEh, 6Dh, 13h, 00h, 00h, 67h
31E4:6DF0  71 00 00 39 01 F3                    db       71h, 00h, 00h, 39h, 01h,0F3h
31E4:6DF6  00 20 00 30 00 01                    db       00h, 20h, 00h, 30h, 00h, 01h
31E4:6DFC  01 82 4F 20 00 30                    db       01h, 82h, 4Fh, 20h, 00h, 30h
31E4:6E02  00 08 00 00 00 BF                    db       00h, 08h, 00h, 00h, 00h,0BFh
31E4:6E08  5C 9E                                db       5Ch, 9Eh
31E4:6E0A  0009[00]                             db      9 dup (0)
31E4:6E13  15 15 00 00 64 00                    db       15h, 15h, 00h, 00h, 64h, 00h
31E4:6E19  00 00 00 04 28 00                    db       00h, 00h, 00h, 04h, 28h, 00h
31E4:6E1F  00 00 00 50 0B                       db       00h, 00h, 00h, 50h, 0Bh
31E4:6E24  0007[00]                             db      7 dup (0)
31E4:6E2B  D9 14                                db      0D9h, 14h
31E4:6E2D  0013[00]                             db      19 dup (0)
31E4:6E40  33 69 00 00 00 00                    db       33h, 69h, 00h, 00h, 00h, 00h
31E4:6E46  00 00 00 02 5D 6E                    db       00h, 00h, 00h, 02h, 5Dh, 6Eh
31E4:6E4C  13 00                                db       13h, 00h
31E4:6E4E  000F[00]                             db      15 dup (0)
31E4:6E5D  1C 00 13 00 00 00                    db       1Ch, 00h, 13h, 00h, 00h, 00h
31E4:6E63  23 00 D1 1D FB 6E                    db       23h, 00h,0D1h, 1Dh,0FBh, 6Eh
31E4:6E69  21 00 4C 75 1F 00                    db       21h, 00h, 4Ch, 75h, 1Fh, 00h
31E4:6E6F  23 00 E2 1D FB 6E                    db       23h, 00h,0E2h, 1Dh,0FBh, 6Eh
31E4:6E75  1C 00 23 00 FB 6E                    db       1Ch, 00h, 23h, 00h,0FBh, 6Eh
31E4:6E7B  24 00 36 04 FB 6E                    db       24h, 00h, 36h, 04h,0FBh, 6Eh
31E4:6E81  23 00 E2 1D EF 6E                    db       23h, 00h,0E2h, 1Dh,0EFh, 6Eh
31E4:6E87  1E 00 B9 2A 25 00                    db       1Eh, 00h,0B9h, 2Ah, 25h, 00h
31E4:6E8D  36 04 AF 0A 00 00                    db       36h, 04h,0AFh, 0Ah, 00h, 00h
31E4:6E93  B0 0A 11 00 23 00                    db      0B0h, 0Ah, 11h, 00h, 23h, 00h
31E4:6E99  E2 1D EF 6E 25 00                    db      0E2h, 1Dh,0EFh, 6Eh, 25h, 00h
31E4:6E9F  36 04 B1 0A 11 00                    db       36h, 04h,0B1h, 0Ah, 11h, 00h
31E4:6EA5  B2 0A 1E 00 23 00                    db      0B2h, 0Ah, 1Eh, 00h, 23h, 00h
31E4:6EAB  E2 1D EF 6E 25 00                    db      0E2h, 1Dh,0EFh, 6Eh, 25h, 00h
31E4:6EB1  36 04 B3 0A 50 00                    db       36h, 04h,0B3h, 0Ah, 50h, 00h
31E4:6EB7  B4 0A 0A 00 23 00                    db      0B4h, 0Ah, 0Ah, 00h, 23h, 00h
31E4:6EBD  E2 1D EF 6E 25 00                    db      0E2h, 1Dh,0EFh, 6Eh, 25h, 00h
31E4:6EC3  36 04 B5 0A 00 00                    db       36h, 04h,0B5h, 0Ah, 00h, 00h
31E4:6EC9  B6 0A 37 00 23 00                    db      0B6h, 0Ah, 37h, 00h, 23h, 00h
31E4:6ECF  E2 1D EF 6E 25 00                    db      0E2h, 1Dh,0EFh, 6Eh, 25h, 00h
31E4:6ED5  36 04 B7 0A 14 00                    db       36h, 04h,0B7h, 0Ah, 14h, 00h
31E4:6EDB  B8 0A 32 00 1F 00                    db      0B8h, 0Ah, 32h, 00h, 1Fh, 00h
31E4:6EE1  1F 00 1F 00 1F 00                    db       1Fh, 00h, 1Fh, 00h, 1Fh, 00h
31E4:6EE7  28 00 BE 87 22 00                    db       28h, 00h,0BEh, 87h, 22h, 00h
31E4:6EED  FB 6E 25 00 36 04                    db      0FBh, 6Eh, 25h, 00h, 36h, 04h
31E4:6EF3  AD 0A 00 00 AE 0A                    db      0ADh, 0Ah, 00h, 00h,0AEh, 0Ah
31E4:6EF9  00 00 1E 00 C0 2A                    db       00h, 00h, 1Eh, 00h,0C0h, 2Ah
31E4:6EFF  1C 00 12 00 00 00                    db       1Ch, 00h, 12h, 00h, 00h, 00h
31E4:6F05  1C 00 16 00 00 00                    db       1Ch, 00h, 16h, 00h, 00h, 00h
31E4:6F0B  1C 00 13 00 00 00                    db       1Ch, 00h, 13h, 00h, 00h, 00h
31E4:6F11  23 00 7D 1E 2B 6F                    db       23h, 00h, 7Dh, 1Eh, 2Bh, 6Fh
31E4:6F17  1C 00 1E 00 00 00                    db       1Ch, 00h, 1Eh, 00h, 00h, 00h
31E4:6F1D  1E 00 8A 1E 1C 00                    db       1Eh, 00h, 8Ah, 1Eh, 1Ch, 00h
31E4:6F23  13 00 00 00 07 00                    db       13h, 00h, 00h, 00h, 07h, 00h
31E4:6F29  17 27 1C 00 14 00                    db       17h, 27h, 1Ch, 00h, 14h, 00h
31E4:6F2F  00 00 1C 00 1B 00                    db       00h, 00h, 1Ch, 00h, 1Bh, 00h
31E4:6F35  00 00 1C 00 09 00                    db       00h, 00h, 1Ch, 00h, 09h, 00h
31E4:6F3B  00 00 20 00 1C 00                    db       00h, 00h, 20h, 00h, 1Ch, 00h
31E4:6F41  20 00 C3 6F 24 00                    db       20h, 00h,0C3h, 6Fh, 24h, 00h
31E4:6F47  29 04 C3 6F 1E 00                    db       29h, 04h,0C3h, 6Fh, 1Eh, 00h
31E4:6F4D  F4 1E 25 00 29 04                    db      0F4h, 1Eh, 25h, 00h, 29h, 04h
31E4:6F53  F2 0A 00 00 AB 0C                    db      0F2h, 0Ah, 00h, 00h,0ABh, 0Ch
31E4:6F59  00 00 25 00 29 04                    db       00h, 00h, 25h, 00h, 29h, 04h
31E4:6F5F  F4 0A 00 00 F5 0A                    db      0F4h, 0Ah, 00h, 00h,0F5h, 0Ah
31E4:6F65  00 00 25 00 29 04                    db       00h, 00h, 25h, 00h, 29h, 04h
31E4:6F6B  F6 0A 00 00 00 00                    db      0F6h, 0Ah, 00h, 00h, 00h, 00h
31E4:6F71  00 00 22 00 C3 6F                    db       00h, 00h, 22h, 00h,0C3h, 6Fh
31E4:6F77  25 00 29 04 CB 0B                    db       25h, 00h, 29h, 04h,0CBh, 0Bh
31E4:6F7D  00 00 CC 0B 00 00                    db       00h, 00h,0CCh, 0Bh, 00h, 00h
31E4:6F83  25 00 29 04 CD 0B                    db       25h, 00h, 29h, 04h,0CDh, 0Bh
31E4:6F89  00 00 CE 0B 00 00                    db       00h, 00h,0CEh, 0Bh, 00h, 00h
31E4:6F8F  25 00 29 04 CF 0B                    db       25h, 00h, 29h, 04h,0CFh, 0Bh
31E4:6F95  00 00 D0 0B 00 00                    db       00h, 00h,0D0h, 0Bh, 00h, 00h
31E4:6F9B  22 00 C3 6F 25 00                    db       22h, 00h,0C3h, 6Fh, 25h, 00h
31E4:6FA1  29 04 D1 0B 00 00                    db       29h, 04h,0D1h, 0Bh, 00h, 00h
31E4:6FA7  D2 0B 00 00 25 00                    db      0D2h, 0Bh, 00h, 00h, 25h, 00h
31E4:6FAD  29 04 D3 0B 00 00                    db       29h, 04h,0D3h, 0Bh, 00h, 00h
31E4:6FB3  D4 0B 00 00 25 00                    db      0D4h, 0Bh, 00h, 00h, 25h, 00h
31E4:6FB9  29 04 D5 0B 00 00                    db       29h, 04h,0D5h, 0Bh, 00h, 00h
31E4:6FBF  00 00 00 00 1C 00                    db       00h, 00h, 00h, 00h, 1Ch, 00h
31E4:6FC5  13 00 00 00 21 00                    db       13h, 00h, 00h, 00h, 21h, 00h
31E4:6FCB  17 27 23 00 E4 1E                    db       17h, 27h, 23h, 00h,0E4h, 1Eh
31E4:6FD1  17 6F 1C 00 0E 00                    db       17h, 6Fh, 1Ch, 00h, 0Eh, 00h
31E4:6FD7  00 00 1C 00 0A 00                    db       00h, 00h, 1Ch, 00h, 0Ah, 00h
31E4:6FDD  00 00 1C 00 0C 00                    db       00h, 00h, 1Ch, 00h, 0Ch, 00h
31E4:6FE3  00 00 22 00 5D 6E                    db       00h, 00h, 22h, 00h, 5Dh, 6Eh
31E4:6FE9  00 0C 82 00                          db       00h, 0Ch, 82h, 00h
31E4:6FED  59 6D                                db       59h, 6Dh
31E4:6FEF  0063                 data_914        dw      63h
31E4:6FF1  00 67 71 00 00 71                    db       00h, 67h, 71h, 00h, 00h, 71h
31E4:6FF7  01 18 01 20 00 30                    db       01h, 18h, 01h, 20h, 00h, 30h
31E4:6FFD  00 01 01 02 7F 20                    db       00h, 01h, 01h, 02h, 7Fh, 20h
31E4:7003  00 30 00 08 00 00                    db       00h, 30h, 00h, 08h, 00h, 00h
31E4:7009  00 BF 5C 9E                          db       00h,0BFh, 5Ch, 9Eh
31E4:700D  0009[00]                             db      9 dup (0)
31E4:7016  02 16 00 00 64 00                    db       02h, 16h, 00h, 00h, 64h, 00h
31E4:701C  00 00 00 04                          db       00h, 00h, 00h, 04h
31E4:7020  000E[00]                             db      14 dup (0)
31E4:702E  AB 14 00                             db      0ABh, 14h, 00h
31E4:7031  0012[00]                             db      18 dup (0)
31E4:7043  33 69 00 00 00 00                    db       33h, 69h, 00h, 00h, 00h, 00h
31E4:7049  00 00 00 02                          db       00h, 00h, 00h, 02h
31E4:704D  60 70 2D                             db       60h, 70h, 2Dh
31E4:7050  0010[00]                             db      16 dup (0)
31E4:7060  28 00 1C 88 21 00                    db       28h, 00h, 1Ch, 88h, 21h, 00h
31E4:7066  E8 03 21 00 E8 03                    db      0E8h, 03h, 21h, 00h,0E8h, 03h
31E4:706C  1C 00 2C 00 00 00                    db       1Ch, 00h, 2Ch, 00h, 00h, 00h
31E4:7072  21 00 E8 03 21 00                    db       21h, 00h,0E8h, 03h, 21h, 00h
31E4:7078  E8 03 1C 00 2B 00                    db      0E8h, 03h, 1Ch, 00h, 2Bh, 00h
31E4:707E  00 00 21 00 E8 03                    db       00h, 00h, 21h, 00h,0E8h, 03h
31E4:7084  21 00 E8 03 1C 00                    db       21h, 00h,0E8h, 03h, 1Ch, 00h
31E4:708A  2A 00 00 00 21 00                    db       2Ah, 00h, 00h, 00h, 21h, 00h
31E4:7090  E8 03 21 00 4E 75                    db      0E8h, 03h, 21h, 00h, 4Eh, 75h
31E4:7096  1E 00 49 1E 21 00                    db       1Eh, 00h, 49h, 1Eh, 21h, 00h
31E4:709C  E8 03 1E 00 42 1E                    db      0E8h, 03h, 1Eh, 00h, 42h, 1Eh
31E4:70A2  21 00 E8 03 20 00                    db       21h, 00h,0E8h, 03h, 20h, 00h
31E4:70A8  22 00 9E 70 03 00                    db       22h, 00h, 9Eh, 70h, 03h, 00h
31E4:70AE  0B 33 18 12 32 1C                    db       0Bh, 33h, 18h, 12h, 32h, 1Ch
31E4:70B4  0D B0 1C 00 00                       db       0Dh,0B0h, 1Ch, 00h, 00h

31E4:70B9  1C00         ratpouch_hotspot_rec    dw      1C00h
31E4:70BB  0082                                 dw      82h
31E4:70BD  70AC                                 dw      70ACh
31E4:70BF  0005                                 dw      5
31E4:70C1  00 67 71 00 00 B4                    db       00h, 67h, 71h, 00h, 00h,0B4h
31E4:70C7  00 E9 00 20 00 30                    db       00h,0E9h, 00h, 20h, 00h, 30h
31E4:70CD  00 01 01 14 7C 20                    db       00h, 01h, 01h, 14h, 7Ch, 20h
31E4:70D3  00 30 00 08 00 00                    db       00h, 30h, 00h, 08h, 00h, 00h
31E4:70D9  00 D4 5C AD                          db       00h,0D4h, 5Ch,0ADh
31E4:70DD  0009[00]                             db      9 dup (0)
31E4:70E6  55 16 00 00 96 00                    db       55h, 16h, 00h, 00h, 96h, 00h
31E4:70EC  00 00 F6 0A 28 00                    db       00h, 00h,0F6h, 0Ah, 28h, 00h
31E4:70F2  E8                                   db      0E8h
31E4:70F3                       loc_2141:
31E4:70F3  03 00                                add     ax,[bx+si]
31E4:70F5  9C                                   pushf                           ; Push flags
31E4:70F6  00 00 00 00 00                       db      0, 0, 0, 0, 0
31E4:70FB  002A                 data_923        dw      2Ah
31E4:70FD  05                   data_924        db      5
31E4:70FE  F9 12 00                             db      0F9h, 12h, 00h
31E4:7101  0012[00]                             db      18 dup (0)
31E4:7113  33 67 73 67 00 00                    db       33h, 67h, 73h, 67h, 00h, 00h
31E4:7119  00 00 00 02 D3 69                    db       00h, 00h, 00h, 02h,0D3h, 69h
31E4:711F  04                                   db       04h
31E4:7120  0015[00]                             db      21 dup (0)
31E4:7135  1C 00 07 00 00 00                    db       1Ch, 00h, 07h, 00h, 00h, 00h
31E4:713B  20 00 1F 00 1E 00                    db       20h, 00h, 1Fh, 00h, 1Eh, 00h
31E4:7141  97 16 00 00 03 00                    db       97h, 16h, 00h, 00h, 03h, 00h
31E4:7147  0B 88 17 12 8C 1B                    db       0Bh, 88h, 17h, 12h, 8Ch, 1Bh
31E4:714D  0D BD 1C 00 0C 02                    db       0Dh,0BDh, 1Ch, 00h, 0Ch, 02h
31E4:7153  00 45 71 2C 00 00                    db       00h, 45h, 71h, 2Ch, 00h, 00h
31E4:7159  67 71 00 00 4A 01                    db       67h, 71h, 00h, 00h, 4Ah, 01h
31E4:715F  02 01 20 00 30 00                    db       02h, 01h, 20h, 00h, 30h, 00h
31E4:7165  01 01 82 4F 20 00                    db       01h, 01h, 82h, 4Fh, 20h, 00h
31E4:716B  30 00 08 00 00 00                    db       30h, 00h, 08h, 00h, 00h, 00h
31E4:7171  67 5D 80 00 00                       db       67h, 5Dh, 80h, 00h, 00h
31E4:7176  0007[00]                             db      7 dup (0)
31E4:717D  7B 15 00 00 96 00                    db       7Bh, 15h, 00h, 00h, 96h, 00h
31E4:7183  00 00 F8 09 00                       db       00h, 00h,0F8h, 09h, 00h
31E4:7188  000D[00]                             db      13 dup (0)
31E4:7195  88 14                                db       88h, 14h
31E4:7197  0013[00]                             db      19 dup (0)
31E4:71AA  73 69 B3 69 00 00                    db       73h, 69h,0B3h, 69h, 00h, 00h
31E4:71B0  00 00 00 02 CC                       db       00h, 00h, 00h, 02h,0CCh
31E4:71B5  71 2C                                db       71h, 2Ch
31E4:71B7  0015[00]                             db      21 dup (0)
31E4:71CC  20 00 1C 00 2A 00                    db       20h, 00h, 1Ch, 00h, 2Ah, 00h
31E4:71D2  00 00 21 00 4E 75                    db       00h, 00h, 21h, 00h, 4Eh, 75h
31E4:71D8  1F 00 1C 00 2D 00                    db       1Fh, 00h, 1Ch, 00h, 2Dh, 00h
31E4:71DE  00 00 25 00 37 04                    db       00h, 00h, 25h, 00h, 37h, 04h
31E4:71E4  A5 0F 00 00 A6 0F                    db      0A5h, 0Fh, 00h, 00h,0A6h, 0Fh
31E4:71EA  00 00 25 00 37 04                    db       00h, 00h, 25h, 00h, 37h, 04h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 464

31E4:71F0  A7 0F 00 00 A8 0F                    db      0A7h, 0Fh, 00h, 00h,0A8h, 0Fh
31E4:71F6  00 00 1C 00 2A 00                    db       00h, 00h, 1Ch, 00h, 2Ah, 00h
31E4:71FC  00 00 20 00 1C 00                    db       00h, 00h, 20h, 00h, 1Ch, 00h
31E4:7202  2D 00 00 00 25 00                    db       2Dh, 00h, 00h, 00h, 25h, 00h
31E4:7208  37 04 A9 0F 00 00                    db       37h, 04h,0A9h, 0Fh, 00h, 00h
31E4:720E  AA 0F 00 00 25 00                    db      0AAh, 0Fh, 00h, 00h, 25h, 00h
31E4:7214  37 04 AB 0F 00 00                    db       37h, 04h,0ABh, 0Fh, 00h, 00h
31E4:721A  AC 0F 00 00 1C 00                    db      0ACh, 0Fh, 00h, 00h, 1Ch, 00h
31E4:7220  2A 00 00 00 20 00                    db       2Ah, 00h, 00h, 00h, 20h, 00h
31E4:7226  1C 00 2D 00 00 00                    db       1Ch, 00h, 2Dh, 00h, 00h, 00h
31E4:722C  25 00 37 04 AD 0F                    db       25h, 00h, 37h, 04h,0ADh, 0Fh
31E4:7232  00 00 AE 0F 00 00                    db       00h, 00h,0AEh, 0Fh, 00h, 00h
31E4:7238  25 00 37 04 AF 0F                    db       25h, 00h, 37h, 04h,0AFh, 0Fh
31E4:723E  00 00 B0 0F 00 00                    db       00h, 00h,0B0h, 0Fh, 00h, 00h
31E4:7244  22 00 CE 71 1C 00                    db       22h, 00h,0CEh, 71h, 1Ch, 00h
31E4:724A  2D 00 00 00 25 00                    db       2Dh, 00h, 00h, 00h, 25h, 00h
31E4:7250  37 04 C9 0F 00 00                    db       37h, 04h,0C9h, 0Fh, 00h, 00h
31E4:7256  CA 0F 00 00 25 00                    db      0CAh, 0Fh, 00h, 00h, 25h, 00h
31E4:725C  37 04 CB 0F 00 00                    db       37h, 04h,0CBh, 0Fh, 00h, 00h
31E4:7262  CC 0F 00                             db      0CCh, 0Fh, 00h
31E4:7265                       loc_2142:
31E4:7265  00 1E FF00                           add     ds:data_1202e,bl        ; (31E4:FF00=2Fh)
31E4:7269  1D 0022                              sbb     ax,22h
31E4:726C  A2 1C72                              mov     byte ptr data_691,al    ; (31E4:1C72='           ')
31E4:726F  00 2D                                add     [di],ch
31E4:7271  00 00                                add     [bx+si],al
31E4:7273  00 25                                add     [di],ah
31E4:7275  00 37                                add     [bx],dh
31E4:7277  04 CD                                add     al,0CDh
31E4:7279  0F                   ;*              pop     cs                      ; Dangerous-8088 only
31E4:7279  0F                                   db      0Fh
31E4:727A  00 00                                add     [bx+si],al
31E4:727C  CE                                   into                            ; Int 4 on overflow
31E4:727D  0F                   ;*              pop     cs                      ; Dangerous-8088 only
31E4:727D  0F                                   db      0Fh
31E4:727E  00 00                                add     [bx+si],al
31E4:7280  1E                                   push    ds
31E4:7281  00 BE 1F20                           add     [bp+1F20h],bh
31E4:7285  00 22                                add     [bp+si],ah
31E4:7287  00 CE                                add     dh,cl
31E4:7289  71 1C                ;*              jno     loc_2143                ;*Jump if not overflw
31E4:7289  71 1C                                db       71h, 1Ch
31E4:728B  00 2D                                add     [di],ch
31E4:728D  00 00                                add     [bx+si],al
31E4:728F  00 25                                add     [di],ah
31E4:7291  00 37                                add     [bx],dh
31E4:7293  04 CF                                add     al,0CFh
31E4:7295  0F                   ;*              pop     cs                      ; Dangerous-8088 only
31E4:7295  0F                                   db      0Fh
31E4:7296  00 00                                add     [bx+si],al
31E4:7298  D0 0F                                ror     byte ptr [bx],1         ; Rotate
31E4:729A  00 00                                add     [bx+si],al
31E4:729C  1F                                   pop     ds
31E4:729D  00 1E FF00                           add     ds:data_1202e,bl        ; (31E4:FF00=2Fh)
31E4:72A1  1D 0020                              sbb     ax,20h
31E4:72A4  1F                                   pop     ds
31E4:72A5  00 1E 4200                           add     ds:data_62e,bl          ; (0002:4200=0C4h)
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 465

31E4:72A9  1E                                   push    ds
31E4:72AA  20 00                                and     [bx+si],al
31E4:72AC  1F                                   pop     ds
31E4:72AD  00 20                                add     [bx+si],ah
31E4:72AF  00 1F                                add     [bx],bl
31E4:72B1  00 20                                add     [bx+si],ah
31E4:72B3  00 1F                                add     [bx],bl
31E4:72B5  00 20                                add     [bx+si],ah
31E4:72B7  00 1F                                add     [bx],bl
31E4:72B9  00 20                                add     [bx+si],ah
31E4:72BB  00 1F                                add     [bx],bl
31E4:72BD  00 20                                add     [bx+si],ah
31E4:72BF  00 1F                                add     [bx],bl
31E4:72C1  00 22                                add     [bp+si],ah
31E4:72C3  00 A2 0272                           add     [bp+si+272h],ah
31E4:72C7  00 0B                                add     [bp+di],cl
31E4:72C9  D9 17                                fst     dword ptr [bx]          ; Store st to memory
31E4:72CB  12 8C 001B                           adc     cl,ds:data_61e[si]      ; (0002:001B=0C8h)
31E4:72CF  0C 82                                or      al,82h
31E4:72D1  00 C6                                add     dh,al
31E4:72D3  72 17                ;*              jc      loc_2144                ;*Jump if carry Set
31E4:72D3  72 17                                db       72h, 17h
31E4:72D5  00 00                                add     [bx+si],al
31E4:72D7  67 71 00 00 16 01                    db       67h, 71h, 00h, 00h, 16h, 01h
31E4:72DD  F8 00 20 00 30 00                    db      0F8h, 00h, 20h, 00h, 30h, 00h
31E4:72E3  01 01 82 4F 20 00                    db       01h, 01h, 82h, 4Fh, 20h, 00h
31E4:72E9  30 00                                db       30h, 00h
31E4:72EB  08                                   db      8
31E4:72EC  00 00 00 E9 5C 9E                    db       00h, 00h, 00h,0E9h, 5Ch, 9Eh
31E4:72F2  0009[00]                             db      9 dup (0)
31E4:72FB  54 15 00 00 96 00                    db       54h, 15h, 00h, 00h, 96h, 00h
31E4:7301  00 00 F8 04 28 00                    db       00h, 00h,0F8h, 04h, 28h, 00h
31E4:7307  00 00 00 50 0B                       db       00h, 00h, 00h, 50h, 0Bh
31E4:730C  0007[00]                             db      7 dup (0)
31E4:7313  54 13 00                             db       54h, 13h, 00h
31E4:7316  0012[00]                             db      18 dup (0)
31E4:7328  93 67                                db       93h, 67h
31E4:732A  0007[00]                             db      7 dup (0)
31E4:7331  02 4A 73 17                          db       02h, 4Ah, 73h, 17h
31E4:7335  0015[00]                             db      21 dup (0)
31E4:734A  1C 00 1C 00 00 00                    db       1Ch, 00h, 1Ch, 00h, 00h, 00h
31E4:7350  21 00 3B 75 21 00                    db       21h, 00h, 3Bh, 75h, 21h, 00h
31E4:7356  E5 03 1F 00 05 00                    db      0E5h, 03h, 1Fh, 00h, 05h, 00h
31E4:735C  3B 75 05 00 3B 75                    db       3Bh, 75h, 05h, 00h, 3Bh, 75h
31E4:7362  05 00 3B 75 05 00                    db       05h, 00h, 3Bh, 75h, 05h, 00h
31E4:7368  3B 75 05 00 3B 75                    db       3Bh, 75h, 05h, 00h, 3Bh, 75h
31E4:736E  21 00                                db       21h, 00h
31E4:7370                       loc_2145:
31E4:7370  3B 75 21                             cmp     si,[di+21h]
31E4:7373  00 E5                                add     ch,ah
31E4:7375  03 1F                                add     bx,[bx]
31E4:7377  00 05                                add     [di],al
31E4:7379  00 3B                                add     [bp+di],bh
31E4:737B  75 05                ;*              jnz     loc_2146                ;*Jump if not zero
31E4:737B  75 05                                db       75h, 05h
31E4:737D  00 3B                                add     [bp+di],bh
31E4:737F  75 05                ;*              jnz     loc_2147                ;*Jump if not zero
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 466

31E4:737F  75 05                                db       75h, 05h
31E4:7381  00 3B                                add     [bp+di],bh
31E4:7383  75 05                ;*              jnz     loc_2148                ;*Jump if not zero
31E4:7383  75 05                                db       75h, 05h
31E4:7385  00 3B                                add     [bp+di],bh
31E4:7387  75 05                ;*              jnz     loc_2149                ;*Jump if not zero
31E4:7387  75 05                                db       75h, 05h
31E4:7389  00 3B                                add     [bp+di],bh
31E4:738B  75 21                ;*              jnz     loc_2156                ;*Jump if not zero
31E4:738B  75 21                                db       75h, 21h
31E4:738D  00 3B                                add     [bp+di],bh
31E4:738F  75 21                ;*              jnz     loc_2157                ;*Jump if not zero
31E4:738F  75 21                                db       75h, 21h
31E4:7391  00 E5                                add     ch,ah
31E4:7393  03 1F                                add     bx,[bx]
31E4:7395  00 05                                add     [di],al
31E4:7397  00 3B                                add     [bp+di],bh
31E4:7399  75 05                ;*              jnz     loc_2152                ;*Jump if not zero
31E4:7399  75 05                                db       75h, 05h
31E4:739B  00 3B                                add     [bp+di],bh
31E4:739D  75 05                ;*              jnz     loc_2153                ;*Jump if not zero
31E4:739D  75 05                                db       75h, 05h
31E4:739F  00 3B                                add     [bp+di],bh
31E4:73A1  75 05                ;*              jnz     loc_2154                ;*Jump if not zero
31E4:73A1  75 05                                db       75h, 05h
31E4:73A3  00 3B                                add     [bp+di],bh
31E4:73A5  75 05                ;*              jnz     loc_2155                ;*Jump if not zero
31E4:73A5  75 05                                db       75h, 05h
31E4:73A7  00 3B                                add     [bp+di],bh
31E4:73A9  75 21                ;*              jnz     loc_2162                ;*Jump if not zero
31E4:73A9  75 21                                db       75h, 21h
31E4:73AB  00 3B                                add     [bp+di],bh
31E4:73AD  75 21                ;*              jnz     loc_2163                ;*Jump if not zero
31E4:73AD  75 21                                db       75h, 21h
31E4:73AF  00 E5                                add     ch,ah
31E4:73B1  03 1F                                add     bx,[bx]
31E4:73B3  00 05                                add     [di],al
31E4:73B5  00 3B                                add     [bp+di],bh
31E4:73B7  75 05                ;*              jnz     loc_2158                ;*Jump if not zero
31E4:73B7  75 05                                db       75h, 05h
31E4:73B9  00 3B                                add     [bp+di],bh
31E4:73BB  75 05                ;*              jnz     loc_2159                ;*Jump if not zero
31E4:73BB  75 05                                db       75h, 05h
31E4:73BD  00 3B                                add     [bp+di],bh
31E4:73BF  75 05                ;*              jnz     loc_2160                ;*Jump if not zero
31E4:73BF  75 05                                db       75h, 05h
31E4:73C1  00 3B                                add     [bp+di],bh
31E4:73C3  75 05                ;*              jnz     loc_2161                ;*Jump if not zero
31E4:73C3  75 05                                db       75h, 05h
31E4:73C5  00 3B                                add     [bp+di],bh
31E4:73C7  75 21                ;*              jnz     loc_2167                ;*Jump if not zero
31E4:73C7  75 21                                db       75h, 21h
31E4:73C9  00 E5                                add     ch,ah
31E4:73CB  03 1F                                add     bx,[bx]
31E4:73CD  00 05                                add     [di],al
31E4:73CF  00 3B                                add     [bp+di],bh
31E4:73D1  75 05                ;*              jnz     loc_2164                ;*Jump if not zero
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 467

31E4:73D1  75 05                                db       75h, 05h
31E4:73D3  00 3B                                add     [bp+di],bh
31E4:73D5  75 20                                jnz     loc_2168                ; Jump if not zero
31E4:73D7  00 05                                add     [di],al
31E4:73D9  00 3B                                add     [bp+di],bh
31E4:73DB  75 05                ;*              jnz     loc_2165                ;*Jump if not zero
31E4:73DB  75 05                                db       75h, 05h
31E4:73DD  00 3B                                add     [bp+di],bh
31E4:73DF  75 05                ;*              jnz     loc_2166                ;*Jump if not zero
31E4:73DF  75 05                                db       75h, 05h
31E4:73E1  00 3B                                add     [bp+di],bh
31E4:73E3  75 05                ;*              jnz     loc_2167                ;*Jump if not zero
31E4:73E3  75 05                                db       75h, 05h
31E4:73E5  00 3B                                add     [bp+di],bh
31E4:73E7  75 21                ;*              jnz     loc_2174                ;*Jump if not zero
31E4:73E7  75 21                                db       75h, 21h
31E4:73E9  00 E5                                add     ch,ah
31E4:73EB  03 1F                                add     bx,[bx]
31E4:73ED  00 05                                add     [di],al
31E4:73EF  00 3B                                add     [bp+di],bh
31E4:73F1  75 05                ;*              jnz     loc_2169                ;*Jump if not zero
31E4:73F1  75 05                                db       75h, 05h
31E4:73F3  00 3B                                add     [bp+di],bh
31E4:73F5  75 05                ;*              jnz     loc_2170                ;*Jump if not zero
31E4:73F5  75 05                                db       75h, 05h
31E4:73F7                       loc_2168:                                       ;  xref 31E4:73D5
31E4:73F7  00 3B                                add     [bp+di],bh
31E4:73F9  75 05                ;*              jnz     loc_2171                ;*Jump if not zero
31E4:73F9  75 05                                db       75h, 05h
31E4:73FB  00 3B                                add     [bp+di],bh
31E4:73FD  75 05                ;*              jnz     loc_2172                ;*Jump if not zero
31E4:73FD  75 05                                db       75h, 05h
31E4:73FF  00 3B                                add     [bp+di],bh
31E4:7401  75 05                ;*              jnz     loc_2173                ;*Jump if not zero
31E4:7401  75 05                                db       75h, 05h
31E4:7403  00 3B                                add     [bp+di],bh
31E4:7405  75 05                ;*              jnz     loc_2175                ;*Jump if not zero
31E4:7405  75 05                                db       75h, 05h
31E4:7407  00 3B                                add     [bp+di],bh
31E4:7409  75 05                ;*              jnz     loc_2176                ;*Jump if not zero
31E4:7409  75 05                                db       75h, 05h
31E4:740B  00 3B                                add     [bp+di],bh
31E4:740D  75 1C                                jnz     loc_2177                ; Jump if not zero
31E4:740F  00 12                                add     [bp+si],dl
31E4:7411  00 4A 73                             add     [bp+si+73h],cl
31E4:7414  20 00                                and     [bx+si],al
31E4:7416  1F                                   pop     ds
31E4:7417  00 1F                                add     [bx],bl
31E4:7419  00 1F                                add     [bx],bl
31E4:741B  00 1C                                add     [si],bl
31E4:741D  00 1C                                add     [si],bl
31E4:741F  00 EC                                add     ah,ch
31E4:7421  76 21                ;*              jbe     loc_2182                ;*Jump if below or =
31E4:7421  76 21                                db       76h, 21h
31E4:7423  00 3B                                add     [bp+di],bh
31E4:7425  75 21                ;*              jnz     loc_2184                ;*Jump if not zero
31E4:7425  75 21                                db       75h, 21h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 468

31E4:7427  00 E5                                add     ch,ah
31E4:7429  03 1F                                add     bx,[bx]
31E4:742B                       loc_2177:                                       ;  xref 31E4:740D
31E4:742B  00 05                                add     [di],al
31E4:742D  00 3B                                add     [bp+di],bh
31E4:742F  75 05                ;*              jnz     loc_2178                ;*Jump if not zero
31E4:742F  75 05                                db       75h, 05h
31E4:7431  00 3B                                add     [bp+di],bh
31E4:7433  75 05                ;*              jnz     loc_2179                ;*Jump if not zero
31E4:7433  75 05                                db       75h, 05h
31E4:7435  00 3B                                add     [bp+di],bh
31E4:7437  75 05                ;*              jnz     loc_2180                ;*Jump if not zero
31E4:7437  75 05                                db       75h, 05h
31E4:7439  00 3B                                add     [bp+di],bh
31E4:743B  75 05                ;*              jnz     loc_2181                ;*Jump if not zero
31E4:743B  75 05                                db       75h, 05h
31E4:743D  00 3B                                add     [bp+di],bh
31E4:743F  75 05                ;*              jnz     loc_2183                ;*Jump if not zero
31E4:743F  75 05                                db       75h, 05h
31E4:7441  00 3B                                add     [bp+di],bh
31E4:7443  75 21                ;*              jnz     loc_2190                ;*Jump if not zero
31E4:7443  75 21                                db       75h, 21h
31E4:7445  00 E5                                add     ch,ah
31E4:7447  03 1F                                add     bx,[bx]
31E4:7449  00 05                                add     [di],al
31E4:744B  00 3B                                add     [bp+di],bh
31E4:744D  75 05                ;*              jnz     loc_2185                ;*Jump if not zero
31E4:744D  75 05                                db       75h, 05h
31E4:744F  00 3B                                add     [bp+di],bh
31E4:7451  75 05                ;*              jnz     loc_2186                ;*Jump if not zero
31E4:7451  75 05                                db       75h, 05h
31E4:7453  00 3B                                add     [bp+di],bh
31E4:7455  75 05                ;*              jnz     loc_2187                ;*Jump if not zero
31E4:7455  75 05                                db       75h, 05h
31E4:7457  00 3B                                add     [bp+di],bh
31E4:7459  75 05                ;*              jnz     loc_2188                ;*Jump if not zero
31E4:7459  75 05                                db       75h, 05h
31E4:745B  00 3B                                add     [bp+di],bh
31E4:745D  75 05                ;*              jnz     loc_2189                ;*Jump if not zero
31E4:745D  75 05                                db       75h, 05h
31E4:745F  00 3B                                add     [bp+di],bh
31E4:7461  75 21                ;*              jnz     loc_2196                ;*Jump if not zero
31E4:7461  75 21                                db       75h, 21h
31E4:7463  00 E5                                add     ch,ah
31E4:7465  03 1F                                add     bx,[bx]
31E4:7467  00 05                                add     [di],al
31E4:7469  00 3B                                add     [bp+di],bh
31E4:746B  75 05                ;*              jnz     loc_2191                ;*Jump if not zero
31E4:746B  75 05                                db       75h, 05h
31E4:746D  00 3B                                add     [bp+di],bh
31E4:746F  75 05                ;*              jnz     loc_2192                ;*Jump if not zero
31E4:746F  75 05                                db       75h, 05h
31E4:7471  00 3B                                add     [bp+di],bh
31E4:7473  75 05                ;*              jnz     loc_2193                ;*Jump if not zero
31E4:7473  75 05                                db       75h, 05h
31E4:7475  00 3B                                add     [bp+di],bh
31E4:7477  75 05                ;*              jnz     loc_2194                ;*Jump if not zero
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 469

31E4:7477  75 05                                db       75h, 05h
31E4:7479  00 3B                                add     [bp+di],bh
31E4:747B  75 05                ;*              jnz     loc_2195                ;*Jump if not zero
31E4:747B  75 05                                db       75h, 05h
31E4:747D  00 3B                                add     [bp+di],bh
31E4:747F  75 1C                                jnz     loc_2198                ; Jump if not zero
31E4:7481  00 1C                                add     [si],bl
31E4:7483  00 00                                add     [bx+si],al
31E4:7485  00 21                                add     [bx+di],ah
31E4:7487  00 3B                                add     [bp+di],bh
31E4:7489  75 21                ;*              jnz     loc_2202                ;*Jump if not zero
31E4:7489  75 21                                db       75h, 21h
31E4:748B  00 E5                                add     ch,ah
31E4:748D  03 1F                                add     bx,[bx]
31E4:748F  00 05                                add     [di],al
31E4:7491  00 3B                                add     [bp+di],bh
31E4:7493  75 05                ;*              jnz     loc_2197                ;*Jump if not zero
31E4:7493  75 05                                db       75h, 05h
31E4:7495  00 3B                                add     [bp+di],bh
31E4:7497  75 05                ;*              jnz     loc_2199                ;*Jump if not zero
31E4:7497  75 05                                db       75h, 05h
31E4:7499  00 3B                                add     [bp+di],bh
31E4:749B  75 05                ;*              jnz     loc_2200                ;*Jump if not zero
31E4:749B  75 05                                db       75h, 05h
31E4:749D                       loc_2198:                                       ;  xref 31E4:747F
31E4:749D  00 3B                                add     [bp+di],bh
31E4:749F  75 05                ;*              jnz     loc_2201                ;*Jump if not zero
31E4:749F  75 05                                db       75h, 05h
31E4:74A1  00 3B                                add     [bp+di],bh
31E4:74A3  75 21                ;*              jnz     loc_2207                ;*Jump if not zero
31E4:74A3  75 21                                db       75h, 21h
31E4:74A5  00 3B                                add     [bp+di],bh
31E4:74A7  75 21                ;*              jnz     loc_2208                ;*Jump if not zero
31E4:74A7  75 21                                db       75h, 21h
31E4:74A9  00 E5                                add     ch,ah
31E4:74AB  03 1F                                add     bx,[bx]
31E4:74AD  00 05                                add     [di],al
31E4:74AF  00 3B                                add     [bp+di],bh
31E4:74B1  75 05                ;*              jnz     loc_2203                ;*Jump if not zero
31E4:74B1  75 05                                db       75h, 05h
31E4:74B3  00 3B                                add     [bp+di],bh
31E4:74B5  75 05                ;*              jnz     loc_2204                ;*Jump if not zero
31E4:74B5  75 05                                db       75h, 05h
31E4:74B7  00 3B                                add     [bp+di],bh
31E4:74B9  75 05                ;*              jnz     loc_2205                ;*Jump if not zero
31E4:74B9  75 05                                db       75h, 05h
31E4:74BB  00 3B                                add     [bp+di],bh
31E4:74BD  75 05                ;*              jnz     loc_2206                ;*Jump if not zero
31E4:74BD  75 05                                db       75h, 05h
31E4:74BF  00 3B                                add     [bp+di],bh
31E4:74C1  75 21                ;*              jnz     loc_2213                ;*Jump if not zero
31E4:74C1  75 21                                db       75h, 21h
31E4:74C3  00 3B                                add     [bp+di],bh
31E4:74C5  75 21                ;*              jnz     loc_2214                ;*Jump if not zero
31E4:74C5  75 21                                db       75h, 21h
31E4:74C7  00 E5                                add     ch,ah
31E4:74C9  03 1F                                add     bx,[bx]
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 470

31E4:74CB  00 05                                add     [di],al
31E4:74CD  00 3B                                add     [bp+di],bh
31E4:74CF  75 05                ;*              jnz     loc_2209                ;*Jump if not zero
31E4:74CF  75 05                                db       75h, 05h
31E4:74D1  00 3B                                add     [bp+di],bh
31E4:74D3  75 05                ;*              jnz     loc_2210                ;*Jump if not zero
31E4:74D3  75 05                                db       75h, 05h
31E4:74D5  00 3B                                add     [bp+di],bh
31E4:74D7  75 05                ;*              jnz     loc_2211                ;*Jump if not zero
31E4:74D7  75 05                                db       75h, 05h
31E4:74D9  00 3B                                add     [bp+di],bh
31E4:74DB  75 05                ;*              jnz     loc_2212                ;*Jump if not zero
31E4:74DB  75 05                                db       75h, 05h
31E4:74DD  00 3B                                add     [bp+di],bh
31E4:74DF  75 21                ;*              jnz     loc_2219                ;*Jump if not zero
31E4:74DF  75 21                                db       75h, 21h
31E4:74E1  00 3B                                add     [bp+di],bh
31E4:74E3  75 21                ;*              jnz     loc_2220                ;*Jump if not zero
31E4:74E3  75 21                                db       75h, 21h
31E4:74E5  00 E5                                add     ch,ah
31E4:74E7  03 1F                                add     bx,[bx]
31E4:74E9  00 05                                add     [di],al
31E4:74EB  00 3B                                add     [bp+di],bh
31E4:74ED  75 05                ;*              jnz     loc_2215                ;*Jump if not zero
31E4:74ED  75 05                                db       75h, 05h
31E4:74EF  00 3B                                add     [bp+di],bh
31E4:74F1  75 05                ;*              jnz     loc_2216                ;*Jump if not zero
31E4:74F1  75 05                                db       75h, 05h
31E4:74F3  00 3B                                add     [bp+di],bh
31E4:74F5  75 05                ;*              jnz     loc_2217                ;*Jump if not zero
31E4:74F5  75 05                                db       75h, 05h
31E4:74F7  00 3B                                add     [bp+di],bh
31E4:74F9  75 05                ;*              jnz     loc_2218                ;*Jump if not zero
31E4:74F9  75 05                                db       75h, 05h
31E4:74FB  00 3B                                add     [bp+di],bh
31E4:74FD  75 21                ;*              jnz     loc_2224                ;*Jump if not zero
31E4:74FD  75 21                                db       75h, 21h
31E4:74FF  00 E5                                add     ch,ah
31E4:7501  03 1F                                add     bx,[bx]
31E4:7503  00 05                                add     [di],al
31E4:7505  00 3B                                add     [bp+di],bh
31E4:7507  75 05                ;*              jnz     loc_2221                ;*Jump if not zero
31E4:7507  75 05                                db       75h, 05h
31E4:7509  00 3B                                add     [bp+di],bh
31E4:750B  75 20                                jnz     loc_2225                ; Jump if not zero
31E4:750D  00 05                                add     [di],al
31E4:750F  00 3B                                add     [bp+di],bh
31E4:7511  75 05                ;*              jnz     loc_2222                ;*Jump if not zero
31E4:7511  75 05                                db       75h, 05h
31E4:7513  00 3B                                add     [bp+di],bh
31E4:7515  75 05                ;*              jnz     loc_2223                ;*Jump if not zero
31E4:7515  75 05                                db       75h, 05h
31E4:7517  00 3B                                add     [bp+di],bh
31E4:7519  75 05                ;*              jnz     loc_2224                ;*Jump if not zero
31E4:7519  75 05                                db       75h, 05h
31E4:751B  00 3B                                add     [bp+di],bh
31E4:751D  75 21                ;*              jnz     loc_2231                ;*Jump if not zero
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 471

31E4:751D  75 21                                db       75h, 21h
31E4:751F  00 E5                                add     ch,ah
31E4:7521  03 1F                                add     bx,[bx]
31E4:7523  00 05                                add     [di],al
31E4:7525  00 3B                                add     [bp+di],bh
31E4:7527  75 05                ;*              jnz     loc_2226                ;*Jump if not zero
31E4:7527  75 05                                db       75h, 05h
31E4:7529  00 3B                                add     [bp+di],bh
31E4:752B  75 05                ;*              jnz     loc_2227                ;*Jump if not zero
31E4:752B  75 05                                db       75h, 05h
31E4:752D                       loc_2225:                                       ;  xref 31E4:750B
31E4:752D  00 3B                                add     [bp+di],bh
31E4:752F  75 05                ;*              jnz     loc_2228                ;*Jump if not zero
31E4:752F  75 05                                db       75h, 05h
31E4:7531  00 3B                                add     [bp+di],bh
31E4:7533  75 05                ;*              jnz     loc_2229                ;*Jump if not zero
31E4:7533  75 05                                db       75h, 05h
31E4:7535  00 3B                                add     [bp+di],bh
31E4:7537  75 05                ;*              jnz     loc_2230                ;*Jump if not zero
31E4:7537  75 05                                db       75h, 05h
31E4:7539  00 3B                                add     [bp+di],bh
31E4:753B  75 05                ;*              jnz     loc_2232                ;*Jump if not zero
31E4:753B  75 05                                db       75h, 05h
31E4:753D  00 3B                                add     [bp+di],bh
31E4:753F  75 05                ;*              jnz     loc_2233                ;*Jump if not zero
31E4:753F  75 05                                db       75h, 05h
31E4:7541  00 3B                                add     [bp+di],bh
31E4:7543  75 1C                                jnz     loc_2234                ; Jump if not zero
31E4:7545  00 12                                add     [bp+si],dl
31E4:7547  00 4A 73                             add     [bp+si+73h],cl
31E4:754A  20 00                                and     [bx+si],al
31E4:754C  1F                                   pop     ds
31E4:754D  00 1F                                add     [bx],bl
31E4:754F  00 1F                                add     [bx],bl
31E4:7551  00 1C                                add     [si],bl
31E4:7553  00 1C                                add     [si],bl
31E4:7555  00 EC                                add     ah,ch
31E4:7557  76 21                ;*              jbe     loc_2239                ;*Jump if below or =
31E4:7557  76 21                                db       76h, 21h
31E4:7559  00 3B                                add     [bp+di],bh
31E4:755B  75 21                ;*              jnz     loc_2241                ;*Jump if not zero
31E4:755B  75 21                                db       75h, 21h
31E4:755D  00 E5                                add     ch,ah
31E4:755F  03 1F                                add     bx,[bx]
31E4:7561                       loc_2234:                                       ;  xref 31E4:7543
31E4:7561  00 05                                add     [di],al
31E4:7563  00 3B                                add     [bp+di],bh
31E4:7565  75 05                ;*              jnz     loc_2235                ;*Jump if not zero
31E4:7565  75 05                                db       75h, 05h
31E4:7567  00 3B                                add     [bp+di],bh
31E4:7569  75 05                ;*              jnz     loc_2236                ;*Jump if not zero
31E4:7569  75 05                                db       75h, 05h
31E4:756B  00 3B                                add     [bp+di],bh
31E4:756D  75 05                ;*              jnz     loc_2237                ;*Jump if not zero
31E4:756D  75 05                                db       75h, 05h
31E4:756F  00 3B                                add     [bp+di],bh
31E4:7571  75 05                ;*              jnz     loc_2238                ;*Jump if not zero
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 472

31E4:7571  75 05                                db       75h, 05h
31E4:7573  00 3B                                add     [bp+di],bh
31E4:7575  75 05                ;*              jnz     loc_2240                ;*Jump if not zero
31E4:7575  75 05                                db       75h, 05h
31E4:7577  00 3B                                add     [bp+di],bh
31E4:7579  75 21                ;*              jnz     loc_2247                ;*Jump if not zero
31E4:7579  75 21                                db       75h, 21h
31E4:757B  00 E5                                add     ch,ah
31E4:757D  03 1F                                add     bx,[bx]
31E4:757F  00 05                                add     [di],al
31E4:7581  00 3B                                add     [bp+di],bh
31E4:7583  75 05                ;*              jnz     loc_2242                ;*Jump if not zero
31E4:7583  75 05                                db       75h, 05h
31E4:7585  00 3B                                add     [bp+di],bh
31E4:7587  75 05                ;*              jnz     loc_2243                ;*Jump if not zero
31E4:7587  75 05                                db       75h, 05h
31E4:7589  00 3B                                add     [bp+di],bh
31E4:758B  75 05                ;*              jnz     loc_2244                ;*Jump if not zero
31E4:758B  75 05                                db       75h, 05h
31E4:758D  00 3B                                add     [bp+di],bh
31E4:758F  75 05                ;*              jnz     loc_2245                ;*Jump if not zero
31E4:758F  75 05                                db       75h, 05h
31E4:7591  00 3B                                add     [bp+di],bh
31E4:7593  75 05                ;*              jnz     loc_2246                ;*Jump if not zero
31E4:7593  75 05                                db       75h, 05h
31E4:7595  00 3B                                add     [bp+di],bh
31E4:7597  75 21                ;*              jnz     loc_2253                ;*Jump if not zero
31E4:7597  75 21                                db       75h, 21h
31E4:7599  00 E5                                add     ch,ah
31E4:759B  03 1F                                add     bx,[bx]
31E4:759D  00 05                                add     [di],al
31E4:759F  00 3B                                add     [bp+di],bh
31E4:75A1  75 05                ;*              jnz     loc_2248                ;*Jump if not zero
31E4:75A1  75 05                                db       75h, 05h
31E4:75A3  00 3B                                add     [bp+di],bh
31E4:75A5  75 05                ;*              jnz     loc_2249                ;*Jump if not zero
31E4:75A5  75 05                                db       75h, 05h
31E4:75A7  00 3B                                add     [bp+di],bh
31E4:75A9  75 05                ;*              jnz     loc_2250                ;*Jump if not zero
31E4:75A9  75 05                                db       75h, 05h
31E4:75AB  00 3B                                add     [bp+di],bh
31E4:75AD  75 05                ;*              jnz     loc_2251                ;*Jump if not zero
31E4:75AD  75 05                                db       75h, 05h
31E4:75AF  00 3B                                add     [bp+di],bh
31E4:75B1  75 05                ;*              jnz     loc_2252                ;*Jump if not zero
31E4:75B1  75 05                                db       75h, 05h
31E4:75B3  00 3B                                add     [bp+di],bh
31E4:75B5  75 1C                                jnz     loc_2255                ; Jump if not zero
31E4:75B7  00 1C                                add     [si],bl
31E4:75B9  00 00                                add     [bx+si],al
31E4:75BB  00 21                                add     [bx+di],ah
31E4:75BD  00 3B                                add     [bp+di],bh
31E4:75BF  75 21                ;*              jnz     loc_2259                ;*Jump if not zero
31E4:75BF  75 21                                db       75h, 21h
31E4:75C1  00 E5                                add     ch,ah
31E4:75C3  03 1F                                add     bx,[bx]
31E4:75C5  00 05                                add     [di],al
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 473

31E4:75C7  00 3B                                add     [bp+di],bh
31E4:75C9  75 05                ;*              jnz     loc_2254                ;*Jump if not zero
31E4:75C9  75 05                                db       75h, 05h
31E4:75CB  00 3B                                add     [bp+di],bh
31E4:75CD  75 05                ;*              jnz     loc_2256                ;*Jump if not zero
31E4:75CD  75 05                                db       75h, 05h
31E4:75CF  00 3B                                add     [bp+di],bh
31E4:75D1  75 05                ;*              jnz     loc_2257                ;*Jump if not zero
31E4:75D1  75 05                                db       75h, 05h
31E4:75D3                       loc_2255:                                       ;  xref 31E4:75B5
31E4:75D3  00 3B                                add     [bp+di],bh
31E4:75D5  75 05                ;*              jnz     loc_2258                ;*Jump if not zero
31E4:75D5  75 05                                db       75h, 05h
31E4:75D7  00 3B                                add     [bp+di],bh
31E4:75D9  75 21                ;*              jnz     loc_2264                ;*Jump if not zero
31E4:75D9  75 21                                db       75h, 21h
31E4:75DB  00 3B                                add     [bp+di],bh
31E4:75DD  75 21                ;*              jnz     loc_2265                ;*Jump if not zero
31E4:75DD  75 21                                db       75h, 21h
31E4:75DF  00 E5                                add     ch,ah
31E4:75E1  03 1F                                add     bx,[bx]
31E4:75E3  00 05                                add     [di],al
31E4:75E5  00 3B                                add     [bp+di],bh
31E4:75E7  75 05                ;*              jnz     loc_2260                ;*Jump if not zero
31E4:75E7  75 05                                db       75h, 05h
31E4:75E9  00 3B                                add     [bp+di],bh
31E4:75EB  75 05                ;*              jnz     loc_2261                ;*Jump if not zero
31E4:75EB  75 05                                db       75h, 05h
31E4:75ED  00 3B                                add     [bp+di],bh
31E4:75EF  75 05                ;*              jnz     loc_2262                ;*Jump if not zero
31E4:75EF  75 05                                db       75h, 05h
31E4:75F1  00 3B                                add     [bp+di],bh
31E4:75F3  75 05                ;*              jnz     loc_2263                ;*Jump if not zero
31E4:75F3  75 05                                db       75h, 05h
31E4:75F5  00 3B                                add     [bp+di],bh
31E4:75F7  75 21                ;*              jnz     loc_2270                ;*Jump if not zero
31E4:75F7  75 21                                db       75h, 21h
31E4:75F9  00 3B                                add     [bp+di],bh
31E4:75FB  75 21                ;*              jnz     loc_2271                ;*Jump if not zero
31E4:75FB  75 21                                db       75h, 21h
31E4:75FD  00 E5                                add     ch,ah
31E4:75FF  03 1F                                add     bx,[bx]
31E4:7601  00 05                                add     [di],al
31E4:7603  00 3B                                add     [bp+di],bh
31E4:7605  75 05                ;*              jnz     loc_2266                ;*Jump if not zero
31E4:7605  75 05                                db       75h, 05h
31E4:7607  00 3B                                add     [bp+di],bh
31E4:7609  75 05                ;*              jnz     loc_2267                ;*Jump if not zero
31E4:7609  75 05                                db       75h, 05h
31E4:760B  00 3B                                add     [bp+di],bh
31E4:760D  75 05                ;*              jnz     loc_2268                ;*Jump if not zero
31E4:760D  75 05                                db       75h, 05h
31E4:760F  00 3B                                add     [bp+di],bh
31E4:7611  75 05                ;*              jnz     loc_2269                ;*Jump if not zero
31E4:7611  75 05                                db       75h, 05h
31E4:7613  00 3B                                add     [bp+di],bh
31E4:7615  75 21                ;*              jnz     loc_2276                ;*Jump if not zero
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 474

31E4:7615  75 21                                db       75h, 21h
31E4:7617  00 3B                                add     [bp+di],bh
31E4:7619  75 21                ;*              jnz     loc_2277                ;*Jump if not zero
31E4:7619  75 21                                db       75h, 21h
31E4:761B  00 E5                                add     ch,ah
31E4:761D  03 1F                                add     bx,[bx]
31E4:761F  00 05                                add     [di],al
31E4:7621  00 3B                                add     [bp+di],bh
31E4:7623  75 05                ;*              jnz     loc_2272                ;*Jump if not zero
31E4:7623  75 05                                db       75h, 05h
31E4:7625  00 3B                                add     [bp+di],bh
31E4:7627  75 05                ;*              jnz     loc_2273                ;*Jump if not zero
31E4:7627  75 05                                db       75h, 05h
31E4:7629  00 3B                                add     [bp+di],bh
31E4:762B  75 05                ;*              jnz     loc_2274                ;*Jump if not zero
31E4:762B  75 05                                db       75h, 05h
31E4:762D  00 3B                                add     [bp+di],bh
31E4:762F  75 05                ;*              jnz     loc_2275                ;*Jump if not zero
31E4:762F  75 05                                db       75h, 05h
31E4:7631  00 3B                                add     [bp+di],bh
31E4:7633  75 21                ;*              jnz     loc_2281                ;*Jump if not zero
31E4:7633  75 21                                db       75h, 21h
31E4:7635  00 E5                                add     ch,ah
31E4:7637  03 1F                                add     bx,[bx]
31E4:7639  00 05                                add     [di],al
31E4:763B  00 3B                                add     [bp+di],bh
31E4:763D  75 05                ;*              jnz     loc_2278                ;*Jump if not zero
31E4:763D  75 05                                db       75h, 05h
31E4:763F  00 3B                                add     [bp+di],bh
31E4:7641  75 20                                jnz     loc_2282                ; Jump if not zero
31E4:7643  00 05                                add     [di],al
31E4:7645  00 3B                                add     [bp+di],bh
31E4:7647  75 05                ;*              jnz     loc_2279                ;*Jump if not zero
31E4:7647  75 05                                db       75h, 05h
31E4:7649  00 3B                                add     [bp+di],bh
31E4:764B  75 05                ;*              jnz     loc_2280                ;*Jump if not zero
31E4:764B  75 05                                db       75h, 05h
31E4:764D  00 3B                                add     [bp+di],bh
31E4:764F  75 05                ;*              jnz     loc_2281                ;*Jump if not zero
31E4:764F  75 05                                db       75h, 05h
31E4:7651  00 3B                                add     [bp+di],bh
31E4:7653  75 21                ;*              jnz     loc_2288                ;*Jump if not zero
31E4:7653  75 21                                db       75h, 21h
31E4:7655  00 E5                                add     ch,ah
31E4:7657  03 1F                                add     bx,[bx]
31E4:7659  00 05                                add     [di],al
31E4:765B  00 3B                                add     [bp+di],bh
31E4:765D  75 05                ;*              jnz     loc_2283                ;*Jump if not zero
31E4:765D  75 05                                db       75h, 05h
31E4:765F  00 3B                                add     [bp+di],bh
31E4:7661  75 05                ;*              jnz     loc_2284                ;*Jump if not zero
31E4:7661  75 05                                db       75h, 05h
31E4:7663                       loc_2282:                                       ;  xref 31E4:7641
31E4:7663  00 3B                                add     [bp+di],bh
31E4:7665  75 05                ;*              jnz     loc_2285                ;*Jump if not zero
31E4:7665  75 05                                db       75h, 05h
31E4:7667  00 3B                                add     [bp+di],bh
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 475

31E4:7669  75 05                ;*              jnz     loc_2286                ;*Jump if not zero
31E4:7669  75 05                                db       75h, 05h
31E4:766B  00 3B                                add     [bp+di],bh
31E4:766D  75 05                ;*              jnz     loc_2287                ;*Jump if not zero
31E4:766D  75 05                                db       75h, 05h
31E4:766F  00 3B                                add     [bp+di],bh
31E4:7671  75 05                ;*              jnz     loc_2289                ;*Jump if not zero
31E4:7671  75 05                                db       75h, 05h
31E4:7673  00 3B                                add     [bp+di],bh
31E4:7675  75 05                ;*              jnz     loc_2290                ;*Jump if not zero
31E4:7675  75 05                                db       75h, 05h
31E4:7677  00 3B                                add     [bp+di],bh
31E4:7679  75 1C                                jnz     loc_2291                ; Jump if not zero
31E4:767B  00 12                                add     [bp+si],dl
31E4:767D  00 4A 73                             add     [bp+si+73h],cl
31E4:7680  20 00                                and     [bx+si],al
31E4:7682  1F                                   pop     ds
31E4:7683  00 1F                                add     [bx],bl
31E4:7685  00 1F                                add     [bx],bl
31E4:7687  00 1C                                add     [si],bl
31E4:7689  00 1C                                add     [si],bl
31E4:768B  00 EC                                add     ah,ch
31E4:768D  76 21                ;*              jbe     loc_2296                ;*Jump if below or =
31E4:768D  76 21                                db       76h, 21h
31E4:768F  00 3B                                add     [bp+di],bh
31E4:7691  75 21                ;*              jnz     loc_2298                ;*Jump if not zero
31E4:7691  75 21                                db       75h, 21h
31E4:7693  00 E5                                add     ch,ah
31E4:7695  03 1F                                add     bx,[bx]
31E4:7697                       loc_2291:                                       ;  xref 31E4:7679
31E4:7697  00 05                                add     [di],al
31E4:7699  00 3B                                add     [bp+di],bh
31E4:769B  75 05                ;*              jnz     loc_2292                ;*Jump if not zero
31E4:769B  75 05                                db       75h, 05h
31E4:769D  00 3B                                add     [bp+di],bh
31E4:769F  75 05                ;*              jnz     loc_2293                ;*Jump if not zero
31E4:769F  75 05                                db       75h, 05h
31E4:76A1  00 3B                                add     [bp+di],bh
31E4:76A3  75 05                ;*              jnz     loc_2294                ;*Jump if not zero
31E4:76A3  75 05                                db       75h, 05h
31E4:76A5  00 3B                                add     [bp+di],bh
31E4:76A7  75 05                ;*              jnz     loc_2295                ;*Jump if not zero
31E4:76A7  75 05                                db       75h, 05h
31E4:76A9  00 3B                                add     [bp+di],bh
31E4:76AB  75 05                ;*              jnz     loc_2297                ;*Jump if not zero
31E4:76AB  75 05                                db       75h, 05h
31E4:76AD  00 3B                                add     [bp+di],bh
31E4:76AF  75 21                ;*              jnz     loc_2304                ;*Jump if not zero
31E4:76AF  75 21                                db       75h, 21h
31E4:76B1  00 E5                                add     ch,ah
31E4:76B3  03 1F                                add     bx,[bx]
31E4:76B5  00 05                                add     [di],al
31E4:76B7  00 3B                                add     [bp+di],bh
31E4:76B9  75 05                ;*              jnz     loc_2299                ;*Jump if not zero
31E4:76B9  75 05                                db       75h, 05h
31E4:76BB  00 3B                                add     [bp+di],bh
31E4:76BD  75 05                ;*              jnz     loc_2300                ;*Jump if not zero
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 476

31E4:76BD  75 05                                db       75h, 05h
31E4:76BF  00 3B                                add     [bp+di],bh
31E4:76C1  75 05                ;*              jnz     loc_2301                ;*Jump if not zero
31E4:76C1  75 05                                db       75h, 05h
31E4:76C3  00 3B                                add     [bp+di],bh
31E4:76C5  75 05                ;*              jnz     loc_2302                ;*Jump if not zero
31E4:76C5  75 05                                db       75h, 05h
31E4:76C7  00 3B                                add     [bp+di],bh
31E4:76C9  75 05                ;*              jnz     loc_2303                ;*Jump if not zero
31E4:76C9  75 05                                db       75h, 05h
31E4:76CB  00 3B                                add     [bp+di],bh
31E4:76CD  75 21                ;*              jnz     loc_2310                ;*Jump if not zero
31E4:76CD  75 21                                db       75h, 21h
31E4:76CF  00 E5                                add     ch,ah
31E4:76D1  03 1F                                add     bx,[bx]
31E4:76D3  00 05                                add     [di],al
31E4:76D5  00 3B                                add     [bp+di],bh
31E4:76D7  75 05                ;*              jnz     loc_2305                ;*Jump if not zero
31E4:76D7  75 05                                db       75h, 05h
31E4:76D9  00 3B                                add     [bp+di],bh
31E4:76DB  75 05                ;*              jnz     loc_2306                ;*Jump if not zero
31E4:76DB  75 05                                db       75h, 05h
31E4:76DD  00 3B                                add     [bp+di],bh
31E4:76DF  75 05                ;*              jnz     loc_2307                ;*Jump if not zero
31E4:76DF  75 05                                db       75h, 05h
31E4:76E1  00 3B                                add     [bp+di],bh
31E4:76E3  75 05                ;*              jnz     loc_2308                ;*Jump if not zero
31E4:76E3  75 05                                db       75h, 05h
31E4:76E5  00 3B                                add     [bp+di],bh
31E4:76E7  75 05                ;*              jnz     loc_2309                ;*Jump if not zero
31E4:76E7  75 05                                db       75h, 05h
31E4:76E9  00 3B                                add     [bp+di],bh
31E4:76EB  75 1C                ;*              jnz     loc_2311                ;*Jump if not zero
31E4:76EB  75 1C                                db       75h, 1Ch
31E4:76ED  00 1D                                add     [di],bl
31E4:76EF  00 86 0777                           add     [bp+777h],al
31E4:76F3  00 16 2427                           add     ds:data_34e,dl          ; (0000:2427=8Bh)
31E4:76F7  00 20                                add     [bx+si],ah
31E4:76F9  04 86                                add     al,86h
31E4:76FB  77 1E                                ja      loc_2312                ; Jump if above
31E4:76FD  00 1C                                add     [si],bl
31E4:76FF  1F                                   pop     ds
31E4:7700  25 2000                              and     ax,2000h
31E4:7703  04 05                                add     al,5
31E4:7705  08 00                                or      [bx+si],al
31E4:7707  00 00                                db      0, 0
31E4:7709  00 00 00 25 00 20                    db       00h, 00h, 00h, 25h, 00h, 20h
31E4:770F  04 00 00 00 00 D9                    db       04h, 00h, 00h, 00h, 00h,0D9h
31E4:7715  08 00 00 25 00                       db       08h, 00h, 00h, 25h, 00h
31E4:771A  20                                   db      20h
31E4:771B                       loc_2312:                                       ;  xref 31E4:76FB
31E4:771B  04 06                                add     al,6
31E4:771D  08 00                                or      [bx+si],al
31E4:771F  00 00 00 00 00 25                    db       00h, 00h, 00h, 00h, 00h, 25h
31E4:7725  00 20 04 07 08 00                    db       00h, 20h, 04h, 07h, 08h, 00h
31E4:772B  00 00 00 00 00 1F                    db       00h, 00h, 00h, 00h, 00h, 1Fh
31E4:7731  00 22 00 86 77 25                    db       00h, 22h, 00h, 86h, 77h, 25h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 477

31E4:7737  00 20 04 F0 0B 00                    db       00h, 20h, 04h,0F0h, 0Bh, 00h
31E4:773D  00 F1 0B 00 00 25                    db       00h,0F1h, 0Bh, 00h, 00h, 25h
31E4:7743  00 20 04 F2 0B 00                    db       00h, 20h, 04h,0F2h, 0Bh, 00h
31E4:7749  00 F3 0B 14 00 25                    db       00h,0F3h, 0Bh, 14h, 00h, 25h
31E4:774F  00 20 04 F4 0B 14                    db       00h, 20h, 04h,0F4h, 0Bh, 14h
31E4:7755  00 00 00 00 00 1F                    db       00h, 00h, 00h, 00h, 00h, 1Fh
31E4:775B  00 22 00 86 77 25                    db       00h, 22h, 00h, 86h, 77h, 25h
31E4:7761  00 20 04 F5 0B 00                    db       00h, 20h, 04h,0F5h, 0Bh, 00h
31E4:7767  00 F6 0B 00 00 25                    db       00h,0F6h, 0Bh, 00h, 00h, 25h
31E4:776D  00 20 04 F7 0B 00                    db       00h, 20h, 04h,0F7h, 0Bh, 00h
31E4:7773  00 F8                                db       00h,0F8h
31E4:7775  000B                 data_936        dw      0Bh                     ;  xref 31E4:BCFE
31E4:7777  00 25 00 20 04 F9                    db       00h, 25h, 00h, 20h, 04h,0F9h
31E4:777D  0B 00 00 FA 0B 00                    db       0Bh, 00h, 00h,0FAh, 0Bh, 00h
31E4:7783  00 1F 00 1C 00 11                    db       00h, 1Fh, 00h, 1Ch, 00h, 11h
31E4:7789  00 00 00 07 00 15                    db       00h, 00h, 00h, 07h, 00h, 15h
31E4:778F  27 1C 00 14 00 00                    db       27h, 1Ch, 00h, 14h, 00h, 00h
31E4:7795  00 1C 00 0D 00 00                    db       00h, 1Ch, 00h, 0Dh, 00h, 00h
31E4:779B  00 1C 00 0F 00 00                    db       00h, 1Ch, 00h, 0Fh, 00h, 00h
31E4:77A1  00 22 00 4A 73 1C                    db       00h, 22h, 00h, 4Ah, 73h, 1Ch
31E4:77A7  00 1C 00 EC 76 20                    db       00h, 1Ch, 00h,0ECh, 76h, 20h
31E4:77AD  00 1F 00 1F 00 1F                    db       00h, 1Fh, 00h, 1Fh, 00h, 1Fh
31E4:77B3  00 1F 00 22 00 EC                    db       00h, 1Fh, 00h, 22h, 00h,0ECh
31E4:77B9  76 02 00 0B F7 16                    db       76h, 02h, 00h, 0Bh,0F7h, 16h
31E4:77BF  12 8C 1B 00 0C 82                    db       12h, 8Ch, 1Bh, 00h, 0Ch, 82h
31E4:77C5  00 BA 77 0A 00 00                    db       00h,0BAh, 77h, 0Ah, 00h, 00h
31E4:77CB  67 71 00 00 21 01                    db       67h, 71h, 00h, 00h, 21h, 01h
31E4:77D1  06 01 20 00 30 00                    db       06h, 01h, 20h, 00h, 30h, 00h
31E4:77D7  01 01 82 4F 20 00                    db       01h, 01h, 82h, 4Fh, 20h, 00h
31E4:77DD  30 00 08 00 00 00                    db       30h, 00h, 08h, 00h, 00h, 00h
31E4:77E3  13 5D 9E                             db       13h, 5Dh, 9Eh
31E4:77E6  0009[00]                             db      9 dup (0)
31E4:77EF  54 15 00 00 96 00                    db       54h, 15h, 00h, 00h, 96h, 00h
31E4:77F5  00 00 F8 04 00                       db       00h, 00h,0F8h, 04h, 00h
31E4:77FA  000D[00]                             db      13 dup (0)
31E4:7807  9F 13 00                             db       9Fh, 13h, 00h
31E4:780A  0012[00]                             db      18 dup (0)
31E4:781C  D3 67 00 00 00 00                    db      0D3h, 67h, 00h, 00h, 00h, 00h
31E4:7822  00 00 00 02 AC                       db       00h, 00h, 00h, 02h,0ACh
31E4:7827  78 0A                                db       78h, 0Ah
31E4:7829  0015[00]                             db      21 dup (0)
31E4:783E  23 00 00 00 5C 78                    db       23h, 00h, 00h, 00h, 5Ch, 78h
31E4:7844  25 00 ED 03 A8 0A                    db       25h, 00h,0EDh, 03h,0A8h, 0Ah
31E4:784A  00 00 A9 0A 00 00                    db       00h, 00h,0A9h, 0Ah, 00h, 00h
31E4:7850  25 00 ED 03 AA 0A                    db       25h, 00h,0EDh, 03h,0AAh, 0Ah
31E4:7856  00 00 AB 0A 00 00                    db       00h, 00h,0ABh, 0Ah, 00h, 00h
31E4:785C  1C 00 0E 00 00 00                    db       1Ch, 00h, 0Eh, 00h, 00h, 00h
31E4:7862  1C 00 13 00 00 00                    db       1Ch, 00h, 13h, 00h, 00h, 00h
31E4:7868  1C 00 20 00 A6 78                    db       1Ch, 00h, 20h, 00h,0A6h, 78h
31E4:786E  07 00 20 27 24 00                    db       07h, 00h, 20h, 27h, 24h, 00h
31E4:7874  29 04                                db       29h, 04h
31E4:7876                       loc_2313:
31E4:7876  9C                                   pushf                           ; Push flags
31E4:7877  78 25                                js      loc_2314                ; Jump if sign=1
31E4:7879  00 29                                add     [bx+di],ch
31E4:787B  04 72                                add     al,72h                  ; 'r'
31E4:787D  09 00                                or      [bx+si],ax
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 478

31E4:787F  00 73 09                             add     [bp+di+9],dh
31E4:7882  00 00                                add     [bx+si],al
31E4:7884  25 2900                              and     ax,2900h
31E4:7887  04 74                                add     al,74h                  ; 't'
31E4:7889  09 00                                or      [bx+si],ax
31E4:788B  00 00 00 00 00 25                    db       00h, 00h, 00h, 00h, 00h, 25h
31E4:7891  00 29 04 75 09 00                    db       00h, 29h, 04h, 75h, 09h, 00h
31E4:7897  00 00 00 00 00 1C                    db       00h, 00h, 00h, 00h, 00h, 1Ch
31E4:789D  00                                   db       00h
31E4:789E                       loc_2314:                                       ;  xref 31E4:7877
31E4:789E  0C 00                                or      al,0
31E4:78A0  00 00                                add     [bx+si],al
31E4:78A2  07                                   pop     es
31E4:78A3  00 1F                                add     [bx],bl
31E4:78A5  27                                   daa                             ; Decimal adjust
31E4:78A6  1C 00                                sbb     al,0
31E4:78A8  0A 00                                or      al,[bx+si]
31E4:78AA  00 00                                add     [bx+si],al
31E4:78AC  1C 00                                sbb     al,0
31E4:78AE  0E                                   push    cs
31E4:78AF  00 00                                add     [bx+si],al
31E4:78B1  00 1C                                add     [si],bl
31E4:78B3  00 13                                add     [bp+di],dl
31E4:78B5  00 00                                add     [bx+si],al
31E4:78B7  00 1C                                add     [si],bl
31E4:78B9  00 20                                add     [bx+si],ah
31E4:78BB  00 FC                                add     ah,bh
31E4:78BD  78 07                                js      loc_2315                ; Jump if sign=1
31E4:78BF  00 20                                add     [bx+si],ah
31E4:78C1  27                                   daa                             ; Decimal adjust
31E4:78C2  24 00                                and     al,0
31E4:78C4  29 04                                sub     [si],ax
31E4:78C6                       loc_2315:                                       ;  xref 31E4:78BD
31E4:78C6  F2 78 25 00 29 04                    db      0F2h, 78h, 25h, 00h, 29h, 04h
31E4:78CC  97 0B 00 00 98 0B                    db       97h, 0Bh, 00h, 00h, 98h, 0Bh
31E4:78D2  00 00 25 00 29 04                    db       00h, 00h, 25h, 00h, 29h, 04h
31E4:78D8  99 0B 00 00 00 00                    db       99h, 0Bh, 00h, 00h, 00h, 00h
31E4:78DE  00 00 25 00 29 04                    db       00h, 00h, 25h, 00h, 29h, 04h
31E4:78E4  9A 0B 1E 00 00 00                    db       9Ah, 0Bh, 1Eh, 00h, 00h, 00h
31E4:78EA  00 00 1F 00 1F 00                    db       00h, 00h, 1Fh, 00h, 1Fh, 00h
31E4:78F0  1F 00 1C 00 0C 00                    db       1Fh, 00h, 1Ch, 00h, 0Ch, 00h
31E4:78F6  00 00 07 00 1F 27                    db       00h, 00h, 07h, 00h, 1Fh, 27h
31E4:78FC  1C 00 0A 00 00 00                    db       1Ch, 00h, 0Ah, 00h, 00h, 00h
31E4:7902  1C 00 0E 00 00 00                    db       1Ch, 00h, 0Eh, 00h, 00h, 00h
31E4:7908  1C 00 13 00 00 00                    db       1Ch, 00h, 13h, 00h, 00h, 00h
31E4:790E  1E 00 6C 1F 1C 00                    db       1Eh, 00h, 6Ch, 1Fh, 1Ch, 00h
31E4:7914  23 00 98 79 24 00                    db       23h, 00h, 98h, 79h, 24h, 00h
31E4:791A  36 04 96 79 1E 00                    db       36h, 04h, 96h, 79h, 1Eh, 00h
31E4:7920  44 1F 25 00 36 04                    db       44h, 1Fh, 25h, 00h, 36h, 04h
31E4:7926  D6 0B 00 00 D7 0B                    db      0D6h, 0Bh, 00h, 00h,0D7h, 0Bh
31E4:792C  00 00 25 00 36 04                    db       00h, 00h, 25h, 00h, 36h, 04h
31E4:7932  D8 0B 00 00 D9 0B                    db      0D8h, 0Bh, 00h, 00h,0D9h, 0Bh
31E4:7938  00 00 25 00                          db       00h, 00h, 25h, 00h
31E4:793C  36                                   db      36h
31E4:793D                       loc_2316:
31E4:793D  04 DA                                add     al,0DAh
31E4:793F  0B 00                                or      ax,[bx+si]
31E4:7941  00 00 00 00 00 22                    db       00h, 00h, 00h, 00h, 00h, 22h
31E4:7947  00 96 79 25 00 36                    db       00h, 96h, 79h, 25h, 00h, 36h
31E4:794D  04 DB 0B 00 00 DC                    db       04h,0DBh, 0Bh, 00h, 00h,0DCh
31E4:7953  0B 00 00 25 00 36                    db       0Bh, 00h, 00h, 25h, 00h, 36h
31E4:7959  04 DD 0B 00 00 DE                    db       04h,0DDh, 0Bh, 00h, 00h,0DEh
31E4:795F  0B 00 00 25 00 36                    db       0Bh, 00h, 00h, 25h, 00h, 36h
31E4:7965  04 DF 0B 00 00 E0                    db       04h,0DFh, 0Bh, 00h, 00h,0E0h
31E4:796B  0B 00 00 22 00 96                    db       0Bh, 00h, 00h, 22h, 00h, 96h
31E4:7971  79 25 00 36 04 E1                    db       79h, 25h, 00h, 36h, 04h,0E1h
31E4:7977  0B 00 00 E2 0B 00                    db       0Bh, 00h, 00h,0E2h, 0Bh, 00h
31E4:797D  00 25 00 36 04 E3                    db       00h, 25h, 00h, 36h, 04h,0E3h
31E4:7983  0B 00 00 E4 0B 00                    db       0Bh, 00h, 00h,0E4h, 0Bh, 00h
31E4:7989  00 25 00 36 04 E5                    db       00h, 25h, 00h, 36h, 04h,0E5h
31E4:798F  0B 00 00 00 00 00                    db       0Bh, 00h, 00h, 00h, 00h, 00h
31E4:7995  00 1F 00 1C 00 0C                    db       00h, 1Fh, 00h, 1Ch, 00h, 0Ch
31E4:799B  00 00 00 1C 00 0A                    db       00h, 00h, 00h, 1Ch, 00h, 0Ah
31E4:79A1  00 00 00 22 00 5C                    db       00h, 00h, 00h, 22h, 00h, 5Ch
31E4:79A7  78 1C 00 0F 00 00                    db       78h, 1Ch, 00h, 0Fh, 00h, 00h
31E4:79AD  00 21 00 E6 03 1F                    db       00h, 21h, 00h,0E6h, 03h, 1Fh
31E4:79B3  00 1F 00 1F 00 1F                    db       00h, 1Fh, 00h, 1Fh, 00h, 1Fh
31E4:79B9  00 1F 00 1F 00 1F                    db       00h, 1Fh, 00h, 1Fh, 00h, 1Fh
31E4:79BF  00 1F 00 1F 00 1F                    db       00h, 1Fh, 00h, 1Fh, 00h, 1Fh
31E4:79C5  00 1F 00 1F 00 1F                    db       00h, 1Fh, 00h, 1Fh, 00h, 1Fh
31E4:79CB  00 1F 00 1E 00 31                    db       00h, 1Fh, 00h, 1Eh, 00h, 31h
31E4:79D1  27 22 00 5C 78 03                    db       27h, 22h, 00h, 5Ch, 78h, 03h
31E4:79D7  00 0B D1 16 12 8C                    db       00h, 0Bh,0D1h, 16h, 12h, 8Ch
31E4:79DD  1B 18 81 1D 00 0C                    db       1Bh, 18h, 81h, 1Dh, 00h, 0Ch
31E4:79E3  82 00 D6 79 0A 00                    db       82h, 00h,0D6h, 79h, 0Ah, 00h
31E4:79E9  00 67 71 00 00 75                    db       00h, 67h, 71h, 00h, 00h, 75h
31E4:79EF  01 E5 00 20 00 30                    db       01h,0E5h, 00h, 20h, 00h, 30h
31E4:79F5  00 01 01 82 4F 20                    db       00h, 01h, 01h, 82h, 4Fh, 20h
31E4:79FB  00 30 00 08 00 00                    db       00h, 30h, 00h, 08h, 00h, 00h
31E4:7A01  00 FE 5C 8F 00                       db       00h,0FEh, 5Ch, 8Fh, 00h
31E4:7A06  0008[00]                             db      8 dup (0)
31E4:7A0E  15 16 00 00 96 00                    db       15h, 16h, 00h, 00h, 96h, 00h
31E4:7A14  00 00 F8 04 28 00                    db       00h, 00h,0F8h, 04h, 28h, 00h
31E4:7A1A  00 00 00 50 0B                       db       00h, 00h, 00h, 50h, 0Bh
31E4:7A1F  0007[00]                             db      7 dup (0)
31E4:7A26  DA 13                                db      0DAh, 13h
31E4:7A28  0013[00]                             db      19 dup (0)
31E4:7A3B  13 68 00 00 00 00                    db       13h, 68h, 00h, 00h, 00h, 00h
31E4:7A41  00 00 00 02 5D 7A                    db       00h, 00h, 00h, 02h, 5Dh, 7Ah
31E4:7A47  0F                                   db       0Fh
31E4:7A48  0015[00]                             db      21 dup (0)
31E4:7A5D  20 00 1F 00 1F 00                    db       20h, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7A63  20 00 1F 00 1F 00                    db       20h, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7A69  20 00 1F 00 1F 00                    db       20h, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7A6F  1C 00 15 00 00 00                    db       1Ch, 00h, 15h, 00h, 00h, 00h
31E4:7A75  20 00 1F 00 1F 00                    db       20h, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7A7B  1F 00 1C 00 12 00                    db       1Fh, 00h, 1Ch, 00h, 12h, 00h
31E4:7A81  00 00 1C 00 19 00                    db       00h, 00h, 1Ch, 00h, 19h, 00h
31E4:7A87  00 00 20 00 1F 00                    db       00h, 00h, 20h, 00h, 1Fh, 00h
31E4:7A8D  1F 00 1F 00 1C 00                    db       1Fh, 00h, 1Fh, 00h, 1Ch, 00h
31E4:7A93  17 00 00 00 20 00                    db       17h, 00h, 00h, 00h, 20h, 00h
31E4:7A99  1F 00 1C 00 15 00                    db       1Fh, 00h, 1Ch, 00h, 15h, 00h
31E4:7A9F  00 00 1C 00 14 00                    db       00h, 00h, 1Ch, 00h, 14h, 00h
31E4:7AA5  00 00 1C 00 0D 00                    db       00h, 00h, 1Ch, 00h, 0Dh, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 480

31E4:7AAB  00 00 1E 00 80 1F                    db       00h, 00h, 1Eh, 00h, 80h, 1Fh
31E4:7AB1  1C 00 0F 00 00 00                    db       1Ch, 00h, 0Fh, 00h, 00h, 00h
31E4:7AB7  20 00 22 00 5D 7A                    db       20h, 00h, 22h, 00h, 5Dh, 7Ah
31E4:7ABD  1C 00 09 00 00 00                    db       1Ch, 00h, 09h, 00h, 00h, 00h
31E4:7AC3  20 00 1F 00 1F 00                    db       20h, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7AC9  20 00 1F 00 1F 00                    db       20h, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7ACF  20 00 1F 00 1F 00                    db       20h, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7AD5  20 00 1F 00 1F 00                    db       20h, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7ADB  1C 00 07 00 00 00                    db       1Ch, 00h, 07h, 00h, 00h, 00h
31E4:7AE1  20 00 1F 00 1F 00                    db       20h, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7AE7  20 00 1F 00 1F 00                    db       20h, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7AED  1E 00 94 1F 22 00                    db       1Eh, 00h, 94h, 1Fh, 22h, 00h
31E4:7AF3  BD 7A 1C 00 1D 00                    db      0BDh, 7Ah, 1Ch, 00h, 1Dh, 00h
31E4:7AF9  15 7B 07 00 16 27                    db       15h, 7Bh, 07h, 00h, 16h, 27h
31E4:7AFF  24 00 20 04 15 7B                    db       24h, 00h, 20h, 04h, 15h, 7Bh
31E4:7B05  25 00 20 04 51 0B                    db       25h, 00h, 20h, 04h, 51h, 0Bh
31E4:7B0B  00 00 52 0B 00 00                    db       00h, 00h, 52h, 0Bh, 00h, 00h
31E4:7B11  1F 00 1F 00 00 00                    db       1Fh, 00h, 1Fh, 00h, 00h, 00h
31E4:7B17  02 00 0B F7 19 12                    db       02h, 00h, 0Bh,0F7h, 19h, 12h
31E4:7B1D  8C 1B 00 0C 82 00                    db       8Ch, 1Bh, 00h, 0Ch, 82h, 00h
31E4:7B23  17 7B 24 00 00 67                    db       17h, 7Bh, 24h, 00h, 00h, 67h
31E4:7B29  71 00 00 6B 01 07                    db       71h, 00h, 00h, 6Bh, 01h, 07h
31E4:7B2F  01 20 00 30 00 01                    db       01h, 20h, 00h, 30h, 00h, 01h
31E4:7B35  01 82 4F 20 00 30                    db       01h, 82h, 4Fh, 20h, 00h, 30h
31E4:7B3B  00 08 00 00 00 3D                    db       00h, 08h, 00h, 00h, 00h, 3Dh
31E4:7B41  5D 9E                                db       5Dh, 9Eh
31E4:7B43  0009[00]                             db      9 dup (0)
31E4:7B4C  A8 15 00 00 96 00                    db      0A8h, 15h, 00h, 00h, 96h, 00h
31E4:7B52  00 00 F8 04 28 00                    db       00h, 00h,0F8h, 04h, 28h, 00h
31E4:7B58  00 00 00 50 0B                       db       00h, 00h, 00h, 50h, 0Bh
31E4:7B5D  0007[00]                             db      7 dup (0)
31E4:7B64  07 15 00 00                          db       07h, 15h, 00h, 00h
31E4:7B68  0011[00]                             db      17 dup (0)
31E4:7B79  53 68                                db       53h, 68h
31E4:7B7B  0007[00]                             db      7 dup (0)
31E4:7B82  02 9B 7B 24                          db       02h, 9Bh, 7Bh, 24h
31E4:7B86  0015[00]                             db      21 dup (0)
31E4:7B9B  1C 00 14 00 00 00                    db       1Ch, 00h, 14h, 00h, 00h, 00h
31E4:7BA1  07 00 21 27 1C 00                    db       07h, 00h, 21h, 27h, 1Ch, 00h
31E4:7BA7  0F 00 00 00 1C 00                    db       0Fh, 00h, 00h, 00h, 1Ch, 00h
31E4:7BAD  11 00 00 00 1C 00                    db       11h, 00h, 00h, 00h, 1Ch, 00h
31E4:7BB3  0A 00 00 00 1C 00                    db       0Ah, 00h, 00h, 00h, 1Ch, 00h
31E4:7BB9  0C 00 00 00 1C 00                    db       0Ch, 00h, 00h, 00h, 1Ch, 00h
31E4:7BBF  14 00 00 00 1C 00                    db       14h, 00h, 00h, 00h, 1Ch, 00h
31E4:7BC5  24 00 9B 7B 07 00                    db       24h, 00h, 9Bh, 7Bh, 07h, 00h
31E4:7BCB  22 27 20 00 1F 00                    db       22h, 27h, 20h, 00h, 1Fh, 00h
31E4:7BD1  1F 00 1F 00 1F 00                    db       1Fh, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7BD7  20 00 1F 00 1F 00                    db       20h, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7BDD  1F 00 1F 00 20 00                    db       1Fh, 00h, 1Fh, 00h, 20h, 00h
31E4:7BE3  1F 00 1F 00 1F 00                    db       1Fh, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7BE9  1F 00 20 00 1F 00                    db       1Fh, 00h, 20h, 00h, 1Fh, 00h
31E4:7BEF  1F 00 1F 00 1F 00                    db       1Fh, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7BF5  20 00 1F 00 1F 00                    db       20h, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7BFB  1F 00 1F 00 20 00                    db       1Fh, 00h, 1Fh, 00h, 20h, 00h
31E4:7C01  1F 00 1F 00 1F 00                    db       1Fh, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7C07  1F 00 22 00 9B 7B                    db       1Fh, 00h, 22h, 00h, 9Bh, 7Bh
31E4:7C0D  03 00 0B 3B 1A 12                    db       03h, 00h, 0Bh, 3Bh, 1Ah, 12h
31E4:7C13  8C 1B 0D B0 1C 00                    db       8Ch, 1Bh, 0Dh,0B0h, 1Ch, 00h
31E4:7C19  0C 82 00 0D 7C 24                    db       0Ch, 82h, 00h, 0Dh, 7Ch, 24h
31E4:7C1F  00 00 67 71 00 00                    db       00h, 00h, 67h, 71h, 00h, 00h
31E4:7C25  F7 00 FD 00 20 00                    db      0F7h, 00h,0FDh, 00h, 20h, 00h
31E4:7C2B  30 00 01 01 82 4F                    db       30h, 00h, 01h, 01h, 82h, 4Fh
31E4:7C31  20 00 30 00 08 00                    db       20h, 00h, 30h, 00h, 08h, 00h
31E4:7C37  00 00 52 5D 9E                       db       00h, 00h, 52h, 5Dh, 9Eh
31E4:7C3C  0009[00]                             db      9 dup (0)
31E4:7C45  A8 15 00 00 96 00                    db      0A8h, 15h, 00h, 00h, 96h, 00h
31E4:7C4B  00 00 F8 04 00                       db       00h, 00h,0F8h, 04h, 00h
31E4:7C50  000D[00]                             db      13 dup (0)
31E4:7C5D  07 15 00 00                          db       07h, 15h, 00h, 00h
31E4:7C61  0011[00]                             db      17 dup (0)
31E4:7C72  F3 68                                db      0F3h, 68h
31E4:7C74  0007[00]                             db      7 dup (0)
31E4:7C7B  02 94 7C 24                          db       02h, 94h, 7Ch, 24h
31E4:7C7F  0015[00]                             db      21 dup (0)
31E4:7C94  1C 00 14 00 00 00                    db       1Ch, 00h, 14h, 00h, 00h, 00h
31E4:7C9A  22 00 AC 7C 1F 00                    db       22h, 00h,0ACh, 7Ch, 1Fh, 00h
31E4:7CA0  1F 00 1C 00 14 00                    db       1Fh, 00h, 1Ch, 00h, 14h, 00h
31E4:7CA6  00 00 07 00 21 27                    db       00h, 00h, 07h, 00h, 21h, 27h
31E4:7CAC  1C 00 0F 00 00 00                    db       1Ch, 00h, 0Fh, 00h, 00h, 00h
31E4:7CB2  1C 00 11 00 00 00                    db       1Ch, 00h, 11h, 00h, 00h, 00h
31E4:7CB8  1C 00 0A 00 00 00                    db       1Ch, 00h, 0Ah, 00h, 00h, 00h
31E4:7CBE  1C 00 0C 00 00 00                    db       1Ch, 00h, 0Ch, 00h, 00h, 00h
31E4:7CC4  1C 00 14 00 00 00                    db       1Ch, 00h, 14h, 00h, 00h, 00h
31E4:7CCA  1C 00 24 00 9E 7C                    db       1Ch, 00h, 24h, 00h, 9Eh, 7Ch
31E4:7CD0  07 00 22 27 20 00                    db       07h, 00h, 22h, 27h, 20h, 00h
31E4:7CD6  1F 00                                db       1Fh, 00h
31E4:7CD8                       loc_2317:
31E4:7CD8  1F                                   pop     ds
31E4:7CD9  00 1F                                add     [bx],bl
31E4:7CDB  00 1F                                add     [bx],bl
31E4:7CDD  00 20                                add     [bx+si],ah
31E4:7CDF  00 1F                                add     [bx],bl
31E4:7CE1  00 1F                                add     [bx],bl
31E4:7CE3  00 1F                                add     [bx],bl
31E4:7CE5  00 1F                                add     [bx],bl
31E4:7CE7  00 20                                add     [bx+si],ah
31E4:7CE9  00 1F                                add     [bx],bl
31E4:7CEB  00 1F                                add     [bx],bl
31E4:7CED  00 1F                                add     [bx],bl
31E4:7CEF  00 1F                                add     [bx],bl
31E4:7CF1  00 20                                add     [bx+si],ah
31E4:7CF3  00 1F                                add     [bx],bl
31E4:7CF5  00 1F                                add     [bx],bl
31E4:7CF7  00 1F                                add     [bx],bl
31E4:7CF9  00 1F                                add     [bx],bl
31E4:7CFB  00 20                                add     [bx+si],ah
31E4:7CFD  00 1F                                add     [bx],bl
31E4:7CFF  00 1F                                add     [bx],bl
31E4:7D01  00 1F                                add     [bx],bl
31E4:7D03  00 1F                                add     [bx],bl
31E4:7D05  00 20                                add     [bx+si],ah
31E4:7D07  00 1F                                add     [bx],bl
31E4:7D09  00 1F                                add     [bx],bl
31E4:7D0B  00 1F                                add     [bx],bl
31E4:7D0D  00 1F                                add     [bx],bl
31E4:7D0F  00 22                                add     [bp+si],ah
31E4:7D11  00 9E 037C                           add     [bp+37Ch],bl
31E4:7D15  00 0B                                add     [bp+di],cl
31E4:7D17  CB                                   retf                            ; Return far
31E4:7D18  25 0D CA 1C 12 8C                    db       25h, 0Dh,0CAh, 1Ch, 12h, 8Ch
31E4:7D1E  1B 00 00                             db       1Bh, 00h, 00h

31E4:7D21                goewin_hotspot_rec:
31E4:7D21  00 00 00                             db       00h, 00h, 00h
31E4:7D24  00 14 7D 1F 00 00                    db       00h, 14h, 7Dh, 1Fh, 00h, 00h
31E4:7D2A  67 71 00 00 11 01                    db       67h, 71h, 00h, 00h, 11h, 01h
31E4:7D30  E6 00 20 00 30 00                    db      0E6h, 00h, 20h, 00h, 30h, 00h
31E4:7D36  01 01 80 81 20 00                    db       01h, 01h, 80h, 81h, 20h, 00h
31E4:7D3C  30 00 08 00 00 00                    db       30h, 00h, 08h, 00h, 00h, 00h
31E4:7D42  1E 59 9E 3A 04                       db       1Eh, 59h, 9Eh, 3Ah, 04h
31E4:7D47  0007[00]                             db      7 dup (0)
31E4:7D4E  5B 15 00 00 96 00                    db       5Bh, 15h, 00h, 00h, 96h, 00h
31E4:7D54  00 00 F8 04 00                       db       00h, 00h,0F8h, 04h, 00h
31E4:7D59  000D[00]                             db      13 dup (0)
31E4:7D66  2D 14 00                             db       2Dh, 14h, 00h
31E4:7D69  0012[00]                             db      18 dup (0)
31E4:7D7B  93 68 D3 68 00 00                    db       93h, 68h,0D3h, 68h, 00h, 00h
31E4:7D81  00 00 00 02 9D 7D                    db       00h, 00h, 00h, 02h, 9Dh, 7Dh
31E4:7D87  0E                                   db       0Eh
31E4:7D88  0015[00]                             db      21 dup (0)
31E4:7D9D  1C 00 22 00 00 00                    db       1Ch, 00h, 22h, 00h, 00h, 00h
31E4:7DA3  21 00 4A 75 1E 00                    db       21h, 00h, 4Ah, 75h, 1Eh, 00h
31E4:7DA9  CD 1D 1C 00 0A 00                    db      0CDh, 1Dh, 1Ch, 00h, 0Ah, 00h
31E4:7DAF  00 00 07 00 25 27                    db       00h, 00h, 07h, 00h, 25h, 27h
31E4:7DB5  1C 00 14 00 00 00                    db       1Ch, 00h, 14h, 00h, 00h, 00h
31E4:7DBB  1C 00 11 00 00 00                    db       1Ch, 00h, 11h, 00h, 00h, 00h
31E4:7DC1  1C 00 0F 00 00 00                    db       1Ch, 00h, 0Fh, 00h, 00h, 00h
31E4:7DC7  22 00 9D 7D 1C 00                    db       22h, 00h, 9Dh, 7Dh, 1Ch, 00h
31E4:7DCD  0F 00 00 00 21 00                    db       0Fh, 00h, 00h, 00h, 21h, 00h
31E4:7DD3  E6 03 1F 00 1F 00                    db      0E6h, 03h, 1Fh, 00h, 1Fh, 00h
31E4:7DD9  1F 00 1F 00 1F 00                    db       1Fh, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7DDF  1F 00 1F 00 1F 00                    db       1Fh, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7DE5  1F 00 1F 00 1F 00                    db       1Fh, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7DEB  1F 00 1F 00 1F 00                    db       1Fh, 00h, 1Fh, 00h, 1Fh, 00h
31E4:7DF1  1E 00 31 27 22 00                    db       1Eh, 00h, 31h, 27h, 22h, 00h
31E4:7DF7  9D 7D 1C 00 26 00                    db       9Dh, 7Dh, 1Ch, 00h, 26h, 00h
31E4:7DFD  F9 7D 20 00 20 00                    db      0F9h, 7Dh, 20h, 00h, 20h, 00h
31E4:7E03  22 00 01 7E 09 02                    db       22h, 00h, 01h, 7Eh, 09h, 02h
31E4:7E09  00 10 32 7E 02 00                    db       00h, 10h, 32h, 7Eh, 02h, 00h
31E4:7E0F  00                                   db       00h
31E4:7E10                       loc_2318:
31E4:7E10  72 71                                jc      loc_2322                ; Jump if carry Set
31E4:7E12  00 00                                add     [bx+si],al
31E4:7E14  08 01                                or      [bx+di],al
31E4:7E16                       loc_2320:
31E4:7E16  C7 00 0010                           mov     word ptr [bx+si],10h
31E4:7E1A  0B 00                                or      ax,[bx+si]
31E4:7E1C  03 01                                add     ax,[bx+di]
31E4:7E1E  3A 7F 08                             cmp     bh,[bx+8]
31E4:7E21  00 2F                                add     [bx],ch
31E4:7E23  00 02                                add     [bp+si],al
31E4:7E25  00 00                                add     [bx+si],al
31E4:7E27  00 3D                                add     [di],bh
31E4:7E29  58                                   pop     ax
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 483

31E4:7E2A  00 58 06                             add     [bx+si+6],bl
31E4:7E2D  00 00 00 00 00 02                    db       00h, 00h, 00h, 00h, 00h, 02h
31E4:7E33  00 01 0B 80 04 0B                    db       00h, 01h, 0Bh, 80h, 04h, 0Bh
31E4:7E39  80 09 02 00 10 32                    db       80h, 09h, 02h, 00h, 10h, 32h
31E4:7E3F  7E 02 00 00 72 71                    db       7Eh, 02h, 00h, 00h, 72h, 71h
31E4:7E45  00 00 2C 01 C7 00                    db       00h, 00h, 2Ch, 01h,0C7h, 00h
31E4:7E4B  10 00 0B 00 03 01                    db       10h, 00h, 0Bh, 00h, 03h, 01h
31E4:7E51  3A 7F 08 00 2F 00                    db       3Ah, 7Fh, 08h, 00h, 2Fh, 00h
31E4:7E57  02 00 00 00 3D 58                    db       02h, 00h, 00h, 00h, 3Dh, 58h
31E4:7E5D  00 4E 06 00 00 00                    db       00h, 4Eh, 06h, 00h, 00h, 00h
31E4:7E63  00 06 03 00 01 0B                    db       00h, 06h, 03h, 00h, 01h, 0Bh
31E4:7E69  80 10 20 0A 0A 37                    db       80h, 10h, 20h, 0Ah, 0Ah, 37h
31E4:7E6F  0A                                   db       0Ah

                   oil_burner_hotspot_rec:
31E4:7E70  01 02 00 50 65                       db       01h, 02h, 00h, 50h, 65h
31E4:7E75  7E 1E 00 00 72 71                    db       7Eh, 1Eh, 00h, 00h, 72h, 71h
31E4:7E7B  00 00 78 00 05 01                    db       00h, 00h, 78h, 00h, 05h, 01h
31E4:7E81  10 00                                db       10h, 00h
31E4:7E83                       loc_2322:                                       ;  xref 31E4:7E10
31E4:7E83  06                                   push    es
31E4:7E84  00 02                                add     [bp+si],al
31E4:7E86  01 BD 0241                           add     data_539[di],di         ; (31E4:0241=0)
31E4:7E8A  00 46 00                             add     [bp],al
31E4:7E8D  02 00                                add     al,[bx+si]
31E4:7E8F  00 00                                add     [bx+si],al
31E4:7E91  27                                   daa                             ; Decimal adjust
31E4:7E92  59                                   pop     cx
31E4:7E93  00 1C                                add     [si],bl
31E4:7E95  06                                   push    es
31E4:7E96  0008[00]                             db      8 dup (0)
31E4:7E9E  20 57 6D A8 01 00                    db       20h, 57h, 6Dh,0A8h, 01h, 00h
31E4:7EA4  67 71 00 00 78 00                    db       67h, 71h, 00h, 00h, 78h, 00h
31E4:7EAA  05 01 30 00 44 00                    db       05h, 01h, 30h, 00h, 44h, 00h
31E4:7EB0  01 01 C6 80 2F 00                    db       01h, 01h,0C6h, 80h, 2Fh, 00h
31E4:7EB6  44 00 02 00 00 00                    db       44h, 00h, 02h, 00h, 00h, 00h
31E4:7EBC  30 59                                db       30h, 59h
31E4:7EBE  000B[00]                             db      11 dup (0)
31E4:7EC9  20 57 6D 01 80 00                    db       20h, 57h, 6Dh, 01h, 80h, 00h
31E4:7ECF  72 71 00 00 47 01                    db       72h, 71h, 00h, 00h, 47h, 01h
31E4:7ED5  F2 00 10 00 19 00                    db      0F2h, 00h, 10h, 00h, 19h, 00h
31E4:7EDB  03 01 69 7F 10 00                    db       03h, 01h, 69h, 7Fh, 10h, 00h
31E4:7EE1  19 00 04 00 00 00                    db       19h, 00h, 04h, 00h, 00h, 00h
31E4:7EE7  C4 58 00 84 01 00                    db      0C4h, 58h, 00h, 84h, 01h, 00h
31E4:7EED  00 00 00 01 02 00                    db       00h, 00h, 00h, 01h, 02h, 00h
31E4:7EF3  50 1A 7F 01 00 00                    db       50h, 1Ah, 7Fh, 01h, 00h, 00h
31E4:7EF9  BD 41 00 00 38 01                    db      0BDh, 41h, 00h, 00h, 38h, 01h
31E4:7EFF  E8 00 20 00 3D 00                    db      0E8h, 00h, 20h, 00h, 3Dh, 00h
31E4:7F05  03 01 09 80 20 00                    db       03h, 01h, 09h, 80h, 20h, 00h
31E4:7F0B  35 00 04 00 00 00                    db       35h, 00h, 04h, 00h, 00h, 00h
31E4:7F11  CD 58 00 82 02 00                    db      0CDh, 58h, 00h, 82h, 02h, 00h
31E4:7F17  00 00 00 01 00 01                    db       00h, 00h, 00h, 01h, 00h, 01h
31E4:7F1D  1D 80 00 00 00 20                    db       1Dh, 80h, 00h, 00h, 00h, 20h
31E4:7F23  57 6D 01 00 00 BD                    db       57h, 6Dh, 01h, 00h, 00h,0BDh
31E4:7F29  41 00 00 40 01 64                    db       41h, 00h, 00h, 40h, 01h, 64h
31E4:7F2F  00 20 00 0C 00 03                    db       00h, 20h, 00h, 0Ch, 00h, 03h
31E4:7F35  01 3A 7F 14 00 0C                    db       01h, 3Ah, 7Fh, 14h, 00h, 0Ch
31E4:7F3B  00 04 00 14 00 34                    db       00h, 04h, 00h, 14h, 00h, 34h
31E4:7F41  58 00 26 02 00 00                    db       58h, 00h, 26h, 02h, 00h, 00h
31E4:7F47  00 00 00 00 00 20                    db       00h, 00h, 00h, 00h, 00h, 20h
31E4:7F4D  57 6D 04 00 00 72                    db       57h, 6Dh, 04h, 00h, 00h, 72h
31E4:7F53  71 00 00 C2 00 0F                    db       71h, 00h, 00h,0C2h, 00h, 0Fh
31E4:7F59  01 20 00 0C 00 03                    db       01h, 20h, 00h, 0Ch, 00h, 03h
31E4:7F5F  01 54 7F 14 00 0C                    db       01h, 54h, 7Fh, 14h, 00h, 0Ch
31E4:7F65  00 04 00 0A 00 34                    db       00h, 04h, 00h, 0Ah, 00h, 34h
31E4:7F6B  58 00 A4 01 00 00                    db       58h, 00h,0A4h, 01h, 00h, 00h
31E4:7F71  00 00 00 02 00 0A                    db       00h, 00h, 00h, 02h, 00h, 0Ah
31E4:7F77  B7 0A 01 23 80 01                    db      0B7h, 0Ah, 01h, 23h, 80h, 01h
31E4:7F7D  02 00 00 74 7F 07                    db       02h, 00h, 00h, 74h, 7Fh, 07h
31E4:7F83  00 00 72 71 00 00                    db       00h, 00h, 72h, 71h, 00h, 00h
31E4:7F89  19 01 C9 00 10 00                    db       19h, 01h,0C9h, 00h, 10h, 00h
31E4:7F8F  37 00 03 00 3A 7F                    db       37h, 00h, 03h, 00h, 3Ah, 7Fh
31E4:7F95  0E 00 37 00 01 00                    db       0Eh, 00h, 37h, 00h, 01h, 00h
31E4:7F9B  00 00 BB 58 00 9E                    db       00h, 00h,0BBh, 58h, 00h, 9Eh
31E4:7FA1  02 00                                db       02h, 00h
31E4:7FA3  0007[00]                             db      7 dup (0)
31E4:7FAA  20 57 6D 07 00 00                    db       20h, 57h, 6Dh, 07h, 00h, 00h
31E4:7FB0  72 71 00 00 1C 01                    db       72h, 71h, 00h, 00h, 1Ch, 01h
31E4:7FB6  CA 00 20 00 30 00                    db      0CAh, 00h, 20h, 00h, 30h, 00h
31E4:7FBC  01 01 A1 7F 10 00                    db       01h, 01h,0A1h, 7Fh, 10h, 00h
31E4:7FC2  30 00 04 00 00 00                    db       30h, 00h, 04h, 00h, 00h, 00h
31E4:7FC8  B2 58 80 A8 02 00                    db      0B2h, 58h, 80h,0A8h, 02h, 00h
31E4:7FCE  00 00 00 00 09 02                    db       00h, 00h, 00h, 00h, 09h, 02h
31E4:7FD4  00 10 FD 7F 01 00                    db       00h, 10h,0FDh, 7Fh, 01h, 00h
31E4:7FDA  00 AC 88 00 00 4D                    db       00h,0ACh, 88h, 00h, 00h, 4Dh
31E4:7FE0  01 EB 00 10 00 18                    db       01h,0EBh, 00h, 10h, 00h, 18h
31E4:7FE6  00 03 01 3A 7F 0B                    db       00h, 03h, 01h, 3Ah, 7Fh, 0Bh
31E4:7FEC  00 3B 00 02 00 00                    db       00h, 3Bh, 00h, 02h, 00h, 00h
31E4:7FF2  00 97 58 00 4E 06                    db       00h, 97h, 58h, 00h, 4Eh, 06h
31E4:7FF8  00 00 00 00 00 02                    db       00h, 00h, 00h, 00h, 00h, 02h
31E4:7FFE  00 01                                db       00h, 01h
31E4:8000  E4                   data_962        db      0E4h
31E4:8001  03 04 E4 03 11 02                    db       03h, 04h,0E4h, 03h, 11h, 02h
31E4:8007  00 00 2F 80 04 00                    db       00h, 00h, 2Fh, 80h, 04h, 00h
31E4:800D  00 72 71 00 00 F2                    db       00h, 72h, 71h, 00h, 00h,0F2h
31E4:8013  00 0C 01 30 00 10                    db       00h, 0Ch, 01h, 30h, 00h, 10h
31E4:8019  00 00 00 BD 41 08                    db       00h, 00h, 00h,0BDh, 41h, 08h
31E4:801F  00 20 00 10 00 00                    db       00h, 20h, 00h, 10h, 00h, 00h
31E4:8025  00                                   db       00h
31E4:8026  3D 58                                db       3Dh, 58h
31E4:8028  0007[00]                             db      7 dup (0)
31E4:802F  02 00 01 10 80 05                    db       02h, 00h, 01h, 10h, 80h, 05h
31E4:8035  0A 07 00 08 00 00                    db       0Ah, 07h, 00h, 08h, 00h, 00h
31E4:803B  7C 80 04 00 00 67                    db       7Ch, 80h, 04h, 00h, 00h, 67h
31E4:8041  71 00 00 AA 00 0C                    db       71h, 00h, 00h,0AAh, 00h, 0Ch
31E4:8047  01 50 00 0E 00 01                    db       01h, 50h, 00h, 0Eh, 00h, 01h
31E4:804D  01 2A 88 49 00 1E                    db       01h, 2Ah, 88h, 49h, 00h, 1Eh
31E4:8053  00 02 00 00 00 A0                    db       00h, 02h, 00h, 00h, 00h,0A0h
31E4:8059  58 AD                                db       58h,0ADh
31E4:805B  000D[00]                             db      13 dup (0)
31E4:8068  96 00 00 00 0A                       db       96h, 00h, 00h, 00h, 0Ah
31E4:806D  000F[00]                             db      15 dup (0)
31E4:807C  01 00 0C 93 1A 00                    db       01h, 00h, 0Ch, 93h, 1Ah, 00h
31E4:8082  0C 00 00 C6 80 02                    db       0Ch, 00h, 00h,0C6h, 80h, 02h
31E4:8088  00 00 72 71 00 00                    db       00h, 00h, 72h, 71h, 00h, 00h
31E4:808E  AA 00 CF 00 10 00                    db      0AAh, 00h,0CFh, 00h, 10h, 00h
31E4:8094  10 00 03 01 B3 81                    db       10h, 00h, 03h, 01h,0B3h, 81h
31E4:809A  08 00 3E 00 02 00                    db       08h, 00h, 3Eh, 00h, 02h, 00h
31E4:80A0  00 00 A9 58 00 E0                    db       00h, 00h,0A9h, 58h, 00h,0E0h
31E4:80A6  03                                   db       03h
31E4:80A7  000B[00]                             db      11 dup (0)
31E4:80B2  96 00 00 00 F8 06                    db       96h, 00h, 00h, 00h,0F8h, 06h
31E4:80B8  000E[00]                             db      14 dup (0)
31E4:80C6  03 00 0C B7 1A 0B                    db       03h, 00h, 0Ch,0B7h, 1Ah, 0Bh
31E4:80CC  D4 1A 10 CB 12 00                    db      0D4h, 1Ah, 10h,0CBh, 12h, 00h
31E4:80D2  0C 82 00 45 88 1D                    db       0Ch, 82h, 00h, 45h, 88h, 1Dh
31E4:80D8  00 00 67 71 00 00                    db       00h, 00h, 67h, 71h, 00h, 00h
31E4:80DE  10 01 C2 00 20 00                    db       10h, 01h,0C2h, 00h, 20h, 00h
31E4:80E4  16 00 03 01 A0 82                    db       16h, 00h, 03h, 01h,0A0h, 82h
31E4:80EA  20 00 16 00 02 00                    db       20h, 00h, 16h, 00h, 02h, 00h
31E4:80F0  00 00                                db       00h, 00h
31E4:80F2  73 58                                db       73h, 58h
31E4:80F4  000E[00]                             db      14 dup (0)
31E4:8102  96 00 00 00 F4 06                    db       96h, 00h, 00h, 00h,0F4h, 06h
31E4:8108  28 00 00 00 00 50                    db       28h, 00h, 00h, 00h, 00h, 50h
31E4:810E  0B                                   db       0Bh
31E4:810F  0007[00]                             db      7 dup (0)
31E4:8116  02 00 0B 49 17 12                    db       02h, 00h, 0Bh, 49h, 17h, 12h
31E4:811C  8C 1B 00 0C 82 00                    db       8Ch, 1Bh, 00h, 0Ch, 82h, 00h
31E4:8122  16 81 20 00 00 67                    db       16h, 81h, 20h, 00h, 00h, 67h
31E4:8128  71 00 00 10 01 C4                    db       71h, 00h, 00h, 10h, 01h,0C4h
31E4:812E  00 20 00 16 00 03                    db       00h, 20h, 00h, 16h, 00h, 03h
31E4:8134  01 A0 82 20 00 16                    db       01h,0A0h, 82h, 20h, 00h, 16h
31E4:813A  00 02 00 00 00                       db       00h, 02h, 00h, 00h, 00h
31E4:813F  7C 58                                db       7Ch, 58h
31E4:8141  000E[00]                             db      14 dup (0)
31E4:814F  96 00 00 00 F2 06                    db       96h, 00h, 00h, 00h,0F2h, 06h
31E4:8155  28 00 00 00 00 50                    db       28h, 00h, 00h, 00h, 00h, 50h
31E4:815B  0B                                   db       0Bh
31E4:815C  0007[00]                             db      7 dup (0)
31E4:8163  02 00 0B 9F 18 12                    db       02h, 00h, 0Bh, 9Fh, 18h, 12h
31E4:8169  8C 1B 00 0C 82 00                    db       8Ch, 1Bh, 00h, 0Ch, 82h, 00h
31E4:816F  63 81 23 00 00 67                    db       63h, 81h, 23h, 00h, 00h, 67h
31E4:8175  71 00 00 02 01 D8                    db       71h, 00h, 00h, 02h, 01h,0D8h
31E4:817B  00 10 00 17 00 03                    db       00h, 10h, 00h, 17h, 00h, 03h
31E4:8181  01 A0 82 10 00 17                    db       01h,0A0h, 82h, 10h, 00h, 17h
31E4:8187  00 02 00 00 00 E4                    db       00h, 02h, 00h, 00h, 00h,0E4h
31E4:818D  59                                   db      59h
31E4:818E  000E[00]                             db      14 dup (0)
31E4:819C  96 00 00 00 F0 06                    db       96h, 00h, 00h, 00h,0F0h, 06h
31E4:81A2  28 00 00 00 00 50                    db       28h, 00h, 00h, 00h, 00h, 50h
31E4:81A8  0B                                   db       0Bh
31E4:81A9  0007[00]                             db      7 dup (0)
31E4:81B0  09 02 00 10 32 7E                    db       09h, 02h, 00h, 10h, 32h, 7Eh
31E4:81B6  03 00 00 72 71 00                    db       03h, 00h, 00h, 72h, 71h, 00h
31E4:81BC  00 62 01 DF 00 10                    db       00h, 62h, 01h,0DFh, 00h, 10h
31E4:81C2  00 0B 00 03 01 3A                    db       00h, 0Bh, 00h, 03h, 01h, 3Ah
31E4:81C8  7F 08 00 2F 00 02                    db       7Fh, 08h, 00h, 2Fh, 00h, 02h
31E4:81CE  00 00 00 3D 58 00                    db       00h, 00h, 00h, 3Dh, 58h, 00h
31E4:81D4  4E 06 00 00 00 00                    db       4Eh, 06h, 00h, 00h, 00h, 00h
31E4:81DA  00 09 02 00 10 32                    db       00h, 09h, 02h, 00h, 10h, 32h
31E4:81E0  7E 04 00 00 72 71                    db       7Eh, 04h, 00h, 00h, 72h, 71h
31E4:81E6  00 00 DC 00 DD 00                    db       00h, 00h,0DCh, 00h,0DDh, 00h
31E4:81EC  10 00 0B 00 01 01                    db       10h, 00h, 0Bh, 00h, 01h, 01h
31E4:81F2  3A 7F 08 00 2F 00                    db       3Ah, 7Fh, 08h, 00h, 2Fh, 00h
31E4:81F8  02 00 00 00 3D 58                    db       02h, 00h, 00h, 00h, 3Dh, 58h
31E4:81FE  00 4E 06                             db       00h, 4Eh, 06h
31E4:8201  0009[00]                             db      9 dup (0)
31E4:820A  1A 7F 04 00 00 72                    db       1Ah, 7Fh, 04h, 00h, 00h, 72h
31E4:8210  71 00 00 12 01 F4                    db       71h, 00h, 00h, 12h, 01h,0F4h
31E4:8216  00 10 00 1B 00 03                    db       00h, 10h, 00h, 1Bh, 00h, 03h
31E4:821C  01 3A 7F 10 00 1B                    db       01h, 3Ah, 7Fh, 10h, 00h, 1Bh
31E4:8222  00 02 00 00 00 D6                    db       00h, 02h, 00h, 00h, 00h,0D6h
31E4:8228  58 00 4E 06                          db       58h, 00h, 4Eh, 06h
31E4:822C  0008[00]                             db      8 dup (0)
31E4:8234  20 57 6D 01 00 00                    db       20h, 57h, 6Dh, 01h, 00h, 00h
31E4:823A  72 71 00 00 58 01                    db       72h, 71h, 00h, 00h, 58h, 01h
31E4:8240  BC 00 10 00 0A 00                    db      0BCh, 00h, 10h, 00h, 0Ah, 00h
31E4:8246  01 01 3A 7F 0F 00                    db       01h, 01h, 3Ah, 7Fh, 0Fh, 00h
31E4:824C  0A 00 02 00 00 00                    db       0Ah, 00h, 02h, 00h, 00h, 00h
31E4:8252  DF 58 00 1C 01 00                    db      0DFh, 58h, 00h, 1Ch, 01h, 00h
31E4:8258  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:825E  01 00 87 82 01 00                    db       01h, 00h, 87h, 82h, 01h, 00h
31E4:8264  00 67 71 00 00 18                    db       00h, 67h, 71h, 00h, 00h, 18h
31E4:826A  01 58 00 10 00 10                    db       01h, 58h, 00h, 10h, 00h, 10h
31E4:8270  00 01 01 BD 41 10                    db       00h, 01h, 01h,0BDh, 41h, 10h
31E4:8276  00 10 00 02 00 00                    db       00h, 10h, 00h, 02h, 00h, 00h
31E4:827C  00                                   db       00h
31E4:827D  34 58                                db       34h, 58h
31E4:827F  0008[00]                             db      8 dup (0)
31E4:8287  01 00 11 1A 80 00                    db       01h, 00h, 11h, 1Ah, 80h, 00h
31E4:828D  00 00 00 57 6D 14                    db       00h, 00h, 00h, 57h, 6Dh, 14h
31E4:8293  00 00 17 86 00 00                    db       00h, 00h, 17h, 86h, 00h, 00h
31E4:8299  75 01 64 00 10 00                    db       75h, 01h, 64h, 00h, 10h, 00h
31E4:829F  10 00 03 01 BD 41                    db       10h, 00h, 03h, 01h,0BDh, 41h
31E4:82A5  10 00 10 00 02 00                    db       10h, 00h, 10h, 00h, 02h, 00h
31E4:82AB  00 00                                db       00h, 00h
31E4:82AD  42 59                                db       42h, 59h
31E4:82AF  0008[00]                             db      8 dup (0)
31E4:82B7  03 00 01 10 80 04                    db       03h, 00h, 01h, 10h, 80h, 04h
31E4:82BD  E5 0F 03 35 10 0D                    db      0E5h, 0Fh, 03h, 35h, 10h, 0Dh
31E4:82C3  02 00 10 B7 82 26                    db       02h, 00h, 10h,0B7h, 82h, 26h
31E4:82C9  00 00 72 71 00 00                    db       00h, 00h, 72h, 71h, 00h, 00h
31E4:82CF  4C 01 C6 00 10 00                    db       4Ch, 01h,0C6h, 00h, 10h, 00h
31E4:82D5  0A 00 03 01 FA 86                    db       0Ah, 00h, 03h, 01h,0FAh, 86h
31E4:82DB  09 00 0A 00 02 00                    db       09h, 00h, 0Ah, 00h, 02h, 00h
31E4:82E1  00 00 C9                             db       00h, 00h,0C9h
31E4:82E4  59                                   db      59h
31E4:82E5  0008[00]                             db      8 dup (0)
31E4:82ED  03 00 01 10 80 04                    db       03h, 00h, 01h, 10h, 80h, 04h
31E4:82F3  6F 0F 03 BF 0F 0D                    db       6Fh, 0Fh, 03h,0BFh, 0Fh, 0Dh
31E4:82F9  02 00 10 ED 82 26                    db       02h, 00h, 10h,0EDh, 82h, 26h
31E4:82FF  00 00 72 71 00 00                    db       00h, 00h, 72h, 71h, 00h, 00h
31E4:8305  E3 00 C6 00 10 00                    db      0E3h, 00h,0C6h, 00h, 10h, 00h
31E4:830B  0A 00 03 01 FF 86                    db       0Ah, 00h, 03h, 01h,0FFh, 86h
31E4:8311  09 00 0A 00 02 00                    db       09h, 00h, 0Ah, 00h, 02h, 00h
31E4:8317  00 00 C9                             db       00h, 00h,0C9h
31E4:831A  59                                   db      59h
31E4:831B  0008[00]                             db      8 dup (0)
31E4:8323  03 00 01 10 80 03                    db       03h, 00h, 01h, 10h, 80h, 03h
31E4:8329  21 11 04 D1 10 0D                    db       21h, 11h, 04h,0D1h, 10h, 0Dh
31E4:832F  02 00 10 23 83 27                    db       02h, 00h, 10h, 23h, 83h, 27h
31E4:8335  00 00 72 71 00 00                    db       00h, 00h, 72h, 71h, 00h, 00h
31E4:833B  4C 01 C6 00 10 00                    db       4Ch, 01h,0C6h, 00h, 10h, 00h
31E4:8341  0A 00 03 01 3D 87                    db       0Ah, 00h, 03h, 01h, 3Dh, 87h
31E4:8347  09 00 0A 00 02 00                    db       09h, 00h, 0Ah, 00h, 02h, 00h
31E4:834D  00 00 C9                             db       00h, 00h,0C9h
31E4:8350  59                                   db      59h
31E4:8351  0008[00]                             db      8 dup (0)
31E4:8359  03 00 01 10 80 03                    db       03h, 00h, 01h, 10h, 80h, 03h
31E4:835F  AB 10 04 5B 10 0D                    db      0ABh, 10h, 04h, 5Bh, 10h, 0Dh
31E4:8365  02 00 10 59 83 27                    db       02h, 00h, 10h, 59h, 83h, 27h
31E4:836B  00 00 72 71 00 00                    db       00h, 00h, 72h, 71h, 00h, 00h
31E4:8371  E3 00 C6 00 10 00                    db      0E3h, 00h,0C6h, 00h, 10h, 00h
31E4:8377  0A 00 03 01 1E 87                    db       0Ah, 00h, 03h, 01h, 1Eh, 87h
31E4:837D  09 00 0A 00 02 00                    db       09h, 00h, 0Ah, 00h, 02h, 00h
31E4:8383  00 00 C9                             db       00h, 00h,0C9h
31E4:8386  59                                   db      59h
31E4:8387  0008[00]                             db      8 dup (0)
31E4:838F  03 00 01 10 80 03                    db       03h, 00h, 01h, 10h, 80h, 03h
31E4:8395  07 12 04 BD 11 0D                    db       07h, 12h, 04h,0BDh, 11h, 0Dh
31E4:839B  02 00 10 8F 83 28                    db       02h, 00h, 10h, 8Fh, 83h, 28h
31E4:83A1  00 00 72 71 00 00                    db       00h, 00h, 72h, 71h, 00h, 00h
31E4:83A7  52 01 C6 00 10 00                    db       52h, 01h,0C6h, 00h, 10h, 00h
31E4:83AD  0A 00 03 00 47 87                    db       0Ah, 00h, 03h, 00h, 47h, 87h
31E4:83B3  09 00 0A 00 02 00                    db       09h, 00h, 0Ah, 00h, 02h, 00h
31E4:83B9  00 00 C9                             db       00h, 00h,0C9h
31E4:83BC  59                                   db      59h
31E4:83BD  0008[00]                             db      8 dup (0)
31E4:83C5  03 00 01 10 80 03                    db       03h, 00h, 01h, 10h, 80h, 03h
31E4:83CB  97 11 04 47 11 0D                    db       97h, 11h, 04h, 47h, 11h, 0Dh
31E4:83D1  02 00 10 C5 83 28                    db       02h, 00h, 10h,0C5h, 83h, 28h
31E4:83D7  00 00 72 71 00 00                    db       00h, 00h, 72h, 71h, 00h, 00h
31E4:83DD  E9 00 C6 00 10 00                    db      0E9h, 00h,0C6h, 00h, 10h, 00h
31E4:83E3  0A 00 03 00 42 87                    db       0Ah, 00h, 03h, 00h, 42h, 87h
31E4:83E9  09 00 0A 00 02 00                    db       09h, 00h, 0Ah, 00h, 02h, 00h
31E4:83EF  00 00 C9                             db       00h, 00h,0C9h
31E4:83F2  59                                   db      59h
31E4:83F3  0008[00]                             db      8 dup (0)

                           sack_hotspot_rec
31E4:83FB  2D 02 00 00 25 84                    db       2Dh, 02h, 00h, 00h, 25h, 84h
31E4:8401  03 00 00 67 71                       db       03h, 00h, 00h, 67h, 71h
31E4:8406  0000                   data_8406     dw       0
31E4:8408  015E                                 dw       015Eh
31E4:840A  0064                   data_840a     dw       64h
31E4:840C  20                                   db       20h
31E4:840D  00 0E 00 03 00 BD                    db       00h, 0Eh, 00h, 03h, 00h,0BDh
31E4:8413  41 1B 00 18 00 02                    db       41h, 1Bh, 00h, 18h, 00h, 02h
31E4:8419  00 00 00 2B 58 40                    db       00h, 00h, 00h, 2Bh, 58h, 40h
31E4:841F  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:8425  06 00 10 84 08 06                    db       06h, 00h, 10h, 84h, 08h, 06h
31E4:842B  E4 08 01 10 80 04                    db      0E4h, 08h, 01h, 10h, 80h, 04h
31E4:8431  10 80 03 10 80 0A                    db       10h, 80h, 03h, 10h, 80h, 0Ah
31E4:8437  44 08 01 02 00 00                    db       44h, 08h, 01h, 02h, 00h, 00h
31E4:843D  63 84 03 00 00 72                    db       63h, 84h, 03h, 00h, 00h, 72h
31E4:8443  71 00 00 64 01 09                    db       71h, 00h, 00h, 64h, 01h, 09h
31E4:8449  01 10 00 0C 00 01                    db       01h, 10h, 00h, 0Ch, 00h, 01h
31E4:844F  01 BD 41 04 00 0D                    db       01h,0BDh, 41h, 04h, 00h, 0Dh
31E4:8455  00 04 00 00 00 19                    db       00h, 04h, 00h, 00h, 00h, 19h
31E4:845B  58 70 00 00 00 00                    db       58h, 70h, 00h, 00h, 00h, 00h
31E4:8461  00 00 03 00 19 D2                    db       00h, 00h, 03h, 00h, 19h,0D2h
31E4:8467  12 10 D2 12 14 0E                    db       12h, 10h,0D2h, 12h, 14h, 0Eh
31E4:846D  00                                   db       00h

31E4:846E  01 02 00 00 57      hotspot_2713     db       01h, 02h, 00h, 00h, 57h
31E4:8473  6D 03 00 00 72 71                    db       6Dh, 03h, 00h, 00h, 72h, 71h
31E4:8479  00 00 BF 00 FB 00                    db       00h, 00h,0BFh, 00h,0FBh, 00h
31E4:847F  10 00 03 00 01 01                    db       10h, 00h, 03h, 00h, 01h, 01h
31E4:8485  BD 41 10 00 1E 00                    db      0BDh, 41h, 10h, 00h, 1Eh, 00h
31E4:848B  04 00 00 00 22 58                    db       04h, 00h, 00h, 00h, 22h, 58h
31E4:8491  70 00 00 00 00 00                    db       70h, 00h, 00h, 00h, 00h, 00h
31E4:8497  00 01 02 00 00 57                    db       00h, 01h, 02h, 00h, 00h, 57h
31E4:849D  6D 02 01 00 72 71                    db       6Dh, 02h, 01h, 00h, 72h, 71h
31E4:84A3  00 00 1D 01 07 01                    db       00h, 00h, 1Dh, 01h, 07h, 01h
31E4:84A9  10 00 03 00 01 01                    db       10h, 00h, 03h, 00h, 01h, 01h
31E4:84AF  BD 41 06 00 03 00                    db      0BDh, 41h, 06h, 00h, 03h, 00h
31E4:84B5  02                                   db       02h
31E4:84B6  000C[00]                             db      12 dup (0)
31E4:84C2  01 00 19 F1 0D 01                    db       01h, 00h, 19h,0F1h, 0Dh, 01h
31E4:84C8  02 00 00 C2 84                       db       02h, 00h, 00h,0C2h, 84h

31E4:84CD  0102           hotspot_2713_hs5e     dw       0102h
31E4:84CF  00 72 71 00 00                       db       00h, 72h, 71h, 00h, 00h
31E4:84D4  1D 01 07 01 10 00                    db       1Dh, 01h, 07h, 01h, 10h, 00h
31E4:84DA  0F 00 01 01 BD 41                    db       0Fh, 00h, 01h, 01h,0BDh, 41h
31E4:84E0  0F 00 0F 00 02                       db       0Fh, 00h, 0Fh, 00h, 02h
31E4:84E5  000C[00]                             db      12 dup (0)
31E4:84F1  01 02 00 00 57 6D                    db       01h, 02h, 00h, 00h, 57h, 6Dh
31E4:84F7  02 01 00 72 71 00                    db       02h, 01h, 00h, 72h, 71h, 00h
31E4:84FD  00 1D 01 07 01 10                    db       00h, 1Dh, 01h, 07h, 01h, 10h
31E4:8503  00 0F 00 01 01 BD                    db       00h, 0Fh, 00h, 01h, 01h,0BDh
31E4:8509  41 0F 00 0F 00 02                    db       41h, 0Fh, 00h, 0Fh, 00h, 02h
31E4:850F  000C[00]                             db      12 dup (0)
31E4:851B  01 02 00 00 57 6D                    db       01h, 02h, 00h, 00h, 57h, 6Dh
31E4:8521  02 01 00 72 71 00                    db       02h, 01h, 00h, 72h, 71h, 00h
31E4:8527  00 1D 01 07 01 10                    db       00h, 1Dh, 01h, 07h, 01h, 10h
31E4:852D  00 0F 00 01 01 BD                    db       00h, 0Fh, 00h, 01h, 01h,0BDh
31E4:8533  41 0F 00 0F 00 02                    db       41h, 0Fh, 00h, 0Fh, 00h, 02h
31E4:8539  000C[00]                             db      12 dup (0)
31E4:8545  01 02 00 20 57 6D                    db       01h, 02h, 00h, 20h, 57h, 6Dh
31E4:854B  12 00 00 72 71 00                    db       12h, 00h, 00h, 72h, 71h, 00h
31E4:8551  00 BC 00 EF 00 10                    db       00h,0BCh, 00h,0EFh, 00h, 10h
31E4:8557  00 08 00 01 01 BD                    db       00h, 08h, 00h, 01h, 01h,0BDh
31E4:855D  41 08 00 08 00 02                    db       41h, 08h, 00h, 08h, 00h, 02h
31E4:8563  00 00 00 8F 5A 00                    db       00h, 00h, 00h, 8Fh, 5Ah, 00h
31E4:8569  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:856F  01 02 00 20 57 6D                    db       01h, 02h, 00h, 20h, 57h, 6Dh
31E4:8575  0E 00 00 72 71 00                    db       0Eh, 00h, 00h, 72h, 71h, 00h
31E4:857B  00 8C 01 FE 00 10                    db       00h, 8Ch, 01h,0FEh, 00h, 10h
31E4:8581  00 06 00 01 01 BD                    db       00h, 06h, 00h, 01h, 01h,0BDh
31E4:8587  41 0A 00 06 00 02                    db       41h, 0Ah, 00h, 06h, 00h, 02h
31E4:858D  00 00 00 98 5A 00                    db       00h, 00h, 00h, 98h, 5Ah, 00h
31E4:8593  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:8599  01 02 00 00 57 6D                    db       01h, 02h, 00h, 00h, 57h, 6Dh
31E4:859F  02 01 00 72 71 00                    db       02h, 01h, 00h, 72h, 71h, 00h
31E4:85A5  00 1D 01 07 01 10                    db       00h, 1Dh, 01h, 07h, 01h, 10h
31E4:85AB  00 0F 00 01 01 BD                    db       00h, 0Fh, 00h, 01h, 01h,0BDh
31E4:85B1  41 0F 00 0F 00 02                    db       41h, 0Fh, 00h, 0Fh, 00h, 02h
31E4:85B7  000C[00]                             db      12 dup (0)
31E4:85C3  01 00 01 13 04 01                    db       01h, 00h, 01h, 13h, 04h, 01h
31E4:85C9  02 00 40 C3 85 2B                    db       02h, 00h, 40h,0C3h, 85h, 2Bh
31E4:85CF  00 00 72 71 00 00                    db       00h, 00h, 72h, 71h, 00h, 00h
31E4:85D5  F3 00 F0 00 10 00                    db      0F3h, 00h,0F0h, 00h, 10h, 00h
31E4:85DB  0D 00 03 01 BD 41                    db       0Dh, 00h, 03h, 01h,0BDh, 41h
31E4:85E1  0F 00 0F 00 02 00                    db       0Fh, 00h, 0Fh, 00h, 02h, 00h
31E4:85E7  00 00 BC 5A 00 00                    db       00h, 00h,0BCh, 5Ah, 00h, 00h
31E4:85ED  00 00 00 00 00 01                    db       00h, 00h, 00h, 00h, 00h, 01h
31E4:85F3  02 00 00 57 6D 2B                    db       02h, 00h, 00h, 57h, 6Dh, 2Bh
31E4:85F9  00 00 72 71 00 00                    db       00h, 00h, 72h, 71h, 00h, 00h
31E4:85FF  0E 01 F0 00 10 00                    db       0Eh, 01h,0F0h, 00h, 10h, 00h
31E4:8605  0D 00 03 01 BD 41                    db       0Dh, 00h, 03h, 01h,0BDh, 41h
31E4:860B  0F 00 0F 00 02 00                    db       0Fh, 00h, 0Fh, 00h, 02h, 00h
31E4:8611  00 00 C5                             db       00h, 00h,0C5h
31E4:8614  5A                                   db      5Ah
31E4:8615  0007[00]                             db      7 dup (0)
31E4:861C  01 02 00 00 57 6D                    db       01h, 02h, 00h, 00h, 57h, 6Dh
31E4:8622  BB 01 00 72 71 01                    db      0BBh, 01h, 00h, 72h, 71h, 01h
31E4:8628  02 00 00 57 6D BB                    db       02h, 00h, 00h, 57h, 6Dh,0BBh
31E4:862E  01 00 72 71 00 00                    db       01h, 00h, 72h, 71h, 00h, 00h
31E4:8634  0E 01 F0 00 10 00                    db       0Eh, 01h,0F0h, 00h, 10h, 00h
31E4:863A  0D 00 03 01 BD 41                    db       0Dh, 00h, 03h, 01h,0BDh, 41h
31E4:8640  0F 00 0F 00 02 00                    db       0Fh, 00h, 0Fh, 00h, 02h, 00h
31E4:8646  00 00 C5                             db       00h, 00h,0C5h
31E4:8649  5A                                   db      5Ah
31E4:864A  0007[00]                             db      7 dup (0)
31E4:8651  01 00 19 FE 0D 01                    db       01h, 00h, 19h,0FEh, 0Dh, 01h
31E4:8657  02 00 00 51 86 63                    db       02h, 00h, 00h, 51h, 86h, 63h
31E4:865D  00 00 72 71 00 00                    db       00h, 00h, 72h, 71h, 00h, 00h
31E4:8663  F3 00 F6 00 10 00                    db      0F3h, 00h,0F6h, 00h, 10h, 00h
31E4:8669  07 00 01 01 BD 41                    db       07h, 00h, 01h, 01h,0BDh, 41h
31E4:866F  0F 00 07 00 02                       db       0Fh, 00h, 07h, 00h, 02h
31E4:8674  000C[00]                             db      12 dup (0)
31E4:8680  01 02 00 00 57 6D                    db       01h, 02h, 00h, 00h, 57h, 6Dh
31E4:8686  00 01 00 72 71 00                    db       00h, 01h, 00h, 72h, 71h, 00h
31E4:868C  00 F3 00 F6 00 10                    db       00h,0F3h, 00h,0F6h, 00h, 10h
31E4:8692  00 0F 00 01 01 BD                    db       00h, 0Fh, 00h, 01h, 01h,0BDh
31E4:8698  41 08 00 0F 00 02                    db       41h, 08h, 00h, 0Fh, 00h, 02h
31E4:869E  000C[00]                             db      12 dup (0)
31E4:86AA  01 00 14 2E 80 01                    db       01h, 00h, 14h, 2Eh, 80h, 01h
31E4:86B0  02 00 00 AA 86 00                    db       02h, 00h, 00h,0AAh, 86h, 00h
31E4:86B6  01 00 72 71 00 00                    db       01h, 00h, 72h, 71h, 00h, 00h
31E4:86BC  F3 00 F6 00 10 00                    db      0F3h, 00h,0F6h, 00h, 10h, 00h
31E4:86C2  07 00 01 01 BD 41                    db       07h, 00h, 01h, 01h,0BDh, 41h
31E4:86C8  05 00 07 00 02                       db       05h, 00h, 07h, 00h, 02h
31E4:86CD  000C[00]                             db      12 dup (0)
31E4:86D9  01 02 00 00 57 6D                    db       01h, 02h, 00h, 00h, 57h, 6Dh
31E4:86DF  00 00 00 72 71 00                    db       00h, 00h, 00h, 72h, 71h, 00h
31E4:86E5  00 3A 01 3A 01 10                    db       00h, 3Ah, 01h, 3Ah, 01h, 10h
31E4:86EB  00 03 00 01 01 BD                    db       00h, 03h, 00h, 01h, 01h,0BDh
31E4:86F1  41 06 00 04 00 02                    db       41h, 06h, 00h, 04h, 00h, 02h
31E4:86F7  00 00 00                             db       00h, 00h, 00h
31E4:86FA  39 59                                db       39h, 59h
31E4:86FC  0007[00]                             db      7 dup (0)
31E4:8703  03 00 10 C7 09 19                    db       03h, 00h, 10h,0C7h, 09h, 19h
31E4:8709  C7 09 14 B4 0B 01                    db      0C7h, 09h, 14h,0B4h, 0Bh, 01h
31E4:870F  02 00 00 03 87 E7                    db       02h, 00h, 00h, 03h, 87h,0E7h
31E4:8715  03 00 72 71 00 00                    db       03h, 00h, 72h, 71h, 00h, 00h
31E4:871B  E9 00 F3 00 10 00                    db      0E9h, 00h,0F3h, 00h, 10h, 00h
31E4:8721  09 00 01 01 BD 41                    db       09h, 00h, 01h, 01h,0BDh, 41h
31E4:8727  06 00 09 00 02                       db       06h, 00h, 09h, 00h, 02h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 490

31E4:872C  000C[00]                             db      12 dup (0)
31E4:8738  E0 01 00 10 62 87                    db      0E0h, 01h, 00h, 10h, 62h, 87h
31E4:873E  01 00 00 67 71 00                    db       01h, 00h, 00h, 67h, 71h, 00h
31E4:8744  00 D1 00 F6 00 10                    db       00h,0D1h, 00h,0F6h, 00h, 10h
31E4:874A  00 35 00 03 00 07                    db       00h, 35h, 00h, 03h, 00h, 07h
31E4:8750  72 0B 00 35 00 08                    db       72h, 0Bh, 00h, 35h, 00h, 08h
31E4:8756  00 00 00                             db       00h, 00h, 00h
31E4:8759  4F 58                                db       4Fh, 58h
31E4:875B  0007[00]                             db      7 dup (0)
31E4:8762  04 00 01 10 80 06                    db       04h, 00h, 01h, 10h, 80h, 06h
31E4:8768  59 02 08 CE 02 09                    db       59h, 02h, 08h,0CEh, 02h, 09h
31E4:876E  CE 02 E0 01 00 10                    db      0CEh, 02h,0E0h, 01h, 00h, 10h
31E4:8774  9A 87 02 00 00 67                    db       9Ah, 87h, 02h, 00h, 00h, 67h
31E4:877A  71 00 00 E0 00 C8                    db       71h, 00h, 00h,0E0h, 00h,0C8h
31E4:8780  00 20 00 30 00 03                    db       00h, 20h, 00h, 30h, 00h, 03h
31E4:8786  01 07 72 20 00 30                    db       01h, 07h, 72h, 20h, 00h, 30h
31E4:878C  00 04 00 00 00                       db       00h, 04h, 00h, 00h, 00h
31E4:8791  58 58                                db       58h, 58h
31E4:8793  0007[00]                             db      7 dup (0)
31E4:879A  06 00 10 CA 08 06                    db       06h, 00h, 10h,0CAh, 08h, 06h
31E4:87A0  86 02 07 B7 02 08                    db       86h, 02h, 07h,0B7h, 02h, 08h
31E4:87A6  F8 02 09 25 03 01                    db      0F8h, 02h, 09h, 25h, 03h, 01h
31E4:87AC  10 80 0D 02 00 40                    db       10h, 80h, 0Dh, 02h, 00h, 40h
31E4:87B2  D8 87 02 00 00 67                    db      0D8h, 87h, 02h, 00h, 00h, 67h
31E4:87B8  71 00 00 88 01 D0                    db       71h, 00h, 00h, 88h, 01h,0D0h
31E4:87BE  00 20 00 40 00 03                    db       00h, 20h, 00h, 40h, 00h, 03h
31E4:87C4  01 07 72 20 00 35                    db       01h, 07h, 72h, 20h, 00h, 35h
31E4:87CA  00 08 00 00 00 46                    db       00h, 08h, 00h, 00h, 00h, 46h
31E4:87D0  58 10 00 00 00 00                    db       58h, 10h, 00h, 00h, 00h, 00h
31E4:87D6  00 00 04 00 06 07                    db       00h, 00h, 04h, 00h, 06h, 07h
31E4:87DC  00 03 04 05 04 04                    db       00h, 03h, 04h, 05h, 04h, 04h
31E4:87E2  05 01 12 80 61 02                    db       05h, 01h, 12h, 80h, 61h, 02h
31E4:87E8  00 10 10 88 11 00                    db       00h, 10h, 10h, 88h, 11h, 00h
31E4:87EE  00 67 71 00 00 49                    db       00h, 67h, 71h, 00h, 00h, 49h
31E4:87F4  01 E5 00 20 00 39                    db       01h,0E5h, 00h, 20h, 00h, 39h
31E4:87FA  00 03 01 07 72 20                    db       00h, 03h, 01h, 07h, 72h, 20h
31E4:8800  00 34 00 08 00 00                    db       00h, 34h, 00h, 08h, 00h, 00h
31E4:8806  00                                   db       00h
31E4:8807  61 58                                db       61h, 58h
31E4:8809  0007[00]                             db      7 dup (0)
31E4:8810  03 00 06 73 0D 07                    db       03h, 00h, 06h, 73h, 0Dh, 07h
31E4:8816  7A 0D 01 0B 80 61                    db       7Ah, 0Dh, 01h, 0Bh, 80h, 61h
31E4:881C  02 00 10 10 88 1D                    db       02h, 00h, 10h, 10h, 88h, 1Dh
31E4:8822  00 00 67 71 00 00                    db       00h, 00h, 67h, 71h, 00h, 00h
31E4:8828  98 00 1E 01 60 00                    db       98h, 00h, 1Eh, 01h, 60h, 00h
31E4:882E  28 00 03 01 07 72                    db       28h, 00h, 03h, 01h, 07h, 72h
31E4:8834  20 00 2C 00 08 00                    db       20h, 00h, 2Ch, 00h, 08h, 00h
31E4:883A  00 00                                db       00h, 00h
31E4:883C  6A 58                                db       6Ah, 58h
31E4:883E  0007[00]                             db      7 dup (0)
31E4:8845  02 00 0B 88 17 12                    db       02h, 00h, 0Bh, 88h, 17h, 12h
31E4:884B  8C 1B 02 00 0B F6                    db       8Ch, 1Bh, 02h, 00h, 0Bh,0F6h
31E4:8851  1B 12 D0 1B 00 0C                    db       1Bh, 12h,0D0h, 1Bh, 00h, 0Ch
31E4:8857  82 00 4D 88 1C 00                    db       82h, 00h, 4Dh, 88h, 1Ch, 00h
31E4:885D  00 72 71 00 00 CE                    db       00h, 72h, 71h, 00h, 00h,0CEh
31E4:8863  00 13 01 30 00 2F                    db       00h, 13h, 01h, 30h, 00h, 2Fh
31E4:8869  00 01 01 F3 81 27                    db       00h, 01h, 01h,0F3h, 81h, 27h
31E4:886F  00 43 00 02 00 00                    db       00h, 43h, 00h, 02h, 00h, 00h
31E4:8875  00 E8 58 00 EC 00                    db       00h,0E8h, 58h, 00h,0ECh, 00h
31E4:887B  00 00 00 00 05 00                    db       00h, 00h, 00h, 00h, 05h, 00h
31E4:8881  00 00 00 00 00 96                    db       00h, 00h, 00h, 00h, 00h, 96h
31E4:8887  00 00 00 02 06                       db       00h, 00h, 00h, 02h, 06h
31E4:888C  000E[00]                             db      14 dup (0)
31E4:889A  06 00 08 36 09 09                    db       06h, 00h, 08h, 36h, 09h, 09h
31E4:88A0  36 09 06 05 09 07                    db       36h, 09h, 06h, 05h, 09h, 07h
31E4:88A6  1F 09 01 10 80 10                    db       1Fh, 09h, 01h, 10h, 80h, 10h
31E4:88AC  C4 12 E1 03 00 10                    db      0C4h, 12h,0E1h, 03h, 00h, 10h
31E4:88B2  9A 88 13 00 00 67                    db       9Ah, 88h, 13h, 00h, 00h, 67h
31E4:88B8  71 00 00 6D 01 D1                    db       71h, 00h, 00h, 6Dh, 01h,0D1h
31E4:88BE  00 20 00 39 00 03                    db       00h, 20h, 00h, 39h, 00h, 03h
31E4:88C4  01 07 72 20 00 37                    db       01h, 07h, 72h, 20h, 00h, 37h
31E4:88CA  00 08 00 00 00 F1                    db       00h, 08h, 00h, 00h, 00h,0F1h
31E4:88D0  58                                   db      58h
31E4:88D1  0007[00]                             db      7 dup (0)
31E4:88D8  61 02 00 10 10 88                    db       61h, 02h, 00h, 10h, 10h, 88h
31E4:88DE  1E 00 00 67 71 00                    db       1Eh, 00h, 00h, 67h, 71h, 00h
31E4:88E4  00 C2 00 05 01 60                    db       00h,0C2h, 00h, 05h, 01h, 60h
31E4:88EA  00 28 00 03 01 07                    db       00h, 28h, 00h, 03h, 01h, 07h
31E4:88F0  72 20 00 30 00 04                    db       72h, 20h, 00h, 30h, 00h, 04h
31E4:88F6  00 00 00 FA 58 20                    db       00h, 00h, 00h,0FAh, 58h, 20h
31E4:88FC  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:8902  04 00 08 D1 0C 09                    db       04h, 00h, 08h,0D1h, 0Ch, 09h
31E4:8908  D1 0C 06 D1 0C 01                    db      0D1h, 0Ch, 06h,0D1h, 0Ch, 01h
31E4:890E  10 80 E1 03 00 10                    db       10h, 80h,0E1h, 03h, 00h, 10h
31E4:8914  02 89 0E 00 00 67                    db       02h, 89h, 0Eh, 00h, 00h, 67h
31E4:891A  71 00 00 F6 00 CC                    db       71h, 00h, 00h,0F6h, 00h,0CCh
31E4:8920  00 20 00 31 00 03                    db       00h, 20h, 00h, 31h, 00h, 03h
31E4:8926  01 07 72 20 00 31                    db       01h, 07h, 72h, 20h, 00h, 31h
31E4:892C  00 04 00 00 00 03                    db       00h, 04h, 00h, 00h, 00h, 03h
31E4:8932  59 50 00 00 00 00                    db       59h, 50h, 00h, 00h, 00h, 00h
31E4:8938  00 00 05 00 01 10                    db       00h, 00h, 05h, 00h, 01h, 10h
31E4:893E  80 06 00 00 07 00                    db       80h, 06h, 00h, 00h, 07h, 00h
31E4:8944  00                                   db       00h
31E4:8945  08 36 09 09 36                       db       08h, 36h, 09h, 09h, 36h
31E4:894A                       loc_2325:
31E4:894A  09 61 02                             or      [bx+di+2],sp
31E4:894D  00 10                                add     [bx+si],dl
31E4:894F  3A 89 000C                           cmp     cl,byte ptr copyright+0Ch[bx+di] ; (31E4:000C='vo')
31E4:8953  00 67 71                             add     [bx+71h],ah
31E4:8956  00 00                                add     [bx+si],al
31E4:8958  A8 00                                test    al,0
31E4:895A  AA                                   stosb                           ; Store al to es:[di]
31E4:895B  00 20                                add     [bx+si],ah
31E4:895D  00 3B                                add     [bp+di],bh
31E4:895F  00 03                                add     [bp+di],al
31E4:8961  01 07                                add     [bx],ax
31E4:8963  72 20                                jc      loc_2326                ; Jump if carry Set
31E4:8965  00 3B                                add     [bp+di],bh
31E4:8967  00 04                                add     [si],al
31E4:8969  00 00                                add     [bx+si],al
31E4:896B  00 54 59                             add     [si+59h],dl
31E4:896E  0007[00]                             db      7 dup (0)
31E4:8975  61 02 00 10 3A 89                    db       61h, 02h, 00h, 10h, 3Ah, 89h
31E4:897B  20 00 00 67 71 00                    db       20h, 00h, 00h, 67h, 71h, 00h
31E4:8981  00 AC 00 17                          db       00h,0ACh, 00h, 17h
31E4:8985                       loc_2326:                                       ;  xref 31E4:8963
31E4:8985  01 50 00             ;*              add     [bx+si+0],dx
31E4:8985  01 50 00                             db       01h, 50h, 00h
31E4:8988  30 00 03 01 07 72                    db       30h, 00h, 03h, 01h, 07h, 72h
31E4:898E  20 00 36 00 04 00                    db       20h, 00h, 36h, 00h, 04h, 00h
31E4:8994  00 00                                db       00h, 00h
31E4:8996  4B 59                                db       4Bh, 59h
31E4:8998  0007[00]                             db      7 dup (0)
31E4:899F  05 00 01 10 80 06                    db       05h, 00h, 01h, 10h, 80h, 06h
31E4:89A5  81 0D 07 00 00 08                    db       81h, 0Dh, 07h, 00h, 00h, 08h
31E4:89AB  36 09 09 36 09 E1                    db       36h, 09h, 09h, 36h, 09h,0E1h
31E4:89B1  03 00 10 9F 89 14                    db       03h, 00h, 10h, 9Fh, 89h, 14h
31E4:89B7  00 00 67 71 00 00                    db       00h, 00h, 67h, 71h, 00h, 00h
31E4:89BD  41 01 BC 00 20 00                    db       41h, 01h,0BCh, 00h, 20h, 00h
31E4:89C3  38 00 03 01 07 72                    db       38h, 00h, 03h, 01h, 07h, 72h
31E4:89C9  20 00 38 00 04 00                    db       20h, 00h, 38h, 00h, 04h, 00h
31E4:89CF  00 00                                db       00h, 00h
31E4:89D1  66 59                                db       66h, 59h
31E4:89D3  0007[00]                             db      7 dup (0)
31E4:89DA  61 02 00 10 3A 89                    db       61h, 02h, 00h, 10h, 3Ah, 89h
31E4:89E0  24 00 00 67 71 00                    db       24h, 00h, 00h, 67h, 71h, 00h
31E4:89E6  00 93 00 E1 00 70                    db       00h, 93h, 00h,0E1h, 00h, 70h
31E4:89EC  00 30 00 03 01 07                    db       00h, 30h, 00h, 03h, 01h, 07h
31E4:89F2  72 08 00 1E 00 04                    db       72h, 08h, 00h, 1Eh, 00h, 04h
31E4:89F8  00 00 00 5D 59 50                    db       00h, 00h, 00h, 5Dh, 59h, 50h
31E4:89FE  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:8A04  05 00 01 10 80 06                    db       05h, 00h, 01h, 10h, 80h, 06h
31E4:8A0A  5B 0E 07 00 00 08                    db       5Bh, 0Eh, 07h, 00h, 00h, 08h
31E4:8A10  36 09 09 36 09 61                    db       36h, 09h, 09h, 36h, 09h, 61h
31E4:8A16  02 00 10 04 8A 0A                    db       02h, 00h, 10h, 04h, 8Ah, 0Ah
31E4:8A1C  00 00 67 71 00 00                    db       00h, 00h, 67h, 71h, 00h, 00h
31E4:8A22  06 01 DB 00 20 00                    db       06h, 01h,0DBh, 00h, 20h, 00h
31E4:8A28  36 00 01 01 07 72                    db       36h, 00h, 01h, 01h, 07h, 72h
31E4:8A2E  1A 00 36 00 04 00                    db       1Ah, 00h, 36h, 00h, 04h, 00h
31E4:8A34  00 00 9C 59 00 00                    db       00h, 00h, 9Ch, 59h, 00h, 00h
31E4:8A3A  00 00 00 00 00 61                    db       00h, 00h, 00h, 00h, 00h, 61h
31E4:8A40  02 00 10 3A 89 22                    db       02h, 00h, 10h, 3Ah, 89h, 22h
31E4:8A46  00 00 67 71 00 00                    db       00h, 00h, 67h, 71h, 00h, 00h
31E4:8A4C  B6 00 F3 00 30 00                    db      0B6h, 00h,0F3h, 00h, 30h, 00h
31E4:8A52  39 00 03 01 07 72                    db       39h, 00h, 03h, 01h, 07h, 72h
31E4:8A58  28 00 39 00 04 00                    db       28h, 00h, 39h, 00h, 04h, 00h
31E4:8A5E  00 00 A5 59 00 00                    db       00h, 00h,0A5h, 59h, 00h, 00h
31E4:8A64  00 00 00 00 00 61                    db       00h, 00h, 00h, 00h, 00h, 61h
31E4:8A6A  02 00 10 10 88 1F                    db       02h, 00h, 10h, 10h, 88h, 1Fh
31E4:8A70  00 00 67 71 00 00                    db       00h, 00h, 67h, 71h, 00h, 00h
31E4:8A76  41 01 15 01 40 00                    db       41h, 01h, 15h, 01h, 40h, 00h
31E4:8A7C  22 00 03 01 07                       db       22h, 00h, 03h, 01h, 07h
31E4:8A81                       loc_2327:
31E4:8A81  72 20                                jc      $+22h                   ; Jump if carry Set
31E4:8A83  00 4A 00             ;*              add     [bp+si+0],cl
31E4:8A83  00 4A 00                             db       00h, 4Ah, 00h
31E4:8A86  04 00 00 00 0C 59                    db       04h, 00h, 00h, 00h, 0Ch, 59h
31E4:8A8C  0007[00]                             db      7 dup (0)
31E4:8A93  05 00 01 10 80 06                    db       05h, 00h, 01h, 10h, 80h, 06h
31E4:8A99  06 80 07 10 80 08                    db       06h, 80h, 07h, 10h, 80h, 08h
31E4:8A9F  36 09 09 36 09 E1                    db       36h, 09h, 09h, 36h, 09h,0E1h
31E4:8AA5  03 00 10 93 8A 0F                    db       03h, 00h, 10h, 93h, 8Ah, 0Fh
31E4:8AAB  00 00 67 71 00 00                    db       00h, 00h, 67h, 71h, 00h, 00h
31E4:8AB1  E3 00 A8 00 40 00                    db      0E3h, 00h,0A8h, 00h, 40h, 00h
31E4:8AB7  61 00 03 01 07 72                    db       61h, 00h, 03h, 01h, 07h, 72h
31E4:8ABD  3D 00 5D 00 04 00                    db       3Dh, 00h, 5Dh, 00h, 04h, 00h
31E4:8AC3  00 00 8A 59 00 00                    db       00h, 00h, 8Ah, 59h, 00h, 00h
31E4:8AC9  00 00 00 00 00 E1                    db       00h, 00h, 00h, 00h, 00h,0E1h
31E4:8ACF  03 00 10 93 8A 26                    db       03h, 00h, 10h, 93h, 8Ah, 26h
31E4:8AD5  00 00 67 71 00 00                    db       00h, 00h, 67h, 71h, 00h, 00h
31E4:8ADB  32 01 14 01 40 00                    db       32h, 01h, 14h, 01h, 40h, 00h
31E4:8AE1  35 00 03 01 07 72                    db       35h, 00h, 03h, 01h, 07h, 72h
31E4:8AE7  35 00 35 00 04 00                    db       35h, 00h, 35h, 00h, 04h, 00h
31E4:8AED  00 00 AE 59 00 00                    db       00h, 00h,0AEh, 59h, 00h, 00h
31E4:8AF3  00 00 00 00 00 05                    db       00h, 00h, 00h, 00h, 00h, 05h
31E4:8AF9  00 01 10 80 06 06                    db       00h, 01h, 10h, 80h, 06h, 06h
31E4:8AFF  80 07 10 80 08 36                    db       80h, 07h, 10h, 80h, 08h, 36h
31E4:8B05  09 09 36 09 E1 03                    db       09h, 09h, 36h, 09h,0E1h, 03h
31E4:8B0B  00 10 F8 8A 26 00                    db       00h, 10h,0F8h, 8Ah, 26h, 00h
31E4:8B11  00 67 71 00 00 91                    db       00h, 67h, 71h, 00h, 00h, 91h
31E4:8B17  00 CD 00 30 00 42                    db       00h,0CDh, 00h, 30h, 00h, 42h
31E4:8B1D  00 03 01 07 72 18                    db       00h, 03h, 01h, 07h, 72h, 18h
31E4:8B23  00 42 00 04 00 00                    db       00h, 42h, 00h, 04h, 00h, 00h
31E4:8B29  00 B7                                db       00h,0B7h
31E4:8B2B  59                                   db      59h
31E4:8B2C  0007[00]                             db      7 dup (0)
31E4:8B33  E1 03 00 10 F8 8A                    db      0E1h, 03h, 00h, 10h,0F8h, 8Ah
31E4:8B39  27 00                                db       27h, 00h
31E4:8B3B                       loc_2328:
31E4:8B3B  00 67 71                             add     [bx+71h],ah
31E4:8B3E  00 00                                add     [bx+si],al
31E4:8B40  81 01 00CD                           add     word ptr [bx+di],0CDh
31E4:8B44  30 00                                xor     [bx+si],al
31E4:8B46  42                                   inc     dx
31E4:8B47  00 03                                add     [bp+di],al
31E4:8B49  01 07                                add     [bx],ax
31E4:8B4B  72 30                                jc      loc_2329                ; Jump if carry Set
31E4:8B4D  00 42 00             ;*              add     [bp+si+0],al
31E4:8B4D  00 42 00                             db       00h, 42h, 00h
31E4:8B50  04 00 00 00 C0 59                    db       04h, 00h, 00h, 00h,0C0h, 59h
31E4:8B56  0007[00]                             db      7 dup (0)
31E4:8B5D  E1 03 00 10 F8 8A                    db      0E1h, 03h, 00h, 10h,0F8h, 8Ah
31E4:8B63  27 00 00 67 71 00                    db       27h, 00h, 00h, 67h, 71h, 00h
31E4:8B69  00 91 00 CD 00 30                    db       00h, 91h, 00h,0CDh, 00h, 30h
31E4:8B6F  00 42 00 03 01 07                    db       00h, 42h, 00h, 03h, 01h, 07h
31E4:8B75  72 18 00 42 00 04                    db       72h, 18h, 00h, 42h, 00h, 04h
31E4:8B7B  00 00                                db       00h, 00h
31E4:8B7D                       loc_2329:                                       ;  xref 31E4:8B4B
31E4:8B7D  00 B7 0059                           add     byte ptr data_519+32h[bx],dh ; (31E4:0059='rriner. Some oth')
31E4:8B81  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:8B87  E1 03 00 10 F8 8A                    db      0E1h, 03h, 00h, 10h,0F8h, 8Ah
31E4:8B8D  28 00 00 67 71 00                    db       28h, 00h, 00h, 67h, 71h, 00h
31E4:8B93  00 81 01 CD 00 30                    db       00h, 81h, 01h,0CDh, 00h, 30h
31E4:8B99  00 42 00 03 01 07                    db       00h, 42h, 00h, 03h, 01h, 07h
31E4:8B9F  72 30 00 42 00 04                    db       72h, 30h, 00h, 42h, 00h, 04h
31E4:8BA5  00 00 00 C0                          db       00h, 00h, 00h,0C0h
31E4:8BA9  59                                   db      59h
31E4:8BAA  0007[00]                             db      7 dup (0)
31E4:8BB1  E1 03 00 10 F8 8A                    db      0E1h, 03h, 00h, 10h,0F8h, 8Ah
31E4:8BB7  28 00 00 67 71 00                    db       28h, 00h, 00h, 67h, 71h, 00h
31E4:8BBD  00 91 00 CD 00 30                    db       00h, 91h, 00h,0CDh, 00h, 30h
31E4:8BC3  00 42 00 03 01 07                    db       00h, 42h, 00h, 03h, 01h, 07h
31E4:8BC9  72 18 00 42 00 04                    db       72h, 18h, 00h, 42h, 00h, 04h
31E4:8BCF  00 00 00 B7                          db       00h, 00h, 00h,0B7h
31E4:8BD3  59                                   db      59h
31E4:8BD4  0007[00]                             db      7 dup (0)
31E4:8BDB  E1 03 00 10 F8 8A                    db      0E1h, 03h, 00h, 10h,0F8h, 8Ah
31E4:8BE1  05 00 00 67 71 00                    db       05h, 00h, 00h, 67h, 71h, 00h
31E4:8BE7  00 81 01 CD 00 30                    db       00h, 81h, 01h,0CDh, 00h, 30h
31E4:8BED  00 42 00 03 01 07                    db       00h, 42h, 00h, 03h, 01h, 07h
31E4:8BF3  72 30 00 42 00 04                    db       72h, 30h, 00h, 42h, 00h, 04h
31E4:8BF9  00 00 00 C0                          db       00h, 00h, 00h,0C0h
31E4:8BFD  59                                   db      59h
31E4:8BFE  0008[00]                             db      8 dup (0)
31E4:8C06  0C 82 00 4A 8C 20                    db       0Ch, 82h, 00h, 4Ah, 8Ch, 20h
31E4:8C0C  00 00 67 71 00 00                    db       00h, 00h, 67h, 71h, 00h, 00h
31E4:8C12  28 01 F4 00 20 00                    db       28h, 01h,0F4h, 00h, 20h, 00h
31E4:8C18  16 00 01 01 0E 82                    db       16h, 00h, 01h, 01h, 0Eh, 82h
31E4:8C1E  18 00 28 00 02 00                    db       18h, 00h, 28h, 00h, 02h, 00h
31E4:8C24  00 00 8E 58 00                       db       00h, 00h, 8Eh, 58h, 00h
31E4:8C29  000D[00]                             db      13 dup (0)
31E4:8C36  96 00 00 00 F6 04                    db       96h, 00h, 00h, 00h,0F6h, 04h
31E4:8C3C  00                                   db       00h
31E4:8C3D  000D[00]                             db      13 dup (0)
31E4:8C4A  03 00 18 8B 1D 0B                    db       03h, 00h, 18h, 8Bh, 1Dh, 0Bh
31E4:8C50  13 19 12 0A 80 00                    db       13h, 19h, 12h, 0Ah, 80h, 00h
31E4:8C56  0C 82 00 45 88 1D                    db       0Ch, 82h, 00h, 45h, 88h, 1Dh
31E4:8C5C  00 00 67 71 00 00                    db       00h, 00h, 67h, 71h, 00h, 00h
31E4:8C62  BE 00 EA 00 20 00                    db      0BEh, 00h,0EAh, 00h, 20h, 00h
31E4:8C68  19 00 01 01 37 7F                    db       19h, 00h, 01h, 01h, 37h, 7Fh
31E4:8C6E  10 00 29 00 02 00                    db       10h, 00h, 29h, 00h, 02h, 00h
31E4:8C74  00 00 93 59 00 6A                    db       00h, 00h, 93h, 59h, 00h, 6Ah
31E4:8C7A  06                                   db       06h
31E4:8C7B  000B[00]                             db      11 dup (0)
31E4:8C86  96 00 00 00 F8 02                    db       96h, 00h, 00h, 00h,0F8h, 02h
31E4:8C8C  00                                   db       00h
31E4:8C8D  000D[00]                             db      13 dup (0)
31E4:8C9A  02 00 0B AB 16 12                    db       02h, 00h, 0Bh,0ABh, 16h, 12h
31E4:8CA0  8C 1B 00 0C 82 00                    db       8Ch, 1Bh, 00h, 0Ch, 82h, 00h
31E4:8CA6  9A 8C 1D 00 00 72                    db       9Ah, 8Ch, 1Dh, 00h, 00h, 72h
31E4:8CAC  71 00 00 4C 01 FD                    db       71h, 00h, 00h, 4Ch, 01h,0FDh
31E4:8CB2  00 20 00 2D 00 01                    db       00h, 20h, 00h, 2Dh, 00h, 01h
31E4:8CB8  01 37 7F 10 00 2D                    db       01h, 37h, 7Fh, 10h, 00h, 2Dh
31E4:8CBE  00 02 00 00 00 B3                    db       00h, 02h, 00h, 00h, 00h,0B3h
31E4:8CC4  5A 00 E4 06                          db       5Ah, 00h,0E4h, 06h
31E4:8CC8  000B[00]                             db      11 dup (0)
31E4:8CD3  96 00 00 00 FE 06                    db       96h, 00h, 00h, 00h,0FEh, 06h
31E4:8CD9  000E[00]                             db      14 dup (0)
31E4:8CE7  0000                  data_8ce7      dw      0
31E4:8CE9  0000                                 dw      0
31E4:8CEB  57 6D 0F 00 00 72                    db       57h, 6Dh, 0Fh, 00h, 00h, 72h
31E4:8CF1  71 00 00 3F 01 64                    db       71h, 00h, 00h, 3Fh, 01h, 64h
31E4:8CF7  00 10 00 02 00 01                    db       00h, 10h, 00h, 02h, 00h, 01h
31E4:8CFD  00 2D 86 01 00 02                    db       00h, 2Dh, 86h, 01h, 00h, 02h
31E4:8D03  00 02 00 00 00 80                    db       00h, 02h, 00h, 00h, 00h, 80h
31E4:8D09  5C 00                                db       5Ch, 00h
31E4:8D0B  000D[00]                             db      13 dup (0)
31E4:8D18  96 00 00 00 00 68                    db       96h, 00h, 00h, 00h, 00h, 68h
31E4:8D1E  00                                   db       00h
31E4:8D1F  000D[00]                             db      13 dup (0)
31E4:8D2C  0000                  data_8d2c      dw       0
31E4:8D2E  0000                                 dw       0
31E4:8D30  57 6D 0F 00 00 72                    db       57h, 6Dh, 0Fh, 00h, 00h, 72h
31E4:8D36  71 00 00 DB 00 64                    db       71h, 00h, 00h,0DBh, 00h, 64h
31E4:8D3C  00 10 00 02 00 01                    db       00h, 10h, 00h, 02h, 00h, 01h
31E4:8D42  00 2D 86 01 00 02                    db       00h, 2Dh, 86h, 01h, 00h, 02h
31E4:8D48  00 02 00 00 00 80                    db       00h, 02h, 00h, 00h, 00h, 80h
31E4:8D4E  5C 00                                db       5Ch, 00h
31E4:8D50  000D[00]                             db      13 dup (0)
31E4:8D5D  96 00 00 00 00 68                    db       96h, 00h, 00h, 00h, 00h, 68h
31E4:8D63  00                                   db       00h
31E4:8D64  000E[00]                             db      14 dup (0)
31E4:8D72  0C 82 00 45 88 0C                    db       0Ch, 82h, 00h, 45h, 88h, 0Ch
31E4:8D78  00 00 72 71 00 00                    db       00h, 00h, 72h, 71h, 00h, 00h
31E4:8D7E  0F 01 F1 00 10 00                    db       0Fh, 01h,0F1h, 00h, 10h, 00h
31E4:8D84  08 00 01 01 41 82                    db       08h, 00h, 01h, 01h, 41h, 82h
31E4:8D8A  18 00 18 00 02 00                    db       18h, 00h, 18h, 00h, 02h, 00h
31E4:8D90  00 00 85 58 00                       db       00h, 00h, 85h, 58h, 00h
31E4:8D95  000D[00]                             db      13 dup (0)
31E4:8DA2  96 00 00 00 F4 06                    db       96h, 00h, 00h, 00h,0F4h, 06h
31E4:8DA8  000F[00]                             db      15 dup (0)
31E4:8DB7  08 00 00 57 6D 1F                    db       08h, 00h, 00h, 57h, 6Dh, 1Fh
31E4:8DBD  00 00 72 71 00 00                    db       00h, 00h, 72h, 71h, 00h, 00h
31E4:8DC3  2A 01 E3 00 20 00                    db       2Ah, 01h,0E3h, 00h, 20h, 00h
31E4:8DC9  30 00 01 01 CE 85                    db       30h, 00h, 01h, 01h,0CEh, 85h
31E4:8DCF  20 00 30 00 02 00                    db       20h, 00h, 30h, 00h, 02h, 00h
31E4:8DD5  00 00 6F 59 9E                       db       00h, 00h, 6Fh, 59h, 9Eh
31E4:8DDA  000D[00]                             db      13 dup (0)
31E4:8DE7  96 00 00 00 02 06                    db       96h, 00h, 00h, 00h, 02h, 06h
31E4:8DED  000F[00]                             db      15 dup (0)
31E4:8DFC  08 00 00 57 6D 1F                    db       08h, 00h, 00h, 57h, 6Dh, 1Fh
31E4:8E02  00 00 72 71 00 00                    db       00h, 00h, 72h, 71h, 00h, 00h
31E4:8E08  EA 00 E3 00 20 00                    db      0EAh, 00h,0E3h, 00h, 20h, 00h
31E4:8E0E  30 00 01 01 CE 85                    db       30h, 00h, 01h, 01h,0CEh, 85h
31E4:8E14  20 00 30 00 02 00                    db       20h, 00h, 30h, 00h, 02h, 00h
31E4:8E1A  00 00 78 59 9E                       db       00h, 00h, 78h, 59h, 9Eh
31E4:8E1F  000D[00]                             db      13 dup (0)
31E4:8E2C  96 00 00 00 02 06                    db       96h, 00h, 00h, 00h, 02h, 06h
31E4:8E32  000F[00]                             db      15 dup (0)
31E4:8E41  0C 82 00 45 88 0E                    db       0Ch, 82h, 00h, 45h, 88h, 0Eh
31E4:8E47  00 00 72 71 00 00                    db       00h, 00h, 72h, 71h, 00h, 00h
31E4:8E4D  11 01 CF 00 20 00                    db       11h, 01h,0CFh, 00h, 20h, 00h
31E4:8E53  30 00 01 01 CE 85                    db       30h, 00h, 01h, 01h,0CEh, 85h
31E4:8E59  20 00 30 00 02 00                    db       20h, 00h, 30h, 00h, 02h, 00h
31E4:8E5F  00 00 6F 59 9E 00                    db       00h, 00h, 6Fh, 59h, 9Eh, 00h
31E4:8E65  00 00 00 00 00 01                    db       00h, 00h, 00h, 00h, 00h, 01h
31E4:8E6B  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:8E71  96 00 00 00 02 06                    db       96h, 00h, 00h, 00h, 02h, 06h
31E4:8E77  0011[00]                             db      17 dup (0)
31E4:8E88  20 00 00 1E 00 00                    db       20h, 00h, 00h, 1Eh, 00h, 00h
31E4:8E8E  72 71 00 00 11 01                    db       72h, 71h, 00h, 00h, 11h, 01h
31E4:8E94  E6 00 30 00 20 00                    db      0E6h, 00h, 30h, 00h, 20h, 00h
31E4:8E9A  02 01 3F 81 26 00                    db       02h, 01h, 3Fh, 81h, 26h, 00h
31E4:8EA0  40 00 02 00 00 00                    db       40h, 00h, 02h, 00h, 00h, 00h
31E4:8EA6  81 59 00 DA 09 00                    db       81h, 59h, 00h,0DAh, 09h, 00h
31E4:8EAC  00 00 00 00 01 00                    db       00h, 00h, 00h, 00h, 01h, 00h
31E4:8EB2  0A 2D 12 00 0A 00                    db       0Ah, 2Dh, 12h, 00h, 0Ah, 00h
31E4:8EB8  00 B0 8E 29 00 00                    db       00h,0B0h, 8Eh, 29h, 00h, 00h
31E4:8EBE  72 71 00 00 C7 00                    db       72h, 71h, 00h, 00h,0C7h, 00h
31E4:8EC4  E7 00 10 00 08 00                    db      0E7h, 00h, 10h, 00h, 08h, 00h
31E4:8ECA  03 01 37 7F 0E 00                    db       03h, 01h, 37h, 7Fh, 0Eh, 00h
31E4:8ED0  08 00 04 00 00 00                    db       08h, 00h, 04h, 00h, 00h, 00h
31E4:8ED6  D2 59 00 88 0B 00                    db      0D2h, 59h, 00h, 88h, 0Bh, 00h
31E4:8EDC  00                                   db       00h
31E4:8EDD  0009[00]                             db      9 dup (0)
31E4:8EE6  96 00 00 00 0A 12                    db       96h, 00h, 00h, 00h, 0Ah, 12h
31E4:8EEC  00                                   db       00h
31E4:8EED  0010[00]                             db      16 dup (0)
31E4:8EFD  20 B0 8E 29 00 00                    db       20h,0B0h, 8Eh, 29h, 00h, 00h
31E4:8F03  72 71 00 00 AA 00                    db       72h, 71h, 00h, 00h,0AAh, 00h
31E4:8F09  07 01 70 00 1F 00                    db       07h, 01h, 70h, 00h, 1Fh, 00h
31E4:8F0F  03 00 3A 7F 6F 00                    db       03h, 00h, 3Ah, 7Fh, 6Fh, 00h
31E4:8F15  1F 00 04 00 00 00                    db       1Fh, 00h, 04h, 00h, 00h, 00h
31E4:8F1B  AF 5B 00 BC 0B 00                    db      0AFh, 5Bh, 00h,0BCh, 0Bh, 00h
31E4:8F21  00 00 00 00 00 08                    db       00h, 00h, 00h, 00h, 00h, 08h
31E4:8F27  00 00 57 6D 2D 00                    db       00h, 00h, 57h, 6Dh, 2Dh, 00h
31E4:8F2D  00 67 71 00 00 7A                    db       00h, 67h, 71h, 00h, 00h, 7Ah
31E4:8F33  01 14 01 30 00 33                    db       01h, 14h, 01h, 30h, 00h, 33h
31E4:8F39  00 02 01 EC 87 20                    db       00h, 02h, 01h,0ECh, 87h, 20h
31E4:8F3F  00 33 00 04 00 00                    db       00h, 33h, 00h, 04h, 00h, 00h
31E4:8F45  00 DB 59 9E EA 0B                    db       00h,0DBh, 59h, 9Eh,0EAh, 0Bh
31E4:8F4B  00 00 00                             db       00h, 00h, 00h
31E4:8F4E  0008[00]                             db      8 dup (0)
31E4:8F56  96 00 00 00 02 0A                    db       96h, 00h, 00h, 00h, 02h, 0Ah
31E4:8F5C  00                                   db       00h
31E4:8F5D  000E[00]                             db      14 dup (0)
31E4:8F6B  08 00 00 57 6D 2A                    db       08h, 00h, 00h, 57h, 6Dh, 2Ah
31E4:8F71  80 00 67 71 00 00                    db       80h, 00h, 67h, 71h, 00h, 00h
31E4:8F77  99 00 16 01 40 00                    db       99h, 00h, 16h, 01h, 40h, 00h
31E4:8F7D  28 00 01 01 EC 87                    db       28h, 00h, 01h, 01h,0ECh, 87h
31E4:8F83  3F 00 28 00 04 00                    db       3Fh, 00h, 28h, 00h, 04h, 00h
31E4:8F89  00 00 23 5A 9E A2                    db       00h, 00h, 23h, 5Ah, 9Eh,0A2h
31E4:8F8F  0C 00                                db       0Ch, 00h
31E4:8F91  000A[00]                             db      10 dup (0)
31E4:8F9B  96 00 00 00 0A 12                    db       96h, 00h, 00h, 00h, 0Ah, 12h
31E4:8FA1  00                                   db       00h
31E4:8FA2  0010[00]                             db      16 dup (0)
31E4:8FB2  20 57 6D 2A 80 00                    db       20h, 57h, 6Dh, 2Ah, 80h, 00h
31E4:8FB8  67 71 00 00 99 00                    db       67h, 71h, 00h, 00h, 99h, 00h
31E4:8FBE  16 01 20 00 25 00                    db       16h, 01h, 20h, 00h, 25h, 00h
31E4:8FC4  02 01 3A 7F 1B 00                    db       02h, 01h, 3Ah, 7Fh, 1Bh, 00h
31E4:8FCA  25 00 04 00 00 00                    db       25h, 00h, 04h, 00h, 00h, 00h
31E4:8FD0  47 5A 00 EC 0C 00                    db       47h, 5Ah, 00h,0ECh, 0Ch, 00h
31E4:8FD6  0007[00]                             db      7 dup (0)
31E4:8FDD  20 57 6D 1D 00 00                    db       20h, 57h, 6Dh, 1Dh, 00h, 00h
31E4:8FE3  72 71 00 00 7B 01                    db       72h, 71h, 00h, 00h, 7Bh, 01h
31E4:8FE9  E9 00 20 00 27 00                    db      0E9h, 00h, 20h, 00h, 27h, 00h
31E4:8FEF  03 00 3A 7F 14 00                    db       03h, 00h, 3Ah, 7Fh, 14h, 00h
31E4:8FF5  27 00 04 00 00 00                    db       27h, 00h, 04h, 00h, 00h, 00h
31E4:8FFB  A1 5A 20 14                          db      0A1h, 5Ah, 20h, 14h
31E4:8FFF  0D                                   db      0Dh
31E4:9000  0008[00]                             db      8 dup (0)
31E4:9008  20 57 6D 2B 00 00                    db       20h, 57h, 6Dh, 2Bh, 00h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 497

31E4:900E  72 71 00 00 7D 01                    db       72h, 71h, 00h, 00h, 7Dh, 01h
31E4:9014  F9                                   db      0F9h
31E4:9015                       loc_2330:
31E4:9015  00 30                                add     [bx+si],dh
31E4:9017  00 29                                add     [bx+di],ch
31E4:9019  00 03                                add     [bp+di],al
31E4:901B  00 3A                                add     [bp+si],bh
31E4:901D  7F 14                                jg      loc_2331                ; Jump if >
31E4:901F  00 27                                add     [bx],ah
31E4:9021  00 04                                add     [si],al
31E4:9023  00 00                                add     [bx+si],al
31E4:9025  00 CE                                add     dh,cl
31E4:9027  5A                                   pop     dx
31E4:9028  40                                   inc     ax
31E4:9029  2E 0D 00 00 00 00                    db       2Eh, 0Dh, 00h, 00h, 00h, 00h
31E4:902F  00 00 00 00                          db       00h, 00h, 00h, 00h
31E4:9033                       loc_2331:                                       ;  xref 31E4:901D
31E4:9033  20 57 6D                             and     [bx+6Dh],dl
31E4:9036  2B 00                                sub     ax,[bx+si]
31E4:9038  00 72 71                             add     [bp+si+71h],dh
31E4:903B  00 00                                add     [bx+si],al
31E4:903D  70 01                ;*              jo      loc_2332                ;*Jump if overflow=1
31E4:903D  70 01                                db       70h, 01h
31E4:903F  E1 00                                loopz   locloop_2333            ; Loop if zf=1, cx>0


31E4:9041                       locloop_2333:                                   ;  xref 31E4:903F
31E4:9041  30 00                                xor     [bx+si],al
31E4:9043  11 00                                adc     [bx+si],ax
31E4:9045  03 00                                add     ax,[bx+si]
31E4:9047  3A 7F 14                             cmp     bh,[bx+14h]
31E4:904A  00 27                                add     [bx],ah
31E4:904C  00 04                                add     [si],al
31E4:904E  00 00                                add     [bx+si],al
31E4:9050  00 D7                                add     bh,dl
31E4:9052  5A                                   pop     dx
31E4:9053  40                                   inc     ax
31E4:9054  4E                                   dec     si
31E4:9055  0D 0000                              or      ax,0
31E4:9058  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:905E  20 57 6D 2B 00 00                    db       20h, 57h, 6Dh, 2Bh, 00h, 00h
31E4:9064  72 71 00 00 7D 01                    db       72h, 71h, 00h, 00h, 7Dh, 01h
31E4:906A  D6 00 10 00 05 00                    db      0D6h, 00h, 10h, 00h, 05h, 00h
31E4:9070  03 00 3A 7F 14 00                    db       03h, 00h, 3Ah, 7Fh, 14h, 00h
31E4:9076  27 00 04 00 00 00                    db       27h, 00h, 04h, 00h, 00h, 00h
31E4:907C  E0 5A 00                             db      0E0h, 5Ah, 00h
31E4:907F  6E 0D                                db       6Eh, 0Dh
31E4:9081  0008[00]                             db      8 dup (0)
31E4:9089                       loc_2334:
31E4:9089  20 57 6D                             and     [bx+6Dh],dl
31E4:908C  2D 0000                              sub     ax,0
31E4:908F  72 71                ;*              jc      loc_2337                ;*Jump if carry Set
31E4:908F  72 71                                db       72h, 71h
31E4:9091  00 00                                add     [bx+si],al
31E4:9093  35 E401                              xor     ax,0E401h
31E4:9096  00 10                                add     [bx+si],dl
31E4:9098  00 0B                                add     [bp+di],cl
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 498

31E4:909A  00 03                                add     [bp+di],al
31E4:909C  01 3A                                add     [bp+si],di
31E4:909E  7F 14                                jg      loc_2335                ; Jump if >
31E4:90A0  00 27                                add     [bx],ah
31E4:90A2  00 04                                add     [si],al
31E4:90A4  00 00                                add     [bx+si],al
31E4:90A6  00 E9                                add     cl,ch
31E4:90A8  5A                                   pop     dx
31E4:90A9  00 92 000D                           add     [bp+si+0Dh],dl
31E4:90AD  00 00 00 00 00 00                    db      0, 0, 0, 0, 0, 0
31E4:90B3  00                                   db      0
31E4:90B4                       loc_2335:                                       ;  xref 31E4:909E
31E4:90B4  20 57 6D                             and     [bx+6Dh],dl
31E4:90B7  2E: 00 00                            add     cs:[bx+si],al
31E4:90BA  72 71                ;*              jc      loc_2339                ;*Jump if carry Set
31E4:90BA  72 71                                db       72h, 71h
31E4:90BC  00 00                                add     [bx+si],al
31E4:90BE  80 00 E4                             add     byte ptr [bx+si],0E4h
31E4:90C1  00 10                                add     [bx+si],dl
31E4:90C3  00 0B                                add     [bp+di],cl
31E4:90C5  00 03                                add     [bp+di],al
31E4:90C7  01 3A                                add     [bp+si],di
31E4:90C9  7F 14                                jg      loc_2336                ; Jump if >
31E4:90CB  00 27                                add     [bx],ah
31E4:90CD  00 04                                add     [si],al
31E4:90CF  00 00                                add     [bx+si],al
31E4:90D1  00 E9                                add     cl,ch
31E4:90D3  5A                                   pop     dx
31E4:90D4  00 92 000D                           add     [bp+si+0Dh],dl
31E4:90D8  00 00 00 00 00 00                    db      0, 0, 0, 0, 0, 0
31E4:90DE  00                                   db      0
31E4:90DF                       loc_2336:                                       ;  xref 31E4:90C9
31E4:90DF  20 57 6D                             and     [bx+6Dh],dl
31E4:90E2  30 00                                xor     [bx+si],al
31E4:90E4  00 72 71                             add     [bp+si+71h],dh
31E4:90E7  00 00                                add     [bx+si],al
31E4:90E9  A1 E500                              mov     ax,data_1185            ; (31E4:E500=8000h)
31E4:90EC  00 10                                add     [bx+si],dl
31E4:90EE  00 0B                                add     [bp+di],cl
31E4:90F0  00 02                                add     [bp+si],al
31E4:90F2  01 3A                                add     [bp+si],di
31E4:90F4  7F 14                                jg      loc_2338                ; Jump if >
31E4:90F6  00 27                                add     [bx],ah
31E4:90F8  00 04                                add     [si],al
31E4:90FA  00 00                                add     [bx+si],al
31E4:90FC  00 E9                                add     cl,ch
31E4:90FE  5A                                   pop     dx
31E4:90FF  00 92 000D                           add     [bp+si+0Dh],dl
31E4:9103  00 00 00 00 00 00                    db      0, 0, 0, 0, 0, 0
31E4:9109  00                                   db      0
31E4:910A                       loc_2338:                                       ;  xref 31E4:90F4
31E4:910A  20 57 6D                             and     [bx+6Dh],dl
31E4:910D  2C 00                                sub     al,0
31E4:910F  00 72 71                             add     [bp+si+71h],dh
31E4:9112  00 00                                add     [bx+si],al
31E4:9114  1B 01                                sbb     ax,[bx+di]
31E4:9116  C4 00                                les     ax,dword ptr [bx+si]    ; Load seg:offset ptr
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 499

31E4:9118  10 00                                adc     [bx+si],al
31E4:911A  12 00                                adc     al,[bx+si]
31E4:911C  03 01                                add     ax,[bx+di]
31E4:911E  3A 7F 14                             cmp     bh,[bx+14h]
31E4:9121  00 27                                add     [bx],ah
31E4:9123  00 04                                add     [si],al
31E4:9125  00 00                                add     [bx+si],al
31E4:9127  00 F2                                add     dl,dh
31E4:9129  5A                                   pop     dx
31E4:912A  00 AE 000D                           add     [bp+0Dh],ch
31E4:912E  0007[00]                             db      7 dup (0)
31E4:9135  20 57 6D 2C 00 00                    db       20h, 57h, 6Dh, 2Ch, 00h, 00h
31E4:913B  72 71 00 00 32 01                    db       72h, 71h, 00h, 00h, 32h, 01h
31E4:9141  A8 00 30 00 08 00                    db      0A8h, 00h, 30h, 00h, 08h, 00h
31E4:9147  03 01 3A 7F 14 00                    db       03h, 01h, 3Ah, 7Fh, 14h, 00h
31E4:914D  27 00 04 00 00 00                    db       27h, 00h, 04h, 00h, 00h, 00h
31E4:9153  FB 5A 00 C8 0D 00                    db      0FBh, 5Ah, 00h,0C8h, 0Dh, 00h
31E4:9159  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:915F  00 20 57 6D 2D 00                    db       00h, 20h, 57h, 6Dh, 2Dh, 00h
31E4:9165  00 72 71 00 00 BF                    db       00h, 72h, 71h, 00h, 00h,0BFh
31E4:916B  00 08 01 20 00 1E                    db       00h, 08h, 01h, 20h, 00h, 1Eh
31E4:9171  00 03 00 3A 7F 14                    db       00h, 03h, 00h, 3Ah, 7Fh, 14h
31E4:9177  00 27 00 04 00 00                    db       00h, 27h, 00h, 04h, 00h, 00h
31E4:917D  00 04 5B 00 D4 0D                    db       00h, 04h, 5Bh, 00h,0D4h, 0Dh
31E4:9183  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:9189  00 00                                db       00h, 00h
31E4:918B                       loc_2340:
31E4:918B  20 57 6D                             and     [bx+6Dh],dl
31E4:918E  2D 0000                              sub     ax,0
31E4:9191  72 71                ;*              jc      loc_2341                ;*Jump if carry Set
31E4:9191  72 71                                db       72h, 71h
31E4:9193  00 00                                add     [bx+si],al
31E4:9195  2E 01 FB 00 10 00                    db       2Eh, 01h,0FBh, 00h, 10h, 00h
31E4:919B  10 00 03 00 3A 7F                    db       10h, 00h, 03h, 00h, 3Ah, 7Fh
31E4:91A1  10 00 10 00 04 00                    db       10h, 00h, 10h, 00h, 04h, 00h
31E4:91A7  00 00 0D 5B 00 04                    db       00h, 00h, 0Dh, 5Bh, 00h, 04h
31E4:91AD  0E                                   db       0Eh
31E4:91AE  0008[00]                             db      8 dup (0)
31E4:91B6  20 57 6D 2D 00 00                    db       20h, 57h, 6Dh, 2Dh, 00h, 00h
31E4:91BC  72 71 00 00 5E 01                    db       72h, 71h, 00h, 00h, 5Eh, 01h
31E4:91C2  07 01 10 00 10 00                    db       07h, 01h, 10h, 00h, 10h, 00h
31E4:91C8  03 00 3A 7F 10 00                    db       03h, 00h, 3Ah, 7Fh, 10h, 00h
31E4:91CE  10 00 04 00 8C 00                    db       10h, 00h, 04h, 00h, 8Ch, 00h
31E4:91D4  16 5B 00 40 0E                       db       16h, 5Bh, 00h, 40h, 0Eh
31E4:91D9  0008[00]                             db      8 dup (0)
31E4:91E1  20 57 6D 2D 00 00                    db       20h, 57h, 6Dh, 2Dh, 00h, 00h
31E4:91E7  72 71 00 00 A0 01                    db       72h, 71h, 00h, 00h,0A0h, 01h
31E4:91ED  0E 01 10 00 10 00                    db       0Eh, 01h, 10h, 00h, 10h, 00h
31E4:91F3  02 01 3A 7F 10 00                    db       02h, 01h, 3Ah, 7Fh, 10h, 00h
31E4:91F9  10 00 04 00 28 00                    db       10h, 00h, 04h, 00h, 28h, 00h
31E4:91FF  1F 5B 00 8C 0E                       db       1Fh, 5Bh, 00h, 8Ch, 0Eh
31E4:9204  00                                   db      0
31E4:9205  0007[00]                             db      7 dup (0)
31E4:920C  20 57 6D 2E 00 00                    db       20h, 57h, 6Dh, 2Eh, 00h, 00h
31E4:9212  72 71 00 00 80 00                    db       72h, 71h, 00h, 00h, 80h, 00h
31E4:9218  09 01 20 00 2E 00                    db       09h, 01h, 20h, 00h, 2Eh, 00h
31E4:921E  02 01 3A 7F 19 00                    db       02h, 01h, 3Ah, 7Fh, 19h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 500

31E4:9224  2E 00 04 00 00 00                    db       2Eh, 00h, 04h, 00h, 00h, 00h
31E4:922A  28 5B 00 E6 0E                       db       28h, 5Bh, 00h,0E6h, 0Eh
31E4:922F  0008[00]                             db      8 dup (0)
31E4:9237  20 57 6D 2E 00 00                    db       20h, 57h, 6Dh, 2Eh, 00h, 00h
31E4:923D  72 71 00 00 C7 00                    db       72h, 71h, 00h, 00h,0C7h, 00h
31E4:9243  0E 01 10 00 18 00                    db       0Eh, 01h, 10h, 00h, 18h, 00h
31E4:9249  02 00 3A 7F 10 00                    db       02h, 00h, 3Ah, 7Fh, 10h, 00h
31E4:924F  18 00 04 00 00 00                    db       18h, 00h, 04h, 00h, 00h, 00h
31E4:9255  31 5B 00 BC 0F 00                    db       31h, 5Bh, 00h,0BCh, 0Fh, 00h
31E4:925B  0007[00]                             db      7 dup (0)
31E4:9262  20 57 6D 2E 00 00                    db       20h, 57h, 6Dh, 2Eh, 00h, 00h
31E4:9268  72 71 00 00 9A 00                    db       72h, 71h, 00h, 00h, 9Ah, 00h
31E4:926E  07 01 10 00 10 00                    db       07h, 01h, 10h, 00h, 10h, 00h
31E4:9274  02 00 3A 7F 10 00                    db       02h, 00h, 3Ah, 7Fh, 10h, 00h
31E4:927A  10 00 04 00 00 00                    db       10h, 00h, 04h, 00h, 00h, 00h
31E4:9280  3A 5B 00 EC 0F                       db       3Ah, 5Bh, 00h,0ECh, 0Fh
31E4:9285  0008[00]                             db      8 dup (0)
31E4:928D  20 57 6D 2E 00 00                    db       20h, 57h, 6Dh, 2Eh, 00h, 00h
31E4:9293  72 71 00 00 F4 00                    db       72h, 71h, 00h, 00h,0F4h, 00h
31E4:9299  12 01 20 00 21 00                    db       12h, 01h, 20h, 00h, 21h, 00h
31E4:929F  02 01 3A 7F 13 00                    db       02h, 01h, 3Ah, 7Fh, 13h, 00h
31E4:92A5  21 00 04 00 00 00                    db       21h, 00h, 04h, 00h, 00h, 00h
31E4:92AB  43 5B 00 38 10 00                    db       43h, 5Bh, 00h, 38h, 10h, 00h
31E4:92B1  0007[00]                             db      7 dup (0)
31E4:92B8  20 57 6D 2E 00 00                    db       20h, 57h, 6Dh, 2Eh, 00h, 00h
31E4:92BE  72 71 00 00 29 01                    db       72h, 71h, 00h, 00h, 29h, 01h
31E4:92C4  FA 00 20 00 14 00                    db      0FAh, 00h, 20h, 00h, 14h, 00h
31E4:92CA  03 00 3A 7F 15 00                    db       03h, 00h, 3Ah, 7Fh, 15h, 00h
31E4:92D0  14 00 04 00 00 00                    db       14h, 00h, 04h, 00h, 00h, 00h
31E4:92D6  55 5B 00 82 10 00                    db       55h, 5Bh, 00h, 82h, 10h, 00h
31E4:92DC  0007[00]                             db      7 dup (0)
31E4:92E3  20 57 6D 2E 00 00                    db       20h, 57h, 6Dh, 2Eh, 00h, 00h
31E4:92E9  72 71 00 00 48 01                    db       72h, 71h, 00h, 00h, 48h, 01h
31E4:92EF  14 01 10 00 0F 00                    db       14h, 01h, 10h, 00h, 0Fh, 00h
31E4:92F5  03 00 3A 7F 0B 00                    db       03h, 00h, 3Ah, 7Fh, 0Bh, 00h
31E4:92FB  0F 00 04 00 00 00                    db       0Fh, 00h, 04h, 00h, 00h, 00h
31E4:9301  5E 5B 50 3E 11 00                    db       5Eh, 5Bh, 50h, 3Eh, 11h, 00h
31E4:9307  0007[00]                             db      7 dup (0)
31E4:930E  20 57 6D 2E 00 00                    db       20h, 57h, 6Dh, 2Eh, 00h, 00h
31E4:9314  72 71 00 00 23 01                    db       72h, 71h, 00h, 00h, 23h, 01h
31E4:931A  19 01 10 00 0B 00                    db       19h, 01h, 10h, 00h, 0Bh, 00h
31E4:9320  03 00 3A 7F 0F 00                    db       03h, 00h, 3Ah, 7Fh, 0Fh, 00h
31E4:9326  0B 00 04 00 00 00                    db       0Bh, 00h, 04h, 00h, 00h, 00h
31E4:932C  67 5B 00 80 11 00                    db       67h, 5Bh, 00h, 80h, 11h, 00h
31E4:9332  0007[00]                             db      7 dup (0)
31E4:9339  20 57 6D 2E 00 00                    db       20h, 57h, 6Dh, 2Eh, 00h, 00h
31E4:933F  72 71 00 00 32 01                    db       72h, 71h, 00h, 00h, 32h, 01h
31E4:9345  18 01 20 00 14 00                    db       18h, 01h, 20h, 00h, 14h, 00h
31E4:934B  03 00 3A 7F 0F 00                    db       03h, 00h, 3Ah, 7Fh, 0Fh, 00h
31E4:9351  0B 00 04 00 00 00                    db       0Bh, 00h, 04h, 00h, 00h, 00h
31E4:9357  70 5B 00 A4 11 00                    db       70h, 5Bh, 00h,0A4h, 11h, 00h
31E4:935D  0007[00]                             db      7 dup (0)
31E4:9364  20 57 6D 2A 00 00                    db       20h, 57h, 6Dh, 2Ah, 00h, 00h
31E4:936A  72 71 00 00 03 01                    db       72h, 71h, 00h, 00h, 03h, 01h
31E4:9370  F6 00 20 00 0C 00                    db      0F6h, 00h, 20h, 00h, 0Ch, 00h
31E4:9376  01 01 3A 7F 13 00                    db       01h, 01h, 3Ah, 7Fh, 13h, 00h
31E4:937C  0C 00 04 00 00 00                    db       0Ch, 00h, 04h, 00h, 00h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 501

31E4:9382  4C 5B 00 14 12 00                    db       4Ch, 5Bh, 00h, 14h, 12h, 00h
31E4:9388  0007[00]                             db      7 dup (0)               ; Data table (indexed access)
31E4:938F  20 57 6D 2A 00 00                    db       20h, 57h, 6Dh, 2Ah, 00h, 00h
31E4:9395  72 71 00 00 15 01                    db       72h, 71h, 00h, 00h, 15h, 01h
31E4:939B  12 01 20 00 0C 00                    db       12h, 01h, 20h, 00h, 0Ch, 00h
31E4:93A1  01 01 3A 7F 13 00                    db       01h, 01h, 3Ah, 7Fh, 13h, 00h
31E4:93A7  0C 00 04 00 00 00                    db       0Ch, 00h, 04h, 00h, 00h, 00h
31E4:93AD  4C 5B 00 4E 12                       db       4Ch, 5Bh, 00h, 4Eh, 12h
31E4:93B2  0008[00]                             db      8 dup (0)
31E4:93BA  20 57 6D 2A 00 00                    db       20h, 57h, 6Dh, 2Ah, 00h, 00h
31E4:93C0  72 71 00 00 42 01                    db       72h, 71h, 00h, 00h, 42h, 01h
31E4:93C6  18 01 20 00 0C 00                    db       18h, 01h, 20h, 00h, 0Ch, 00h
31E4:93CC  01 01 3A 7F 13 00                    db       01h, 01h, 3Ah, 7Fh, 13h, 00h
31E4:93D2  0C 00 04 00 00 00                    db       0Ch, 00h, 04h, 00h, 00h, 00h
31E4:93D8  4C 5B 00 E8 12 00                    db       4Ch, 5Bh, 00h,0E8h, 12h, 00h
31E4:93DE  0007[00]                             db      7 dup (0)
31E4:93E5  20 57 6D 2B 00 00                    db       20h, 57h, 6Dh, 2Bh, 00h, 00h
31E4:93EB  72 71 00 00 92 00                    db       72h, 71h, 00h, 00h, 92h, 00h
31E4:93F1  0D 01 20 00 0C 00                    db       0Dh, 01h, 20h, 00h, 0Ch, 00h
31E4:93F7  01 01 3A 7F 13 00                    db       01h, 01h, 3Ah, 7Fh, 13h, 00h
31E4:93FD  0C 00 04 00 00 00                    db       0Ch, 00h, 04h, 00h, 00h, 00h
31E4:9403  4C 5B 00 26 14 00                    db       4Ch, 5Bh, 00h, 26h, 14h, 00h
31E4:9409  0007[00]                             db      7 dup (0)
31E4:9410  20 57 6D 2B 00 00                    db       20h, 57h, 6Dh, 2Bh, 00h, 00h
31E4:9416  72 71 00 00 87 00                    db       72h, 71h, 00h, 00h, 87h, 00h
31E4:941C  22 01 20 00 0C 00                    db       22h, 01h, 20h, 00h, 0Ch, 00h
31E4:9422  01 01 3A 7F 13 00                    db       01h, 01h, 3Ah, 7Fh, 13h, 00h
31E4:9428  0C 00 04 00 00 00                    db       0Ch, 00h, 04h, 00h, 00h, 00h
31E4:942E  4C 5B 00 7C 14                       db       4Ch, 5Bh, 00h, 7Ch, 14h
31E4:9433  0008[00]                             db      8 dup (0)
31E4:943B  20 57 6D 2C 00 00                    db       20h, 57h, 6Dh, 2Ch, 00h, 00h
31E4:9441  72 71 00 00 0E 01                    db       72h, 71h, 00h, 00h, 0Eh, 01h
31E4:9447  3D 01 20 00 0C 00                    db       3Dh, 01h, 20h, 00h, 0Ch, 00h
31E4:944D  01 01 3A 7F 13 00                    db       01h, 01h, 3Ah, 7Fh, 13h, 00h
31E4:9453  0C 00 04 00 00 00                    db       0Ch, 00h, 04h, 00h, 00h, 00h
31E4:9459  4C 5B 00 20 15 00                    db       4Ch, 5Bh, 00h, 20h, 15h, 00h
31E4:945F  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:9465  00 20 57 6D 1C 00                    db       00h, 20h, 57h, 6Dh, 1Ch, 00h
31E4:946B  00 72 71 00 00 F1                    db       00h, 72h, 71h, 00h, 00h,0F1h
31E4:9471  00 1E 01 50 00 0B                    db       00h, 1Eh, 01h, 50h, 00h, 0Bh
31E4:9477  00 03 00 3A 7F 48                    db       00h, 03h, 00h, 3Ah, 7Fh, 48h
31E4:947D  00 0B 00 04 00 00                    db       00h, 0Bh, 00h, 04h, 00h, 00h
31E4:9483  00 79 5B 00 AA 15                    db       00h, 79h, 5Bh, 00h,0AAh, 15h
31E4:9489  00                                   db       00h
31E4:948A  0007[00]                             db      7 dup (0)
31E4:9491  20 57 6D 1C 00 00                    db       20h, 57h, 6Dh, 1Ch, 00h, 00h
31E4:9497  72 71 00 00 62 01                    db       72h, 71h, 00h, 00h, 62h, 01h
31E4:949D  F0 00 20 00 2B 00                    db      0F0h, 00h, 20h, 00h, 2Bh, 00h
31E4:94A3  03 00 3A 7F 14 00                    db       03h, 00h, 3Ah, 7Fh, 14h, 00h
31E4:94A9  2A 00 04 00 00 00                    db       2Ah, 00h, 04h, 00h, 00h, 00h
31E4:94AF  82 5B 00 AA 15 00                    db       82h, 5Bh, 00h,0AAh, 15h, 00h
31E4:94B5  00                                   db       00h
31E4:94B6  0007[00]                             db      7 dup (0)
31E4:94BD  57 6D 0D 00 00 72                    db       57h, 6Dh, 0Dh, 00h, 00h, 72h
31E4:94C3  71 00 00 7C 01 23                    db       71h, 00h, 00h, 7Ch, 01h, 23h
31E4:94C9  01 20 00 1C 00 02                    db       01h, 20h, 00h, 1Ch, 00h, 02h
31E4:94CF  01 3A 7F 18 00 1C                    db       01h, 3Ah, 7Fh, 18h, 00h, 1Ch
31E4:94D5  00 04 00 00 00 8B                    db       00h, 04h, 00h, 00h, 00h, 8Bh
31E4:94DB  5B 10 E6 15 00 00                    db       5Bh, 10h,0E6h, 15h, 00h, 00h
31E4:94E1  00 00 00 02 00 0A                    db       00h, 00h, 00h, 02h, 00h, 0Ah
31E4:94E7  03 0B 01 2F 80 01                    db       03h, 0Bh, 01h, 2Fh, 80h, 01h
31E4:94ED  02 00 00 E4 94 0D                    db       02h, 00h, 00h,0E4h, 94h, 0Dh
31E4:94F3  00 00 72 71 00 00                    db       00h, 00h, 72h, 71h, 00h, 00h
31E4:94F9  D5 00 FE 00 10 00                    db      0D5h, 00h,0FEh, 00h, 10h, 00h
31E4:94FF  0A 00 03 01 3A 7F                    db       0Ah, 00h, 03h, 01h, 3Ah, 7Fh
31E4:9505  07 00 08 00 04 00                    db       07h, 00h, 08h, 00h, 04h, 00h
31E4:950B  00 00 94 5B 30 1A                    db       00h, 00h, 94h, 5Bh, 30h, 1Ah
31E4:9511  16 00 00 00 00 00                    db       16h, 00h, 00h, 00h, 00h, 00h
31E4:9517  00 00 00 20 57 6D                    db       00h, 00h, 00h, 20h, 57h, 6Dh
31E4:951D  09 00 00 72 71 00                    db       09h, 00h, 00h, 72h, 71h, 00h
31E4:9523  00 80 00 88 00 10                    db       00h, 80h, 00h, 88h, 00h, 10h
31E4:9529  00 14 00 02 01 3A                    db       00h, 14h, 00h, 02h, 01h, 3Ah
31E4:952F  7F 0F 00 14 00 04                    db       7Fh, 0Fh, 00h, 14h, 00h, 04h
31E4:9535  00 00 00 A6 5B 00                    db       00h, 00h, 00h,0A6h, 5Bh, 00h
31E4:953B  46 16                                db       46h, 16h
31E4:953D  0008[00]                             db      8 dup (0)
31E4:9545  20 57 6D 09 00 00                    db       20h, 57h, 6Dh, 09h, 00h, 00h
31E4:954B  72 71 00 00 80 00                    db       72h, 71h, 00h, 00h, 80h, 00h
31E4:9551  88 00 10 00 14 00                    db       88h, 00h, 10h, 00h, 14h, 00h
31E4:9557  02 01 3A 7F 0F 00                    db       02h, 01h, 3Ah, 7Fh, 0Fh, 00h
31E4:955D  14 00 04 00 00 00                    db       14h, 00h, 04h, 00h, 00h, 00h
31E4:9563  A6 5B 00 8A 19                       db      0A6h, 5Bh, 00h, 8Ah, 19h
31E4:9568  0008[00]                             db      8 dup (0)
31E4:9570  20 57 6D 09 00 00                    db       20h, 57h, 6Dh, 09h, 00h, 00h
31E4:9576  72 71 00 00 80 00                    db       72h, 71h, 00h, 00h, 80h, 00h
31E4:957C  88 00 10 00 14 00                    db       88h, 00h, 10h, 00h, 14h, 00h
31E4:9582  02 01 3A 7F 0F 00                    db       02h, 01h, 3Ah, 7Fh, 0Fh, 00h
31E4:9588  14 00 04 00 00 00                    db       14h, 00h, 04h, 00h, 00h, 00h
31E4:958E  A6 5B 00 92 1E                       db      0A6h, 5Bh, 00h, 92h, 1Eh
31E4:9593  0008[00]                             db      8 dup (0)
31E4:959B  20 57 6D 0F 00 00                    db       20h, 57h, 6Dh, 0Fh, 00h, 00h
31E4:95A1  72 71 00 00 B1 01                    db       72h, 71h, 00h, 00h,0B1h, 01h
31E4:95A7  B5 00 10 00 08 00                    db      0B5h, 00h, 10h, 00h, 08h, 00h
31E4:95AD  01 01 3A 7F 0B 00                    db       01h, 01h, 3Ah, 7Fh, 0Bh, 00h
31E4:95B3  08 00 04 00 00 00                    db       08h, 00h, 04h, 00h, 00h, 00h
31E4:95B9  9D 5B 00 06 26 00                    db       9Dh, 5Bh, 00h, 06h, 26h, 00h
31E4:95BF  00 00 00 00 02 00                    db       00h, 00h, 00h, 00h, 02h, 00h
31E4:95C5  01 10 80 05 F2 05                    db       01h, 10h, 80h, 05h,0F2h, 05h
31E4:95CB  11 02 00 00 C3 95                    db       11h, 02h, 00h, 00h,0C3h, 95h
31E4:95D1  30 00 00 72 71 00                    db       30h, 00h, 00h, 72h, 71h, 00h
31E4:95D7  00 21 01 EB 00 60                    db       00h, 21h, 01h,0EBh, 00h, 60h
31E4:95DD  00 40 00 01 01 3A                    db       00h, 40h, 00h, 01h, 01h, 3Ah
31E4:95E3  7F 5C 00 40 00 04                    db       7Fh, 5Ch, 00h, 40h, 00h, 04h
31E4:95E9  00 00 00 2C 5A 00                    db       00h, 00h, 00h, 2Ch, 5Ah, 00h
31E4:95EF  72 26                                db       72h, 26h
31E4:95F1  0007[00]                             db      7 dup (0)
31E4:95F8  20 C3 95 30 00 00                    db       20h,0C3h, 95h, 30h, 00h, 00h
31E4:95FE  72 71 00 00 61 01                    db       72h, 71h, 00h, 00h, 61h, 01h
31E4:9604  85                   data_1064       db      85h
31E4:9605  00 10 00 7D 00 01                    db       00h, 10h, 00h, 7Dh, 00h, 01h
31E4:960B  01 3A 7F 03 00 7D                    db       01h, 3Ah, 7Fh, 03h, 00h, 7Dh
31E4:9611  00 01 00 00 00 35                    db       00h, 01h, 00h, 00h, 00h, 35h
31E4:9617  5A 00                                db       5Ah, 00h
31E4:9619  72 26                                db       72h, 26h
31E4:961B  0007[00]                             db      7 dup (0)
31E4:9622  20 C3 95 30 00 00                    db       20h,0C3h, 95h, 30h, 00h, 00h
31E4:9628  72 71 00 00 81 01                    db       72h, 71h, 00h, 00h, 81h, 01h
31E4:962E  85 00 10 00 8D 00                    db       85h, 00h, 10h, 00h, 8Dh, 00h
31E4:9634  01 01 3A 7F 03 00                    db       01h, 01h, 3Ah, 7Fh, 03h, 00h
31E4:963A  8D 00 01 00 00 00                    db       8Dh, 00h, 01h, 00h, 00h, 00h
31E4:9640  3E 5A 00 72 26 00                    db       3Eh, 5Ah, 00h, 72h, 26h, 00h
31E4:9646  00 00 00 03 00 0A                    db       00h, 00h, 00h, 03h, 00h, 0Ah
31E4:964C  59 06 04 8F 06 01                    db       59h, 06h, 04h, 8Fh, 06h, 01h
31E4:9652  10 80 09 02 00 00                    db       10h, 80h, 09h, 02h, 00h, 00h
31E4:9658  49 96 30 00 00 72                    db       49h, 96h, 30h, 00h, 00h, 72h
31E4:965E  71 00 00 06 01 07                    db       71h, 00h, 00h, 06h, 01h, 07h
31E4:9664  01 50 00 25 00 01                    db       01h, 50h, 00h, 25h, 00h, 01h
31E4:966A  01 3A 7F 50 00 25                    db       01h, 3Ah, 7Fh, 50h, 00h, 25h
31E4:9670  00 01 00 00 00 50                    db       00h, 01h, 00h, 00h, 00h, 50h
31E4:9676  5A 00 BC 26 00 00                    db       5Ah, 00h,0BCh, 26h, 00h, 00h
31E4:967C  00 00 00 00 41 04                    db       00h, 00h, 00h, 00h, 41h, 04h
31E4:9682  92 10 00 00 03                       db       92h, 10h, 00h, 00h, 03h
31E4:9687  0007[00]                             db      7 dup (0)
31E4:968E  F4 0C 94 0B 08 00                    db      0F4h, 0Ch, 94h, 0Bh, 08h, 00h
31E4:9694  34 0A D4 08 06 0D                    db       34h, 0Ah,0D4h, 08h, 06h, 0Dh
31E4:969A  00                                   db       00h
31E4:969B  0009[00]                             db      9 dup (0)
31E4:96A4  DC 0D EF 6C                          db      0DCh, 0Dh,0EFh, 6Ch
31E4:96A8  0008[00]                             db      8 dup (0)
31E4:96B0  20 57 6D 06 00 00                    db       20h, 57h, 6Dh, 06h, 00h, 00h
31E4:96B6  72 71 00 00 C8 00                    db       72h, 71h, 00h, 00h,0C8h, 00h
31E4:96BC  D3 00 40 00 3E 00                    db      0D3h, 00h, 40h, 00h, 3Eh, 00h
31E4:96C2  01 01 2D 98 30 00                    db       01h, 01h, 2Dh, 98h, 30h, 00h
31E4:96C8  3E 00 01 00 00 00                    db       3Eh, 00h, 01h, 00h, 00h, 00h
31E4:96CE  6B 5A 20 00                          db       6Bh, 5Ah, 20h, 00h
31E4:96D2  0008[00]                             db      8 dup (0)
31E4:96DA  20 57 6D 06 00 00                    db       20h, 57h, 6Dh, 06h, 00h, 00h
31E4:96E0  72 71 00 00 60 00                    db       72h, 71h, 00h, 00h, 60h, 00h
31E4:96E6  68 00 20 00 20 00                    db       68h, 00h, 20h, 00h, 20h, 00h
31E4:96EC  01 01 BD 41 20 00                    db       01h, 01h,0BDh, 41h, 20h, 00h
31E4:96F2  20 00 01 00 00 00                    db       20h, 00h, 01h, 00h, 00h, 00h
31E4:96F8  74 5A 10 00                          db       74h, 5Ah, 10h, 00h
31E4:96FC  0008[00]                             db      8 dup (0)
31E4:9704  20 57 6D 06 00 00                    db       20h, 57h, 6Dh, 06h, 00h, 00h
31E4:970A  72 71 00 00 60 00                    db       72h, 71h, 00h, 00h, 60h, 00h
31E4:9710  68 00 20 00 20 00                    db       68h, 00h, 20h, 00h, 20h, 00h
31E4:9716  01 01 BD 41 20 00                    db       01h, 01h,0BDh, 41h, 20h, 00h
31E4:971C  20 00 01 00 00 00                    db       20h, 00h, 01h, 00h, 00h, 00h
31E4:9722  7D 5A 20 00                          db       7Dh, 5Ah, 20h, 00h
31E4:9726  0007[00]                             db      7 dup (0)
31E4:972D  46 04 92 10 00 00                    db       46h, 04h, 92h, 10h, 00h, 00h
31E4:9733  03                                   db       03h
31E4:9734  0007[00]                             db      7 dup (0)
31E4:973B  F4 0C 94 0B 08 00                    db      0F4h, 0Ch, 94h, 0Bh, 08h, 00h
31E4:9741  34 0A D4 08 06 0D                    db       34h, 0Ah,0D4h, 08h, 06h, 0Dh
31E4:9747  00                                   db       00h
31E4:9748  0009[00]                             db      9 dup (0)
31E4:9751  DC 0D EF 6C                          db      0DCh, 0Dh,0EFh, 6Ch
31E4:9755  0008[00]                             db      8 dup (0)
31E4:975D  20 57 6D 31 00 00                    db       20h, 57h, 6Dh, 31h, 00h, 00h
31E4:9763  72 71 00 00 C8 00                    db       72h, 71h, 00h, 00h,0C8h, 00h
31E4:9769  FC 00 40 00 3E 00                    db      0FCh, 00h, 40h, 00h, 3Eh, 00h
31E4:976F  01 01 2D 98 30 00                    db       01h, 01h, 2Dh, 98h, 30h, 00h
31E4:9775  3E 00 01 00 00 00                    db       3Eh, 00h, 01h, 00h, 00h, 00h
31E4:977B  6B 5A 70 00                          db       6Bh, 5Ah, 70h, 00h
31E4:977F  0008[00]                             db      8 dup (0)
31E4:9787  20 57 6D 31 00 00                    db       20h, 57h, 6Dh, 31h, 00h, 00h
31E4:978D  72 71 00 00 60 00                    db       72h, 71h, 00h, 00h, 60h, 00h
31E4:9793  68 00 20 00 20 00                    db       68h, 00h, 20h, 00h, 20h, 00h
31E4:9799  01 01 BD 41 20 00                    db       01h, 01h,0BDh, 41h, 20h, 00h
31E4:979F  20 00 01 00 00 00                    db       20h, 00h, 01h, 00h, 00h, 00h
31E4:97A5  74 5A                                db       74h, 5Ah
31E4:97A7  000A[00]                             db      10 dup (0)
31E4:97B1  20 57 6D 31 00 00                    db       20h, 57h, 6Dh, 31h, 00h, 00h
31E4:97B7  72 71 00 00 60 00                    db       72h, 71h, 00h, 00h, 60h, 00h
31E4:97BD  68 00 20 00 20 00                    db       68h, 00h, 20h, 00h, 20h, 00h
31E4:97C3  01 01 BD 41 20 00                    db       01h, 01h,0BDh, 41h, 20h, 00h
31E4:97C9  20 00 01 00 00 00                    db       20h, 00h, 01h, 00h, 00h, 00h
31E4:97CF  7D 5A                                db       7Dh, 5Ah
31E4:97D1  000A[00]                             db      10 dup (0)
31E4:97DB  20 00 00 2D 00 00                    db       20h, 00h, 00h, 2Dh, 00h, 00h
31E4:97E1  72 71 00 00 70 01                    db       72h, 71h, 00h, 00h, 70h, 01h
31E4:97E7  1B 01 20 00 25 00                    db       1Bh, 01h, 20h, 00h, 25h, 00h
31E4:97ED  01 01 BD 41 18 00                    db       01h, 01h,0BDh, 41h, 18h, 00h
31E4:97F3  25 00 01 00 00 00                    db       25h, 00h, 01h, 00h, 00h, 00h
31E4:97F9  86 5A 00                             db       86h, 5Ah, 00h
31E4:97FC  0009[00]                             db      9 dup (0)
31E4:9805  20 57 6D 29 00 00                    db       20h, 57h, 6Dh, 29h, 00h, 00h
31E4:980B  BD 41 00 00 A3 00                    db      0BDh, 41h, 00h, 00h,0A3h, 00h
31E4:9811  C9 00 D0 00 59 00                    db      0C9h, 00h,0D0h, 00h, 59h, 00h
31E4:9817  02 00 B3 87 14 00                    db       02h, 00h,0B3h, 87h, 14h, 00h
31E4:981D  0C 00 04 00 00 00                    db       0Ch, 00h, 04h, 00h, 00h, 00h
31E4:9823  F6 59 00                             db      0F6h, 59h, 00h
31E4:9826  4E 27                                db       4Eh, 27h
31E4:9828  00 00 00 00                          db      0, 0, 0, 0
31E4:982C  0000            new_room_number_2    dw      0                       ;  xref 273F:60AB
31E4:982E  0000                   new_room_x    dw      0                       ;  xref 273F:6093
31E4:9830  0000                   new_room_y    dw      0                       ;  xref 273F:609F
31E4:9832  0001                  room_number    dw      1
31E4:9834  00                      data_1084    db      0                       ;  xref 273F:12AF, 273F:12BE
                                                                                ;       273F:12C5, 273F:132F
                                                                                ;       273F:140B, 273F:1C4B
                                                                                ;       273F:1C52, 273F:1C70
                                                                                ;       273F:5588
31E4:9835  00            num_inventory_items    db      0                       ;  xref 273F:59DB, 273F:5A03
31E4:9836  01                   data_1085       db      1
31E4:9837  00             talk_dialog_active    db      0
31E4:9838  0000                 data_1087       dw      0
31E4:983A  00                   data_1088       db      0
31E4:983B  03E8            talk_character_id    dw      PLAYER_HOTSPOT_ID
31E4:983D  6B 00                                db      6Bh, 00h
31E4:983F  03EA                 data_1090       dw      3EAh                    ;  xref 273F:1FC8
31E4:9841  0000                 data_1091       dw      0                       ;  xref 273F:1489
31E4:9843  00 00 00 00                          db      0, 0, 0, 0
31E4:9847  0000                 data_1093       dw      0                       ;  xref 273F:62B6

31E4:9849  00                  pathfind_data    db      00             ; Set of entries each 120 bytes
31E4:984A  A5 C4 00 00 00      pathfind_data2   db       00h,0A5h,0C4h, 00h, 00h, 00h
31E4:984F  96 75 5A AD 93 A0                    db       96h, 75h, 5Ah,0ADh, 93h,0A0h
31E4:9855  74 C9 24 44 8F C4                    db       74h,0C9h, 24h, 44h, 8Fh,0C4h
31E4:985B  A9 88 93 3C 15 86                    db      0A9h, 88h, 93h, 3Ch, 15h, 86h
31E4:9861  24 A8 1B 44 7E E0                    db       24h,0A8h, 1Bh, 44h, 7Eh,0E0h
31E4:9867  69 C2 D4 CC C4 4C                    db       69h,0C2h,0D4h,0CCh,0C4h, 4Ch
31E4:986D  FB F4 86 E2 2E 6F                    db      0FBh,0F4h, 86h,0E2h, 2Eh, 6Fh
31E4:9873  D6 C6 B8 D5 FF FC                    db      0D6h,0C6h,0B8h,0D5h,0FFh,0FCh
31E4:9879  1E 80 9C 00 05 4C                    db       1Eh, 80h, 9Ch, 00h, 05h, 4Ch
31E4:987F  CC 56 00 05 22 11                    db      0CCh, 56h, 00h, 05h, 22h, 11h
31E4:9885  56 00 05 62 98 5C                    db       56h, 00h, 05h, 62h, 98h, 5Ch
31E4:988B  00 04 A1 45 12 00                    db       00h, 04h,0A1h, 45h, 12h, 00h
31E4:9891  04 00 09 46 00 07                    db       04h, 00h, 09h, 46h, 00h, 07h
31E4:9897  EF 74 96 00 05 00                    db      0EFh, 74h, 96h, 00h, 05h, 00h
31E4:989D  02 36 00 07 FF E9                    db       02h, 36h, 00h, 07h,0FFh,0E9h
31E4:98A3  D0 03 F8 01 FF F2                    db      0D0h, 03h,0F8h, 01h,0FFh,0F2h
31E4:98A9  00 20 00 0B D6 00                    db       00h, 20h, 00h, 0Bh,0D6h, 00h
31E4:98AF  20 00 06 16 EF E0                    db       20h, 00h, 06h, 16h,0EFh,0E0h
31E4:98B5  00 01 EE 20 E0 00                    db       00h, 01h,0EEh, 20h,0E0h, 00h
31E4:98BB  01 3A B7 7F FF FE                    db       01h, 3Ah,0B7h, 7Fh,0FFh,0FEh
31E4:98C1  C6 00 80 24 01 00                    db      0C6h, 00h, 80h, 24h, 01h, 00h
31E4:98C7  50 80 24 01 00 8E                    db       50h, 80h, 24h, 01h, 00h, 8Eh
31E4:98CD  80 24 01 00 82 80                    db       80h, 24h, 01h, 00h, 82h, 80h
31E4:98D3  24 01 00 16 80 24                    db       24h, 01h, 00h, 16h, 80h, 24h
31E4:98D9  01 00 90 80 24 01                    db       01h, 00h, 90h, 80h, 24h, 01h
31E4:98DF  00 A6 80 24 01 FF                    db       00h,0A6h, 80h, 24h, 01h,0FFh
31E4:98E5  04 80 24 01 00 46                    db       04h, 80h, 24h, 01h, 00h, 46h
31E4:98EB  80 E7 01 00 62 90                    db       80h,0E7h, 01h, 00h, 62h, 90h
31E4:98F1  81 09 00 44 90 81                    db       81h, 09h, 00h, 44h, 90h, 81h
31E4:98F7  09 00 5E 90 81 09                    db       09h, 00h, 5Eh, 90h, 81h, 09h
31E4:98FD  00 36 90 81 09 00                    db       00h, 36h, 90h, 81h, 09h, 00h
31E4:9903  59 FF FF 0F E0 96                    db       59h,0FFh,0FFh, 0Fh,0E0h, 96h
31E4:9909  00 00 00 10 88 00                    db       00h, 00h, 00h, 10h, 88h, 00h
31E4:990F  00 00 08 C8 00 7E                    db       00h, 00h, 08h,0C8h, 00h, 7Eh
31E4:9915  00 0C 30 00 00 00                    db       00h, 0Ch, 30h, 00h, 00h, 00h
31E4:991B  0C C0 00 00 00 0C                    db       0Ch,0C0h, 00h, 00h, 00h, 0Ch
31E4:9921  FF FF FF FF FF 80                    db      0FFh,0FFh,0FFh,0FFh,0FFh, 80h
31E4:9927  0A 94 D0 82 BD 4D                    db       0Ah, 94h,0D0h, 82h,0BDh, 4Dh
31E4:992D  31 4E 08 DF 4E 6C                    db       31h, 4Eh, 08h,0DFh, 4Eh, 6Ch
31E4:9933  8E B6 0A 45 00 A2                    db       8Eh,0B6h, 0Ah, 45h, 00h,0A2h
31E4:9939  BE 02 95 44 58 80                    db      0BEh, 02h, 95h, 44h, 58h, 80h
31E4:993F  BA 80 16 26 FC B6                    db      0BAh, 80h, 16h, 26h,0FCh,0B6h
31E4:9945  97 00 22 8A A6 C4                    db       97h, 00h, 22h, 8Ah,0A6h,0C4h
31E4:994B  30 E8 88 7A 6C 45                    db       30h,0E8h, 88h, 7Ah, 6Ch, 45h
31E4:9951  0A B2 72 87 87 C6                    db       0Ah,0B2h, 72h, 87h, 87h,0C6h
31E4:9957  83 8E 8A 66 06 BC                    db       83h, 8Eh, 8Ah, 66h, 06h,0BCh
31E4:995D  FE 92 C6 E6 81 03                    db      0FEh, 92h,0C6h,0E6h, 81h, 03h
31E4:9963  02 16 0E FF 03 7F                    db       02h, 16h, 0Eh,0FFh, 03h, 7Fh
31E4:9969  F7 58 80 02 00 00                    db      0F7h, 58h, 80h, 02h, 00h, 00h
31E4:996F  00 80 02 00 00 00                    db       00h, 80h, 02h, 00h, 00h, 00h
31E4:9975  80 02 00 00 00 80                    db       80h, 02h, 00h, 00h, 00h, 80h
31E4:997B  02 00 00 00 80 02                    db       02h, 00h, 00h, 00h, 80h, 02h
31E4:9981  00 00 00 80 03 FF                    db       00h, 00h, 00h, 80h, 03h,0FFh
31E4:9987  FF FF 80 03 FF FF                    db      0FFh,0FFh, 80h, 03h,0FFh,0FFh
31E4:998D  FF 80 0F C0 00 00                    db      0FFh, 80h, 0Fh,0C0h, 00h, 00h
31E4:9993  70 00 00 00 00 00                    db       70h, 00h, 00h, 00h, 00h, 00h
31E4:9999  38 00 1F F0 1F 10                    db       38h, 00h, 1Fh,0F0h, 1Fh, 10h
31E4:999F  00 00 00 14 30 00                    db       00h, 00h, 00h, 14h, 30h, 00h
31E4:99A5  00 00 16 FF FF FF                    db       00h, 00h, 16h,0FFh,0FFh,0FFh
31E4:99AB  FF FF E9 FF 9B 32                    db      0FFh,0FFh,0E9h,0FFh, 9Bh, 32h
31E4:99B1  FF 02 80 36 22 AE                    db      0FFh, 02h, 80h, 36h, 22h,0AEh
31E4:99B7  FE AA A5 36 E9 A2                    db      0FEh,0AAh,0A5h, 36h,0E9h,0A2h
31E4:99BD  BF 80 CE 8C 86 D2                    db      0BFh, 80h,0CEh, 8Ch, 86h,0D2h
31E4:99C3  D6 16 E2 36 C0 3D                    db      0D6h, 16h,0E2h, 36h,0C0h, 3Dh
31E4:99C9  D6 9C 4A AE 88 A6                    db      0D6h, 9Ch, 4Ah,0AEh, 88h,0A6h
31E4:99CF  B4 BA B5 10 FD 9D                    db      0B4h,0BAh,0B5h, 10h,0FDh, 9Dh
31E4:99D5  93 BE 57 2B E1 02                    db       93h,0BEh, 57h, 2Bh,0E1h, 02h
31E4:99DB  65 CE 6E BB FF FF                    db       65h,0CEh, 6Eh,0BBh,0FFh,0FFh
31E4:99E1  FF FF D5 02 00 00                    db      0FFh,0FFh,0D5h, 02h, 00h, 00h
31E4:99E7  00 80 02 00 00 00                    db       00h, 80h, 02h, 00h, 00h, 00h
31E4:99ED  80 02 00 00 00 80                    db       80h, 02h, 00h, 00h, 00h, 80h
31E4:99F3  02 00 00 00 80 02                    db       02h, 00h, 00h, 00h, 80h, 02h
31E4:99F9  00 00 00 80 02 00                    db       00h, 00h, 00h, 80h, 02h, 00h
31E4:99FF  00 00 80 07 FF FF                    db       00h, 00h, 80h, 07h,0FFh,0FFh
31E4:9A05  FF C0 08 00 00 00                    db      0FFh,0C0h, 08h, 00h, 00h, 00h
31E4:9A0B  20 10 00 00 00 10                    db       20h, 10h, 00h, 00h, 00h, 10h
31E4:9A11  3F FF 00 00 0C 40                    db       3Fh,0FFh, 00h, 00h, 0Ch, 40h
31E4:9A17  00 00 00 04 FF FF                    db       00h, 00h, 00h, 04h,0FFh,0FFh
31E4:9A1D  FF 83 FF B0 00 00                    db      0FFh, 83h,0FFh,0B0h, 00h, 00h
31E4:9A23  02 00 F0 00 00 00                    db       02h, 00h,0F0h, 00h, 00h, 00h
31E4:9A29  00 11 22 00 00 30                    db       00h, 11h, 22h, 00h, 00h, 30h
31E4:9A2F  60 08 A0 C8 C4 C5                    db       60h, 08h,0A0h,0C8h,0C4h,0C5h
31E4:9A35  82 20 62 8C 88 2F                    db       82h, 20h, 62h, 8Ch, 88h, 2Fh
31E4:9A3B  20 22 A0 32 10 22                    db       20h, 22h,0A0h, 32h, 10h, 22h
31E4:9A41  D7 48 87 64 0C 00                    db      0D7h, 48h, 87h, 64h, 0Ch, 00h
31E4:9A47  74 34 1A 63 F1 10                    db       74h, 34h, 1Ah, 63h,0F1h, 10h
31E4:9A4D  A4 64 9A 11 34 81                    db      0A4h, 64h, 9Ah, 11h, 34h, 81h
31E4:9A53  09 02 10 64 31 92                    db       09h, 02h, 10h, 64h, 31h, 92h
31E4:9A59  A2 15 AA A0 41 AE                    db      0A2h, 15h,0AAh,0A0h, 41h,0AEh
31E4:9A5F  10 10 05 5A 22 10                    db       10h, 10h, 05h, 5Ah, 22h, 10h
31E4:9A65  00 88 B0 04 08 84                    db       00h, 88h,0B0h, 04h, 08h, 84h
31E4:9A6B  18 B8 64 04 6E 40                    db       18h,0B8h, 64h, 04h, 6Eh, 40h
31E4:9A71  26 C4 02 00 B0 55                    db       26h,0C4h, 02h, 00h,0B0h, 55h
31E4:9A77  C8 03 FF 05 28 10                    db      0C8h, 03h,0FFh, 05h, 28h, 10h
31E4:9A7D  00 FC 08 19 98 00                    db       00h,0FCh, 08h, 19h, 98h, 00h
31E4:9A83  3F 93 E0 06 00 40                    db       3Fh, 93h,0E0h, 06h, 00h, 40h
31E4:9A89  30 18 61 0F 81 00                    db       30h, 18h, 61h, 0Fh, 81h, 00h
31E4:9A8F  51 36 B0 0C A2 42                    db       51h, 36h,0B0h, 0Ch,0A2h, 42h
31E4:9A95  10 43 F1 86 02 6C                    db       10h, 43h,0F1h, 86h, 02h, 6Ch
31E4:9A9B  1E 00 44 A8                          db       1Eh, 00h, 44h,0A8h
31E4:9A9F  B1                   data_1094       db      0B1h
31E4:9AA0  F5 A7 00 00 00 00                    db      0F5h,0A7h, 00h, 00h, 00h, 00h
31E4:9AA6  00 FD 55 65 72 D7                    db       00h,0FDh, 55h, 65h, 72h,0D7h
31E4:9AAC  03 5D A9 75 40 4B                    db       03h, 5Dh,0A9h, 75h, 40h, 4Bh
31E4:9AB2  4C 99 44 5B 2E 94                    db       4Ch, 99h, 44h, 5Bh, 2Eh, 94h
31E4:9AB8  98 AA A5 81 25 92                    db       98h,0AAh,0A5h, 81h, 25h, 92h
31E4:9ABE  4A CD EA 40 00 09                    db       4Ah,0CDh,0EAh, 40h, 00h, 09h
31E4:9AC4  72 00 19 52 A0 06                    db       72h, 00h, 19h, 52h,0A0h, 06h
31E4:9ACA  AC 39 54 51 42 80                    db      0ACh, 39h, 54h, 51h, 42h, 80h
31E4:9AD0  00 AA 29 22 52 B2                    db       00h,0AAh, 29h, 22h, 52h,0B2h
31E4:9AD6  00 02 44 00 16 4C                    db       00h, 02h, 44h, 00h, 16h, 4Ch
31E4:9ADC  90 00 56 87 EB BB                    db       90h, 00h, 56h, 87h,0EBh,0BBh
31E4:9AE2  76 83 B3 00 00 20                    db       76h, 83h,0B3h, 00h, 00h, 20h
31E4:9AE8  BC 02 CF FF 1E 00                    db      0BCh, 02h,0CFh,0FFh, 1Eh, 00h
31E4:9AEE  FF F0 00 80 FF 00                    db      0FFh,0F0h, 00h, 80h,0FFh, 00h
31E4:9AF4  00 00 FF 00 00 00                    db       00h, 00h,0FFh, 00h, 00h, 00h
31E4:9AFA  00 00 FC 00 00 00                    db       00h, 00h,0FCh, 00h, 00h, 00h
31E4:9B00  7F 82 00 00 00 58                    db       7Fh, 82h, 00h, 00h, 00h, 58h
31E4:9B06  B9 00 00 01 9F 96                    db      0B9h, 00h, 00h, 01h, 9Fh, 96h
31E4:9B0C  80 00 06 60 8A 40                    db       80h, 00h, 06h, 60h, 8Ah, 40h
31E4:9B12  00 F9 C0 56 3F FF                    db       00h,0F9h,0C0h, 56h, 3Fh,0FFh
31E4:9B18  3A 13 FF E0 20 40                    db       3Ah, 13h,0FFh,0E0h, 20h, 40h
31E4:9B1E  80 FF FB 56 19 90                    db       80h,0FFh,0FBh, 56h, 19h, 90h
31E4:9B24  FF EF 64 44 24 FF                    db      0FFh,0EFh, 64h, 44h, 24h,0FFh
31E4:9B2A  E0 20 08 30 FF FD                    db      0E0h, 20h, 08h, 30h,0FFh,0FDh
31E4:9B30  EA 69 90 FF F2 F4                    db      0EAh, 69h, 90h,0FFh,0F2h,0F4h
31E4:9B36  02 81 FF E1 4B 01                    db       02h, 81h,0FFh,0E1h, 4Bh, 01h
31E4:9B3C  28 FF FA 50 AB 26                    db       28h,0FFh,0FAh, 50h,0ABh, 26h
31E4:9B42  00 09 E0 91 1E 00                    db       00h, 09h,0E0h, 91h, 1Eh, 00h
31E4:9B48  09 53 84 B0 00 08                    db       09h, 53h, 84h,0B0h, 00h, 08h
31E4:9B4E  2F 2D A0 00 09 43                    db       2Fh, 2Dh,0A0h, 00h, 09h, 43h
31E4:9B54  1C E3 00 09 38 85                    db       1Ch,0E3h, 00h, 09h, 38h, 85h
31E4:9B5A  39 00 09 8D 57 DE                    db       39h, 00h, 09h, 8Dh, 57h,0DEh
31E4:9B60  00 09 FF 28 19 00                    db       00h, 09h,0FFh, 28h, 19h, 00h
31E4:9B66  FE 00 9D 81 00 00                    db      0FEh, 00h, 9Dh, 81h, 00h, 00h
31E4:9B6C  00 67 69 03 C0 00                    db       00h, 67h, 69h, 03h,0C0h, 00h
31E4:9B72  15 18 00 40 00 09                    db       15h, 18h, 00h, 40h, 00h, 09h
31E4:9B78  6B FF FF FF FB 85                    db       6Bh,0FFh,0FFh,0FFh,0FBh, 85h
31E4:9B7E  D7 44 02 FA F5 FB                    db      0D7h, 44h, 02h,0FAh,0F5h,0FBh
31E4:9B84  31 A8 63 FF C0 16                    db       31h,0A8h, 63h,0FFh,0C0h, 16h
31E4:9B8A  BD A4 FE 15 21 22                    db      0BDh,0A4h,0FEh, 15h, 21h, 22h
31E4:9B90  78 70 05 23 88 82                    db       78h, 70h, 05h, 23h, 88h, 82h
31E4:9B96  74 D4 D5 4B 5F AA                    db       74h,0D4h,0D5h, 4Bh, 5Fh,0AAh
31E4:9B9C  00 09 9A 9B 22 CD                    db       00h, 09h, 9Ah, 9Bh, 22h,0CDh
31E4:9BA2  4F 55 9A 8A 05 C0                    db       4Fh, 55h, 9Ah, 8Ah, 05h,0C0h
31E4:9BA8  A8 FE FC 01 07 56                    db      0A8h,0FEh,0FCh, 01h, 07h, 56h
31E4:9BAE  E2 16 92 B8 FE 33                    db      0E2h, 16h, 92h,0B8h,0FEh, 33h
31E4:9BB4  5F E7 42 06 2C CF                    db       5Fh,0E7h, 42h, 06h, 2Ch,0CFh
31E4:9BBA  42 17 E5 A7 F2 9D                    db       42h, 17h,0E5h,0A7h,0F2h, 9Dh
31E4:9BC0  64 24 39 F3 A4 34                    db       64h, 24h, 39h,0F3h,0A4h, 34h
31E4:9BC6  2F 20 CB 92 A4 22                    db       2Fh, 20h,0CBh, 92h,0A4h, 22h
31E4:9BCC  0B 26 E1 B4 24 03                    db       0Bh, 26h,0E1h,0B4h, 24h, 03h
31E4:9BD2  AD 9C A4 23 3A 00                    db      0ADh, 9Ch,0A4h, 23h, 3Ah, 00h
31E4:9BD8  00 E4 37 DD AB 24                    db       00h,0E4h, 37h,0DDh,0ABh, 24h
31E4:9BDE  44 20 00 B1 C6 CC                    db       44h, 20h, 00h,0B1h,0C6h,0CCh
31E4:9BE4  3F 87 9B 01 D0 07                    db       3Fh, 87h, 9Bh, 01h,0D0h, 07h
31E4:9BEA  C8 1A 28 60 01 E7                    db      0C8h, 1Ah, 28h, 60h, 01h,0E7h
31E4:9BF0  A3 D7 A0 00 12 BB                    db      0A3h,0D7h,0A0h, 00h, 12h,0BBh
31E4:9BF6  D4 A0 00 11 20 59                    db      0D4h,0A0h, 00h, 11h, 20h, 59h
31E4:9BFC  C0 00 0F 25 1B 40                    db      0C0h, 00h, 0Fh, 25h, 1Bh, 40h
31E4:9C02  00 09 57 EE 40 00                    db       00h, 09h, 57h,0EEh, 40h, 00h
31E4:9C08  08 A8 5E C4 7A 68                    db       08h,0A8h, 5Eh,0C4h, 7Ah, 68h
31E4:9C0E  00 D3 9D 90 2E DB                    db       00h,0D3h, 9Dh, 90h, 2Eh,0DBh
31E4:9C14  91 77 D6 BB 25 A4                    db       91h, 77h,0D6h,0BBh, 25h,0A4h
31E4:9C1A  EC 09 7F 5E 00 BE                    db      0ECh, 09h, 7Fh, 5Eh, 00h,0BEh
31E4:9C20  D7 B6 00 A6 4C ED                    db      0D7h,0B6h, 00h,0A6h, 4Ch,0EDh
31E4:9C26  FD 09 0B A5 94 38                    db      0FDh, 09h, 0Bh,0A5h, 94h, 38h
31E4:9C2C  F5 A4 FE BC ED 03                    db      0F5h,0A4h,0FEh,0BCh,0EDh, 03h
31E4:9C32  A0 FC CE AE FB 57                    db      0A0h,0FCh,0CEh,0AEh,0FBh, 57h
31E4:9C38  EE 73 2A 09 99 EE                    db      0EEh, 73h, 2Ah, 09h, 99h,0EEh
31E4:9C3E  6F A4 94 E7 EC 55                    db       6Fh,0A4h, 94h,0E7h,0ECh, 55h
31E4:9C44  6B 2C 3F FC 00 7A                    db       6Bh, 2Ch, 3Fh,0FCh, 00h, 7Ah
31E4:9C4A  1B B5 7D FF A8 2C                    db       1Bh,0B5h, 7Dh,0FFh,0A8h, 2Ch
31E4:9C50  DD FE 00 68 A4 4E                    db      0DDh,0FEh, 00h, 68h,0A4h, 4Eh
31E4:9C56  C4 00 2B 02 FF F8                    db      0C4h, 00h, 2Bh, 02h,0FFh,0F8h
31E4:9C5C  00 1F F4 00 00 00                    db       00h, 1Fh,0F4h, 00h, 00h, 00h
31E4:9C62  00 13 00 00 00 00                    db       00h, 13h, 00h, 00h, 00h, 00h
31E4:9C68  12 00 00 00 00 12                    db       12h, 00h, 00h, 00h, 00h, 12h
31E4:9C6E  FC 00 00 00 17 04                    db      0FCh, 00h, 00h, 00h, 17h, 04h
31E4:9C74  00 00 00 16 04 00                    db       00h, 00h, 00h, 16h, 04h, 00h
31E4:9C7A  00 00 12 07 FC 00                    db       00h, 00h, 12h, 07h,0FCh, 00h
31E4:9C80  00 7A FF E7 48 84                    db       00h, 7Ah,0FFh,0E7h, 48h, 84h
31E4:9C86  20 BC 1F DF BD AE                    db       20h,0BCh, 1Fh,0DFh,0BDh,0AEh
31E4:9C8C  CD C7 9A 84 70 EB                    db      0CDh,0C7h, 9Ah, 84h, 70h,0EBh
31E4:9C92  CB 34 D7 9B 8B 93                    db      0CBh, 34h,0D7h, 9Bh, 8Bh, 93h
31E4:9C98  2F 32 3A 5D D8 EE                    db       2Fh, 32h, 3Ah, 5Dh,0D8h,0EEh
31E4:9C9E  E6 CE 9B 13 79 9D                    db      0E6h,0CEh, 9Bh, 13h, 79h, 9Dh
31E4:9CA4  54 72 D3 C1 00 3A                    db       54h, 72h,0D3h,0C1h, 00h, 3Ah
31E4:9CAA  6F FB 5D 94 2A 1A                    db       6Fh,0FBh, 5Dh, 94h, 2Ah, 1Ah
31E4:9CB0  AC 45 9A D6 6B CF                    db      0ACh, 45h, 9Ah,0D6h, 6Bh,0CFh
31E4:9CB6  F9 8D 4C 4B EF 0B                    db      0F9h, 8Dh, 4Ch, 4Bh,0EFh, 0Bh
31E4:9CBC  B8 62 6F 67 0C 3B                    db      0B8h, 62h, 6Fh, 67h, 0Ch, 3Bh
31E4:9CC2  6E 85 EF 0F 40 1C                    db       6Eh, 85h,0EFh, 0Fh, 40h, 1Ch
31E4:9CC8  7E FF 08 DF EC EF                    db       7Eh,0FFh, 08h,0DFh,0ECh,0EFh
31E4:9CCE  FD 09 E0 1F FF ED                    db      0FDh, 09h,0E0h, 1Fh,0FFh,0EDh
31E4:9CD4  EE 00 00 17 5F 00                    db      0EEh, 00h, 00h, 17h, 5Fh, 00h
31E4:9CDA  00 01 FF E0 00 00                    db       00h, 01h,0FFh,0E0h, 00h, 00h
31E4:9CE0  07 00 00 00 00 19                    db       07h, 00h, 00h, 00h, 00h, 19h
31E4:9CE6  00 00 00 00 6E 00                    db       00h, 00h, 00h, 00h, 6Eh, 00h
31E4:9CEC  00 00 00 9B 00 00                    db       00h, 00h, 00h, 9Bh, 00h, 00h
31E4:9CF2  00 07 E7 FE 1F FF                    db       00h, 07h,0E7h,0FEh, 1Fh,0FFh
31E4:9CF8  F9 DC 4E 46 C0 C1                    db      0F9h,0DCh, 4Eh, 46h,0C0h,0C1h
31E4:9CFE  4C FF FB DA 2D 50                    db       4Ch,0FFh,0FBh,0DAh, 2Dh, 50h
31E4:9D04  7A BB 53 C6 22 FF                    db       7Ah,0BBh, 53h,0C6h, 22h,0FFh
31E4:9D0A  B7 66 8F 02 39 97                    db      0B7h, 66h, 8Fh, 02h, 39h, 97h
31E4:9D10  DF 28 78 DB 46 FC                    db      0DFh, 28h, 78h,0DBh, 46h,0FCh
31E4:9D16  2C 86 7A FD EE AE                    db       2Ch, 86h, 7Ah,0FDh,0EEh,0AEh
31E4:9D1C  D2 DF 78 31 35 9C                    db      0D2h,0DFh, 78h, 31h, 35h, 9Ch
31E4:9D22  FB FF E9 AC AC FD                    db      0FBh,0FFh,0E9h,0ACh,0ACh,0FDh
31E4:9D28  FC 2D C6 4E D7 DC                    db      0FCh, 2Dh,0C6h, 4Eh,0D7h,0DCh
31E4:9D2E  2E AB A5 AF BC 21                    db       2Eh,0ABh,0A5h,0AFh,0BCh, 21h
31E4:9D34  2F EC 9F BC 2C C6                    db       2Fh,0ECh, 9Fh,0BCh, 2Ch,0C6h
31E4:9D3A  7E DF FC 29 FA A6                    db       7Eh,0DFh,0FCh, 29h,0FAh,0A6h
31E4:9D40  FA EC 3E 3F EF F6                    db      0FAh,0ECh, 3Eh, 3Fh,0EFh,0F6h
31E4:9D46  FC 2B D7 7D BB AC                    db      0FCh, 2Bh,0D7h, 7Dh,0BBh,0ACh
31E4:9D4C  3F 2D D9 F7 F0 03                    db       3Fh, 2Dh,0D9h,0F7h,0F0h, 03h
31E4:9D52  55 BF F6 A0 00 C5                    db       55h,0BFh,0F6h,0A0h, 00h,0C5h
31E4:9D58  67 7F C0 00 2C DE                    db       67h, 7Fh,0C0h, 00h, 2Ch,0DEh
31E4:9D5E  EE C0 00 12 BA 97                    db      0EEh,0C0h, 00h, 12h,0BAh, 97h
31E4:9D64  C0 00 12 AF BE C0                    db      0C0h, 00h, 12h,0AFh,0BEh,0C0h
31E4:9D6A  00 13 BD FF C0 00                    db       00h, 13h,0BDh,0FFh,0C0h, 00h
31E4:9D70  15 B2 F9 CF E0 84                    db       15h,0B2h,0F9h,0CFh,0E0h, 84h
31E4:9D76  21 EF 3E 44 9D A8                    db       21h,0EFh, 3Eh, 44h, 9Dh,0A8h
31E4:9D7C  C0 18 0E A0 25 DF                    db      0C0h, 18h, 0Eh,0A0h, 25h,0DFh
31E4:9D82  EA FA 80 22 50 6B                    db      0EAh,0FAh, 80h, 22h, 50h, 6Bh
31E4:9D88  0A 9D 24 50 6B FC                    db       0Ah, 9Dh, 24h, 50h, 6Bh,0FCh
31E4:9D8E  A0 08 50 4B FE AA                    db      0A0h, 08h, 50h, 4Bh,0FEh,0AAh
31E4:9D94  D8 D0 79 0A 80 06                    db      0D8h,0D0h, 79h, 0Ah, 80h, 06h
31E4:9D9A  50 59 0A B5 42 D0                    db       50h, 59h, 0Ah,0B5h, 42h,0D0h
31E4:9DA0  49 08 AD 34 70 7F                    db       49h, 08h,0ADh, 34h, 70h, 7Fh
31E4:9DA6  0C 80 06 FF 80 03                    db       0Ch, 80h, 06h,0FFh, 80h, 03h
31E4:9DAC  FE 42 F8 00 00 03                    db      0FEh, 42h,0F8h, 00h, 00h, 03h
31E4:9DB2  7E 78 00 40 01 80                    db       7Eh, 78h, 00h, 40h, 01h, 80h
31E4:9DB8  F8 00 F8 00 7F D8                    db      0F8h, 00h,0F8h, 00h, 7Fh,0D8h
31E4:9DBE  01 FC 00 7F E8 00                    db       01h,0FCh, 00h, 7Fh,0E8h, 00h
31E4:9DC4  00 00 7F E8 00 00                    db       00h, 00h, 7Fh,0E8h, 00h, 00h
31E4:9DCA  00 FF F4 00 00 01                    db       00h,0FFh,0F4h, 00h, 00h, 01h
31E4:9DD0  FF B2 00 00 07 FF                    db      0FFh,0B2h, 00h, 00h, 07h,0FFh
31E4:9DD6  ED 00 00 00 7F BE                    db      0EDh, 00h, 00h, 00h, 7Fh,0BEh
31E4:9DDC  80 00 FF FF 0D 60                    db       80h, 00h,0FFh,0FFh, 0Dh, 60h
31E4:9DE2  0F FF FF FB DF FF                    db       0Fh,0FFh,0FFh,0FBh,0DFh,0FFh
31E4:9DE8  FF FF 08 1B 61 08                    db      0FFh,0FFh, 08h, 1Bh, 61h, 08h
31E4:9DEE  46 BE 7F 7D DE 7B                    db       46h,0BEh, 7Fh, 7Dh,0DEh, 7Bh
31E4:9DF4  94 D5 9F FF F6 01                    db       94h,0D5h, 9Fh,0FFh,0F6h, 01h
31E4:9DFA  AF 42 BF D9 77 56                    db      0AFh, 42h,0BFh,0D9h, 77h, 56h
31E4:9E00  FD 3B 56 86 76 C3                    db      0FDh, 3Bh, 56h, 86h, 76h,0C3h
31E4:9E06  F3 CA 24 F9 BB ED                    db      0F3h,0CAh, 24h,0F9h,0BBh,0EDh
31E4:9E0C  C7 3D 75 B0 6E 96                    db      0C7h, 3Dh, 75h,0B0h, 6Eh, 96h
31E4:9E12  4F 6A 0F DD AA 03                    db       4Fh, 6Ah, 0Fh,0DDh,0AAh, 03h
31E4:9E18  71 6E 7F 57 CE E5                    db       71h, 6Eh, 7Fh, 57h,0CEh,0E5h
31E4:9E1E  4F D2 FF 11 9A D1                    db       4Fh,0D2h,0FFh, 11h, 9Ah,0D1h
31E4:9E24  B7 5A 6C D5 BD C7                    db      0B7h, 5Ah, 6Ch,0D5h,0BDh,0C7h
31E4:9E2A  7C 3F 3E 2D BF F7                    db       7Ch, 3Fh, 3Eh, 2Dh,0BFh,0F7h
31E4:9E30  E4 B0 C9 41 7E 4C                    db      0E4h,0B0h,0C9h, 41h, 7Eh, 4Ch
31E4:9E36  1D F2 67 FD FC D7                    db       1Dh,0F2h, 67h,0FDh,0FCh,0D7h
31E4:9E3C  F7 EB 7E 7A 6D 55                    db      0F7h,0EBh, 7Eh, 7Ah, 6Dh, 55h
31E4:9E42  FF 80 5F FF FE 00                    db      0FFh, 80h, 5Fh,0FFh,0FEh, 00h
31E4:9E48  00 E0                                db       00h,0E0h
31E4:9E4A  0008[00]                             db      8 dup (0)
31E4:9E52  FF 00 00 00 0F 3E                    db      0FFh, 00h, 00h, 00h, 0Fh, 3Eh
31E4:9E58  00 00 01 F3 FA 00                    db       00h, 00h, 01h,0F3h,0FAh, 00h
31E4:9E5E  00 06 7C BC AF FD                    db       00h, 06h, 7Ch,0BCh,0AFh,0FDh
31E4:9E64  F5 6A 74 F7 BD F7                    db      0F5h, 6Ah, 74h,0F7h,0BDh,0F7h
31E4:9E6A  58 07 DA DB B3 FD                    db       58h, 07h,0DAh,0DBh,0B3h,0FDh
31E4:9E70  FD 41 FB F5 AB 5D                    db      0FDh, 41h,0FBh,0F5h,0ABh, 5Dh
31E4:9E76  6F FF FF 6F BF 9E                    db       6Fh,0FFh,0FFh, 6Fh,0BFh, 9Eh
31E4:9E7C  98 7B F9 D6 33 77                    db       98h, 7Bh,0F9h,0D6h, 33h, 77h
31E4:9E82  EF 6F 56 FE D4 2F                    db      0EFh, 6Fh, 56h,0FEh,0D4h, 2Fh
31E4:9E88  BF FD E9 B4 2B 5D                    db      0BFh,0FDh,0E9h,0B4h, 2Bh, 5Dh
31E4:9E8E  BF 0A F4 2F F3 FF                    db      0BFh, 0Ah,0F4h, 2Fh,0F3h,0FFh
31E4:9E94  E5 F4 29 77 9F A3                    db      0E5h,0F4h, 29h, 77h, 9Fh,0A3h
31E4:9E9A  D4 2F D7 7F 17 54                    db      0D4h, 2Fh,0D7h, 7Fh, 17h, 54h
31E4:9EA0  29 FD FF CF F4 2A                    db       29h,0FDh,0FFh,0CFh,0F4h, 2Ah
31E4:9EA6  9D FF 62 D7 FF FE                    db       9Dh,0FFh, 62h,0D7h,0FFh,0FEh
31E4:9EAC  00 1E 88 00 00 00                    db       00h, 1Eh, 88h, 00h, 00h, 00h
31E4:9EB2  FF F8                                db      0FFh,0F8h
31E4:9EB4  000D[00]                             db      13 dup (0)
31E4:9EC1  FF 80 00 0F FF F0                    db      0FFh, 80h, 00h, 0Fh,0FFh,0F0h
31E4:9EC7  00 03 F3 FB 00 00                    db       00h, 03h,0F3h,0FBh, 00h, 00h
31E4:9ECD  1D 7F FB 00 00 2F                    db       1Dh, 7Fh,0FBh, 00h, 00h, 2Fh
31E4:9ED3  C3 5F 00 00 4F 3E                    db      0C3h, 5Fh, 00h, 00h, 4Fh, 3Eh
31E4:9ED9  AD FB 94 FE 84 26                    db      0ADh,0FBh, 94h,0FEh, 84h, 26h
31E4:9EDF  F4 FB FB 76 EF FF                    db      0F4h,0FBh,0FBh, 76h,0EFh,0FFh
31E4:9EE5  6D E2 D4 AF C8 3D                    db       6Dh,0E2h,0D4h,0AFh,0C8h, 3Dh
31E4:9EEB  FE EE C6 D7 BE DA                    db      0FEh,0EEh,0C6h,0D7h,0BEh,0DAh
31E4:9EF1  DE BD 3B 7F FD FD                    db      0DEh,0BDh, 3Bh, 7Fh,0FDh,0FDh
31E4:9EF7  45 CB 6F FF 9B 77                    db       45h,0CBh, 6Fh,0FFh, 9Bh, 77h
31E4:9EFD  1F BF FD                             db       1Fh,0BFh,0FDh
31E4:9F00  56                   data_1097       db      56h                     ;  xref 31E4:189D
31E4:9F01  92 4F 78 07 FA 97                    db       92h, 4Fh, 78h, 07h,0FAh, 97h
31E4:9F07  66 78 06 9F 27 F2                    db       66h, 78h, 06h, 9Fh, 27h,0F2h
31E4:9F0D  F8 05 FC A4 92 E8                    db      0F8h, 05h,0FCh,0A4h, 92h,0E8h
31E4:9F13  05 3F AF FF 38 07                    db       05h, 3Fh,0AFh,0FFh, 38h, 07h
31E4:9F19  35 D6 33 E8 05 B7                    db       35h,0D6h, 33h,0E8h, 05h,0B7h
31E4:9F1F  FF BF F8 04 FE BF                    db      0FFh,0BFh,0F8h, 04h,0FEh,0BFh
31E4:9F25  78 FF E7 FF FF FF                    db       78h,0FFh,0E7h,0FFh,0FFh,0FFh
31E4:9F2B  F8 00 FF FF 80 F8                    db      0F8h, 00h,0FFh,0FFh, 80h,0F8h
31E4:9F31  00 00 00 80 00 00                    db       00h, 00h, 00h, 80h, 00h, 00h
31E4:9F37  00 00 80 00 00 00                    db       00h, 00h, 80h, 00h, 00h, 00h
31E4:9F3D  00 80 00 00 00 00                    db       00h, 80h, 00h, 00h, 00h, 00h
31E4:9F43  80 00 00 00 3F 80                    db       80h, 00h, 00h, 00h, 3Fh, 80h
31E4:9F49  00 00 03 CE 80 00                    db       00h, 00h, 03h,0CEh, 80h, 00h
31E4:9F4F  00 04 7F 00 00 42                    db       00h, 04h, 7Fh, 00h, 00h, 42h
31E4:9F55  10 84 00 00 42 00                    db       10h, 84h, 00h, 00h, 42h, 00h
31E4:9F5B  00 00 00 42 00 04                    db       00h, 00h, 00h, 42h, 00h, 04h
31E4:9F61  00 00 42 00 00 00                    db       00h, 00h, 42h, 00h, 00h, 00h
31E4:9F67  00 42 00 00 00 00                    db       00h, 42h, 00h, 00h, 00h, 00h
31E4:9F6D  42 00 00 00 00 42                    db       42h, 00h, 00h, 00h, 00h, 42h
31E4:9F73  00 00 00 00 C3 00                    db       00h, 00h, 00h, 00h,0C3h, 00h
31E4:9F79  00 00 00 81 00 00                    db       00h, 00h, 00h, 81h, 00h, 00h
31E4:9F7F  00 01 00 80 00 00                    db       00h, 01h, 00h, 80h, 00h, 00h
31E4:9F85  01 00 80 00                          db       01h, 00h, 80h, 00h
31E4:9F89                       loc_2342:                                       ;  xref 31E4:9FCA
31E4:9F89  00 01                                add     [bx+di],al
31E4:9F8B  00 80 0000                           add     byte ptr copyright[bx+si],al ; (31E4:0000='Copyright Revolu')
31E4:9F8F  02 00                                add     al,[bx+si]
31E4:9F91  40                                   inc     ax
31E4:9F92  00 00                                add     [bx+si],al
31E4:9F94  02 00                                add     al,[bx+si]
31E4:9F96  40                                   inc     ax
31E4:9F97  00 00                                add     [bx+si],al
31E4:9F99  04 00                                add     al,0
31E4:9F9B  40                                   inc     ax
31E4:9F9C  00 00                                add     [bx+si],al
31E4:9F9E  04 00                                add     al,0
31E4:9FA0  20 00                                and     [bx+si],al
31E4:9FA2  00 04                                add     [si],al
31E4:9FA4  00 20                                add     [bx+si],ah
31E4:9FA6  00 00                                add     [bx+si],al
31E4:9FA8  08 00                                or      [bx+si],al
31E4:9FAA  10 00                                adc     [bx+si],al
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 511

31E4:9FAC  00 08                                add     [bx+si],cl
31E4:9FAE  00 10                                add     [bx+si],dl
31E4:9FB0  00 00                                add     [bx+si],al
31E4:9FB2  10 00                                adc     [bx+si],al
31E4:9FB4  08 00                                or      [bx+si],al
31E4:9FB6  00 10                                add     [bx+si],dl
31E4:9FB8  00 08                                add     [bx+si],cl
31E4:9FBA  00 00                                add     [bx+si],al
31E4:9FBC  20 00                                and     [bx+si],al
31E4:9FBE  0C 00                                or      al,0
31E4:9FC0  00 20                                add     [bx+si],ah
31E4:9FC2  00 04                                add     [si],al
31E4:9FC4  00 00                                add     [bx+si],al
31E4:9FC6  20 00                                and     [bx+si],al
31E4:9FC8  04 00                                add     al,0
31E4:9FCA  78 BD                                js      loc_2342                ; Jump if sign=1
31E4:9FCC  95                                   xchg    bp,ax
31E4:9FCD  F9                                   stc                             ; Set carry flag
31E4:9FCE  7F D9                ;*              jg      loc_2343                ;*Jump if >
31E4:9FCE  7F D9                                db       7Fh,0D9h
31E4:9FD0  9A F627:7FAE         ;*              call    far ptr sub_281         ;*(F627:7FAE)
31E4:9FD0  9A                                   db      9Ah
31E4:9FD1  7FAE F627                            dw      7FAEh, 0F627h
31E4:9FD5  B3 BF                                mov     bl,0BFh
31E4:9FD7  4E                                   dec     si
31E4:9FD8  7F 75                                jg      $+77h                   ; Jump if >
31E4:9FDA  F5                                   cmc                             ; Complement carry
31E4:9FDB  55                                   push    bp
31E4:9FDC  FD                                   std                             ; Set direction flag
31E4:9FDD  C9 DD FD 7F E7 8D                    db      0C9h,0DDh,0FDh, 7Fh,0E7h, 8Dh
31E4:9FE3  77 FF ED 1D BB DF                    db       77h,0FFh,0EDh, 1Dh,0BBh,0DFh
31E4:9FE9  E0 6F FD 77 37 E0                    db      0E0h, 6Fh,0FDh, 77h, 37h,0E0h
31E4:9FEF  7E D4 34 6D E0 57                    db       7Eh,0D4h, 34h, 6Dh,0E0h, 57h
31E4:9FF5  7F BD DF E0 5F AF                    db       7Fh,0BDh,0DFh,0E0h, 5Fh,0AFh
31E4:9FFB  7F BF E0 4F F7 6B                    db       7Fh,0BFh,0E0h, 4Fh,0F7h, 6Bh
31E4:A001  E7 E0 43 FF BB 7F                    db      0E7h,0E0h, 43h,0FFh,0BBh, 7Fh
31E4:A007  E0 43 FF CF FF 60                    db      0E0h, 43h,0FFh,0CFh,0FFh, 60h
31E4:A00D  43 87 F6 F7 E0 23                    db       43h, 87h,0F6h,0F7h,0E0h, 23h
31E4:A013  FC A7 BE A0 13 87                    db      0FCh,0A7h,0BEh,0A0h, 13h, 87h
31E4:A019  98 BD A0 0B 85 FF                    db       98h,0BDh,0A0h, 0Bh, 85h,0FFh
31E4:A01F  EF 40 05 FC FF FD                    db      0EFh, 40h, 05h,0FCh,0FFh,0FDh
31E4:A025  80 03 83 1F FE 00                    db       80h, 03h, 83h, 1Fh,0FEh, 00h
31E4:A02B  00 00 7F 00                          db       00h, 00h, 7Fh, 00h
31E4:A02F  000E[00]                             db      14 dup (0)
31E4:A03D  FC 3F FF FF FF DB                    db      0FCh, 3Fh,0FFh,0FFh,0FFh,0DBh
31E4:A043  FB F9 F3 D6 FD DA                    db      0FBh,0F9h,0F3h,0D6h,0FDh,0DAh
31E4:A049  AF 7F F7 C6 DB B7                    db      0AFh, 7Fh,0F7h,0C6h,0DBh,0B7h
31E4:A04F  FF FA E6 FB EF FF                    db      0FFh,0FAh,0E6h,0FBh,0EFh,0FFh
31E4:A055  FD 34 AE FB 00 F5                    db      0FDh, 34h,0AEh,0FBh, 00h,0F5h
31E4:A05B  AF D7 F7 00 FD DD                    db      0AFh,0D7h,0F7h, 00h,0FDh,0DDh
31E4:A061  EE D7 00 B1 B7 ED                    db      0EEh,0D7h, 00h,0B1h,0B7h,0EDh
31E4:A067  FF 00 AF 9E 67 6B                    db      0FFh, 00h,0AFh, 9Eh, 67h, 6Bh
31E4:A06D  00 FB E9 EE 9F 00                    db       00h,0FBh,0E9h,0EEh, 9Fh, 00h
31E4:A073  F4 65 7F EF 00 FB                    db      0F4h, 65h, 7Fh,0EFh, 00h,0FBh
31E4:A079  8E FB FF 00 FA 7B                    db       8Eh,0FBh,0FFh, 00h,0FAh, 7Bh
31E4:A07F  BF 00 00 BF FF FF                    db      0BFh, 00h, 00h,0BFh,0FFh,0FFh
31E4:A085  F8 00 EB FF FF F8                    db      0F8h, 00h,0EBh,0FFh,0FFh,0F8h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 512

31E4:A08B  00 B7 FF FF F8 00                    db       00h,0B7h,0FFh,0FFh,0F8h, 00h
31E4:A091  AB FF E0 00 00 B1                    db      0ABh,0FFh,0E0h, 00h, 00h,0B1h
31E4:A097  FF 80 00 00 FF 00                    db      0FFh, 80h, 00h, 00h,0FFh, 00h
31E4:A09D  0009[00]                             db      9 dup (0)
31E4:A0A6  FF FF E0 00 00 FF                    db      0FFh,0FFh,0E0h, 00h, 00h,0FFh
31E4:A0AC  BF 7F C0 00 FF 77                    db      0BFh, 7Fh,0C0h, 00h,0FFh, 77h
31E4:A0B2  EB FF FF AD B6 A6                    db      0EBh,0FFh,0FFh,0ADh,0B6h,0A6h
31E4:A0B8  F3 DD 7D 66 A9 2E                    db      0F3h,0DDh, 7Dh, 66h,0A9h, 2Eh
31E4:A0BE  E4 DD 3F 97 CF FE                    db      0E4h,0DDh, 3Fh, 97h,0CFh,0FEh
31E4:A0C4  CB 53 DF 7E CA 3A                    db      0CBh, 53h,0DFh, 7Eh,0CAh, 3Ah
31E4:A0CA  1A EF A8 6B A1 DF                    db       1Ah,0EFh,0A8h, 6Bh,0A1h,0DFh
31E4:A0D0  F3 7F 7F 9D FB DF                    db      0F3h, 7Fh, 7Fh, 9Dh,0FBh,0DFh
31E4:A0D6  86 4D FE 5F FA BE                    db       86h, 4Dh,0FEh, 5Fh,0FAh,0BEh
31E4:A0DC  BD 7F F7 FF BB 9A                    db      0BDh, 7Fh,0F7h,0FFh,0BBh, 9Ah
31E4:A0E2  C1 D5 01 37 E3 C1                    db      0C1h,0D5h, 01h, 37h,0E3h,0C1h
31E4:A0E8  7D 01 FC 2F C1 FF                    db       7Dh, 01h,0FCh, 2Fh,0C1h,0FFh
31E4:A0EE  01 DC 31 C1 9B 01                    db       01h,0DCh, 31h,0C1h, 9Bh, 01h
31E4:A0F4  FC 2E C1 DF 01 4C                    db      0FCh, 2Eh,0C1h,0DFh, 01h, 4Ch
31E4:A0FA  23 C1 FD 01 7C 3C                    db       23h,0C1h,0FDh, 01h, 7Ch, 3Ch
31E4:A100  C1 3F 01 F4 39 21                    db      0C1h, 3Fh, 01h,0F4h, 39h, 21h
31E4:A106  C0 00 0F B7 E0 00                    db      0C0h, 00h, 0Fh,0B7h,0E0h, 00h
31E4:A10C  00 00 0F                             db       00h, 00h, 0Fh
31E4:A10F  000F[00]                             db      15 dup (0)
31E4:A11E  80 00 00 00 00 F0                    db       80h, 00h, 00h, 00h, 00h,0F0h
31E4:A124  00 00 00 00 FF 00                    db       00h, 00h, 00h, 00h,0FFh, 00h
31E4:A12A  00 00 01 FF C3 FF                    db       00h, 00h, 01h,0FFh,0C3h,0FFh
31E4:A130  FF FF 00 02 F7 FF                    db      0FFh,0FFh, 00h, 02h,0F7h,0FFh
31E4:A136  F4 00 03 FB 76 FF                    db      0F4h, 00h, 03h,0FBh, 76h,0FFh
31E4:A13C  00 03 FE EC DF 00                    db       00h, 03h,0FEh,0ECh,0DFh, 00h
31E4:A142  02 EB FB AF 00 03                    db       02h,0EBh,0FBh,0AFh, 00h, 03h
31E4:A148  FF FE F7 00 03 D3                    db      0FFh,0FEh,0F7h, 00h, 03h,0D3h
31E4:A14E  7D 7F 00 03 82 FA                    db       7Dh, 7Fh, 00h, 03h, 82h,0FAh
31E4:A154  5F 00 03 EF FB FE                    db       5Fh, 00h, 03h,0EFh,0FBh,0FEh
31E4:A15A  00 03 9F FF 9E 0F                    db       00h, 03h, 9Fh,0FFh, 9Eh, 0Fh
31E4:A160  C3 B9 FE FD F0 03                    db      0C3h,0B9h,0FEh,0FDh,0F0h, 03h
31E4:A166  4F FF EF 00 03 FF                    db       4Fh,0FFh,0EFh, 00h, 03h,0FFh
31E4:A16C  04 FE 00 07 F7 07                    db       04h,0FEh, 00h, 07h,0F7h, 07h
31E4:A172  E1 00 03 FB F7 DD                    db      0E1h, 00h, 03h,0FBh,0F7h,0DDh
31E4:A178  00 03 E5 00 2F 00                    db       00h, 03h,0E5h, 00h, 2Fh, 00h
31E4:A17E  00 1D 00 17 00 00                    db       00h, 1Dh, 00h, 17h, 00h, 00h
31E4:A184  0F F0 0B 00 00 0F                    db       0Fh,0F0h, 0Bh, 00h, 00h, 0Fh
31E4:A18A  F0 07 00 00 00 00                    db      0F0h, 07h, 00h, 00h, 00h, 00h
31E4:A190  1F 00 00 00 00 2F                    db       1Fh, 00h, 00h, 00h, 00h, 2Fh
31E4:A196  00 00 00 00 5F 00                    db       00h, 00h, 00h, 00h, 5Fh, 00h
31E4:A19C  00 00 00 5F 00 00                    db       00h, 00h, 00h, 5Fh, 00h, 00h
31E4:A1A2  00 00 5F FF FF FF                    db       00h, 00h, 5Fh,0FFh,0FFh,0FFh
31E4:A1A8  F0 57 6E AF DB F5                    db      0F0h, 57h, 6Eh,0AFh,0DBh,0F5h
31E4:A1AE  55 FF FA DF D7 6A                    db       55h,0FFh,0FAh,0DFh,0D7h, 6Ah
31E4:A1B4  F5 EB F9 D4 01 E6                    db      0F5h,0EBh,0F9h,0D4h, 01h,0E6h
31E4:A1BA  EE 82 77 FF BF E0                    db      0EEh, 82h, 77h,0FFh,0BFh,0E0h
31E4:A1C0  9B 55 00 DC F9 76                    db       9Bh, 55h, 00h,0DCh,0F9h, 76h
31E4:A1C6  7D 77 E5 FC 1F AF                    db       7Dh, 77h,0E5h,0FCh, 1Fh,0AFh
31E4:A1CC  7E FF E7 AB BC 00                    db       7Eh,0FFh,0E7h,0ABh,0BCh, 00h
31E4:A1D2  00 3C B6 2C 00 00                    db       00h, 3Ch,0B6h, 2Ch, 00h, 00h
31E4:A1D8  22 DB 6C 00 00 2F                    db       22h,0DBh, 6Ch, 00h, 00h, 2Fh
31E4:A1DE  ED 7C 00 00 3E FB                    db      0EDh, 7Ch, 00h, 00h, 3Eh,0FBh
31E4:A1E4  E4 00 00 3F FF FC                    db      0E4h, 00h, 00h, 3Fh,0FFh,0FCh
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 513

31E4:A1EA  00 00 40 00 02 00                    db       00h, 00h, 40h, 00h, 02h, 00h
31E4:A1F0  0F 80 00 01 F8 00                    db       0Fh, 80h, 00h, 01h,0F8h, 00h
31E4:A1F6  00 00 00 00 0E 00                    db       00h, 00h, 00h, 00h, 0Eh, 00h
31E4:A1FC  00 00 78 0A 00 00                    db       00h, 00h, 78h, 0Ah, 00h, 00h
31E4:A202  00 68 FE 00 00 00                    db       00h, 68h,0FEh, 00h, 00h, 00h
31E4:A208  7F FE 00 00 00 76                    db       7Fh,0FEh, 00h, 00h, 00h, 76h
31E4:A20E  FF FF FF FF FA CF                    db      0FFh,0FFh,0FFh,0FFh,0FAh,0CFh
31E4:A214  FF FF BE 6B 56 BE                    db      0FFh,0FFh,0BEh, 6Bh, 56h,0BEh
31E4:A21A  DA F6 DB DF 54 99                    db      0DAh,0F6h,0DBh,0DFh, 54h, 99h
31E4:A220  4F FF AB F2 BE 2D                    db       4Fh,0FFh,0ABh,0F2h,0BEh, 2Dh
31E4:A226  18 CF BD FF 94 95                    db       18h,0CFh,0BDh,0FFh, 94h, 95h
31E4:A22C  AB D5 FF AA C9 FF                    db      0ABh,0D5h,0FFh,0AAh,0C9h,0FFh
31E4:A232  6A AF 69 EA AB 3E                    db       6Ah,0AFh, 69h,0EAh,0ABh, 3Eh
31E4:A238  BE C5 AD D2 AA C7                    db      0BEh,0C5h,0ADh,0D2h,0AAh,0C7h
31E4:A23E  D6 E9 B2 AD 6F ED                    db      0D6h,0E9h,0B2h,0ADh, 6Fh,0EDh
31E4:A244  AA D7 DF 6F 25 39                    db      0AAh,0D7h,0DFh, 6Fh, 25h, 39h
31E4:A24A  EF 77 F0 E8 A5 B7                    db      0EFh, 77h,0F0h,0E8h,0A5h,0B7h
31E4:A250  7C 16 EB 7D EA DC                    db       7Ch, 16h,0EBh, 7Dh,0EAh,0DCh
31E4:A256  17 97 5D E7 74 13                    db       17h, 97h, 5Dh,0E7h, 74h, 13h
31E4:A25C  ED 77 D5 DC 1F                       db      0EDh, 77h,0D5h,0DCh, 1Fh
31E4:A261  49                                   db      49h
31E4:A262 BF E3 BC 1F                          db      0BFh,0E3h,0BCh, 1Fh
31E4:A266 03 CF FF FC 1D FD                    db       03h,0CFh,0FFh,0FCh, 1Dh,0FDh
31E4:A26C  37 B5 FC 17 BF 26                    db       37h,0B5h,0FCh, 17h,0BFh, 26h
31E4:A272  FF FC 1F BC F7 FB                    db      0FFh,0FCh, 1Fh,0BCh,0F7h,0FBh
31E4:A278  D0 07 D2 F7 FF A0                    db      0D0h, 07h,0D2h,0F7h,0FFh,0A0h
31E4:A27E  01 FF 7D DA A0 00                    db       01h,0FFh, 7Dh,0DAh,0A0h, 00h
31E4:A284  1E EB DF A0 00 1D                    db       1Eh,0EBh,0DFh,0A0h, 00h, 1Dh
31E4:A28A  7F EA C0 00 0D 67                    db       7Fh,0EAh,0C0h, 00h, 0Dh, 67h
31E4:A290  DE C0 00 0E EF D5                    db      0DEh,0C0h, 00h, 0Eh,0EFh,0D5h
31E4:A296  40 00 0A FA DE FF                    db       40h, 00h, 0Ah,0FAh,0DEh,0FFh
31E4:A29C  FF 6A F4 F3 E9 52                    db      0FFh, 6Ah,0F4h,0F3h,0E9h, 52h
31E4:A2A2  D6 BB BF F8 D6 7E                    db      0D6h,0BBh,0BFh,0F8h,0D6h, 7Eh
31E4:A2A8  07 FF F7 D3 FE F8                    db       07h,0FFh,0F7h,0D3h,0FEh,0F8h
31E4:A2AE  BD 78 E9 5E 1D 8E                    db      0BDh, 78h,0E9h, 5Eh, 1Dh, 8Eh
31E4:A2B4  6F BE BE E2 FA E9                    db       6Fh,0BEh,0BEh,0E2h,0FAh,0E9h
31E4:A2BA  3D 6F F8 CE DF 7B                    db       3Dh, 6Fh,0F8h,0CEh,0DFh, 7Bh
31E4:A2C0  FE 00 00 60 BA FE                    db      0FEh, 00h, 00h, 60h,0BAh,0FEh
31E4:A2C6  00 00 79 96 B6 00                    db       00h, 00h, 79h, 96h,0B6h, 00h
31E4:A2CC  00 75 63 66 00 00                    db       00h, 75h, 63h, 66h, 00h, 00h
31E4:A2D2  4B 65 D6 00 00 3F                    db       4Bh, 65h,0D6h, 00h, 00h, 3Fh
31E4:A2D8  FF FC 00 00 40 00                    db      0FFh,0FCh, 00h, 00h, 40h, 00h
31E4:A2DE  02 00 0F 80 00 01                    db       02h, 00h, 0Fh, 80h, 00h, 01h
31E4:A2E4  C0 00 00 00 00 00                    db      0C0h, 00h, 00h, 00h, 00h, 00h
31E4:A2EA  0E 00 00 00 70 0E                    db       0Eh, 00h, 00h, 00h, 70h, 0Eh
31E4:A2F0  00 00 00 50 FE 00                    db       00h, 00h, 00h, 50h,0FEh, 00h
31E4:A2F6  00 00 7F AE 00 00                    db       00h, 00h, 7Fh,0AEh, 00h, 00h
31E4:A2FC  00 7F BF FF FF FF                    db       00h, 7Fh,0BFh,0FFh,0FFh,0FFh
31E4:A302  FF EE DF BD FF FF                    db      0FFh,0EEh,0DFh,0BDh,0FFh,0FFh
31E4:A308  FA BA A9 FA 7F DC                    db      0FAh,0BAh,0A9h,0FAh, 7Fh,0DCh
31E4:A30E  FE 5E DF AF BA EF                    db      0FEh, 5Eh,0DFh,0AFh,0BAh,0EFh
31E4:A314  DE B7 3C AA 6E 7B                    db      0DEh,0B7h, 3Ch,0AAh, 6Eh, 7Bh
31E4:A31A  FE 96 FD 74 0D 76                    db      0FEh, 96h,0FDh, 74h, 0Dh, 76h
31E4:A320  FB 65 F4 BE FF BB                    db      0FBh, 65h,0F4h,0BEh,0FFh,0BBh
31E4:A326  A7 6E F2 FB 77 6A                    db      0A7h, 6Eh,0F2h,0FBh, 77h, 6Ah
31E4:A32C  E3 B7 6F D9 AB FE                    db      0E3h,0B7h, 6Fh,0D9h,0ABh,0FEh
31E4:A332  95 F7 FE FD FB FD                    db       95h,0F7h,0FEh,0FDh,0FBh,0FDh
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 514

31E4:A338  7E 00 00 20 07 C2                    db       7Eh, 00h, 00h, 20h, 07h,0C2h
31E4:A33E  00 00 20 00 02 00                    db       00h, 00h, 20h, 00h, 02h, 00h
31E4:A344  00 20 00 02 00 00                    db       00h, 20h, 00h, 02h, 00h, 00h
31E4:A34A  20 00 02 00 00 3F                    db       20h, 00h, 02h, 00h, 00h, 3Fh
31E4:A350  FF FE 00 00 40 00                    db      0FFh,0FEh, 00h, 00h, 40h, 00h
31E4:A356  02 00 07 80 00 01                    db       02h, 00h, 07h, 80h, 00h, 01h
31E4:A35C  F0 00 00 00 00 00                    db      0F0h, 00h, 00h, 00h, 00h, 00h
31E4:A362  0E 00                                db       0Eh, 00h
31E4:A364  00 00 70 0E 00 00                    db       00h, 00h, 70h, 0Eh, 00h, 00h
31E4:A36A  00 70 FA 00 00 00                    db       00h, 70h,0FAh, 00h, 00h, 00h
31E4:A370  7F F6 00 00 00 6F                    db       7Fh,0F6h, 00h, 00h, 00h, 6Fh
31E4:A376  FB                                   db      0FBh
31E4:A377  0007[FF]                             db      7 dup (0FFh)
31E4:A37E  FD B7 AF DB 3E FF                    db      0FDh,0B7h,0AFh,0DBh, 3Eh,0FFh
31E4:A384  7F 08 00 00 00 00                    db       7Fh, 08h, 00h, 00h, 00h, 00h
31E4:A38A  AE D5 56 5E DB 9D                    db      0AEh,0D5h, 56h, 5Eh,0DBh, 9Dh
31E4:A390  5A 8E EE 9D AA 0B                    db       5Ah, 8Eh,0EEh, 9Dh,0AAh, 0Bh
31E4:A396  1E 95 55 25 B0 F3                    db       1Eh, 95h, 55h, 25h,0B0h,0F3h
31E4:A39C  D5 B7 9A 01 BD 5D                    db      0D5h,0B7h, 9Ah, 01h,0BDh, 5Dh
31E4:A3A2  F9 9D 95 E1 BD 75                    db      0F9h, 9Dh, 95h,0E1h,0BDh, 75h
31E4:A3A8  BE 56 DF F9 2B 12                    db      0BEh, 56h,0DFh,0F9h, 2Bh, 12h
31E4:A3AE  87 F6 43 67 D8 D4                    db       87h,0F6h, 43h, 67h,0D8h,0D4h
31E4:A3B4  17 BE 91 A4 E4 1B                    db       17h,0BEh, 91h,0A4h,0E4h, 1Bh
31E4:A3BA  4D FA C9 9C 1B 3D                    db       4Dh,0FAh,0C9h, 9Ch, 1Bh, 3Dh
31E4:A3C0  B5 55 CC 1A 91 1D                    db      0B5h, 55h,0CCh, 1Ah, 91h, 1Dh
31E4:A3C6  8B 3C 1A 16 A9 9A                    db       8Bh, 3Ch, 1Ah, 16h,0A9h, 9Ah
31E4:A3CC  D4 1B 69 BF B5 9C                    db      0D4h, 1Bh, 69h,0BFh,0B5h, 9Ch
31E4:A3D2  18 45 D5 2C 64 1E                    db       18h, 45h,0D5h, 2Ch, 64h, 1Eh
31E4:A3D8  C9 5D F7 4C 3E 20                    db      0C9h, 5Dh,0F7h, 4Ch, 3Eh, 20h
31E4:A3DE  33 80 D0 03 CD 98                    db       33h, 80h,0D0h, 03h,0CDh, 98h
31E4:A3E4  6F A0 00 E3 AE A9                    db       6Fh,0A0h, 00h,0E3h,0AEh,0A9h
31E4:A3EA  A0 00 1E 77 F5 C0                    db      0A0h, 00h, 1Eh, 77h,0F5h,0C0h
31E4:A3F0  00 16 43 3F C0 00                    db       00h, 16h, 43h, 3Fh,0C0h, 00h
31E4:A3F6  12 D4 ED 40 00 15                    db       12h,0D4h,0EDh, 40h, 00h, 15h
31E4:A3FC  5E 0B 40 00 17 6C                    db       5Eh, 0Bh, 40h, 00h, 17h, 6Ch
31E4:A402  00 00 42 84 20 00                    db       00h, 00h, 42h, 84h, 20h, 00h
31E4:A408  00 42 00 00 00 00                    db       00h, 42h, 00h, 00h, 00h, 00h
31E4:A40E  42 84 20 00 00 42                    db       42h, 84h, 20h, 00h, 00h, 42h
31E4:A414  84 00 00 00 42 00                    db       84h, 00h, 00h, 00h, 42h, 00h
31E4:A41A  00 00 00 42 00 00                    db       00h, 00h, 00h, 42h, 00h, 00h
31E4:A420  00 00 42 00 00 00                    db       00h, 00h, 42h, 00h, 00h, 00h
31E4:A426  00 42 00 00 00 00                    db       00h, 42h, 00h, 00h, 00h, 00h
31E4:A42C  81 00 00 00 01 00                    db       81h, 00h, 00h, 00h, 01h, 00h
31E4:A432  80 00 00 01 00 80                    db       80h, 00h, 00h, 01h, 00h, 80h
31E4:A438  00 00 02 00 40 00                    db       00h, 00h, 02h, 00h, 40h, 00h
31E4:A43E  00 02 00 40 00 00                    db       00h, 02h, 00h, 40h, 00h, 00h
31E4:A444  02 00 20 00 00 04                    db       02h, 00h, 20h, 00h, 00h, 04h
31E4:A44A  00 20 00 00 04 00                    db       00h, 20h, 00h, 00h, 04h, 00h
31E4:A450  20 00 00 08 00 10                    db       20h, 00h, 00h, 08h, 00h, 10h
31E4:A456  00 00 08 00 10 00                    db       00h, 00h, 08h, 00h, 10h, 00h
31E4:A45C  00 10 00 10 00 00                    db       00h, 10h, 00h, 10h, 00h, 00h
31E4:A462  10 00 08 00 00 10                    db       10h, 00h, 08h, 00h, 00h, 10h
31E4:A468  00 08 00 00 20 00                    db       00h, 08h, 00h, 00h, 20h, 00h
31E4:A46E  04 00 00 20 00 04                    db       04h, 00h, 00h, 20h, 00h, 04h
31E4:A474  00 00 40 00 02 00                    db       00h, 00h, 40h, 00h, 02h, 00h
31E4:A47A  D3 D6 A4 EA 0A E5                    db      0D3h,0D6h,0A4h,0EAh, 0Ah,0E5h
31E4:A480  70 00 23 A0 B7 C0                    db       70h, 00h, 23h,0A0h,0B7h,0C0h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 515

31E4:A486  84 2A BE A0 CD C4                    db       84h, 2Ah,0BEh,0A0h,0CDh,0C4h
31E4:A48C  5B 00 E7 C0 80 3F                    db       5Bh, 00h,0E7h,0C0h, 80h, 3Fh
31E4:A492  12 29 5C 94 82 CA                    db       12h, 29h, 5Ch, 94h, 82h,0CAh
31E4:A498  9D 46 D6 BF 00 FF                    db       9Dh, 46h,0D6h,0BFh, 00h,0FFh
31E4:A49E  C0 00 03 57 00 40                    db      0C0h, 00h, 03h, 57h, 00h, 40h
31E4:A4A4  00 02 00 00 40 00                    db       00h, 02h, 00h, 00h, 40h, 00h
31E4:A4AA  02 00 00 40 00 02                    db       02h, 00h, 00h, 40h, 00h, 02h
31E4:A4B0  00 00 40 00 02 00                    db       00h, 00h, 40h, 00h, 02h, 00h
31E4:A4B6  00 3F FF FC 00 00                    db       00h, 3Fh,0FFh,0FCh, 00h, 00h
31E4:A4BC  40 00 02 00 07 80                    db       40h, 00h, 02h, 00h, 07h, 80h
31E4:A4C2  00 01 F0 00 00 00                    db       00h, 01h,0F0h, 00h, 00h, 00h
31E4:A4C8  00 00 0E 00 00 00                    db       00h, 00h, 0Eh, 00h, 00h, 00h
31E4:A4CE  70 0A 00 00 00 40                    db       70h, 0Ah, 00h, 00h, 00h, 40h
31E4:A4D4  FE 00 00 00 40 BA                    db      0FEh, 00h, 00h, 00h, 40h,0BAh
31E4:A4DA  00 00 00 40 53 FF                    db       00h, 00h, 00h, 40h, 53h,0FFh
31E4:A4E0  FF FF                                db      0FFh,0FFh
31E4:A4E2 FF 3A FD 77 67 7E                    db      0FFh, 3Ah,0FDh, 77h, 67h, 7Eh
31E4:A4E8  63 A5 7F F7 C5 FF                    db       63h,0A5h, 7Fh,0F7h,0C5h,0FFh
31E4:A4EE  E6 7B 7E ED 20 00                    db      0E6h, 7Bh, 7Eh,0EDh, 20h, 00h
31E4:A4F4  01 05 34 BE 4F 92                    db       01h, 05h, 34h,0BEh, 4Fh, 92h
31E4:A4FA  AA 02 E9 B4 89 44                    db      0AAh, 02h,0E9h,0B4h, 89h, 44h
31E4:A500  5A 8B D8 98 A6 B6                    db       5Ah, 8Bh,0D8h, 98h,0A6h,0B6h
31E4:A506  96 1A 99 00 0B 40                    db       96h, 1Ah, 99h, 00h, 0Bh, 40h
31E4:A50C  32 A5 77 FB 66 9D                    db       32h,0A5h, 77h,0FBh, 66h, 9Dh
31E4:A512  59 04 77 CA 00 E9                    db       59h, 04h, 77h,0CAh, 00h,0E9h
31E4:A518  39 7A 8B 4B 02 2E                    db       39h, 7Ah, 8Bh, 4Bh, 02h, 2Eh
31E4:A51E  7B D4 25 FB D4 E0                    db       7Bh,0D4h, 25h,0FBh,0D4h,0E0h
31E4:A524  2A E7 0F 38 E7 FE                    db       2Ah,0E7h, 0Fh, 38h,0E7h,0FEh
31E4:A52A  CB 0A 0A 5B 3F 17                    db      0CBh, 0Ah, 0Ah, 5Bh, 3Fh, 17h
31E4:A530  09 46 EE EB AD 0D                    db       09h, 46h,0EEh,0EBh,0ADh, 0Dh
31E4:A536  22 2E EB 75 09 4B                    db       22h, 2Eh,0EBh, 75h, 09h, 4Bh
31E4:A53C  E5 6B F9 08 07 53                    db      0E5h, 6Bh,0F9h, 08h, 07h, 53h
31E4:A542  B7 D7 0F EC A9 DD                    db      0B7h,0D7h, 0Fh,0ECh,0A9h,0DDh
31E4:A548  E8 00 12 C4 6F D0                    db      0E8h, 00h, 12h,0C4h, 6Fh,0D0h
31E4:A54E  00 0B 7D FF A0 01                    db       00h, 0Bh, 7Dh,0FFh,0A0h, 01h
31E4:A554  85 88 D7 40 00 02                    db       85h, 88h,0D7h, 40h, 00h, 02h
31E4:A55A  F5 BE 9C 00 01 5E                    db      0F5h,0BEh, 9Ch, 00h, 01h, 5Eh
31E4:A560  ED 04 00 78 AF D9                    db      0EDh, 04h, 00h, 78h,0AFh,0D9h
31E4:A566  04 00 40 AB 33 52                    db       04h, 00h, 40h,0ABh, 33h, 52h
31E4:A56C  B2 AA 66 93 45 12                    db      0B2h,0AAh, 66h, 93h, 45h, 12h
31E4:A572  01 12 52 48 00 50                    db       01h, 12h, 52h, 48h, 00h, 50h
31E4:A578  91 84 22 92 D5 9F                    db       91h, 84h, 22h, 92h,0D5h, 9Fh
31E4:A57E  A7 B5 A2 82 BB B3                    db      0A7h,0B5h,0A2h, 82h,0BBh,0B3h
31E4:A584  01 52 46 49 12 97                    db       01h, 52h, 46h, 49h, 12h, 97h
31E4:A58A  A9 56 1A F7 B4 10                    db      0A9h, 56h, 1Ah,0F7h,0B4h, 10h
31E4:A590  09 A7 99 1C A1 28                    db       09h,0A7h, 99h, 1Ch,0A1h, 28h
31E4:A596  99 D7 AA 92 DD 32                    db       99h,0D7h,0AAh, 92h,0DDh, 32h
31E4:A59C  6A 64 A0 21 B5 B5                    db       6Ah, 64h,0A0h, 21h,0B5h,0B5h
31E4:A5A2  4B 2D 95 57 F3 BF                    db       4Bh, 2Dh, 95h, 57h,0F3h,0BFh
31E4:A5A8  FF F8 00 D6 C0 00                    db      0FFh,0F8h, 00h,0D6h,0C0h, 00h
31E4:A5AE  05 54 73 40 00 04                    db       05h, 54h, 73h, 40h, 00h, 04h
31E4:A5B4  EB BF 40 00 02 F3                    db      0EBh,0BFh, 40h, 00h, 02h,0F3h
31E4:A5BA  7E F0 00 01 2D 9F                    db       7Eh,0F0h, 00h, 01h, 2Dh, 9Fh
31E4:A5C0  E0 00 30 92 D3 C0                    db      0E0h, 00h, 30h, 92h,0D3h,0C0h
31E4:A5C6  00 18 5B 87 C0 01                    db       00h, 18h, 5Bh, 87h,0C0h, 01h
31E4:A5CC  F8 27 B8 00 01 F0                    db      0F8h, 27h,0B8h, 00h, 01h,0F0h
31E4:A5D2  13 A0 00 00 F0 08                    db       13h,0A0h, 00h, 00h,0F0h, 08h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 516

31E4:A5D8  A0 00 00 00 06 BF                    db      0A0h, 00h, 00h, 00h, 06h,0BFh
31E4:A5DE  00 00 00 01 73 6D                    db       00h, 00h, 00h, 01h, 73h, 6Dh
31E4:A5E4  BB EE 73 F6 5A 9F                    db      0BBh,0EEh, 73h,0F6h, 5Ah, 9Fh
31E4:A5EA  F7 35 E5 25 56 AA                    db      0F7h, 35h,0E5h, 25h, 56h,0AAh
31E4:A5F0  ED B7 9A 54 B1 3B                    db      0EDh,0B7h, 9Ah, 54h,0B1h, 3Bh
31E4:A5F6  F3 DB 57 6F FD FD                    db      0F3h,0DBh, 57h, 6Fh,0FDh,0FDh
31E4:A5FC  4F 9B 55 5F BD DD                    db       4Fh, 9Bh, 55h, 5Fh,0BDh,0DDh
31E4:A602  DB 76 FD 5A 6A 4A                    db      0DBh, 76h,0FDh, 5Ah, 6Ah, 4Ah
31E4:A608  A4 DF B7 FE BE 36                    db      0A4h,0DFh,0B7h,0FEh,0BEh, 36h
31E4:A60E  BF F3 BC 97 6C BF                    db      0BFh,0F3h,0BCh, 97h, 6Ch,0BFh
31E4:A614  FF D3 F9 B5 77 DB                    db      0FFh,0D3h,0F9h,0B5h, 77h,0DBh
31E4:A61A  FA D5 B5 7F FF C0                    db      0FAh,0D5h,0B5h, 7Fh,0FFh,0C0h
31E4:A620  00 1D D9 87 DF FF                    db       00h, 1Dh,0D9h, 87h,0DFh,0FFh
31E4:A626  D6 EF DB 20 00 25                    db      0D6h,0EFh,0DBh, 20h, 00h, 25h
31E4:A62C  EF F2                                db      0EFh,0F2h
31E4:A62E  40                                   db      40h

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;��������������������������������������������������������������������������

31E4:A62F                       sub_275         proc    near
31E4:A62F  00 13                                add     [bp+di],dl
31E4:A631  B7 B6                                mov     bh,0B6h
31E4:A633  80 00 0B                             add     byte ptr [bx+si],0Bh
31E4:A636  3D 00DD                              cmp     ax,0DDh
31E4:A639  00 05                                add     [di],al
31E4:A63B  EF                                   out     dx,ax                   ; port 8300h ??I/O Non-standard
31E4:A63C  DA 00                                fiadd   dword ptr [bx+si]       ; st = st + memory
31E4:A63E  00 02                                add     [bp+si],al
31E4:A640  F0> B4 00                                       lock mov     ah,0
31E4:A643  7F FF FF 74 00 40                    db       7Fh,0FFh,0FFh, 74h, 00h, 40h
31E4:A649  01 AE FF FF FE 03                    db       01h,0AEh,0FFh,0FFh,0FEh, 03h
31E4:A64F  A9 BC 00 49 FA AA                    db      0A9h,0BCh, 00h, 49h,0FAh,0AAh
31E4:A655  64 00 7E F3 B7 7C                    db       64h, 00h, 7Eh,0F3h,0B7h, 7Ch
31E4:A65B  00 E6 DD 74 8F 7A                    db       00h,0E6h,0DDh, 74h, 8Fh, 7Ah
31E4:A661  B5 4D 72 FD B5 99                    db      0B5h, 4Dh, 72h,0FDh,0B5h, 99h
31E4:A667  A5 D6 BD 29 85 49                    db      0A5h,0D6h,0BDh, 29h, 85h, 49h
31E4:A66D  AD FA 69 F3 6B 6D                    db      0ADh,0FAh, 69h,0F3h, 6Bh, 6Dh
31E4:A673  5E 58 A9 51 DA FF                    db       5Eh, 58h,0A9h, 51h,0DAh,0FFh
31E4:A679  BB 7E 9E B7 FE AD                    db      0BBh, 7Eh, 9Eh,0B7h,0FEh,0ADh
31E4:A67F  2B 4A D7 E5 7B F3                    db       2Bh, 4Ah,0D7h,0E5h, 7Bh,0F3h
31E4:A685  6E 7F E7 AD EE DD                    db       6Eh, 7Fh,0E7h,0ADh,0EEh,0DDh
31E4:A68B  79 FF BB B6 D5 AF                    db       79h,0FFh,0BBh,0B6h,0D5h,0AFh
31E4:A691  FB B7 6D 5A FB EF                    db      0FBh,0B7h, 6Dh, 5Ah,0FBh,0EFh
31E4:A697  F5 CD F7 BB FE F5                    db      0F5h,0CDh,0F7h,0BBh,0FEh,0F5h
31E4:A69D  AA 94 DD FA FF FB                    db      0AAh, 94h,0DDh,0FAh,0FFh,0FBh
31E4:A6A3  EF FD BB FF FF FE                    db      0EFh,0FDh,0BBh,0FFh,0FFh,0FEh
31E4:A6A9  6F B4 02 30 81 9E                    db       6Fh,0B4h, 02h, 30h, 81h, 9Eh
31E4:A6AF  E8 03 83 80 4F 90                    db      0E8h, 03h, 83h, 80h, 4Fh, 90h
31E4:A6B5  00 00 00 2D 20 00                    db       00h, 00h, 00h, 2Dh, 20h, 00h
31E4:A6BB  00 00 17 40 00 FE                    db       00h, 00h, 17h, 40h, 00h,0FEh
31E4:A6C1  00 0B 80 00 82 00                    db       00h, 0Bh, 80h, 00h, 82h, 00h
31E4:A6C7  04 FF FF FF F0 FF                    db       04h,0FFh,0FFh,0FFh,0F0h,0FFh
31E4:A6CD  00 00 00 10 80 FE                    db       00h, 00h, 00h, 10h, 80h,0FEh
31E4:A6D3  B6 F7 DF 9E FD 37                    db      0B6h,0F7h,0DFh, 9Eh,0FDh, 37h
31E4:A6D9  5E DD ED A9 AD DD                    db       5Eh,0DDh,0EDh,0A9h,0ADh,0DDh
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 517

31E4:A6DF  AFFF                                 dw      0AFFFh                  ; Data table (indexed access)
31E4:A6E1  FB 7B 5E DB B7 7F                    db      0FBh, 7Bh, 5Eh,0DBh,0B7h, 7Fh
31E4:A6E7  69 6D EE EF B6 83                    db       69h, 6Dh,0EEh,0EFh,0B6h, 83h
31E4:A6ED  F1 59 37 DC FC AD                    db      0F1h, 59h, 37h,0DCh,0FCh,0ADh
31E4:A6F3  DA D7 FF 6E B5 5B                    db      0DAh,0D7h,0FFh, 6Eh,0B5h, 5Bh
31E4:A6F9  ED F5 FF                             db      0EDh,0F5h,0FFh
31E4:A6FC                       loc_2345:                                       ;  xref 31E4:A6FF
31E4:A6FC AD                                   lodsw                           ; String [si] to ax
31E4:A6FD  AB                                   stosw                           ; Store ax to es:[di]
31E4:A6FE  2F                                   das                             ; Decimal adjust
31E4:A6FF  EB FB                                jmp     short loc_2345          ; (A6FC)
                                sub_275         endp

31E4:A701  ED 7D BB EC EB 5B                    db      0EDh, 7Dh,0BBh,0ECh,0EBh, 5Bh
31E4:A707  FF FF BF FF 52 00                    db      0FFh,0FFh,0BFh,0FFh, 52h, 00h
31E4:A70D  0F FD BF FE FF 6C                    db       0Fh,0FDh,0BFh,0FEh,0FFh, 6Ch
31E4:A713  BE FF FF C0 00 FF                    db      0BEh,0FFh,0FFh,0C0h, 00h,0FFh
31E4:A719  FC 00 3E AA FF 00                    db      0FCh, 00h, 3Eh,0AAh,0FFh, 00h
31E4:A71F  00 01 00 BE 00 00                    db       00h, 01h, 00h,0BEh, 00h, 00h
31E4:A725  00 80 F4 00 00 00                    db       00h, 80h,0F4h, 00h, 00h, 00h
31E4:A72B  40 E8 00 FF 00 20                    db       40h,0E8h, 00h,0FFh, 00h, 20h
31E4:A731  D0 00 FF 00 10 A0                    db      0D0h, 00h,0FFh, 00h, 10h,0A0h
31E4:A737  00 00 00 08 40 00                    db       00h, 00h, 00h, 08h, 40h, 00h
31E4:A73D  00 00 04 80 00 00                    db       00h, 00h, 04h, 80h, 00h, 00h
31E4:A743  00 02 F8 3F FF FF                    db       00h, 02h,0F8h, 3Fh,0FFh,0FFh
31E4:A749  FE 2D 2B 34 62 15                    db      0FEh, 2Dh, 2Bh, 34h, 62h, 15h
31E4:A74F  18 66 6B 2A C3 2B                    db       18h, 66h, 6Bh, 2Ah,0C3h, 2Bh
31E4:A755  A4 26 23 09 96 41                    db      0A4h, 26h, 23h, 09h, 96h, 41h
31E4:A75B  27 28 30 4A 2B 1C                    db       27h, 28h, 30h, 4Ah, 2Bh, 1Ch
31E4:A761  2A                                   db      2Ah
31E4:A762                       loc_2346:
31E4:A762  2E 93 34 36 DA 14                    db       2Eh, 93h, 34h, 36h,0DAh, 14h
31E4:A768  16 54 32 2D 16 12                    db       16h, 54h, 32h, 2Dh, 16h, 12h
31E4:A76E  9A 66 2A 12 13 17                    db       9Ah, 66h, 2Ah, 12h, 13h, 17h
31E4:A774  19 2F 7F 55 28 5F                    db       19h, 2Fh, 7Fh, 55h, 28h, 5Fh
31E4:A77A  96 94 93 69 96                       db       96h, 94h, 93h, 69h, 96h
31E4:A77F  57 4B 3D 3D 44 2B                    db      'WK==D+V0'
31E4:A785  56 30
31E4:A787  91 B6 AB 98 A2 96                    db       91h,0B6h,0ABh, 98h,0A2h, 96h
31E4:A78D  3A 99 71 91 48 7F                    db       3Ah, 99h, 71h, 91h, 48h, 7Fh
31E4:A793  66 7A 55 64 63 5D                    db      'fzUdc]hIO'
31E4:A799  68 49 4F
31E4:A79C  13 34 3A 35 99 35                    db       13h, 34h, 3Ah, 35h, 99h, 35h
31E4:A7A2  91 9A 97 78 93 98                    db       91h, 9Ah, 97h, 78h, 93h, 98h
31E4:A7A8  91 9F 91 2E 13 58                    db       91h, 9Fh, 91h, 2Eh, 13h, 58h
31E4:A7AE  AD 14 92 98 A2 9F                    db      0ADh, 14h, 92h, 98h,0A2h, 9Fh
31E4:A7B4  9A 12 91 16 2F 58                    db       9Ah, 12h, 91h, 16h, 2Fh, 58h
31E4:A7BA  77 71 96 5F 92 92                    db       77h, 71h, 96h, 5Fh, 92h, 92h
31E4:A7C0  AB C5 02 AE BE B7                    db      0ABh,0C5h, 02h,0AEh,0BEh,0B7h
31E4:A7C6  EA BF DC EE E7 EF                    db      0EAh,0BFh,0DCh,0EEh,0E7h,0EFh
31E4:A7CC  CB FE 6E D5 F7 FF                    db      0CBh,0FEh, 6Eh,0D5h,0F7h,0FFh
31E4:A7D2  6B F3 2E 7B CB 72                    db       6Bh,0F3h, 2Eh, 7Bh,0CBh, 72h
31E4:A7D8  6D 5D BF EF 00 0D                    db       6Dh, 5Dh,0BFh,0EFh, 00h, 0Dh
31E4:A7DE  6E DE AA 77 FB 5D                    db       6Eh,0DEh,0AAh, 77h,0FBh, 5Dh
31E4:A7E4  5F DB 6E 67 75 BA                    db       5Fh,0DBh, 6Eh, 67h, 75h,0BAh
31E4:A7EA  D9 FD 5E D5 D7 ED                    db      0D9h,0FDh, 5Eh,0D5h,0D7h,0EDh
31E4:A7F0  AE EF DD 77 DF F4                    db      0AEh,0EFh,0DDh, 77h,0DFh,0F4h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 518

31E4:A7F6  CF 65 EB BB D6 DB                    db      0CFh, 65h,0EBh,0BBh,0D6h,0DBh
31E4:A7FC  7F FF F5 FF D6 FE                    db       7Fh,0FFh,0F5h,0FFh,0D6h,0FEh
31E4:A802  DF FD 5F FF FB 78                    db      0DFh,0FDh, 5Fh,0FFh,0FBh, 78h
31E4:A808  46 A0 00 04 EB 3B                    db       46h,0A0h, 00h, 04h,0EBh, 3Bh
31E4:A80E  40 0F FE DF DF 80                    db       40h, 0Fh,0FEh,0DFh,0DFh, 80h
31E4:A814  00 02 52 DD 00 00                    db       00h, 02h, 52h,0DDh, 00h, 00h
31E4:A81A  01 7F DA 00 00 00                    db       01h, 7Fh,0DAh, 00h, 00h, 00h
31E4:A820  BD 74 00 00 00 48                    db      0BDh, 74h, 00h, 00h, 00h, 48h
31E4:A826  FF EF FF FF FF DB                    db      0FFh,0EFh,0FFh,0FFh,0FFh,0DBh
31E4:A82C  0F FF B7 3F BD 0F                    db       0Fh,0FFh,0B7h, 3Fh,0BDh, 0Fh
31E4:A832  F3 AB FF BD 0E FF                    db      0F3h,0ABh,0FFh,0BDh, 0Eh,0FFh
31E4:A838  9A BF ED 55 B7 6A                    db       9Ah,0BFh,0EDh, 55h,0B7h, 6Ah
31E4:A83E  04 FF 6E CB D5 EE                    db       04h,0FFh, 6Eh,0CBh,0D5h,0EEh
31E4:A844  ED FD 67 D6 FE BD                    db      0EDh,0FDh, 67h,0D6h,0FEh,0BDh
31E4:A84A  FD AD DD EF FA B7                    db      0FDh,0ADh,0DDh,0EFh,0FAh,0B7h
31E4:A850  F7 BD 9F FF 6F BA                    db      0F7h,0BDh, 9Fh,0FFh, 6Fh,0BAh
31E4:A856  BA FD EA EB 6F DF                    db      0BAh,0FDh,0EAh,0EBh, 6Fh,0DFh
31E4:A85C  FF DF BB BB 7F FB                    db      0FFh,0DFh,0BBh,0BBh, 7Fh,0FBh
31E4:A862  F6 F5 6F BA F5 FD                    db      0F6h,0F5h, 6Fh,0BAh,0F5h,0FDh
31E4:A868  9E CA 95 6D F6 DB                    db       9Eh,0CAh, 95h, 6Dh,0F6h,0DBh
31E4:A86E  6D 5C FF EF B4 6A                    db       6Dh, 5Ch,0FFh,0EFh,0B4h, 6Ah
31E4:A874  B6 DF FD BF B7 7F                    db      0B6h,0DFh,0FDh,0BFh,0B7h, 7Fh
31E4:A87A  FF FD 77 77 AD AD                    db      0FFh,0FDh, 77h, 77h,0ADh,0ADh
31E4:A880  AB FD F8 7D DB DA                    db      0ABh,0FDh,0F8h, 7Dh,0DBh,0DAh
31E4:A886  FF FF 5F 7F FC 80                    db      0FFh,0FFh, 5Fh, 7Fh,0FCh, 80h
31E4:A88C  06 BD FE 21 00 00                    db       06h,0BDh,0FEh, 21h, 00h, 00h
31E4:A892  FF FF C6 00 00 1C                    db      0FFh,0FFh,0C6h, 00h, 00h, 1Ch
31E4:A898  00 E8 00 00 03 FF                    db       00h,0E8h, 00h, 00h, 03h,0FFh
31E4:A89E  EF 00 00 00 00 B0                    db      0EFh, 00h, 00h, 00h, 00h,0B0h
31E4:A8A4  C0 00 00 00 1D BF                    db      0C0h, 00h, 00h, 00h, 1Dh,0BFh
31E4:A8AA  00 03 FF 00 7F FF                    db       00h, 03h,0FFh, 00h, 7Fh,0FFh
31E4:A8B0  02 00 B6 8A 9A EE                    db       02h, 00h,0B6h, 8Ah, 9Ah,0EEh
31E4:A8B6  83 9E 5C B6 54 B5                    db       83h, 9Eh, 5Ch,0B6h, 54h,0B5h
31E4:A8BC  EA 8C 92 B5 5F FD                    db      0EAh, 8Ch, 92h,0B5h, 5Fh,0FDh
31E4:A8C2  3C E7 6F 5D D5 55                    db       3Ch,0E7h, 6Fh, 5Dh,0D5h, 55h
31E4:A8C8  FF EA FB DD 7F FB                    db      0FFh,0EAh,0FBh,0DDh, 7Fh,0FBh
31E4:A8CE  BE F5 DF 99 A6 F7                    db      0BEh,0F5h,0DFh, 99h,0A6h,0F7h
31E4:A8D4  BF DA AA FE BE E7                    db      0BFh,0DAh,0AAh,0FEh,0BEh,0E7h
31E4:A8DA  F7 7A 95 49 3F F7                    db      0F7h, 7Ah, 95h, 49h, 3Fh,0F7h
31E4:A8E0  D7 6B 37 B5 FF 7F                    db      0D7h, 6Bh, 37h,0B5h,0FFh, 7Fh
31E4:A8E6  2A FF DF ED B5 EA                    db       2Ah,0FFh,0DFh,0EDh,0B5h,0EAh
31E4:A8EC  EC AD EB F7 7F FF                    db      0ECh,0ADh,0EBh,0F7h, 7Fh,0FFh
31E4:A8F2  FF 43 FF FF F8 AB                    db      0FFh, 43h,0FFh,0FFh,0F8h,0ABh
31E4:A8F8  FC 00 00 65 FF 00                    db      0FCh, 00h, 00h, 65h,0FFh, 00h
31E4:A8FE  00 00 02 FF E0 00                    db       00h, 00h, 02h,0FFh,0E0h, 00h
31E4:A904  00 01 BD 20 00 00                    db       00h, 01h,0BDh, 20h, 00h, 00h
31E4:A90A  00 5F 40 00 03 80                    db       00h, 5Fh, 40h, 00h, 03h, 80h
31E4:A910  2F 80 00 27 E0 17                    db       2Fh, 80h, 00h, 27h,0E0h, 17h
31E4:A916  80 00 0C 10 0B 80                    db       80h, 00h, 0Ch, 10h, 0Bh, 80h
31E4:A91C  00 07 40 05 80 00                    db       00h, 07h, 40h, 05h, 80h, 00h
31E4:A922  00 00 02 80 00 00                    db       00h, 00h, 02h, 80h, 00h, 00h
31E4:A928  00 01 00 00 00                       db       00h, 01h, 00h, 00h, 00h
31E4:A92D  00 00 FE FE FE FE                    db       00h, 00h,0FEh,0FEh,0FEh,0FEh
31E4:A933  FE 00                                db      0FEh, 00h
31E4:A935  001A[00]                             db      26 dup (0)
31E4:A94F  FE FE FE FE FE 00                    db      0FEh,0FEh,0FEh,0FEh,0FEh, 00h
31E4:A955  0008[00]                             db      8 dup (0)
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 519

31E4:A95D  FE FE FF FF FF FF                    db      0FEh,0FEh,0FFh,0FFh,0FFh,0FFh
31E4:A963  FF FE FE 00 00 00                    db      0FFh,0FEh,0FEh, 00h, 00h, 00h
31E4:A969  00 00 00 FE FF FF                    db       00h, 00h, 00h,0FEh,0FFh,0FFh
31E4:A96F  FE 00 FE 00 FE FF                    db      0FEh, 00h,0FEh, 00h,0FEh,0FFh
31E4:A975  FF FE 00 00 00 00                    db      0FFh,0FEh, 00h, 00h, 00h, 00h
31E4:A97B  FE FF 00 FE 00 FE                    db      0FEh,0FFh, 00h,0FEh, 00h,0FEh
31E4:A981  00 FE 00 FE 00 FF                    db       00h,0FEh, 00h,0FEh, 00h,0FFh
31E4:A987  FE 00 00 00 FE FF                    db      0FEh, 00h, 00h, 00h,0FEh,0FFh
31E4:A98D  FE FF FE 00 FE 00                    db      0FEh,0FFh,0FEh, 00h,0FEh, 00h
31E4:A993  FE 00 FE FF FE 00                    db      0FEh, 00h,0FEh,0FFh,0FEh, 00h
31E4:A999  00 FE FF FE 00 FE                    db       00h,0FEh,0FFh,0FEh, 00h,0FEh
31E4:A99F  FF FE 00 ED F6 6B                    db      0FFh,0FEh, 00h,0EDh,0F6h, 6Bh
31E4:A9A5  68 0B CE AB 55 53                    db       68h, 0Bh,0CEh,0ABh, 55h, 53h
31E4:A9AB  79 EA 76 B6 96 B7                    db       79h,0EAh, 76h,0B6h, 96h,0B7h
31E4:A9B1  AC CA 96 9E 59 CD                    db      0ACh,0CAh, 96h, 9Eh, 59h,0CDh
31E4:A9B7  4F 6B F5 6F 9A FF                    db       4Fh, 6Bh,0F5h, 6Fh, 9Ah,0FFh
31E4:A9BD  75 49 B7 DB CD 53                    db       75h, 49h,0B7h,0DBh,0CDh, 53h
31E4:A9C3  6A EF FF AE EA DA                    db       6Ah,0EFh,0FFh,0AEh,0EAh,0DAh
31E4:A9C9  FB F6 FB A7 CF FF                    db      0FBh,0F6h,0FBh,0A7h,0CFh,0FFh
31E4:A9CF  BF FF 5E DF 67 EF                    db      0BFh,0FFh, 5Eh,0DFh, 67h,0EFh
31E4:A9D5  BB F7 FB B5 7F FF                    db      0BBh,0F7h,0FBh,0B5h, 7Fh,0FFh
31E4:A9DB  FF FF BF EB C0 00                    db      0FFh,0FFh,0BFh,0EBh,0C0h, 00h
31E4:A9E1  00 7F D7 C0 00 00                    db       00h, 7Fh,0D7h,0C0h, 00h, 00h
31E4:A9E7  10 D7 40 00 00 1F                    db       10h,0D7h, 40h, 00h, 00h, 1Fh
31E4:A9ED  FF C0 00 00 01 38                    db      0FFh,0C0h, 00h, 00h, 01h, 38h
31E4:A9F3  00 00 00 01 FF 00                    db       00h, 00h, 00h, 01h,0FFh, 00h
31E4:A9F9  00 00 01 FD 00 00                    db       00h, 00h, 01h,0FDh, 00h, 00h
31E4:A9FF  00 01 BF 80 00 00                    db       00h, 01h,0BFh, 80h, 00h, 00h
31E4:AA05  01 DF C0 00 00 01                    db       01h,0DFh,0C0h, 00h, 00h, 01h
31E4:AA0B  CF 60 00 00 01 DD                    db      0CFh, 60h, 00h, 00h, 01h,0DDh
31E4:AA11  DF F8 00 01 CC B6                    db      0DFh,0F8h, 00h, 01h,0CCh,0B6h
31E4:AA17  D7 F7 FF E8 DE EE                    db      0D7h,0F7h,0FFh,0E8h,0DEh,0EEh
31E4:AA1D  FB AE FB 6A B7 E4                    db      0FBh,0AEh,0FBh, 6Ah,0B7h,0E4h
31E4:AA23  99 65 B2 B5 6A 99                    db       99h, 65h,0B2h,0B5h, 6Ah, 99h
31E4:AA29  FB 6D 49 67 4E E9                    db      0FBh, 6Dh, 49h, 67h, 4Eh,0E9h
31E4:AA2F  96 B5 D7 B5 F3 73                    db       96h,0B5h,0D7h,0B5h,0F3h, 73h
31E4:AA35  58 D4 BB 7D 9A FE                    db       58h,0D4h,0BBh, 7Dh, 9Ah,0FEh
31E4:AA3B  BE EA AC 56 A2 44                    db      0BEh,0EAh,0ACh, 56h,0A2h, 44h
31E4:AA41  C9 F6 6D 5F 7C BD                    db      0C9h,0F6h, 6Dh, 5Fh, 7Ch,0BDh
31E4:AA47  FF FF DA AD B5 DF                    db      0FFh,0FFh,0DAh,0ADh,0B5h,0DFh
31E4:AA4D  DF BB 5A FD 9F FB                    db      0DFh,0BBh, 5Ah,0FDh, 9Fh,0FBh
31E4:AA53  FE ED 6F FF 7F FF                    db      0FEh,0EDh, 6Fh,0FFh, 7Fh,0FFh
31E4:AA59  F7 FB F2 80 00                       db      0F7h,0FBh,0F2h, 80h, 00h
31E4:AA5E 0D C3 FE 80 00 0E                    db       0Dh,0C3h,0FEh, 80h, 00h, 0Eh
31E4:AA64  7F FF 80 00 01 FF                    db       7Fh,0FFh, 80h, 00h, 01h,0FFh
31E4:AA6A  38 00 00 00 FC FE                    db       38h, 00h, 00h, 00h,0FCh,0FEh
31E4:AA70  00 00 00 7F F2 00                    db       00h, 00h, 00h, 7Fh,0F2h, 00h
31E4:AA76  00 00 7D EB 00 00                    db       00h, 00h, 7Dh,0EBh, 00h, 00h
31E4:AA7C  00 5F F5 80 00 00                    db       00h, 5Fh,0F5h, 80h, 00h, 00h
31E4:AA82  77 6E C0 00 03 ED                    db       77h, 6Eh,0C0h, 00h, 03h,0EDh
31E4:AA88  9B 60 00 04 DF FE                    db       9Bh, 60h, 00h, 04h,0DFh,0FEh
31E4:AA8E  FF FF FD 9F BB 36                    db      0FFh,0FFh,0FDh, 9Fh,0BBh, 36h
31E4:AA94  A0 0B FE BF 54 AF                    db      0A0h, 0Bh,0FEh,0BFh, 54h,0AFh
31E4:AA9A  F5 BB BC AF 2D 5D                    db      0F5h,0BBh,0BCh,0AFh, 2Dh, 5Dh
31E4:AAA0  9E BA B4 B3 77 DB                    db       9Eh,0BAh,0B4h,0B3h, 77h,0DBh
31E4:AAA6  AD D9 6B BD BB BD                    db      0ADh,0D9h, 6Bh,0BDh,0BBh,0BDh
31E4:AAAC  AA CB 95 93 B5 55                    db      0AAh,0CBh, 95h, 93h,0B5h, 55h
31E4:AAB2  96 FB 59 EB A7 75                    db       96h,0FBh, 59h,0EBh,0A7h, 75h
31E4:AAB8  5A F6 BE 95 77 6F                    db       5Ah,0F6h,0BEh, 95h, 77h, 6Fh
31E4:AABE  66 CA BE 6E AE B7                    db       66h,0CAh,0BEh, 6Eh,0AEh,0B7h
31E4:AAC4  AA 9A FF 73 DF 7D                    db      0AAh, 9Ah,0FFh, 73h,0DFh, 7Dh
31E4:AACA  FF FF FF 7F C1 38                    db      0FFh,0FFh,0FFh, 7Fh,0C1h, 38h
31E4:AAD0  00 00 DD FE 60 00                    db       00h, 00h,0DDh,0FEh, 60h, 00h
31E4:AAD6  00 FE 1C C0 00 00                    db       00h,0FEh, 1Ch,0C0h, 00h, 00h
31E4:AADC  BF FF 80 00 00 FF                    db      0BFh,0FFh, 80h, 00h, 00h,0FFh
31E4:AAE2  38 00 00 00 FC F8                    db       38h, 00h, 00h, 00h,0FCh,0F8h
31E4:AAE8  00 00 00 7F E8 00                    db       00h, 00h, 00h, 7Fh,0E8h, 00h
31E4:AAEE  00 00 FF EC 00 00                    db       00h, 00h,0FFh,0ECh, 00h, 00h
31E4:AAF4  01 FB D7 F8 00 07                    db       01h,0FBh,0D7h,0F8h, 00h, 07h
31E4:AAFA  E7 7F FF FF FD 3B                    db      0E7h, 7Fh,0FFh,0FFh,0FDh, 3Bh
31E4:AB00  DF FF DB 7E E7 E7                    db      0DFh,0FFh,0DBh, 7Eh,0E7h,0E7h
31E4:AB06  FE FD EE BD A5 59                    db      0FEh,0FDh,0EEh,0BDh,0A5h, 59h
31E4:AB0C  9A A9 26 8D 15 FD                    db       9Ah,0A9h, 26h, 8Dh, 15h,0FDh
31E4:AB12  D6                                   db      0D6h
31E4:AB13                       loc_2348:
31E4:AB13  54                                   push    sp
31E4:AB14  F2 49 2B 3C 53 F5                    db      0F2h, 49h, 2Bh, 3Ch, 53h,0F5h
31E4:AB1A  A9 50 5F DB BB FF                    db      0A9h, 50h, 5Fh,0DBh,0BBh,0FFh
31E4:AB20  63 6F 83 BF F7 BF                    db       63h, 6Fh, 83h,0BFh,0F7h,0BFh
31E4:AB26  74 37 B6 A6 6A 7E                    db       74h, 37h,0B6h,0A6h, 6Ah, 7Eh
31E4:AB2C  9D BB E5 92 BF 5A                    db       9Dh,0BBh,0E5h, 92h,0BFh, 5Ah
31E4:AB32  55 67 74 B0 AF 5F                    db       55h, 67h, 74h,0B0h,0AFh, 5Fh
31E4:AB38  FC A6 D9 53 55 BB                    db      0FCh,0A6h,0D9h, 53h, 55h,0BBh
31E4:AB3E  A2 35 B4 7A AA 00                    db      0A2h, 35h,0B4h, 7Ah,0AAh, 00h
31E4:AB44  05                                   db       05h
31E4:AB45                       loc_2349:
31E4:AB45  3C F2                                cmp     al,0F2h
31E4:AB47  98                                   cbw                             ; Convrt byte to word
31E4:AB48  0F                   ;*              pop     cs                      ; Dangerous-8088 only
31E4:AB48  0F                                   db      0Fh
31E4:AB49  F3 7B EF 5D F0 0E                    db      0F3h, 7Bh,0EFh, 5Dh,0F0h, 0Eh
31E4:AB4F  7C F4 9D 00 03 72                    db       7Ch,0F4h, 9Dh, 00h, 03h, 72h
31E4:AB55  F7 6B 00 01 FF E2                    db      0F7h, 6Bh, 00h, 01h,0FFh,0E2h
31E4:AB5B  5E 00 00 00 BD 34                    db       5Eh, 00h, 00h, 00h,0BDh, 34h
31E4:AB61  00 00 FF C8 C8 00                    db       00h, 00h,0FFh,0C8h,0C8h, 00h
31E4:AB67  01 93 AE F8 00 07                    db       01h, 93h,0AEh,0F8h, 00h, 07h
31E4:AB6D  9B 40 D0 00 00 4B                    db       9Bh, 40h,0D0h, 00h, 00h, 4Bh
31E4:AB73  9E 5E 00 00 29 B2                    db       9Eh, 5Eh, 00h, 00h, 29h,0B2h
31E4:AB79  B1 00 00 AE BA DE                    db      0B1h, 00h, 00h,0AEh,0BAh,0DEh
31E4:AB7F  FF FF 32 0D 26 29                    db      0FFh,0FFh, 32h, 0Dh, 26h, 29h
31E4:AB85  EE 28 65 00 4B D3                    db      0EEh, 28h, 65h, 00h, 4Bh,0D3h
31E4:AB8B  EB A2 5A 9A 20 03                    db      0EBh,0A2h, 5Ah, 9Ah, 20h, 03h
31E4:AB91  EC 16 C8 99 55 19                    db      0ECh, 16h,0C8h, 99h, 55h, 19h
31E4:AB97  A0 C5 A3 B3 0C 57                    db      0A0h,0C5h,0A3h,0B3h, 0Ch, 57h
31E4:AB9D  AE E8 F9 B4 86 6B                    db      0AEh,0E8h,0F9h,0B4h, 86h, 6Bh
31E4:ABA3  A9 93                                db      0A9h, 93h
31E4:ABA5                       loc_2350:
31E4:ABA5  55                                   push    bp
31E4:ABA6  19 4C 72                             sbb     [si+72h],cx
31E4:ABA9  29 6A CC                             sub     [bp+si-34h],bp
31E4:ABAC  4A                                   dec     dx
31E4:ABAD  EA 966B:DBED         ;*              jmp     far ptr loc_2376        ;*(966B:DBED)
31E4:ABAD  EA                                   db      0EAh
31E4:ABAE  DBED 966B                            dw      0DBEDh, 966Bh
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 521

                                                                                ;* No entry point to code
31E4:ABB2  D2 7B D6                             sar     byte ptr [bp+di-2Ah],cl ; Shift w/sign fill
31E4:ABB5  CF                                   iret                            ; Interrupt return
                                                                                ;* No entry point to code
31E4:ABB6  54                                   push    sp
31E4:ABB7  CB                                   retf
                                                                                ;* No entry point to code
31E4:ABB8  9F                                   lahf                            ; Load ah from flags
31E4:ABB9  BA 55A5                              mov     dx,55A5h
31E4:ABBC  FF C9                                dec     cx
31E4:ABBE  5A                                   pop     dx
31E4:ABBF BF FFE7                              mov     di,data_1203e           ; (31E4:FFE7=0)
31E4:ABC2  19 DF                                sbb     di,bx
31E4:ABC4  7F FF FE 4D D4 80                    db       7Fh,0FFh,0FEh, 4Dh,0D4h, 80h
31E4:ABCA  00 01 43 F9 04 00                    db       00h, 01h, 43h,0F9h, 04h, 00h
31E4:ABD0  81 B5 B2 00 00 01                    db       81h,0B5h,0B2h, 00h, 00h, 01h
31E4:ABD6  C9 E4 00 00 00 7A                    db      0C9h,0E4h, 00h, 00h, 00h, 7Ah
31E4:ABDC  C8 00 00 00 36 90                    db      0C8h, 00h, 00h, 00h, 36h, 90h
31E4:ABE2  18 00 30 3F 20 00                    db       18h, 00h, 30h, 3Fh, 20h, 00h
31E4:ABE8  00 00 00 40 00 00                    db       00h, 00h, 00h, 40h, 00h, 00h
31E4:ABEE  00 01 80 00 00 00                    db       00h, 01h, 80h, 00h, 00h, 00h
31E4:ABF4  01 FF FF FF FF FF                    db       01h,0FFh,0FFh,0FFh,0FFh,0FFh
31E4:ABFA  AD E5 3B FD FC F3                    db      0ADh,0E5h, 3Bh,0FDh,0FCh,0F3h
31E4:AC00  B2 A5 3D EB F3 BB                    db      0B2h,0A5h, 3Dh,0EBh,0F3h,0BBh
31E4:AC06  9B BD 67 F7 6A B9                    db       9Bh,0BDh, 67h,0F7h, 6Ah,0B9h
31E4:AC0C  2D 2F D6 C7 3D BD                    db       2Dh, 2Fh,0D6h,0C7h, 3Dh,0BDh
31E4:AC12  95 FA B5 32 8A 48                    db       95h,0FAh,0B5h, 32h, 8Ah, 48h
31E4:AC18  72 A5 55 6C 5B 7F                    db       72h,0A5h, 55h, 6Ch, 5Bh, 7Fh
31E4:AC1E  B8 EC A4 97 DD 72                    db      0B8h,0ECh,0A4h, 97h,0DDh, 72h
31E4:AC24  D6 D5 27 BF 53 6A                    db      0D6h,0D5h, 27h,0BFh, 53h, 6Ah
31E4:AC2A  95 2B F4 EA DD 55                    db       95h, 2Bh,0F4h,0EAh,0DDh, 55h
31E4:AC30  D5 F5 8D D2 ED 7F                    db      0D5h,0F5h, 8Dh,0D2h,0EDh, 7Fh
31E4:AC36  7B FF 6F AE BB 85                    db       7Bh,0FFh, 6Fh,0AEh,0BBh, 85h
31E4:AC3C  FF FE 79 9F EA 00                    db      0FFh,0FEh, 79h, 9Fh,0EAh, 00h
31E4:AC42  01 7A BF 07 FF FF                    db       01h, 7Ah,0BFh, 07h,0FFh,0FFh
31E4:AC48  FF F8 F8 00 00 00                    db      0FFh,0F8h,0F8h, 00h, 00h, 00h
31E4:AC4E  07 00 00 00 00 00                    db       07h, 00h, 00h, 00h, 00h, 00h
31E4:AC54  80 00 00 00 01 80                    db       80h, 00h, 00h, 00h, 01h, 80h
31E4:AC5A  00 00 00 01 FF FF                    db       00h, 00h, 00h, 01h,0FFh,0FFh
31E4:AC60  FF FF FF 00                          db      0FFh,0FFh,0FFh, 00h
31E4:AC64  000E[00]                             db      14 dup (0)
31E4:AC72  D6 E7 66 EF F6 13                    db      0D6h,0E7h, 66h,0EFh,0F6h, 13h
31E4:AC78  6F ED B2 AB B5 37                    db       6Fh,0EDh,0B2h,0ABh,0B5h, 37h
31E4:AC7E  EB 3B 35 DB 46 CF                    db      0EBh, 3Bh, 35h,0DBh, 46h,0CFh
31E4:AC84  2A 56 EB 6B BB 73                    db       2Ah, 56h,0EBh, 6Bh,0BBh, 73h
31E4:AC8A  A5 FD 7B B7 EA E5                    db      0A5h,0FDh, 7Bh,0B7h,0EAh,0E5h
31E4:AC90  93 7F FE FF FD 9F                    db       93h, 7Fh,0FEh,0FFh,0FDh, 9Fh
31E4:AC96  43 BF F8 7F FB 43                    db       43h,0BFh,0F8h, 7Fh,0FBh, 43h
31E4:AC9C  E7 F8 5E AB C3 FF                    db      0E7h,0F8h, 5Eh,0ABh,0C3h,0FFh
31E4:ACA2  78 51 DF C2 E9 F8                    db       78h, 51h,0DFh,0C2h,0E9h,0F8h
31E4:ACA8  5B AB C3 69 E8 50                    db       5Bh,0ABh,0C3h, 69h,0E8h, 50h
31E4:ACAE  D7 C3 5D D8 5D FF                    db      0D7h,0C3h, 5Dh,0D8h, 5Dh,0FFh
31E4:ACB4  C2 AF B8 79 BF C2                    db      0C2h,0AFh,0B8h, 79h,0BFh,0C2h
31E4:ACBA  FB F8 52 8F C3 FF                    db      0FBh,0F8h, 52h, 8Fh,0C3h,0FFh
31E4:ACC0  C0 77 A8 C0 00 00                    db      0C0h, 77h,0A8h,0C0h, 00h, 00h
31E4:ACC6  12 5B 40 00 00 15                    db       12h, 5Bh, 40h, 00h, 00h, 15h
31E4:ACCC  E7 C0 00 00 29 FA                    db      0E7h,0C0h, 00h, 00h, 29h,0FAh
31E4:ACD2  00 00 00 4B FF 80                    db       00h, 00h, 00h, 4Bh,0FFh, 80h
31E4:ACD8  00 00 B4 FF F8 00                    db       00h, 00h,0B4h,0FFh,0F8h, 00h
31E4:ACDE  01 6B DE C6 00 02                    db       01h, 6Bh,0DEh,0C6h, 00h, 02h
31E4:ACE4  C8 EB 39 87 FD BF                    db      0C8h,0EBh, 39h, 87h,0FDh,0BFh
31E4:ACEA  08 C5 69 9B 6E 40                    db       08h,0C5h, 69h, 9Bh, 6Eh, 40h
31E4:ACF0  80 00 00 00 40 68                    db       80h, 00h, 00h, 00h, 40h, 68h
31E4:ACF6  91 22 A0 46 AA E8                    db       91h, 22h,0A0h, 46h,0AAh,0E8h
31E4:ACFC  8A 4B AD 34 A5 93                    db       8Ah, 4Bh,0ADh, 34h,0A5h, 93h
31E4:AD02  6A 2F D7 AD 3A AA                    db       6Ah, 2Fh,0D7h,0ADh, 3Ah,0AAh
31E4:AD08  FF FF FF FF FF 00                    db      0FFh,0FFh,0FFh,0FFh,0FFh, 00h
31E4:AD0E  00 00 00 00 FC 00                    db       00h, 00h, 00h, 00h,0FCh, 00h
31E4:AD14  00 00 00 03 FF FF                    db       00h, 00h, 00h, 03h,0FFh,0FFh
31E4:AD1A  FF FF 98 00 06 52                    db      0FFh,0FFh, 98h, 00h, 06h, 52h
31E4:AD20  9B A8 AB A9 92 95                    db       9Bh,0A8h,0ABh,0A9h, 92h, 95h
31E4:AD26  A4                                   db      0A4h
31E4:AD27                       loc_2351:                                       ;  xref 31E4:AD38
31E4:AD27  A6                                   cmpsb                           ; Cmp [si] to es:[di]
31E4:AD28  35 4D55                              xor     ax,4D55h
31E4:AD2B  AA                                   stosb                           ; Store al to es:[di]
31E4:AD2C  A4                                   movsb                           ; Mov [si] to es:[di]
31E4:AD2D  A9 6962                              test    ax,6962h
31E4:AD30  E6 A9                                out     0A9h,al                 ; port 0A9h ??I/O Non-standard
31E4:AD32  4E                                   dec     si
31E4:AD33  59                                   pop     cx
31E4:AD34  2B EB                                sub     bp,bx
31E4:AD36  55                                   push    bp
31E4:AD37  9F                                   lahf                            ; Load ah from flags
31E4:AD38  7F ED                                jg      loc_2351                ; Jump if >
31E4:AD3A  9A FFFF:FF7F         ;*              call    far ptr sub_283         ;*(FFFF:FF7F)
31E4:AD3A  9A                                   db      9Ah
31E4:AD3B  FF7F FFFF                            dw      0FF7Fh, 0FFFFh
31E4:AD3F  A6                                   cmpsb                           ; Cmp [si] to es:[di]
31E4:AD40  80 87 0080 DD                        add     byte ptr data_519+59h[bx],0DDh ; (31E4:0080='   This ')
31E4:AD45  07                                   pop     es
31E4:AD46  06                                   push    es
31E4:AD47  00 00                                add     [bx+si],al
31E4:AD49  EF                                   out     dx,ax                   ; port 0, DMA-1 bas&add ch 0
31E4:AD4A  F8                                   clc                             ; Clear carry flag
31E4:AD4B  00 00                                add     [bx+si],al
31E4:AD4D  00 FC                                add     ah,bh
31E4:AD4F  00 60 02                             add     [bx+si+2],ah
31E4:AD52  00 00 00 00 00 3F                    db       00h, 00h, 00h, 00h, 00h, 3Fh
31E4:AD58  C0 00 00 03 FF 40                    db      0C0h, 00h, 00h, 03h,0FFh, 40h
31E4:AD5E  00 00 00                             db       00h, 00h, 00h
31E4:AD61  3F                                   db      3Fh
31E4:AD62  0007[FF]                             db      7 dup (0FFh)
31E4:AD69  0F FF FF FF FF 0F                    db       0Fh,0FFh,0FFh,0FFh,0FFh, 0Fh
31E4:AD6F  FF FF FF FF 0F FF                    db      0FFh,0FFh,0FFh,0FFh, 0Fh,0FFh
31E4:AD75  FF FF FF 0F FF FF                    db      0FFh,0FFh,0FFh, 0Fh,0FFh,0FFh
31E4:AD7B  FF FF 0F FF FF FF                    db      0FFh,0FFh, 0Fh,0FFh,0FFh,0FFh
31E4:AD81  FF 0F F0 00 00 00                    db      0FFh, 0Fh,0F0h, 00h, 00h, 00h
31E4:AD87  00 08 00 00 00 00                    db       00h, 08h, 00h, 00h, 00h, 00h
31E4:AD8D  08 00 FF FF FF F0                    db       08h, 00h,0FFh,0FFh,0FFh,0F0h
31E4:AD93  00 FF FF FF F0 00                    db       00h,0FFh,0FFh,0FFh,0F0h, 00h
31E4:AD99  FF FF FF F0 00 FF                    db      0FFh,0FFh,0FFh,0F0h, 00h,0FFh
31E4:AD9F  FF FF F0 00 FF FF                    db      0FFh,0FFh,0F0h, 00h,0FFh,0FFh
31E4:ADA5  FF F0 00 FF FF FF                    db      0FFh,0F0h, 00h,0FFh,0FFh,0FFh
31E4:ADAB  F0 00 FF FF FF F0                    db      0F0h, 00h,0FFh,0FFh,0FFh,0F0h
31E4:ADB1  00 FF FF FF F0 00                    db       00h,0FFh,0FFh,0FFh,0F0h, 00h
31E4:ADB7  00 00 1F F0 00 00                    db       00h, 00h, 1Fh,0F0h, 00h, 00h
31E4:ADBD  00 1F F0 00 30 06                    db       00h, 1Fh,0F0h, 00h, 30h, 06h
31E4:ADC3  00 08 00 00 00 00                    db       00h, 08h, 00h, 00h, 00h, 00h
31E4:ADC9  07 FF 20 02 00 00                    db       07h,0FFh, 20h, 02h, 00h, 00h
31E4:ADCF  00 FF FC 00 00 3F                    db       00h,0FFh,0FCh, 00h, 00h, 3Fh
31E4:ADD5  FF FE 08 00 1F                       db      0FFh,0FEh, 08h, 00h, 1Fh
31E4:ADDA  004E[00]                             db      78 dup (0)
31E4:AE28  0F FF 00 00 00 0F                    db       0Fh,0FFh, 00h, 00h, 00h, 0Fh
31E4:AE2E  FF 00 00 00 0F FF                    db      0FFh, 00h, 00h, 00h, 0Fh,0FFh
31E4:AE34  00 00 00 0F FF 00                    db       00h, 00h, 00h, 0Fh,0FFh, 00h
31E4:AE3A  00 00 0F FF 00 00                    db       00h, 00h, 0Fh,0FFh, 00h, 00h
31E4:AE40  00 0F FF 00 00 00                    db       00h, 0Fh,0FFh, 00h, 00h, 00h
31E4:AE46  0F C0 00 00 00 0F                    db       0Fh,0C0h, 00h, 00h, 00h, 0Fh
31E4:AE4C  C0 00 00 00 0F FF                    db      0C0h, 00h, 00h, 00h, 0Fh,0FFh
31E4:AE52  00                                   db       00h
31E4:AE53  0028[00]                             db      40 dup (0)
31E4:AE7B  20 04 00 00 01 11                    db       20h, 04h, 00h, 00h, 01h, 11h
31E4:AE81  00 81 00 8A 08 13                    db       00h, 81h, 00h, 8Ah, 08h, 13h
31E4:AE87  64 A3 28 47 19 52                    db       64h,0A3h, 28h, 47h, 19h, 52h
31E4:AE8D  2B 96 A8 78 48 85                    db       2Bh, 96h,0A8h, 78h, 48h, 85h
31E4:AE93  06 B5 0A D6 A1 00                    db       06h,0B5h, 0Ah,0D6h,0A1h, 00h
31E4:AE99  7F FF E5 16 FF 80                    db       7Fh,0FFh,0E5h, 16h,0FFh, 80h
31E4:AE9F  00 1F 00 00 00 07                    db       00h, 1Fh, 00h, 00h, 00h, 07h
31E4:AEA5  FC 90 FE 00 06 02                    db      0FCh, 90h,0FEh, 00h, 06h, 02h
31E4:AEAB  6A 02 00 07 01 62                    db       6Ah, 02h, 00h, 07h, 01h, 62h
31E4:AEB1  07 80 07 0F CC 09                    db       07h, 80h, 07h, 0Fh,0CCh, 09h
31E4:AEB7  00 3F F0 24 12 00                    db       00h, 3Fh,0F0h, 24h, 12h, 00h
31E4:AEBD  00 00 10 3E 00 00                    db       00h, 00h, 10h, 3Eh, 00h, 00h
31E4:AEC3  00 08 1F FF FF FF                    db       00h, 08h, 1Fh,0FFh,0FFh,0FFh
31E4:AEC9  F8                                   db      0F8h
31E4:AECA  0038[00]                             db      56 dup (0)
31E4:AF02  01 54 00 03 65 A6                    db       01h, 54h, 00h, 03h, 65h,0A6h
31E4:AF08  00 90 BC 34 AA 2A                    db       00h, 90h,0BCh, 34h,0AAh, 2Ah
31E4:AF0E  5A 9B AA 94 91 52                    db       5Ah, 9Bh,0AAh, 94h, 91h, 52h
31E4:AF14  85 94 A9 9C A2 66                    db       85h, 94h,0A9h, 9Ch,0A2h, 66h
31E4:AF1A  F5 67 21 48 A6 E6                    db      0F5h, 67h, 21h, 48h,0A6h,0E6h
31E4:AF20  D4 A9 72 EF DB A6                    db      0D4h,0A9h, 72h,0EFh,0DBh,0A6h
31E4:AF26  59 17 37 57 DA F7                    db       59h, 17h, 37h, 57h,0DAh,0F7h
31E4:AF2C  FB 7F FF FF FF FF                    db      0FBh, 7Fh,0FFh,0FFh,0FFh,0FFh
31E4:AF32  FF 00                                db      0FFh, 00h
31E4:AF34  0009[00]                             db      9 dup (0)
31E4:AF3D  FF FF FF FF FF                       db      0FFh,0FFh,0FFh,0FFh,0FFh

31E4:AF42  0168[00]       talk_string_buffer    db      360 dup (0)
31E4:B0AA  0000                game_time_ctr    dw      0
31E4:B0AC  0000              game_time_ctr_2    dw      0

31E4:B0AE  00A0[00]     character_pause_list    db      160 dup (0)

; Animation table - this contains the list of active hotspots

31E4:B14E  0011[00]         animation_table     db      17 dup (0)
31E4:B15F  0000             slot0_tick_proc     dw      0                       ; Tick handler
31E4:B161  0011[00]                             db      17 dup (0)
31E4:B172  0000                 data_1116       dw      0                       ; Offset 24h in slot
                                                dw      0
31E4:B176  00              slot0_col_offset     db      0
31E4:B177  070C[00]                             db      1804 dup (0)            ; Remaining slots


31E4:B883  00           animation_block_list    db      0  
31E4:B884  0027[00]                             db      39 dup (0)

31E4:B8AB  0000                seq_timer_ctr    dw      0                       ;  xref 273F:485A, 273F:495D
31E4:B8AD  0000              seq_timer_ctr_2    dw      0                       ;  xref 273F:485E, 273F:4962

31E4:B8AF  0118[00]     sequence_delay_table    db      280 dup (0)

31E4:B9C7  0032[00]                data_1121    db      50 dup (0)              ;  xref 273F:A066, 273F:A0BD

31E4:B9F9  0000              talk_speech_ptr    dw      0
31E4:B9FB  0000                    data_b9fb    dw      0
31E4:B9FD  0000                    data_1122    dw      0
31E4:B9FF  0000          talk_buffer_segment    dw      0
31E4:BA01  0000           talk_buffer_offset    dw      0
31E4:BA03  0000         talk_buffer_offset_2    dw      0
31E4:BA05  00                                   db      0
31E4:BA06  00                      data_ba06    db      0
31E4:BA07  0000           talk_string_offset    dw      0
31E4:BA09  000C[00]                             db      12 dup (0)

; All variables below are placed together to be accessible from the sequence
; executor GET_FIELD and SET_FIELD opcodes

31E4:BA15  0000               room_number_2     dw      0
31E4:BA17  0000           character_hotspot     dw      0
31E4:BA19  0000              use_hotspot_id     dw      0
31E4:BA1B  0000           active_hotspot_id     dw      0
31E4:BA1D  0000             sequence_result     dw      0
31E4:BA1F  0000                 general_val     dw      0
31E4:BA21  0000                   script_v6     dw      0
31E4:BA23  0000             new_room_number     dw      0   
31E4:BA25  0000             old_room_number     dw      0
31E4:BA27  0000             cell_door_state     dw      0
31E4:BA29  0000                  torch_hide     dw      0                       ; #10
31E4:BA2B  0000                  script_v11     dw      0
31E4:BA2D  0000                                 dw      0
31E4:BA2F  0000                                 dw      0
31E4:BA31  0000                                 dw      0
31E4:BA33  0000               prisoner_dead     dw      0
31E4:BA35  0000                                 dw      0
31E4:BA37  0000                                 dw      0
31E4:BA39  0000               bottle_filled     dw      0
31E4:BA3B  0000           talk_record_index     dw      0                       ;  xref 273F:2035, 273F:5C96
31E4:BA3D  0000                    sack_cut     dw      0                       ; #20
31E4:BA3F  0000                                 dw      0
31E4:BA41  0000                                 dw      0
31E4:BA43  0000                                 dw      0
31E4:BA45  0000                                 dw      0
31E4:BA47  0000                                 dw      0
31E4:BA49  0000                                 dw      0
31E4:BA4B  0000                                 dw      0
31E4:BA4D  0000                                 dw      0
31E4:BA4F  0000               script_val_29     dw      0
31E4:BA51  0000                                 dw      0                       ; #30
31E4:BA53  0000                                 dw      0
31E4:BA55  0000                                 dw      0
31E4:BA57  0000                                 dw      0
31E4:BA59  0000                                 dw      0
31E4:BA5B  0000                                 dw      0
31E4:BA5D  0000                                 dw      0
31E4:BA5F  0000               script_val_37     dw      0
31E4:BA61  0000                                 dw      0
31E4:BA63  0000                                 dw      0
31E4:BA65  0000                                 dw      0                       ; #40
31E4:BA67  0000                                 dw      0
31E4:BA69  0000                                 dw      0
31E4:BA6B  0000                                 dw      0
31E4:BA6D  0000                                 dw      0
31E4:BA6F  0000                                 dw      0
31E4:BA71  0000                                 dw      0
31E4:BA73  0000                                 dw      0
31E4:BA75  0000                                 dw      0                       ; #50
31E4:BA77  0000                                 dw      0
31E4:BA79  0000                                 dw      0
31E4:BA7B  0000                                 dw      0
31E4:BA7D  0000                                 dw      0
31E4:BA7F  0000                                 dw      0
31E4:BA81  0000                                 dw      0
31E4:BA83  0000                                 dw      0
31E4:BA85  0000                                 dw      0                       ; #60
31E4:BA87  0000                                 dw      0
31E4:BA89  0000                                 dw      0
31E4:BA8B  0000                                 dw      0
31E4:BA8D  0000                                 dw      0
31E4:BA8F  0000                                 dw      0
31E4:BA91  0000                                 dw      0
31E4:BA93  0000                                 dw      0
31E4:BA95  0000                                 dw      0                       ; #70
31E4:BA97  0000                                 dw      0
31E4:BA99  0000                                 dw      0
31E4:BA9B  0000               script_val_73     db      0
31E4:BA9D  0000                                 dw      0
31E4:BA9F  0000                                 dw      0
31E4:BAA1  0000                                 dw      0
31E4:BAA3  0000                                 dw      0
31E4:BAA5  0000                                 dw      0
31E4:BAA7  0000                                 dw      0
31E4:BAA9  0000               script_val_80     dw      0                       ; #80
31E4:BAAB  0000                                 dw      0
31E4:BAAD  0000    room_exit_animation_flag     dw      0
31E4:BAAF  0000                                 dw      0
31E4:BAB1  0000                                 dw      0
31E4:BAB3  0000                                 dw      0
31E4:BAB5  0000                                 dw      0
31E4:BAB7  0000               script_val_87     dw      0
31E4:BAB9  0000               script_val_88     dw      0
31E4:BABB  0000                                 dw      0
31E4:BABD  0000                                 dw      0

31E4:BABF  0CC6          sequence_method_list   dw      offset animation_load_entry
                                                dw      offset sequence_set_hotspot_script
                                                dw      offset sub_247
                                                dw      offset seq_method_3
                                                dw      offset sequence_delay_list_init
                                                dw      offset seq_deactivate_hotspot_set
                                                dw      offset seq_deactivate_hotspot
                                                dw      offset seq_pathfind_reset
31E4:BACF                                       dw      offset add_sequence_delay
                                                dw      offset sub_252
                                                dw      offset seq_character_in_room ; #10
                                                dw      offset seq_set_desc
                                                dw      offset seq_set_hotspot_name
                                                dw      offset play_sound
                                                dw      offset seq_endgame_sequence
                                                dw      offset sub_238
31E4:BADF                                       dw      offset display_dialog
                                                dw      offset seq_method_17
                                                dw      offset seq_room_remote_view_setup
                                                dw      offset start_talk_noone
                                                dw      offset seq_check_cell_door_2 ; #20
                                                dw      offset play_music
                                                dw      offset seq_get_door_blocked
                                                dw      offset seq_is_skorl_in_cell
31E4:BAEF                                       dw      8022h
                                                dw      offset sub_92
                                                dw      7eeeh
                                                dw      offset seq_set_blocking_hotspot_script
                                                dw      offset seq_decrease_inventory_items
                                                dw      offset talk_setup
                                                dw      offset seq_set_action_ctr ; #30
                                                dw      offset seq_converse
31E4:BAFF                                       dw      offset seq_disable_hotspot
                                                dw      offset seq_cut_sack
                                                dw      offset seq_increase_groats
                                                dw      offset seq_enable_hotspot
                                                dw      offset display_message_dialog_4
                                                dw      offset seq_method_37
                                                dw      offset seq_transform_player
                                                dw      offset seq_room_14_door_close
31E4:BB0F                                       dw      offset seq_check_dropped_desc ; #40
                                                dw      8782h
                                                dw      offset seq_door_close
                                                dw      offset seq_method_43
                                                dw      offset seq_door_open
                                                dw      offset seq_method_45
                                                dw      2035h
                                                dw      offset display_message_dialog
31E4:BB1F                                       dw      offset seq_set_new_dispatch_action
                                                dw      offset seq_set_support_offset
                                                dw      offset seq_add_item_to_inventory ; #50
                                                dw      offset seq_decrase_groats
                                                dw      8630h
                                                dw      offset seq_method_53
                                                dw      offset set_village_skorl_tick_proc
                                                dw      offset seq_method_55
31E4:BB2F                                       dw      offset seq_method_56
                                                dw      offset get_num_groats
                                                dw      offset seq_method_58
                                                dw      offset seq_method_59
                                                dw      offset seq_method_60    ; #60
                                                dw      offset seq_kill_player
                                                dw      offset animation_load
                                                dw      offset seq_add_actions
31E4:BB3F                                       dw      offset seq_random_to_general
31E4:BB41                                       dw      offset seq_check_cell_door
                                                dw      offset seq_method_66

31E4:BB45  0000          current_action_num     dw       0
31E4:BB47  0012[00]                             db      18 dup (0)
31E4:BB59  20 04 A0 4F B4 4F                    db       20h, 04h,0A0h, 4Fh,0B4h, 4Fh
31E4:BB5F  0D 00 00                             db       0Dh, 00h, 00h
31E4:BB62  0011[00]                             db      17 dup (0)
31E4:BB73  29 04 C2 4F D0 4F                    db       29h, 04h,0C2h, 4Fh,0D0h, 4Fh
31E4:BB79  0E                                   db       0Eh
31E4:BB7A  0013[00]                             db      19 dup (0)
31E4:BB8D  36 04 DD 4F DD 4F                    db       36h, 04h,0DDh, 4Fh,0DDh, 4Fh
31E4:BB93  10 00                                db       10h, 00h

; Following is a support data offset set indexed both by the script index list,
; as well as directly by the program code

31E4:BB95  06 00 00 00   support_data_rec_bb95  db       06h, 00h, 00h, 00h
31E4:BB99  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
31E4:BB9F  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
31E4:BBA5  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
31E4:BBAB  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
31E4:BBB1  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
31E4:BBB7  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
31E4:BBBD  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
31E4:BBC3  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
31E4:BBC9  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
31E4:BBCF  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
31E4:BBD5  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
31E4:BBDB  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
31E4:BBE1  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
31E4:BBE7  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
31E4:BBED  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
31E4:BBF3  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
31E4:BBF9  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
31E4:BBFF  00                                   db       00h
31E4:BC00  00                   data_1143       db      0
31E4:BC01  06 00 00 00 00 00                    db       06h, 00h, 00h, 00h, 00h, 00h
31E4:BC07  06 00 00 00 00 00                    db       06h, 00h, 00h, 00h, 00h, 00h
31E4:BC0D  06 00 00 00 00 00                    db       06h, 00h, 00h, 00h, 00h, 00h
31E4:BC13  06 00 00 00 00 00                    db       06h, 00h, 00h, 00h, 00h, 00h
31E4:BC19  06 00 00 00 00 00                    db       06h, 00h, 00h, 00h, 00h, 00h
31E4:BC1F  06 00 00 00 00 00                    db       06h, 00h, 00h, 00h, 00h, 00h
31E4:BC25  06 00 00 00 00 00                    db       06h, 00h, 00h, 00h, 00h, 00h
31E4:BC2B  06 00 00 00 00 00                    db       06h, 00h, 00h, 00h, 00h, 00h
31E4:BC31  06 00 00 00 00 00                    db       06h, 00h, 00h, 00h, 00h, 00h
31E4:BC37  06 00 00 00 00 00                    db       06h, 00h, 00h, 00h, 00h, 00h
31E4:BC3D  06 00 00 00 00 00                    db       06h, 00h, 00h, 00h, 00h, 00h
31E4:BC43  06 00 00 00 00 00                    db       06h, 00h, 00h, 00h, 00h, 00h
31E4:BC49  00 00                 num_groats     dw       0

                        hotspot_walkto_list
31E4:BC4B  0418 0143 8123                       dw       418h, 143h, 8123h
31E4:BC51  2721 0144 80FB
31E4:BC57  2722 0095 8105
31E4:BC5D  271F 00AC 80EB
31E4:BC63  2720 00AE 813A
31E4:BC69  271E 00ED 810C
31E4:BC6F  753C 016D 010E
31E4:BC75  0421 0112 0112
31E4:BC7B  0422 00F0 010A
31E4:BC81  753B 012A 811B
31E4:BC87  041F 00E6 0131
31E4:BC8D  2716 009C 813A
31E4:BC93  2711 00E5 0125
31E4:BC99  2712 00E4 00FA
...more...

31E4:BC9E  5E 75                             add     [bp+75h],bl
31E4:BCA1  59                                   pop     cx
31E4:BCA2  01 31                                add     [bx+di],si
31E4:BCA4                       loc_2354:                                       ;  xref 31E4:BCE8
31E4:BCA4  01 0F                                add     [bx],cx
31E4:BCA6  04 42                                add     al,42h                  ; 'B'
31E4:BCA8  01 25                                add     [di],sp
31E4:BCAA  01 10                                add     [bx+si],dx
31E4:BCAC  04 EF                                add     al,0EFh
31E4:BCAE  00 1C                                add     [si],bl
31E4:BCB0  81 35 EF75                           xor     word ptr [di],0EF75h
31E4:BCB4  00 1A                                add     [bp+si],bl
31E4:BCB6  01 14                                add     [si],dx
31E4:BCB8  27                                   daa                             ; Decimal adjust
31E4:BCB9  82 01 04                             add     byte ptr [bx+di],4
31E4:BCBC  01 1B                                add     [bp+di],bx
31E4:BCBE  04 1A                                add     al,1Ah
31E4:BCC0  01 1A                                add     [bp+si],bx
31E4:BCC2  01 4A 75                             add     [bp+si+75h],cx
31E4:BCC5  35 FC01                              xor     ax,0FC01h
31E4:BCC8  00 4C 75                             add     [si+75h],cl
31E4:BCCB  D4 00                ;*              aam     0                       ; undocumented inst
31E4:BCCB  D4 00                                db      0D4h, 00h
31E4:BCCD  03 81 03E6                           add     ax,data_541[bx+di]      ; (31E4:03E6=0)
31E4:BCD1  FC                                   cld                             ; Clear direction
31E4:BCD2  00 29                                add     [bx+di],ch
31E4:BCD4  01 E7                                add     di,sp
31E4:BCD6  03 CE                                add     cx,si
31E4:BCD8  00 22                                add     [bp+si],ah
31E4:BCDA  01 30                                add     [bx+si],si
31E4:BCDC  75 E1                ;*              jnz     loc_2356                ;*Jump if not zero
31E4:BCDC  75 E1                                db       75h,0E1h
31E4:BCDE  00 12                                add     [bp+si],dl
31E4:BCE0  01 31                                add     [bx+di],si
31E4:BCE2  75 BA                                jnz     loc_2353                ; Jump if not zero
31E4:BCE4  00 1B                                add     [bp+di],bl
31E4:BCE6  01 32                                add     [bp+si],si
31E4:BCE8  75 BA                                jnz     loc_2354                ; Jump if not zero
31E4:BCEA  00 1B                                add     [bp+di],bl
31E4:BCEC  01 0D                                add     [di],cx
31E4:BCEE  04 67                                add     al,67h                  ; 'g'
31E4:BCF0  01 14                                add     [si],dx
31E4:BCF2  01 33                                add     [bp+di],si
31E4:BCF4  75 12                                jnz     loc_2357                ; Jump if not zero
31E4:BCF6  01 11                                add     [bx+di],dx
31E4:BCF8  01 34                                add     [si],si
31E4:BCFA  75 1E                                jnz     loc_2358                ; Jump if not zero
31E4:BCFC  01 14                                add     [si],dx
31E4:BCFE  01 36 7775                           add     data_936,si             ; (31E4:7775=0Bh)
31E4:BD02  01 1D                                add     [di],bx
31E4:BD04  01 37                                add     [bx],si
31E4:BD06  75 A9                ;*              jnz     loc_2355                ;*Jump if not zero
31E4:BD06  75 A9                                db       75h,0A9h
31E4:BD08                       loc_2357:                                       ;  xref 31E4:BCF4
31E4:BD08  00 1C                                add     [si],bl
31E4:BD0A  01 38                                add     [bx+si],di
31E4:BD0C  75 43                ;*              jnz     loc_2359                ;*Jump if not zero
31E4:BD0C  75 43                                db       75h, 43h
31E4:BD0E  01 2B                                add     [bp+di],bp
31E4:BD10  01 39                                add     [bx+di],di
31E4:BD12  75 31                                jnz     $+33h                   ; Jump if not zero
31E4:BD14  01 1B                                add     [bp+di],bx
31E4:BD16  01 3A                                add     [bp+si],di
31E4:BD18  75 7B                ;*              jnz     loc_2361                ;*Jump if not zero
31E4:BD18  75 7B                                db       75h, 7Bh
31E4:BD1A                       loc_2358:                                       ;  xref 31E4:BCFA
31E4:BD1A  01 25                                add     [di],sp
31E4:BD1C  01 18                                add     [bx+si],bx
31E4:BD1E  27                                   daa                             ; Decimal adjust
31E4:BD1F  C4 00                                les     ax,dword ptr [bx+si]    ; Load seg:offset ptr
31E4:BD21  23 81 2717                           and     ax,data_756[bx+di]      ; (31E4:2717=0)
31E4:BD25  72 01                                jc      $+3                     ; Jump if carry Set
31E4:BD27  0E                                   push    cs
31E4:BD28  01 1A                                add     [bp+si],bx
31E4:BD2A  27                                   daa                             ; Decimal adjust
31E4:BD2B  64 01 2E 81 24 04                    db       64h, 01h, 2Eh, 81h, 24h, 04h
31E4:BD31  0D 01 1C 01 3D 75                    db       0Dh, 01h, 1Ch, 01h, 3Dh, 75h
31E4:BD37  2E 01 1C 01 5F 75                    db       2Eh, 01h, 1Ch, 01h, 5Fh, 75h
31E4:BD3D  1E 01 1C 01 3E 75                    db       1Eh, 01h, 1Ch, 01h, 3Eh, 75h
31E4:BD43  55 01 15 01 3F 75                    db       55h, 01h, 15h, 01h, 3Fh, 75h
31E4:BD49  8F 01 15 01 40 75                    db       8Fh, 01h, 15h, 01h, 40h, 75h
31E4:BD4F  CC 00                                db      0CCh, 00h
31E4:BD51                       loc_2359:                                       ;  xref 31E4:BD0C
31E4:BD51  19 01                                sbb     [bx+di],ax
31E4:BD53  41                                   inc     cx
31E4:BD54                       loc_2360:                                       ;  xref 31E4:BD7E
31E4:BD54  75 63                                jnz     $+65h                   ; Jump if not zero
31E4:BD56  01 1E 4201                           add     word ptr ds:[4201h],bx  ; (31E4:4201=0)
31E4:BD5A  75 83                                jnz     $-7Bh                   ; Jump if not zero
31E4:BD5C  01 FC                                add     sp,di
31E4:BD5E  00 43 75                             add     [bp+di+75h],al
31E4:BD61  12 01                                adc     al,[bx+di]
31E4:BD63  38 01                                cmp     [bx+di],al
31E4:BD65  44                                   inc     sp
31E4:BD66  75 4D                                jnz     $+4Fh                   ; Jump if not zero
31E4:BD68  01 1E 4501                           add     word ptr ds:[4501h],bx  ; (31E4:4501=0)
31E4:BD6C  75 FB                                jnz     $-3                     ; Jump if not zero
31E4:BD6E  00 14                                add     [si],dl

                                ;��������������������������������������������������������������������������
                                ;                              SUBROUTINE
                                ;��������������������������������������������������������������������������

31E4:BD70                       sub_276         proc    near
31E4:BD70  01 46 75                             add     [bp+75h],ax
31E4:BD73  31 01                                xor     [bx+di],ax
31E4:BD75  13 01                                adc     ax,[bx+di]
31E4:BD77  17                                   pop     ss
31E4:BD78  04 18                                add     al,18h
31E4:BD7A  01 06 4701                           add     ds:data_45e,ax          ; (0000:4701=800Fh)
31E4:BD7E  75 D4                                jnz     loc_2360                ; Jump if not zero
31E4:BD80  00 F3                                add     bl,dh
31E4:BD82  00 48 75                             add     [bx+si+75h],cl
31E4:BD85  AC                                   lodsb                           ; String [si] to al
31E4:BD86  00 13                                add     [bp+di],dl
31E4:BD88  01 2A                                add     [bp+si],bp
31E4:BD8A  04 72                                add     al,72h                  ; 'r'
31E4:BD8C  01 06 2B01                           add     ds:data_38e,ax          ; (0000:2B01=663Eh)
31E4:BD90  04 D4                                add     al,0D4h
31E4:BD92  00 1C                                add     [si],bl
31E4:BD94  81 49 75 00C8                        or      word ptr [bx+di+75h],0C8h
31E4:BD99  2B 01                                sub     ax,[bx+di]
31E4:BD9B  FF FF 33 01 0A 01                    db      0FFh,0FFh, 33h, 01h, 0Ah, 01h
31E4:BDA1  2C 04 40 01 22 01                    db       2Ch, 04h, 40h, 01h, 22h, 01h
31E4:BDA7  2D 04 C6 00 29 01                    db       2Dh, 04h,0C6h, 00h, 29h, 01h
31E4:BDAD  4B 75 1C 01 20 01                    db       4Bh, 75h, 1Ch, 01h, 20h, 01h
31E4:BDB3  25 27 01 01 15 81                    db       25h, 27h, 01h, 01h, 15h, 81h
31E4:BDB9  26 27 C5 00 1C 81                    db       26h, 27h,0C5h, 00h, 1Ch, 81h
31E4:BDBF  29 27 42 01 36 81                    db       29h, 27h, 42h, 01h, 36h, 81h
31E4:BDC5  2A 27 BF 00 0C 81                    db       2Ah, 27h,0BFh, 00h, 0Ch, 81h
31E4:BDCB  2B 27 67 01 0C 81                    db       2Bh, 27h, 67h, 01h, 0Ch, 81h
31E4:BDD1  2C 27 BF 00 0C 81                    db       2Ch, 27h,0BFh, 00h, 0Ch, 81h
31E4:BDD7  2D 27 67 01 0C 81                    db       2Dh, 27h, 67h, 01h, 0Ch, 81h
31E4:BDDD  2E 27 BF 00 0C 81                    db       2Eh, 27h,0BFh, 00h, 0Ch, 81h
31E4:BDE3  1C 27 2C 01 34 01                    db       1Ch, 27h, 2Ch, 01h, 34h, 01h
31E4:BDE9  2F 27 67 01 0C 81                    db       2Fh, 27h, 67h, 01h, 0Ch, 81h
31E4:BDEF  2E 04 49 01 F1 00                    db       2Eh, 04h, 49h, 01h,0F1h, 00h
31E4:BDF5  2F 04 E3 00 F1 00                    db       2Fh, 04h,0E3h, 00h,0F1h, 00h
31E4:BDFB  30 04 3A 01 F1 00                    db       30h, 04h, 3Ah, 01h,0F1h, 00h
31E4:BE01  31 04 E3 00 F1 00                    db       31h, 04h,0E3h, 00h,0F1h, 00h
31E4:BE07  32 04 49 01 F1 00                    db       32h, 04h, 49h, 01h,0F1h, 00h
31E4:BE0D  33 04 E3 00 F1 00                    db       33h, 04h,0E3h, 00h,0F1h, 00h
31E4:BE13  34 04 0E 01 16 01                    db       34h, 04h, 0Eh, 01h, 16h, 01h
31E4:BE19  37 04 7A 01 30 01                    db       37h, 04h, 7Ah, 01h, 30h, 01h
31E4:BE1F  4D 75 99 00 30 01                    db       4Dh, 75h, 99h, 00h, 30h, 01h
31E4:BE25  4E 75 99 00 30 01                    db       4Eh, 75h, 99h, 00h, 30h, 01h
31E4:BE2B  4F 75 A9 00 28 01                    db       4Fh, 75h,0A9h, 00h, 28h, 01h
31E4:BE31  50 75 A9 00 28 01                    db       50h, 75h,0A9h, 00h, 28h, 01h
31E4:BE37  51 75 C4 00 11 01                    db       51h, 75h,0C4h, 00h, 11h, 01h
31E4:BE3D  52 75 C4 00 11 01                    db       52h, 75h,0C4h, 00h, 11h, 01h
31E4:BE43  53 75 C4 00 11 01                    db       53h, 75h,0C4h, 00h, 11h, 01h
31E4:BE49  54 75 55 01 0C 01                    db       54h, 75h, 55h, 01h, 0Ch, 01h
31E4:BE4F  55 75 55 01 0C 01                    db       55h, 75h, 55h, 01h, 0Ch, 01h
31E4:BE55  56 75 55 01 0C 01                    db       56h, 75h, 55h, 01h, 0Ch, 01h
31E4:BE5B  38 04 AE 00 28 01                    db       38h, 04h,0AEh, 00h, 28h, 01h
31E4:BE61  3A 04 22 01 02 01                    db       3Ah, 04h, 22h, 01h, 02h, 01h
31E4:BE67  3D 04 0D 01 20 81                    db       3Dh, 04h, 0Dh, 01h, 20h, 81h
31E4:BE6D  12 04 AD 00 0D 81                    db       12h, 04h,0ADh, 00h, 0Dh, 81h
31E4:BE73  0C 04 AD 00 0D 81                    db       0Ch, 04h,0ADh, 00h, 0Dh, 81h
31E4:BE79  32 27 A9 00 19 01                    db       32h, 27h,0A9h, 00h, 19h, 01h
31E4:BE7F  58 75 8C 00 1F 01                    db       58h, 75h, 8Ch, 00h, 1Fh, 01h
31E4:BE85  59 75 DF 00 14 01                    db       59h, 75h,0DFh, 00h, 14h, 01h
31E4:BE8B  5A 75 BA 00 26 01                    db       5Ah, 75h,0BAh, 00h, 26h, 01h
31E4:BE91  5B 75 64 01 2A 01                    db       5Bh, 75h, 64h, 01h, 2Ah, 01h
31E4:BE97  5C 75 6B 01 FC 00                    db       5Ch, 75h, 6Bh, 01h,0FCh, 00h
31E4:BE9D  5D 75 6B 01 FC 00                    db       5Dh, 75h, 6Bh, 01h,0FCh, 00h
31E4:BEA3  42 04 59 01 32 01                    db       42h, 04h, 59h, 01h, 32h, 01h
31E4:BEA9  60 75 17 01 0A 01                    db       60h, 75h, 17h, 01h, 0Ah, 01h
31E4:BEAF  61 75 C5 00 1A 01                    db       61h, 75h,0C5h, 00h, 1Ah, 01h
31E4:BEB5  62 75 3F 01 19 01                    db       62h, 75h, 3Fh, 01h, 19h, 01h
31E4:BEBB  63 75 29 01 15 01                    db       63h, 75h, 29h, 01h, 15h, 01h
31E4:BEC1  64 75 29 01 15 01                    db       64h, 75h, 29h, 01h, 15h, 01h
31E4:BEC7  65 75 C5 00 1A 01                    db       65h, 75h,0C5h, 00h, 1Ah, 01h
31E4:BECD  66 75 E1 00 0B 01                    db       66h, 75h,0E1h, 00h, 0Bh, 01h
31E4:BED3  35 27 E1 00 0B 01                    db       35h, 27h,0E1h, 00h, 0Bh, 01h
31E4:BED9  36 27 0A 01 0C 01                    db       36h, 27h, 0Ah, 01h, 0Ch, 01h
31E4:BEDF  67 75 7A 01 0B 01                    db       67h, 75h, 7Ah, 01h, 0Bh, 01h
31E4:BEE5  68 75 51 01 0B 01                    db       68h, 75h, 51h, 01h, 0Bh, 01h
31E4:BEEB  69 75 3B 01 0B 01                    db       69h, 75h, 3Bh, 01h, 0Bh, 01h
31E4:BEF1  6A 75 4B 01 14 01                    db       6Ah, 75h, 4Bh, 01h, 14h, 01h
31E4:BEF7  6B 75 60 01 14 01                    db       6Bh, 75h, 60h, 01h, 14h, 01h
31E4:BEFD  6C 75 69 01 14 01                    db       6Ch, 75h, 69h, 01h, 14h, 01h
31E4:BF03  6D 75 4C 01 0B 01                    db       6Dh, 75h, 4Ch, 01h, 0Bh, 01h
31E4:BF09  13 27 BA 00 1A 01                    db       13h, 27h,0BAh, 00h, 1Ah, 01h
31E4:BF0F  E5 03 29 01 12 81                    db      0E5h, 03h, 29h, 01h, 12h, 81h
31E4:BF15  6E 75 6A 01 C3 00                    db       6Eh, 75h, 6Ah, 01h,0C3h, 00h
31E4:BF1B  63 04 64 01 24 01                    db       63h, 04h, 64h, 01h, 24h, 01h
31E4:BF21  64 04 CF 00 23 01                    db       64h, 04h,0CFh, 00h, 23h, 01h
31E4:BF27  57 75 51 01 12 01                    db       57h, 75h, 51h, 01h, 12h, 01h
31E4:BF2D  6F 75 43 01 02 01                    db       6Fh, 75h, 43h, 01h, 02h, 01h
31E4:BF33  15 27 4C 01 1F 01                    db       15h, 27h, 4Ch, 01h, 1Fh, 01h
31E4:BF39  00                                   db       00h
31E4:BF3A  00 00 00 00 00 00                    db       0, 0, 0, 0, 0, 0

31E4:BF40  0000          room_info_table        dw       0
31E4:BF42  0007[00]                             db       7 dup (0)

31E4:BF49  0D C1 01 00 84 00                    db       0Dh,0C1h, 01h, 00h, 84h, 00h
31E4:BF4F  00 00 01 3C C1 02                    db       00h, 00h, 01h, 3Ch,0C1h, 02h
31E4:BF55  00 71 00 00 00 01                    db       00h, 71h, 00h, 00h, 00h, 01h
31E4:BF5B  85 C1 03 00 DE 00                    db       85h,0C1h, 03h, 00h,0DEh, 00h
31E4:BF61  00 00 01 C4 C1 04                    db       00h, 00h, 01h,0C4h,0C1h, 04h
31E4:BF67  00 DF 00 00 00 01                    db       00h,0DFh, 00h, 00h, 00h, 01h
31E4:BF6D  FD C9 09 0C CA 0B                    db      0FDh,0C9h, 09h, 0Ch,0CAh, 0Bh
31E4:BF73  00 00 00 3C CA 09                    db       00h, 00h, 00h, 3Ch,0CAh, 09h
31E4:BF79  0C CA 0B 00 00 00                    db       0Ch,0CAh, 0Bh, 00h, 00h, 00h
31E4:BF7F  FD C1 07 00 7D 08                    db      0FDh,0C1h, 07h, 00h, 7Dh, 08h
31E4:BF85  00 00 02 2C C2 08                    db       00h, 00h, 02h, 2Ch,0C2h, 08h
31E4:BF8B  00 7C 08 00 00 02                    db       00h, 7Ch, 08h, 00h, 00h, 02h
31E4:BF91  6B C2 09 00 62 08                    db       6Bh,0C2h, 09h, 00h, 62h, 08h
31E4:BF97  00 00 02 AA C2 0A                    db       00h, 00h, 02h,0AAh,0C2h, 0Ah
31E4:BF9D  00 63 08 00 00 02                    db       00h, 63h, 08h, 00h, 00h, 02h
31E4:BFA3  09 C3 0B 00 7C 08                    db       09h,0C3h, 0Bh, 00h, 7Ch, 08h
31E4:BFA9  00 00 02 48 C3 0C                    db       00h, 00h, 02h, 48h,0C3h, 0Ch
31E4:BFAF  00 64 08 00 00 02                    db       00h, 64h, 08h, 00h, 00h, 02h
31E4:BFB5  97 C3 0D 00 72 08                    db       97h,0C3h, 0Dh, 00h, 72h, 08h
31E4:BFBB  00 00 02 E6 C3 0E                    db       00h, 00h, 02h,0E6h,0C3h, 0Eh
31E4:BFC1  00 67 08 00 00 02                    db       00h, 67h, 08h, 00h, 00h, 02h
31E4:BFC7  59 C4 0F 00 73 08                    db       59h,0C4h, 0Fh, 00h, 73h, 08h
31E4:BFCD  00 00 02 00                          db       00h, 00h, 02h, 00h
31E4:BFD1  0008[00]                             db      8 dup (0)
31E4:BFD9  A8 C4 11 00 6D 08                    db      0A8h,0C4h, 11h, 00h, 6Dh, 08h
31E4:BFDF  00 00 02 17 C5 12                    db       00h, 00h, 02h, 17h,0C5h, 12h
31E4:BFE5  00 74 0B 00 00 02                    db       00h, 74h, 0Bh, 00h, 00h, 02h
31E4:BFEB  76 C5 13 00 6F 08                    db       76h,0C5h, 13h, 00h, 6Fh, 08h
31E4:BFF1  00 00 02 F5 C5 14                    db       00h, 00h, 02h,0F5h,0C5h, 14h
31E4:BFF7  00 84 08 00 00 02                    db       00h, 84h, 08h, 00h, 00h, 02h
31E4:BFFD  54 C6 15 00 7C 08                    db       54h,0C6h, 15h, 00h, 7Ch, 08h
31E4:C003  00 00 02 93 C6 16                    db       00h, 00h, 02h, 93h,0C6h, 16h
31E4:C009  00 7C 08 00 00 02                    db       00h, 7Ch, 08h, 00h, 00h, 02h
31E4:C00F  D2 C6 17 00 7C 08                    db      0D2h,0C6h, 17h, 00h, 7Ch, 08h
31E4:C015  00 00 02 11 C7 18                    db       00h, 00h, 02h, 11h,0C7h, 18h
31E4:C01B  00 7C 08 00 00 02                    db       00h, 7Ch, 08h, 00h, 00h, 02h
31E4:C021  50 C7 19 00 7C 08                    db       50h,0C7h, 19h, 00h, 7Ch, 08h
31E4:C027  00 00 02 00 00 1A                    db       00h, 00h, 02h, 00h, 00h, 1Ah
31E4:C02D  00 7C 08 00 00 02                    db       00h, 7Ch, 08h, 00h, 00h, 02h
31E4:C033  8F C7 1B 00 7C 08                    db       8Fh,0C7h, 1Bh, 00h, 7Ch, 08h
31E4:C039  00 00 02 CE C7 1C                    db       00h, 00h, 02h,0CEh,0C7h, 1Ch
31E4:C03F  00 86 08 00 00 02                    db       00h, 86h, 08h, 00h, 00h, 02h
31E4:C045  FD C7 1D 00 88 08                    db      0FDh,0C7h, 1Dh, 00h, 88h, 08h
31E4:C04B  00 00 02 2C C8 1E                    db       00h, 00h, 02h, 2Ch,0C8h, 1Eh
31E4:C051  00 4D 08 00 00 02                    db       00h, 4Dh, 08h, 00h, 00h, 02h
31E4:C057  5B C8 1F 00 70 08                    db       5Bh,0C8h, 1Fh, 00h, 70h, 08h
31E4:C05D  00 00 02 B9 C8 20                    db       00h, 00h, 02h,0B9h,0C8h, 20h
31E4:C063  00 8C 08 00 00 02                    db       00h, 8Ch, 08h, 00h, 00h, 02h
31E4:C069  00 00 21 00 00 00                    db       00h, 00h, 21h, 00h, 00h, 00h
31E4:C06F  00 00 02 E8 C8 22                    db       00h, 00h, 02h,0E8h,0C8h, 22h
31E4:C075  00 CE 00 00 00 02                    db       00h,0CEh, 00h, 00h, 00h, 02h
31E4:C07B  17 C9 23 00 9B 0C                    db       17h,0C9h, 23h, 00h, 9Bh, 0Ch
31E4:C081  00 00 02 8A C8 24                    db       00h, 00h, 02h, 8Ah,0C8h, 24h
31E4:C087  00 EA 08 00 00 02                    db       00h,0EAh, 08h, 00h, 00h, 02h
31E4:C08D  00 00 25 00 00 00                    db       00h, 00h, 25h, 00h, 00h, 00h
31E4:C093  00 00 02 46 C9 26                    db       00h, 00h, 02h, 46h,0C9h, 26h
31E4:C099  00 CA 0B 00 00 04                    db       00h,0CAh, 0Bh, 00h, 00h, 04h
31E4:C09F  7F C9 27 00 CA 0B                    db       7Fh,0C9h, 27h, 00h,0CAh, 0Bh
31E4:C0A5  00 00 04 BE C9 28                    db       00h, 00h, 04h,0BEh,0C9h, 28h
31E4:C0AB  00 CA 0B 00 00 04                    db       00h,0CAh, 0Bh, 00h, 00h, 04h
31E4:C0B1  7B CA 29 00 F1 0A                    db       7Bh,0CAh, 29h, 00h,0F1h, 0Ah
31E4:C0B7  00 00 04 AA CA 2A                    db       00h, 00h, 04h,0AAh,0CAh, 2Ah
31E4:C0BD  00 A0 0F 00 00 08                    db       00h,0A0h, 0Fh, 00h, 00h, 08h
31E4:C0C3  D9 CA 2B 00 A1 0F                    db      0D9h,0CAh, 2Bh, 00h,0A1h, 0Fh
31E4:C0C9  00 00 08 18 CB 2C                    db       00h, 00h, 08h, 18h,0CBh, 2Ch
31E4:C0CF  00 F3 0F 00 00 08                    db       00h,0F3h, 0Fh, 00h, 00h, 08h
31E4:C0D5  67 CB 2D 00 A2 0F                    db       67h,0CBh, 2Dh, 00h,0A2h, 0Fh
31E4:C0DB  00 00 08 D0 CB 2E                    db       00h, 00h, 08h,0D0h,0CBh, 2Eh
31E4:C0E1  00 A2 0F 00 00 08                    db       00h,0A2h, 0Fh, 00h, 00h, 08h
31E4:C0E7  29 CC 2F 00 18 10                    db       29h,0CCh, 2Fh, 00h, 18h, 10h
31E4:C0ED  00 00 08 68 CC 30                    db       00h, 00h, 08h, 68h,0CCh, 30h
31E4:C0F3  00 17 10 00 00 08                    db       00h, 17h, 10h, 00h, 00h, 08h
31E4:C0F9  97 CC 2F 00 18 10                    db       97h,0CCh, 2Fh, 00h, 18h, 10h
31E4:C0FF  00 00 08 C0 CC                       db       00h, 00h, 08h,0C0h,0CCh
31E4:C104  0007[00]                             db      7 dup (0)
31E4:C10B  FF FF                                db      0FFh,0FFh

; Start of room information data for initial cell room
31E4:C10D  0000                                 dw      0000h
31E4:C10F  8020                                 dw      8020h
31E4:C111  6D57                                 dw      6D57h
31E4:C113  1430                                 dw      1430h   ; Offset for auto-load pixel blocks
31E4:C115  02                                   db      2       ; Default number of screns
31E4:C116  4100                                 dw      4100h   ; Layer Id - Background
31E4:C118  4101                                 dw      4101h   ; Layer Id - Front part of door
31E4:C11A  4102                                 dw      4102h   ; Layer Id - cell window overlay

31E4:C11C  00                                   db       00h
31E4:C11D  00                                   db       00h
31E4:C11E  3B                                   db      3Bh
31E4:C11F  0007[00]                             db      7 dup (0)

31E4:C126  00CD                                 dw      0CDh         ; X start
31E4:C128  0000                                 dw      0            ; X end
31E4:C12A  00A8                                 dw      0A8h
31E4:C12C  D0 00 1F 01 26 01                    db      0D0h, 00h, 1Fh, 01h, 26h, 01h
31E4:C132  FF FF 02 40 E4 00                    db      0FFh,0FFh, 02h, 40h,0E4h, 00h
31E4:C138  00 01 FF FF 00 00                    db       00h, 01h,0FFh,0FFh, 00h, 00h
31E4:C13E  20 00 57 6D 3C 14                    db       20h, 00h, 57h, 6Dh, 3Ch, 14h
31E4:C144  02 01 42 02 42 00                    db       02h, 01h, 42h, 02h, 42h, 00h
31E4:C14A  00 00 00 E8 2B 00                    db       00h, 00h, 00h,0E8h, 2Bh, 00h
31E4:C150  0009[00]                             db      9 dup (0)
31E4:C159  E0 00 FC 00 EE 00                    db      0E0h, 00h,0FCh, 00h,0EEh, 00h
31E4:C15F  F8 00 FF FF 01 10                    db      0F8h, 00h,0FFh,0FFh, 01h, 10h
31E4:C165  C6 00 28 01 3C 01                    db      0C6h, 00h, 28h, 01h, 3Ch, 01h
31E4:C16B  6E 01 E8 00 FC 00                    db       6Eh, 01h,0E8h, 00h,0FCh, 00h
31E4:C171  FF FF 03 10 90 00                    db      0FFh,0FFh, 03h, 10h, 90h, 00h
31E4:C177  20 01 AA 01 B8 01                    db       20h, 01h,0AAh, 01h,0B8h, 01h
31E4:C17D  E6 00 18 01 55 05                    db      0E6h, 00h, 18h, 01h, 55h, 05h
31E4:C183  FF FF 00 00 20 00                    db      0FFh,0FFh, 00h, 00h, 20h, 00h
31E4:C189  57 6D 3C 14 02 01                    db       57h, 6Dh, 3Ch, 14h, 02h, 01h
31E4:C18F  43 02 43 00 00 00                    db       43h, 02h, 43h, 00h, 00h, 00h
31E4:C195  00 EC 2B 00 00 00                    db       00h,0ECh, 2Bh, 00h, 00h, 00h
31E4:C19B  00 00 02 9F 00 81                    db       00h, 00h, 02h, 9Fh, 00h, 81h
31E4:C1A1  01 8A 00 98 00 1A                    db       01h, 8Ah, 00h, 98h, 00h, 1Ah
31E4:C1A7  01 24 01 FF FF 02                    db       01h, 24h, 01h,0FFh,0FFh, 02h
31E4:C1AD  40 44 01 00 01 A4                    db       40h, 44h, 01h, 00h, 01h,0A4h
31E4:C1B3  01 C0 01 1A 01 24                    db       01h,0C0h, 01h, 1Ah, 01h, 24h
31E4:C1B9  01 FF FF 04 80 4F                    db       01h,0FFh,0FFh, 04h, 80h, 4Fh
31E4:C1BF  01 3A 01 FF FF 00                    db       01h, 3Ah, 01h,0FFh,0FFh, 00h
31E4:C1C5  00 20 00 57 6D 3C                    db       00h, 20h, 00h, 57h, 6Dh, 3Ch
31E4:C1CB  14 03 00 44 01 44                    db       14h, 03h, 00h, 44h, 01h, 44h
31E4:C1D1  02 44 03 44 F3 2B                    db       02h, 44h, 03h, 44h,0F3h, 2Bh
31E4:C1D7  00 00 00 00 00 03                    db       00h, 00h, 00h, 00h, 00h, 03h
31E4:C1DD  00 00 00 00 4C 01                    db       00h, 00h, 00h, 00h, 4Ch, 01h
31E4:C1E3  6D 01 39 01 40 01                    db       6Dh, 01h, 39h, 01h, 40h, 01h
31E4:C1E9  FF FF 03 20 80 01                    db      0FFh,0FFh, 03h, 20h, 80h, 01h
31E4:C1EF  20 01 50 01 69 01                    db       20h, 01h, 50h, 01h, 69h, 01h
31E4:C1F5  21 01 30 01 C6 05                    db       21h, 01h, 30h, 01h,0C6h, 05h
31E4:C1FB  FF FF 00 00 20 00                    db      0FFh,0FFh, 00h, 00h, 20h, 00h
31E4:C201  57 6D 3C 14 02 00                    db       57h, 6Dh, 3Ch, 14h, 02h, 00h
31E4:C207  87 01 87 00 00 00                    db       87h, 01h, 87h, 00h, 00h, 00h
31E4:C20D  00 83 00 FF FF 0F                    db       00h, 83h, 00h,0FFh,0FFh, 0Fh
31E4:C213  00 01 04 DE 00 00                    db       00h, 01h, 04h,0DEh, 00h, 00h
31E4:C219  00 A5 00 D5 00 EF                    db       00h,0A5h, 00h,0D5h, 00h,0EFh
31E4:C21F  00 2C 01 FF FF 08                    db       00h, 2Ch, 01h,0FFh,0FFh, 08h
31E4:C225  80 10 01 40 01 FF                    db       80h, 10h, 01h, 40h, 01h,0FFh
31E4:C22B  FF 00 00 00 20 57                    db      0FFh, 00h, 00h, 00h, 20h, 57h
31E4:C231  6D 3C 14 01 00 88                    db       6Dh, 3Ch, 14h, 01h, 00h, 88h
31E4:C237  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:C23D  FA 2B 00 00 00 00                    db      0FAh, 2Bh, 00h, 00h, 00h, 00h
31E4:C243  01 05 00 00 00 00                    db       01h, 05h, 00h, 00h, 00h, 00h
31E4:C249  C7 00 6F 01 3F 01                    db      0C7h, 00h, 6Fh, 01h, 3Fh, 01h
31E4:C24F  47 01 FF FF 07 10                    db       47h, 01h,0FFh,0FFh, 07h, 10h
31E4:C255  D1 00 11 01 ED 00                    db      0D1h, 00h, 11h, 01h,0EDh, 00h
31E4:C25B  12 01 FA 00 09 01                    db       12h, 01h,0FAh, 00h, 09h, 01h
31E4:C261  FF FF 09 00 50 01                    db      0FFh,0FFh, 09h, 00h, 50h, 01h
31E4:C267  40 01 FF FF 00 00                    db       40h, 01h,0FFh,0FFh, 00h, 00h
31E4:C26D  20 00 57 6D 3C 14                    db       20h, 00h, 57h, 6Dh, 3Ch, 14h
31E4:C273  02 00 89 01 89 00                    db       02h, 00h, 89h, 01h, 89h, 00h
31E4:C279  00 00 00 FF FF 00                    db       00h, 00h, 00h,0FFh,0FFh, 00h
31E4:C27F  00 00 00 01 06 00                    db       00h, 00h, 00h, 01h, 06h, 00h
31E4:C285  00 00 00 DD 00 8D                    db       00h, 00h, 00h,0DDh, 00h, 8Dh
31E4:C28B  01 40 01 90 01 FF                    db       01h, 40h, 01h, 90h, 01h,0FFh
31E4:C291  FF 08 40 F2 00 16                    db      0FFh, 08h, 40h,0F2h, 00h, 16h
31E4:C297  01 81 00 B2 00 E6                    db       01h, 81h, 00h,0B2h, 00h,0E6h
31E4:C29D  00 29 01 FF FF 0A                    db       00h, 29h, 01h,0FFh,0FFh, 0Ah
31E4:C2A3  20 A4 01 10 01 FF                    db       20h,0A4h, 01h, 10h, 01h,0FFh
31E4:C2A9  FF 00 00 20 00 57                    db      0FFh, 00h, 00h, 20h, 00h, 57h
31E4:C2AF  6D 3C 14 02 00 8A                    db       6Dh, 3Ch, 14h, 02h, 00h, 8Ah
31E4:C2B5  01 8A 00 00 00 00                    db       01h, 8Ah, 00h, 00h, 00h, 00h
31E4:C2BB  FF FF 00 00 00 00                    db      0FFh,0FFh, 00h, 00h, 00h, 00h
31E4:C2C1  01 07 00 00 B5 01                    db       01h, 07h, 00h, 00h,0B5h, 01h
31E4:C2C7  C0 01 00 02 01 01                    db      0C0h, 01h, 00h, 02h, 01h, 01h
31E4:C2CD  16 01 FF FF 09 00                    db       16h, 01h,0FFh,0FFh, 09h, 00h
31E4:C2D3  A9 00 21 01 AC 00                    db      0A9h, 00h, 21h, 01h,0ACh, 00h
31E4:C2D9  DB 00 44 01 4A 01                    db      0DBh, 00h, 44h, 01h, 4Ah, 01h
31E4:C2DF  FF FF 0B 00 F2 00                    db      0FFh,0FFh, 0Bh, 00h,0F2h, 00h
31E4:C2E5  16 01 50 00 7A 00                    db       16h, 01h, 50h, 00h, 7Ah, 00h
31E4:C2EB  F6 00 46 01 FF FF                    db      0F6h, 00h, 46h, 01h,0FFh,0FFh
31E4:C2F1  0D 00 A4 01 2B 01                    db       0Dh, 00h,0A4h, 01h, 2Bh, 01h
31E4:C2F7  01 01 20 01 FC 00                    db       01h, 01h, 20h, 01h,0FCh, 00h
31E4:C2FD  0A 01 FF FF 22 00                    db       0Ah, 01h,0FFh,0FFh, 22h, 00h
31E4:C303  C5 00 2F 01 FF FF                    db      0C5h, 00h, 2Fh, 01h,0FFh,0FFh
31E4:C309  00 00 00 20 57 6D                    db       00h, 00h, 00h, 20h, 57h, 6Dh
31E4:C30F  3C 14 01 00 88 00                    db       3Ch, 14h, 01h, 00h, 88h, 00h
31E4:C315  00 00 00 00 00 FF                    db       00h, 00h, 00h, 00h, 00h,0FFh
31E4:C31B  FF 00 00 00 00 01                    db      0FFh, 00h, 00h, 00h, 00h, 01h
31E4:C321  05 00 00 00 00 C7                    db       05h, 00h, 00h, 00h, 00h,0C7h
31E4:C327  00 6F 01 3F 01 47                    db       00h, 6Fh, 01h, 3Fh, 01h, 47h
31E4:C32D  01 FF FF 1B 20 77                    db       01h,0FFh,0FFh, 1Bh, 20h, 77h
31E4:C333  01 0B 01 ED 00 12                    db       01h, 0Bh, 01h,0EDh, 00h, 12h
31E4:C339  01 FA 00 09 01 FF                    db       01h,0FAh, 00h, 09h, 01h,0FFh
31E4:C33F  FF 0A 00 BE 00 46                    db      0FFh, 0Ah, 00h,0BEh, 00h, 46h
31E4:C345  01 FF FF 00 00 20                    db       01h,0FFh,0FFh, 00h, 00h, 20h
31E4:C34B  00 57 6D 3C 14 03                    db       00h, 57h, 6Dh, 3Ch, 14h, 03h
31E4:C351  00 8C 01 8C 02 8C                    db       00h, 8Ch, 01h, 8Ch, 02h, 8Ch
31E4:C357  00 00 FF FF 00 00                    db       00h, 00h,0FFh,0FFh, 00h, 00h
31E4:C35D  00 00 01 0F 00 00                    db       00h, 00h, 01h, 0Fh, 00h, 00h
31E4:C363  00 00 03 01 22 01                    db       00h, 00h, 03h, 01h, 22h, 01h
31E4:C369  BD 00 D8 00 FF FF                    db      0BDh, 00h,0D8h, 00h,0FFh,0FFh
31E4:C36F  14 00 65 01 44 01                    db       14h, 00h, 65h, 01h, 44h, 01h
31E4:C375  6C 01 89 01 26 01                    db       6Ch, 01h, 89h, 01h, 26h, 01h
31E4:C37B  3B 01 FF FF 1B 00                    db       3Bh, 01h,0FFh,0FFh, 1Bh, 00h
31E4:C381  AD 00 0B 01 A2 00                    db      0ADh, 00h, 0Bh, 01h,0A2h, 00h
31E4:C387  C3 00 C6 00 E0 00                    db      0C3h, 00h,0C6h, 00h,0E0h, 00h
31E4:C38D  FF FF 20 00 AC 00                    db      0FFh,0FFh, 20h, 00h,0ACh, 00h
31E4:C393  40 01 FF FF 00 00                    db       40h, 01h,0FFh,0FFh, 00h, 00h
31E4:C399  20 00 57 6D 3C 14                    db       20h, 00h, 57h, 6Dh, 3Ch, 14h
31E4:C39F  02 00 8D 01 8D 02                    db       02h, 00h, 8Dh, 01h, 8Dh, 02h
31E4:C3A5  8D 00 00 01 2C 00                    db       8Dh, 00h, 00h, 01h, 2Ch, 00h
31E4:C3AB  00 00 00 01 08 00                    db       00h, 00h, 00h, 01h, 08h, 00h
31E4:C3B1  00 00 00 50 00 7A                    db       00h, 00h, 00h, 50h, 00h, 7Ah
31E4:C3B7  00 1A 01 46 01 FF                    db       00h, 1Ah, 01h, 46h, 01h,0FFh
31E4:C3BD  FF 0E 00 A8 01 1F                    db      0FFh, 0Eh, 00h,0A8h, 01h, 1Fh
31E4:C3C3  01 C6 01 E0 01 10                    db       01h,0C6h, 01h,0E0h, 01h, 10h
31E4:C3C9  01 46 01 FF FF 0A                    db       01h, 46h, 01h,0FFh,0FFh, 0Ah
31E4:C3CF  00 7A 00 30 01 9F                    db       00h, 7Ah, 00h, 30h, 01h, 9Fh
31E4:C3D5  00 0E 01 44 01 4A                    db       00h, 0Eh, 01h, 44h, 01h, 4Ah
31E4:C3DB  01 FF FF 14 00 D4                    db       01h,0FFh,0FFh, 14h, 00h,0D4h
31E4:C3E1  00 D8 00 FF FF 00                    db       00h,0D8h, 00h,0FFh,0FFh, 00h
31E4:C3E7  00 20 00 57 6D 3C                    db       00h, 20h, 00h, 57h, 6Dh, 3Ch
31E4:C3ED  14 02 00 8E 01 8E                    db       14h, 02h, 00h, 8Eh, 01h, 8Eh
31E4:C3F3  00 00 00 00 FF FF                    db       00h, 00h, 00h, 00h,0FFh,0FFh
31E4:C3F9  00 00 00 00 01 09                    db       00h, 00h, 00h, 00h, 01h, 09h
31E4:C3FF  00 00 00 00 50 00                    db       00h, 00h, 00h, 00h, 50h, 00h
31E4:C405  7A 00 11 01 26 01                    db       7Ah, 00h, 11h, 01h, 26h, 01h
31E4:C40B  FF FF 0F 00 A4 01                    db      0FFh,0FFh, 0Fh, 00h,0A4h, 01h
31E4:C411  2B 01 80 00 0E 01                    db       2Bh, 01h, 80h, 00h, 0Eh, 01h
31E4:C417  3D 01 4A 01 FF FF                    db       3Dh, 01h, 4Ah, 01h,0FFh,0FFh
31E4:C41D  13 00 04 01 02 01                    db       13h, 00h, 04h, 01h, 02h, 01h
31E4:C423  C6 01 E0 01 FC 00                    db      0C6h, 01h,0E0h, 01h,0FCh, 00h
31E4:C429  28 01 FF FF 0D 00                    db       28h, 01h,0FFh,0FFh, 0Dh, 00h
31E4:C42F  7A 00 35 01 F7 00                    db       7Ah, 00h, 35h, 01h,0F7h, 00h
31E4:C435  12 01 E8 00 F8 00                    db       12h, 01h,0E8h, 00h,0F8h, 00h
31E4:C43B  FF FF 1F 00 67 01                    db      0FFh,0FFh, 1Fh, 00h, 67h, 01h
31E4:C441  3B 01 E8 00 54 01                    db       3Bh, 01h,0E8h, 00h, 54h, 01h
31E4:C447  09 01 17 01 39 0D                    db       09h, 01h, 17h, 01h, 39h, 0Dh
31E4:C44D  35 01 4A 01 FC 00                    db       35h, 01h, 4Ah, 01h,0FCh, 00h
31E4:C453  0B 01 39 0D FF FF                    db       0Bh, 01h, 39h, 0Dh,0FFh,0FFh
31E4:C459  00 00 20 00 57 6D                    db       00h, 00h, 20h, 00h, 57h, 6Dh
31E4:C45F  3C 14 02 00 8F 01                    db       3Ch, 14h, 02h, 00h, 8Fh, 01h
31E4:C465  8F 00 00 00 00 0D                    db       8Fh, 00h, 00h, 00h, 00h, 0Dh
31E4:C46B  0F 00 00 00 00 01                    db       0Fh, 00h, 00h, 00h, 00h, 01h
31E4:C471  0A 00 00 00 00 7F                    db       0Ah, 00h, 00h, 00h, 00h, 7Fh
31E4:C477  00 73 01 3D 01 48                    db       00h, 73h, 01h, 3Dh, 01h, 48h
31E4:C47D  01 FF FF 11 00 E3                    db       01h,0FFh,0FFh, 11h, 00h,0E3h
31E4:C483  00 0E 01 B2 01 C2                    db       00h, 0Eh, 01h,0B2h, 01h,0C2h
31E4:C489  01 11 01 3C 01 FF                    db       01h, 11h, 01h, 3Ch, 01h,0FFh
31E4:C48F  FF 0E 00 7A 00 1D                    db      0FFh, 0Eh, 00h, 7Ah, 00h, 1Dh
31E4:C495  01 EC 00 23 01 F0                    db       01h,0ECh, 00h, 23h, 01h,0F0h
31E4:C49B  00 FA 00 FF FF 26                    db       00h,0FAh, 00h,0FFh,0FFh, 26h
31E4:C4A1  00 42 01 46 01 FF                    db       00h, 42h, 01h, 46h, 01h,0FFh
31E4:C4A7  FF 00 00 20 00 57                    db      0FFh, 00h, 00h, 20h, 00h, 57h
31E4:C4AD  6D 3C 14 03 00 91                    db       6Dh, 3Ch, 14h, 03h, 00h, 91h
31E4:C4B3  01 91 02 91 00 00                    db       01h, 91h, 02h, 91h, 00h, 00h
31E4:C4B9  FF FF 00 00 00 00                    db      0FFh,0FFh, 00h, 00h, 00h, 00h
31E4:C4BF  01 0B 00 00 00 00                    db       01h, 0Bh, 00h, 00h, 00h, 00h
31E4:C4C5  50 00 7A 00 0B 01                    db       50h, 00h, 7Ah, 00h, 0Bh, 01h
31E4:C4CB  47 01 FF FF 15 00                    db       47h, 01h,0FFh,0FFh, 15h, 00h
31E4:C4D1  77 01 0B 01 D2 00                    db       77h, 01h, 0Bh, 01h,0D2h, 00h
31E4:C4D7  0C 01 CE 00 F5 00                    db       0Ch, 01h,0CEh, 00h,0F5h, 00h
31E4:C4DD  FF FF 0F 00 FC 00                    db      0FFh,0FFh, 0Fh, 00h,0FCh, 00h
31E4:C4E3  46 01 C6 01 E0 01                    db       46h, 01h,0C6h, 01h,0E0h, 01h
31E4:C4E9  1C 01 47 01 FF FF                    db       1Ch, 01h, 47h, 01h,0FFh,0FFh
31E4:C4EF  13 00 78 00 21 01                    db       13h, 00h, 78h, 00h, 21h, 01h
31E4:C4F5  9F 00 11 01 40 01                    db       9Fh, 00h, 11h, 01h, 40h, 01h
31E4:C4FB  48 01 FF FF 12 00                    db       48h, 01h,0FFh,0FFh, 12h, 00h
31E4:C501  4D 01 F0 00 4A 01                    db       4Dh, 01h,0F0h, 00h, 4Ah, 01h
31E4:C507  63 01 0A 01 14 01                    db       63h, 01h, 0Ah, 01h, 14h, 01h
31E4:C50D  FF FF 1D 00 99 00                    db      0FFh,0FFh, 1Dh, 00h, 99h, 00h
31E4:C513  40 01 FF FF 00 00                    db       40h, 01h,0FFh,0FFh, 00h, 00h
31E4:C519  20 00 57 6D 3C 14                    db       20h, 00h, 57h, 6Dh, 3Ch, 14h
31E4:C51F  02 00 92 01 92 00                    db       02h, 00h, 92h, 01h, 92h, 00h
31E4:C525  00 00 00 FF FF 00                    db       00h, 00h, 00h,0FFh,0FFh, 00h
31E4:C52B  00 00 00 01 0C 00                    db       00h, 00h, 00h, 01h, 0Ch, 00h
31E4:C531  00 00 00 50 00 7A                    db       00h, 00h, 00h, 50h, 00h, 7Ah
31E4:C537  00 13 01 3C 01 FF                    db       00h, 13h, 01h, 3Ch, 01h,0FFh
31E4:C53D  FF 17 00 77 01 0B                    db      0FFh, 17h, 00h, 77h, 01h, 0Bh
31E4:C543  01 3B 01 7E 01 DD                    db       01h, 3Bh, 01h, 7Eh, 01h,0DDh
31E4:C549  00 EB 00 FF FF 11                    db       00h,0EBh, 00h,0FFh,0FFh, 11h
31E4:C54F  00 B1 00 42 01 C6                    db       00h,0B1h, 00h, 42h, 01h,0C6h
31E4:C555  01 E0 01 0F 01 47                    db       01h,0E0h, 01h, 0Fh, 01h, 47h
31E4:C55B  01 FF FF 18 00 AD                    db       01h,0FFh,0FFh, 18h, 00h,0ADh
31E4:C561  00 0B 01 FF 00 19                    db       00h, 0Bh, 01h,0FFh, 00h, 19h
31E4:C567  01 DB 00 EF 00 FF                    db       01h,0DBh, 00h,0EFh, 00h,0FFh
31E4:C56D  FF 1C 40 01 01 10                    db      0FFh, 1Ch, 40h, 01h, 01h, 10h
31E4:C573  01 FF FF 00 00 20                    db       01h,0FFh,0FFh, 00h, 00h, 20h
31E4:C579  00 57 6D 3C 14 03                    db       00h, 57h, 6Dh, 3Ch, 14h, 03h
31E4:C57F  00 93 01 93 02 93                    db       00h, 93h, 01h, 93h, 02h, 93h
31E4:C585  00 00 FF FF 00 00                    db       00h, 00h,0FFh,0FFh, 00h, 00h
31E4:C58B  00 00 01 0E 00 00                    db       00h, 00h, 01h, 0Eh, 00h, 00h
31E4:C591  00 00 50 00 7A 00                    db       00h, 00h, 50h, 00h, 7Ah, 00h
31E4:C597  0C 01 2E 01 FF FF                    db       0Ch, 01h, 2Eh, 01h,0FFh,0FFh
31E4:C59D  11 00 AD 01 3B 01                    db       11h, 00h,0ADh, 01h, 3Bh, 01h
31E4:C5A3  F7 00 36 01 E6 00                    db      0F7h, 00h, 36h, 01h,0E6h, 00h
31E4:C5A9  F8 00 FF FF 0E 00                    db      0F8h, 00h,0FFh,0FFh, 0Eh, 00h
31E4:C5AF  B1 00 46 01 C6 01                    db      0B1h, 00h, 46h, 01h,0C6h, 01h
31E4:C5B5  E0 01 11 01 43 01                    db      0E0h, 01h, 11h, 01h, 43h, 01h
31E4:C5BB  FF FF 14 00 7C 00                    db      0FFh,0FFh, 14h, 00h, 7Ch, 00h
31E4:C5C1  26 01 BC 00 FE 00                    db       26h, 01h,0BCh, 00h,0FEh, 00h
31E4:C5C7  40 01 48 01 FF FF                    db       40h, 01h, 48h, 01h,0FFh,0FFh
31E4:C5CD  19 00 F2 00 16 01                    db       19h, 00h,0F2h, 00h, 16h, 01h
31E4:C5D3  6F 01 90 01 F7 00                    db       6Fh, 01h, 90h, 01h,0F7h, 00h
31E4:C5D9  04 01 FF FF 1E 00                    db       04h, 01h,0FFh,0FFh, 1Eh, 00h
31E4:C5DF  C1 00 29 01 95 00                    db      0C1h, 00h, 29h, 01h, 95h, 00h
31E4:C5E5  BA 00 F5 00 FF 00                    db      0BAh, 00h,0F5h, 00h,0FFh, 00h
31E4:C5EB  FF FF 23 00 4C 01                    db      0FFh,0FFh, 23h, 00h, 4Ch, 01h
31E4:C5F1  43 01 FF FF 00 00                    db       43h, 01h,0FFh,0FFh, 00h, 00h
31E4:C5F7  20 00 57 6D 3C 14                    db       20h, 00h, 57h, 6Dh, 3Ch, 14h
31E4:C5FD  03 00 94 01 94 02                    db       03h, 00h, 94h, 01h, 94h, 02h
31E4:C603  94 00 00 FF FF 00                    db       94h, 00h, 00h,0FFh,0FFh, 00h
31E4:C609  00 00 00 01 14 00                    db       00h, 00h, 00h, 01h, 14h, 00h
31E4:C60F  00 00 00 50 00 7A                    db       00h, 00h, 00h, 50h, 00h, 7Ah
31E4:C615  00 0E 01 33 01 FF                    db       00h, 0Eh, 01h, 33h, 01h,0FFh
31E4:C61B  FF 13 00 AE 01 2C                    db      0FFh, 13h, 00h,0AEh, 01h, 2Ch
31E4:C621  01 D1 00 ED 00 CA                    db       01h,0D1h, 00h,0EDh, 00h,0CAh
31E4:C627  00 D4 00 FF FF 0D                    db       00h,0D4h, 00h,0FFh,0FFh, 0Dh
31E4:C62D  00 BC 00 40 01 FE                    db       00h,0BCh, 00h, 40h, 01h,0FEh
31E4:C633  00 82 01 43 01 47                    db       00h, 82h, 01h, 43h, 01h, 47h
31E4:C639  01 FF FF 0C 00 01                    db       01h,0FFh,0FFh, 0Ch, 00h, 01h
31E4:C63F  01 E0 00 40 01 5D                    db       01h,0E0h, 00h, 40h, 01h, 5Dh
31E4:C645  01 E8 00 F3 00 FF                    db       01h,0E8h, 00h,0F3h, 00h,0FFh
31E4:C64B  FF 24 10 85 00 0E                    db      0FFh, 24h, 10h, 85h, 00h, 0Eh
31E4:C651  01 FF FF 00 00 00                    db       01h,0FFh,0FFh, 00h, 00h, 00h
31E4:C657  20 57 6D 3C 14 02                    db       20h, 57h, 6Dh, 3Ch, 14h, 02h
31E4:C65D  10 88 11 88 00 00                    db       10h, 88h, 11h, 88h, 00h, 00h
31E4:C663  00 00 FF FF 00 00                    db       00h, 00h,0FFh,0FFh, 00h, 00h
31E4:C669  00 00 01 0D BA 00                    db       00h, 00h, 01h, 0Dh,0BAh, 00h
31E4:C66F  86 01 90 00 B2 00                    db       86h, 01h, 90h, 00h,0B2h, 00h
31E4:C675  FB 00 0D 01 FF FF                    db      0FBh, 00h, 0Dh, 01h,0FFh,0FFh
31E4:C67B  16 40 F2 00 16 01                    db       16h, 40h,0F2h, 00h, 16h, 01h
31E4:C681  8C 01 AA 01 FB 00                    db       8Ch, 01h,0AAh, 01h,0FBh, 00h
31E4:C687  0D 01 FF FF 11 00                    db       0Dh, 01h,0FFh,0FFh, 11h, 00h
31E4:C68D  78 00 3E 01 FF FF                    db       78h, 00h, 3Eh, 01h,0FFh,0FFh
31E4:C693  00 00 00 20 57 6D                    db       00h, 00h, 00h, 20h, 57h, 6Dh
31E4:C699  3C 14 01 00 88 00                    db       3Ch, 14h, 01h, 00h, 88h, 00h
31E4:C69F  00 00 00 00 00 FF                    db       00h, 00h, 00h, 00h, 00h,0FFh
31E4:C6A5  FF 00 00 00 00 01                    db      0FFh, 00h, 00h, 00h, 00h, 01h
31E4:C6AB  05 00 00 00 00 C7                    db       05h, 00h, 00h, 00h, 00h,0C7h
31E4:C6B1  00 6F 01 40 01 48                    db       00h, 6Fh, 01h, 40h, 01h, 48h
31E4:C6B7  01 FF FF 17 10 AD                    db       01h,0FFh,0FFh, 17h, 10h,0ADh
31E4:C6BD  00 0B 01 ED 00 12                    db       00h, 0Bh, 01h,0EDh, 00h, 12h
31E4:C6C3  01 FA 00 09 01 FF                    db       01h,0FAh, 00h, 09h, 01h,0FFh
31E4:C6C9  FF 15 10 AD 00 0B                    db      0FFh, 15h, 10h,0ADh, 00h, 0Bh
31E4:C6CF  01 FF FF 00 00 00                    db       01h,0FFh,0FFh, 00h, 00h, 00h
31E4:C6D5  20 57 6D 3C 14 02                    db       20h, 57h, 6Dh, 3Ch, 14h, 02h
31E4:C6DB  10 88 11 88 00 00                    db       10h, 88h, 11h, 88h, 00h, 00h
31E4:C6E1  00 00 FF FF 00 00                    db       00h, 00h,0FFh,0FFh, 00h, 00h
31E4:C6E7  00 00 01 0D BA 00                    db       00h, 00h, 01h, 0Dh,0BAh, 00h
31E4:C6ED  86 01 90 00 B2 00                    db       86h, 01h, 90h, 00h,0B2h, 00h
31E4:C6F3  FB 00 0D 01 FF FF                    db      0FBh, 00h, 0Dh, 01h,0FFh,0FFh
31E4:C6F9  16 80 13 01 42 01                    db       16h, 80h, 13h, 01h, 42h, 01h
31E4:C6FF  8C 01 AA 01 FB 00                    db       8Ch, 01h,0AAh, 01h,0FBh, 00h
31E4:C705  0D 01 FF FF 12 00                    db       0Dh, 01h,0FFh,0FFh, 12h, 00h
31E4:C70B  73 00 2E 01 FF FF                    db       73h, 00h, 2Eh, 01h,0FFh,0FFh
31E4:C711  00 00 00 00 57 6D                    db       00h, 00h, 00h, 00h, 57h, 6Dh
31E4:C717  3C 14 02 10 88 11                    db       3Ch, 14h, 02h, 10h, 88h, 11h
31E4:C71D  88 00 00 00 00 FF                    db       88h, 00h, 00h, 00h, 00h,0FFh
31E4:C723  FF 00 00 00 00 01                    db      0FFh, 00h, 00h, 00h, 00h, 01h
31E4:C729  0D BA 00 86 01 90                    db       0Dh,0BAh, 00h, 86h, 01h, 90h
31E4:C72F  00 B2 00 FB 00 0D                    db       00h,0B2h, 00h,0FBh, 00h, 0Dh
31E4:C735  01 FF FF 12 00 A8                    db       01h,0FFh,0FFh, 12h, 00h,0A8h
31E4:C73B  01 34 01 8C 01 AA                    db       01h, 34h, 01h, 8Ch, 01h,0AAh
31E4:C741  01 FB 00 0D 01 FF                    db       01h,0FBh, 00h, 0Dh, 01h,0FFh
31E4:C747  FF 19 80 13 01 42                    db      0FFh, 19h, 80h, 13h, 01h, 42h
31E4:C74D  01 FF FF 00 00 00                    db       01h,0FFh,0FFh, 00h, 00h, 00h
31E4:C753  20 57 6D 3C 14 01                    db       20h, 57h, 6Dh, 3Ch, 14h, 01h
31E4:C759  00 88 00 00 00 00                    db       00h, 88h, 00h, 00h, 00h, 00h
31E4:C75F  00 00 FF FF 00 00                    db       00h, 00h,0FFh,0FFh, 00h, 00h
31E4:C765  00 00 01 05 00 00                    db       00h, 00h, 01h, 05h, 00h, 00h
31E4:C76B  00 00 C7 00 6F 01                    db       00h, 00h,0C7h, 00h, 6Fh, 01h
31E4:C771  40 01 48 01 FF FF                    db       40h, 01h, 48h, 01h,0FFh,0FFh
31E4:C777  18 20 77 01 0B 01                    db       18h, 20h, 77h, 01h, 0Bh, 01h
31E4:C77D  ED 00 12 01 FA 00                    db      0EDh, 00h, 12h, 01h,0FAh, 00h
31E4:C783  09 01 FF FF 13 00                    db       09h, 01h,0FFh,0FFh, 13h, 00h
31E4:C789  D0 00 42 01 FF FF                    db      0D0h, 00h, 42h, 01h,0FFh,0FFh
31E4:C78F  00 00 00 00 57 6D                    db       00h, 00h, 00h, 00h, 57h, 6Dh
31E4:C795  3C 14 02 10 88 11                    db       3Ch, 14h, 02h, 10h, 88h, 11h
31E4:C79B  88 00 00 00 00 FF                    db       88h, 00h, 00h, 00h, 00h,0FFh
31E4:C7A1  FF 00 00 00 00 01                    db      0FFh, 00h, 00h, 00h, 00h, 01h
31E4:C7A7  0D BA 00 86 01 90                    db       0Dh,0BAh, 00h, 86h, 01h, 90h
31E4:C7AD  00 B2 00 FB 00 0D                    db       00h,0B2h, 00h,0FBh, 00h, 0Dh
31E4:C7B3  01 FF FF 0C 00 5A                    db       01h,0FFh,0FFh, 0Ch, 00h, 5Ah
31E4:C7B9  01 34 01 8C 01 AA                    db       01h, 34h, 01h, 8Ch, 01h,0AAh
31E4:C7BF  01 FB 00 0D 01 FF                    db       01h,0FBh, 00h, 0Dh, 01h,0FFh
31E4:C7C5  FF 0B 80 13 01 42                    db      0FFh, 0Bh, 80h, 13h, 01h, 42h
31E4:C7CB  01 FF FF 00 00 20                    db       01h,0FFh,0FFh, 00h, 00h, 20h
31E4:C7D1  00 57 6D 3C 14 03                    db       00h, 57h, 6Dh, 3Ch, 14h, 03h
31E4:C7D7  00 9C 01 9C 02 9C                    db       00h, 9Ch, 01h, 9Ch, 02h, 9Ch
31E4:C7DD  00 00 0F 2C 00 00                    db       00h, 00h, 0Fh, 2Ch, 00h, 00h
31E4:C7E3  00 00 02 10 BA 00                    db       00h, 00h, 02h, 10h,0BAh, 00h
31E4:C7E9  86 01 F9 00 21 01                    db       86h, 01h,0F9h, 00h, 21h, 01h
31E4:C7EF  F8 00 0A 01 FF FF                    db      0F8h, 00h, 0Ah, 01h,0FFh,0FFh
31E4:C7F5  12 10 19 01 F0 00                    db       12h, 10h, 19h, 01h,0F0h, 00h
31E4:C7FB  FF FF 00 00 20 00                    db      0FFh,0FFh, 00h, 00h, 20h, 00h
31E4:C801  57 6D 3C 14 03 00                    db       57h, 6Dh, 3Ch, 14h, 03h, 00h
31E4:C807  9D 01 9D 02 9D 00                    db       9Dh, 01h, 9Dh, 02h, 9Dh, 00h
31E4:C80D  00 08 2C 00 00 00                    db       00h, 08h, 2Ch, 00h, 00h, 00h
31E4:C813  00 02 11 BA 00 86                    db       00h, 02h, 11h,0BAh, 00h, 86h
31E4:C819  01 99 00 B7 00 42                    db       01h, 99h, 00h,0B7h, 00h, 42h
31E4:C81F  01 54 01 FF FF 11                    db       01h, 54h, 01h,0FFh,0FFh, 11h
31E4:C825  00 4D 01 20 01 FF                    db       00h, 4Dh, 01h, 20h, 01h,0FFh
31E4:C82B  FF 00 00 20 00 57                    db      0FFh, 00h, 00h, 20h, 00h, 57h
31E4:C831  6D 3C 14 02 00 9E                    db       6Dh, 3Ch, 14h, 02h, 00h, 9Eh
31E4:C837  01 9E 00 00 00 00                    db       01h, 9Eh, 00h, 00h, 00h, 00h
31E4:C83D  FF FF 00 00 00 00                    db      0FFh,0FFh, 00h, 00h, 00h, 00h
31E4:C843  02 13 00 00 00 00                    db       02h, 13h, 00h, 00h, 00h, 00h
31E4:C849  B4 00 30 01 32 01                    db      0B4h, 00h, 30h, 01h, 32h, 01h
31E4:C84F  40 01 FF FF 13 00                    db       40h, 01h,0FFh,0FFh, 13h, 00h
31E4:C855  72 01 10 01 FF FF                    db       72h, 01h, 10h, 01h,0FFh,0FFh
31E4:C85B  00 00 20 00 57 6D                    db       00h, 00h, 20h, 00h, 57h, 6Dh
31E4:C861  3C 14 02 00 9F 01                    db       3Ch, 14h, 02h, 00h, 9Fh, 01h
31E4:C867  9F 00 00 00 00 FF                    db       9Fh, 00h, 00h, 00h, 00h,0FFh
31E4:C86D  FF 00 00 00 00 02                    db      0FFh, 00h, 00h, 00h, 00h, 02h
31E4:C873  12 00 00 00 00 38                    db       12h, 00h, 00h, 00h, 00h, 38h
31E4:C879  01 86 01 3C 01 40                    db       01h, 86h, 01h, 3Ch, 01h, 40h
31E4:C87F  01 FF FF 0E 00 F7                    db       01h,0FFh,0FFh, 0Eh, 00h,0F7h
31E4:C885  00 02 01 FF FF 00                    db       00h, 02h, 01h,0FFh,0FFh, 00h
31E4:C88B  00 20 00 57 6D 3C                    db       00h, 20h, 00h, 57h, 6Dh, 3Ch
31E4:C891  14 02 00 A4 01 A4                    db       14h, 02h, 00h,0A4h, 01h,0A4h
31E4:C897  00 00 00 00 FF FF                    db       00h, 00h, 00h, 00h,0FFh,0FFh
31E4:C89D  00 00 00 00 02 12                    db       00h, 00h, 00h, 00h, 02h, 12h
31E4:C8A3  00 00 00 00 80 00                    db       00h, 00h, 00h, 00h, 80h, 00h
31E4:C8A9  8C 00 FB 00 09 01                    db       8Ch, 00h,0FBh, 00h, 09h, 01h
31E4:C8AF  FF FF 14 40 44 01                    db      0FFh,0FFh, 14h, 40h, 44h, 01h
31E4:C8B5  FB 00 FF FF 00 00                    db      0FBh, 00h,0FFh,0FFh, 00h, 00h
31E4:C8BB  20 00 57 6D 3C 14                    db       20h, 00h, 57h, 6Dh, 3Ch, 14h
31E4:C8C1  02 00 A0 01 A0 00                    db       02h, 00h,0A0h, 01h,0A0h, 00h
31E4:C8C7  00 00 00 FF FF 00                    db       00h, 00h, 00h,0FFh,0FFh, 00h
31E4:C8CD  00 00 00 02 12 00                    db       00h, 00h, 00h, 02h, 12h, 00h
31E4:C8D3  00 00 00 AA 00 C6                    db       00h, 00h, 00h,0AAh, 00h,0C6h
31E4:C8D9  00 44 01 5E 01 FF                    db       00h, 44h, 01h, 5Eh, 01h,0FFh
31E4:C8DF  FF 0C 00 A1 00 EA                    db      0FFh, 0Ch, 00h,0A1h, 00h,0EAh
31E4:C8E5  00 FF FF 00 00 20                    db       00h,0FFh,0FFh, 00h, 00h, 20h
31E4:C8EB  00 57 6D 3C 14 02                    db       00h, 57h, 6Dh, 3Ch, 14h, 02h
31E4:C8F1  00 A2 01 A2 00 00                    db       00h,0A2h, 01h,0A2h, 00h, 00h
31E4:C8F7  00 00 FF FF 00 00                    db       00h, 00h,0FFh,0FFh, 00h, 00h
31E4:C8FD  00 00 02 15 00 00                    db       00h, 00h, 02h, 15h, 00h, 00h
31E4:C903  00 00 C1 00 E0 00                    db       00h, 00h,0C1h, 00h,0E0h, 00h
31E4:C909  30 01 3C 01 FF FF                    db       30h, 01h, 3Ch, 01h,0FFh,0FFh
31E4:C90F  0A 00 03 01 15 01                    db       0Ah, 00h, 03h, 01h, 15h, 01h
31E4:C915  FF FF 00 00 20 00                    db      0FFh,0FFh, 00h, 00h, 20h, 00h
31E4:C91B  57 6D 3C 14 02 00                    db       57h, 6Dh, 3Ch, 14h, 02h, 00h
31E4:C921  A3 01 A3 02 A3 00                    db      0A3h, 01h,0A3h, 02h,0A3h, 00h
31E4:C927  00 FF FF 00 00 00                    db       00h,0FFh,0FFh, 00h, 00h, 00h
31E4:C92D  00 02 15 00 00 00                    db       00h, 02h, 15h, 00h, 00h, 00h
31E4:C933  00 41 01 70 01 41                    db       00h, 41h, 01h, 70h, 01h, 41h
31E4:C939  01 54 01 FF FF 13                    db       01h, 54h, 01h,0FFh,0FFh, 13h
31E4:C93F  00 9C 00 0A 01 FF                    db       00h, 9Ch, 00h, 0Ah, 01h,0FFh
31E4:C945  FF 00 00 20 00 57                    db      0FFh, 00h, 00h, 20h, 00h, 57h
31E4:C94B  6D 3C 14 02 00 66                    db       6Dh, 3Ch, 14h, 02h, 00h, 66h
31E4:C951  01 66 00 00 00 00                    db       01h, 66h, 00h, 00h, 00h, 00h
31E4:C957  91 0E 00 00 00 00                    db       91h, 0Eh, 00h, 00h, 00h, 00h
31E4:C95D  03 12 00 00 00 00                    db       03h, 12h, 00h, 00h, 00h, 00h
31E4:C963  80 00 9B 00 FA 00                    db       80h, 00h, 9Bh, 00h,0FAh, 00h
31E4:C969  18 01 FF FF 27 00                    db       18h, 01h,0FFh,0FFh, 27h, 00h
31E4:C96F  86 01 13 01 2C 01                    db       86h, 01h, 13h, 01h, 2Ch, 01h
31E4:C975  5E 01 42 01 4A 01                    db       5Eh, 01h, 42h, 01h, 4Ah, 01h
31E4:C97B  F2 0E FF FF 00 00                    db      0F2h, 0Eh,0FFh,0FFh, 00h, 00h
31E4:C981  20 00 57 6D 3C 14                    db       20h, 00h, 57h, 6Dh, 3Ch, 14h
31E4:C987  02 00 67 01 67 00                    db       02h, 00h, 67h, 01h, 67h, 00h
31E4:C98D  00 00 00 05 02 00                    db       00h, 00h, 00h, 05h, 02h, 00h
31E4:C993  00 00 00 03 12 00                    db       00h, 00h, 00h, 03h, 12h, 00h
31E4:C999  00 00 00 A2 01 C7                    db       00h, 00h, 00h,0A2h, 01h,0C7h
31E4:C99F  01 04 01 18 01 FF                    db       01h, 04h, 01h, 18h, 01h,0FFh
31E4:C9A5  FF 26 00 9F 00 13                    db      0FFh, 26h, 00h, 9Fh, 00h, 13h
31E4:C9AB  01 80 00 9B 00 FA                    db       01h, 80h, 00h, 9Bh, 00h,0FAh
31E4:C9B1  00 18 01 FF FF 28                    db       00h, 18h, 01h,0FFh,0FFh, 28h
31E4:C9B7  00 86 01 13 01 FF                    db       00h, 86h, 01h, 13h, 01h,0FFh
31E4:C9BD  FF 00 00 20 00 57                    db      0FFh, 00h, 00h, 20h, 00h, 57h
31E4:C9C3  6D 3C 14 02 00 68                    db       6Dh, 3Ch, 14h, 02h, 00h, 68h
31E4:C9C9  01 68 00 00 00 00                    db       01h, 68h, 00h, 00h, 00h, 00h
31E4:C9CF  FF FF 00 00 00 00                    db      0FFh,0FFh, 00h, 00h, 00h, 00h
31E4:C9D5  03 12 00 00 00 00                    db       03h, 12h, 00h, 00h, 00h, 00h
31E4:C9DB  A2 01 C7 01 04 01                    db      0A2h, 01h,0C7h, 01h, 04h, 01h
31E4:C9E1  18 01 FF FF 27 00                    db       18h, 01h,0FFh,0FFh, 27h, 00h
31E4:C9E7  9F 00 13 01 80 00                    db       9Fh, 00h, 13h, 01h, 80h, 00h
31E4:C9ED  9B 00 FA 00 18 01                    db       9Bh, 00h,0FAh, 00h, 18h, 01h
31E4:C9F3  FF FF 05 00 86 01                    db      0FFh,0FFh, 05h, 00h, 86h, 01h
31E4:C9F9  13 01 FF FF 00 00                    db       13h, 01h,0FFh,0FFh, 00h, 00h
31E4:C9FF  20 00 57 6D 3C 14                    db       20h, 00h, 57h, 6Dh, 3Ch, 14h
31E4:CA05  02 00 46 01 46 00                    db       02h, 00h, 46h, 01h, 46h, 00h
31E4:CA0B  00 00 00 FF FF 00                    db       00h, 00h, 00h,0FFh,0FFh, 00h
31E4:CA11  00 00 00 03 12 00                    db       00h, 00h, 00h, 03h, 12h, 00h
31E4:CA17  00 00 00 A2 01 C7                    db       00h, 00h, 00h,0A2h, 01h,0C7h
31E4:CA1D  01 04 01 18 01 FF                    db       01h, 04h, 01h, 18h, 01h,0FFh
31E4:CA23  FF 28 00 9F 00 13                    db      0FFh, 28h, 00h, 9Fh, 00h, 13h
31E4:CA29  01 29 01 51 01 E6                    db       01h, 29h, 01h, 51h, 01h,0E6h
31E4:CA2F  00 F7 00 FF FF 06                    db       00h,0F7h, 00h,0FFh,0FFh, 06h
31E4:CA35  20 96 01 1B 01 FF                    db       20h, 96h, 01h, 1Bh, 01h,0FFh
31E4:CA3B  FF 00 00 20 00 57                    db      0FFh, 00h, 00h, 20h, 00h, 57h
31E4:CA41  6D 3C 14 02 00 45                    db       6Dh, 3Ch, 14h, 02h, 00h, 45h
31E4:CA47  01 45 00 00 00 00                    db       01h, 45h, 00h, 00h, 00h, 00h
31E4:CA4D  B1 01 FF FF 0F 00                    db      0B1h, 01h,0FFh,0FFh, 0Fh, 00h
31E4:CA53  03 12 00 00 00 00                    db       03h, 12h, 00h, 00h, 00h, 00h
31E4:CA59  A2 01 C7 01 04 01                    db      0A2h, 01h,0C7h, 01h, 04h, 01h
31E4:CA5F  18 01 FF FF 05 40                    db       18h, 01h,0FFh,0FFh, 05h, 40h
31E4:CA65  32 01 04 01 80 00                    db       32h, 01h, 04h, 01h, 80h, 00h
31E4:CA6B  9B 00 FA 00 18 01                    db       9Bh, 00h,0FAh, 00h, 18h, 01h
31E4:CA71  FF FF 29 00 86 01                    db      0FFh,0FFh, 29h, 00h, 86h, 01h
31E4:CA77  13 01 FF FF 00 00                    db       13h, 01h,0FFh,0FFh, 00h, 00h
31E4:CA7D  20 00 57 6D 3C 14                    db       20h, 00h, 57h, 6Dh, 3Ch, 14h
31E4:CA83  02 00 69 01 69 00                    db       02h, 00h, 69h, 01h, 69h, 00h
31E4:CA89  00 00 00 FF FF FF                    db       00h, 00h, 00h,0FFh,0FFh,0FFh
31E4:CA8F  FF 0F 00 03 12 00                    db      0FFh, 0Fh, 00h, 03h, 12h, 00h
31E4:CA95  00 00 00 A2 01 C7                    db       00h, 00h, 00h,0A2h, 01h,0C7h
31E4:CA9B  01 04 01 18 01 FF                    db       01h, 04h, 01h, 18h, 01h,0FFh
31E4:CAA1  FF 06 00 8F 00 1B                    db      0FFh, 06h, 00h, 8Fh, 00h, 1Bh
31E4:CAA7  01 FF FF 00 00 20                    db       01h,0FFh,0FFh, 00h, 00h, 20h
31E4:CAAD  00 57 6D 3C 14 03                    db       00h, 57h, 6Dh, 3Ch, 14h, 03h
31E4:CAB3  00 EA 01 EA 02 EA                    db       00h,0EAh, 01h,0EAh, 02h,0EAh
31E4:CAB9  00 00 51 00 FF FF                    db       00h, 00h, 51h, 00h,0FFh,0FFh
31E4:CABF  0F 00 04 12 00 00                    db       0Fh, 00h, 04h, 12h, 00h, 00h
31E4:CAC5  00 00 B4 01 C7 01                    db       00h, 00h,0B4h, 01h,0C7h, 01h
31E4:CACB  20 01 34 01 FF FF                    db       20h, 01h, 34h, 01h,0FFh,0FFh
31E4:CAD1  2B 00 7F 00 1D 01                    db       2Bh, 00h, 7Fh, 00h, 1Dh, 01h
31E4:CAD7  FF FF 00 00 20 00                    db      0FFh,0FFh, 00h, 00h, 20h, 00h
31E4:CADD  57 6D 3C 14 02 00                    db       57h, 6Dh, 3Ch, 14h, 02h, 00h
31E4:CAE3  EB 01 EB 00 00 00                    db      0EBh, 01h,0EBh, 00h, 00h, 00h
31E4:CAE9  00 FF FF FF FF 0F                    db       00h,0FFh,0FFh,0FFh,0FFh, 0Fh
31E4:CAEF  00 04 12 00 00 00                    db       00h, 04h, 12h, 00h, 00h, 00h
31E4:CAF5  00 7F 00 8D 00 08                    db       00h, 7Fh, 00h, 8Dh, 00h, 08h
31E4:CAFB  01 34 0B FF FF 2A                    db       01h, 34h, 0Bh,0FFh,0FFh, 2Ah
31E4:CB01  00 A4 01 32 01 B7                    db       00h,0A4h, 01h, 32h, 01h,0B7h
31E4:CB07  01 C7 01 09 01 1E                    db       01h,0C7h, 01h, 09h, 01h, 1Eh
31E4:CB0D  01 FF FF 2C 80 0A                    db       01h,0FFh,0FFh, 2Ch, 80h, 0Ah
31E4:CB13  01 40 01 FF FF 00                    db       01h, 40h, 01h,0FFh,0FFh, 00h
31E4:CB19  00 00 00 57 6D 3C                    db       00h, 00h, 00h, 57h, 6Dh, 3Ch
31E4:CB1F  14 03 00 EC 01 EC                    db       14h, 03h, 00h,0ECh, 01h,0ECh
31E4:CB25  02 EC 00 00 FF FF                    db       02h,0ECh, 00h, 00h,0FFh,0FFh
31E4:CB2B  FF FF 0F 00 04 12                    db      0FFh,0FFh, 0Fh, 00h, 04h, 12h
31E4:CB31  00 00 00 00 09 01                    db       00h, 00h, 00h, 00h, 09h, 01h
31E4:CB37  2C 01 44 01 4A 01                    db       2Ch, 01h, 44h, 01h, 4Ah, 01h
31E4:CB3D  FF FF 2B 20 A4 01                    db      0FFh,0FFh, 2Bh, 20h,0A4h, 01h
31E4:CB43  1A 01 D0 00 F0 00                    db       1Ah, 01h,0D0h, 00h,0F0h, 00h
31E4:CB49  EE 00 FB 00 FF FF                    db      0EEh, 00h,0FBh, 00h,0FFh,0FFh
31E4:CB4F  2D 10 A0 00 C8 00                    db       2Dh, 10h,0A0h, 00h,0C8h, 00h
31E4:CB55  6A 01 88 01 F0 00                    db       6Ah, 01h, 88h, 01h,0F0h, 00h
31E4:CB5B  F9 00 FF FF 2D 10                    db      0F9h, 00h,0FFh,0FFh, 2Dh, 10h
31E4:CB61  87 00 3C 01 FF FF                    db       87h, 00h, 3Ch, 01h,0FFh,0FFh
31E4:CB67  00 00 20 00 57 6D                    db       00h, 00h, 20h, 00h, 57h, 6Dh
31E4:CB6D  3C 14 03 00 ED 01                    db       3Ch, 14h, 03h, 00h,0EDh, 01h
31E4:CB73  ED 02 ED 03 ED FF                    db      0EDh, 02h,0EDh, 03h,0EDh,0FFh
31E4:CB79  FF FF FF 0F 00 04                    db      0FFh,0FFh,0FFh, 0Fh, 00h, 04h
31E4:CB7F  12 00 00 00 00 9A                    db       12h, 00h, 00h, 00h, 00h, 9Ah
31E4:CB85  00 AE 00 C0 00 CC                    db       00h,0AEh, 00h,0C0h, 00h,0CCh
31E4:CB8B  00 FF FF 2C 40 D3                    db       00h,0FFh,0FFh, 2Ch, 40h,0D3h
31E4:CB91  00 02 01 BF 01 F4                    db       00h, 02h, 01h,0BFh, 01h,0F4h
31E4:CB97  01 C0 00 CC 00 FF                    db       01h,0C0h, 00h,0CCh, 00h,0FFh
31E4:CB9D  FF 2E 00 71 00 C8                    db      0FFh, 2Eh, 00h, 71h, 00h,0C8h
31E4:CBA3  00 80 00 8B 00 2C                    db       00h, 80h, 00h, 8Bh, 00h, 2Ch
31E4:CBA9  01 5E 01 FF FF 2C                    db       01h, 5Eh, 01h,0FFh,0FFh, 2Ch
31E4:CBAF  40 6E 01 07 01 BF                    db       40h, 6Eh, 01h, 07h, 01h,0BFh
31E4:CBB5  01 F4 01 11 01 36                    db       01h,0F4h, 01h, 11h, 01h, 36h
31E4:CBBB  01 FF FF 2E 00 71                    db       01h,0FFh,0FFh, 2Eh, 00h, 71h
31E4:CBC1  00 2F 01 CA 00 F0                    db       00h, 2Fh, 01h,0CAh, 00h,0F0h
31E4:CBC7  00 22 01 47 01 15                    db       00h, 22h, 01h, 47h, 01h, 15h
31E4:CBCD  1E FF FF 00 00 00                    db       1Eh,0FFh,0FFh, 00h, 00h, 00h
31E4:CBD3  00 57 6D 3C 14 03                    db       00h, 57h, 6Dh, 3Ch, 14h, 03h
31E4:CBD9  00 EE 01 EE 02 EE                    db       00h,0EEh, 01h,0EEh, 02h,0EEh
31E4:CBDF  03 EE D3 04 FF FF                    db       03h,0EEh,0D3h, 04h,0FFh,0FFh
31E4:CBE5  0F 00 04 12 00 00                    db       0Fh, 00h, 04h, 12h, 00h, 00h
31E4:CBEB  00 00 7F 00 84 00                    db       00h, 00h, 7Fh, 00h, 84h, 00h
31E4:CBF1  C0 00 CC 00 FF FF                    db      0C0h, 00h,0CCh, 00h,0FFh,0FFh
31E4:CBF7  2D 00 AA 01 C8 00                    db       2Dh, 00h,0AAh, 01h,0C8h, 00h
31E4:CBFD  7F 00 84 00 11 01                    db       7Fh, 00h, 84h, 00h, 11h, 01h
31E4:CC03  36 01 FF FF 2D 00                    db       36h, 01h,0FFh,0FFh, 2Dh, 00h
31E4:CC09  AA 01 2F 01 A1 01                    db      0AAh, 01h, 2Fh, 01h,0A1h, 01h
31E4:CC0F  B8 01 2F 01 40 01                    db      0B8h, 01h, 2Fh, 01h, 40h, 01h
31E4:CC15  FF FF 30 00 AA 00                    db      0FFh,0FFh, 30h, 00h,0AAh, 00h
31E4:CC1B  12 01 00 01 22 01                    db       12h, 01h, 00h, 01h, 22h, 01h
31E4:CC21  A0 00 BC 00 90 05                    db      0A0h, 00h,0BCh, 00h, 90h, 05h
31E4:CC27  FF FF 00 00 20 00                    db      0FFh,0FFh, 00h, 00h, 20h, 00h
31E4:CC2D  57 6D 3C 14 02 00                    db       57h, 6Dh, 3Ch, 14h, 02h, 00h
31E4:CC33  F0 01 F0 00 00 00                    db      0F0h, 01h,0F0h, 00h, 00h, 00h
31E4:CC39  00 FF FF 00 00 00                    db       00h,0FFh,0FFh, 00h, 00h, 00h
31E4:CC3F  00 01 12 00 00 00                    db       00h, 01h, 12h, 00h, 00h, 00h
31E4:CC45  00 80 00 8C 00 31                    db       00h, 80h, 00h, 8Ch, 00h, 31h
31E4:CC4B  01 36 01 FF FF 2E                    db       01h, 36h, 01h,0FFh,0FFh, 2Eh
31E4:CC51  40 07 01 CF 00 B6                    db       40h, 07h, 01h,0CFh, 00h,0B6h
31E4:CC57  01 C2 01 31 01 4A                    db       01h,0C2h, 01h, 31h, 01h, 4Ah
31E4:CC5D  01 FF FF 2E 40 07                    db       01h,0FFh,0FFh, 2Eh, 40h, 07h
31E4:CC63  01 CF 00 FF FF 00                    db       01h,0CFh, 00h,0FFh,0FFh, 00h
31E4:CC69  00 20 00 57 6D 3C                    db       00h, 20h, 00h, 57h, 6Dh, 3Ch
31E4:CC6F  14 02 00 EF 01 EF                    db       14h, 02h, 00h,0EFh, 01h,0EFh
31E4:CC75  00 00 00 00 FF FF                    db       00h, 00h, 00h, 00h,0FFh,0FFh
31E4:CC7B  00 00 00 00 04 12                    db       00h, 00h, 00h, 00h, 04h, 12h
31E4:CC81  00 00 00 00 A6 00                    db       00h, 00h, 00h, 00h,0A6h, 00h
31E4:CC87  B5 00 07 01 10 01                    db      0B5h, 00h, 07h, 01h, 10h, 01h
31E4:CC8D  FF FF 2E 00 83 01                    db      0FFh,0FFh, 2Eh, 00h, 83h, 01h
31E4:CC93  38 01 FF FF 00 00                    db       38h, 01h,0FFh,0FFh, 00h, 00h
31E4:CC99  20 00 57 6D 3C 14                    db       20h, 00h, 57h, 6Dh, 3Ch, 14h
31E4:CC9F  02 00 F2 01 F2 00                    db       02h, 00h,0F2h, 01h,0F2h, 00h
31E4:CCA5  00 00 00 DE 01 FF                    db       00h, 00h, 00h,0DEh, 01h,0FFh
31E4:CCAB  FF 0F 00 01 12 00                    db      0FFh, 0Fh, 00h, 01h, 12h, 00h
31E4:CCB1  00 00 00 80 00 8C                    db       00h, 00h, 00h, 80h, 00h, 8Ch
31E4:CCB7  00 31 01 4A 01 AD                    db       00h, 31h, 01h, 4Ah, 01h,0ADh
31E4:CCBD  01 FF FF 00 00 00                    db       01h,0FFh,0FFh, 00h, 00h, 00h
31E4:CCC3  00 57 6D 00 00 01                    db       00h, 57h, 6Dh, 00h, 00h, 01h
31E4:CCC9  00 78 00 00 00 00                    db       00h, 78h, 00h, 00h, 00h, 00h
31E4:CCCF  00 00 FF FF FF FF                    db       00h, 00h,0FFh,0FFh,0FFh,0FFh
31E4:CCD5  0F 00 01 12 00 00                    db       0Fh, 00h, 01h, 12h, 00h, 00h
31E4:CCDB  00 00 FF FF 00                       db       00h, 00h,0FFh,0FFh, 00h

31E4:CCE0  0014[00]   talk_character_buffer     db       20 dup (0)
31E4:CCF4  012C[00]        talk_text_buffer     db      300 dup (0)

31E4:CE20  05                    game_flags     db      5
31E4:CE21  00 00                                db      0, 0
31E4:CE23  000D[00]                             db      13 dup (0)
31E4:CE30                       loc_2362:                                       ;  xref 31E4:CEA5

31E4:CE30  11 27      room_exit_joins_table     dw      2711h                   ; Res Id for Cell Door #1
31E4:CE32  03 03                                dw      0303h                   ; Result 1
31E4:CE34  0A 09                                dw      090Ah
31E4:CE36  12 27                                dw      2712h                   ; Res Id for Cell Door #2
31E4:CE38  03 04                                dw      0403h                   ; Result 2

31E4:CE3A  0A 09                                or      cl,[bx+di]
31E4:CE3C  01 38                                add     [bx+si],di
31E4:CE3E  87 70 87                             xchg    [bx+si-79h],si
31E4:CE41  14 27                                adc     al,27h                  ; '''
31E4:CE43  03 03                                add     ax,[bp+di]
31E4:CE45  0D 000D                              or      ax,0Dh
31E4:CE48  00 00                                add     [bx+si],al
31E4:CE4A  00 0A                                add     [bp+si],cl
31E4:CE4C  09 01                                or      [bx+di],ax
31E4:CE4E  AE                                   scasb                           ; Scan es:[di] for al
31E4:CE4F  87 AE 1587                           xchg    [bp+1587h],bp
31E4:CE53  27                                   daa                             ; Decimal adjust
31E4:CE54  03 04                                add     ax,[si]
31E4:CE56  0A 17                                or      dl,[bx]
31E4:CE58  16                                   push    ss
31E4:CE59  27                                   daa                             ; Decimal adjust
31E4:CE5A  03 05                                add     ax,[di]
31E4:CE5C  0A 17                                or      dl,[bx]
31E4:CE5E  01 E6                                add     si,sp
31E4:CE60  87 1B                                xchg    [bp+di],bx
31E4:CE62  88 17                                mov     [bx],dl
31E4:CE64  27                                   daa                             ; Decimal adjust
31E4:CE65  03 04                                add     ax,[si]
31E4:CE67  0A 17                                or      dl,[bx]
31E4:CE69  18 27                                sbb     [bx],ah
31E4:CE6B  03 05                                add     ax,[di]
31E4:CE6D  0A 17                                or      dl,[bx]
31E4:CE6F  01 AE D888                           add     [bp-2778h],bp
31E4:CE73  88 19                                mov     [bx+di],bl
31E4:CE75  27                                   daa                             ; Decimal adjust
31E4:CE76  03 04                                add     ax,[si]
31E4:CE78  0A 17                                or      dl,[bx]
31E4:CE7A  1A 27                                sbb     ah,[bx]
31E4:CE7C  03 05                                add     ax,[di]
31E4:CE7E  0A 17                                or      dl,[bx]
31E4:CE80  01 10                                add     [bx+si],dx
31E4:CE82  89 69 8A                             mov     [bx+di-76h],bp
31E4:CE85  1E                                   push    ds
31E4:CE86  27                                   daa                             ; Decimal adjust
31E4:CE87  03 04                                add     ax,[si]
31E4:CE89  0A 17                                or      dl,[bx]
31E4:CE8B  29 27                                sub     [bx],sp
31E4:CE8D  03 04                                add     ax,[si]
31E4:CE8F  0A 17                                or      dl,[bx]
31E4:CE91  01 A4 CE8A                           add     ds:data_59e[si],sp      ; (0000:CE8A=301Eh)
31E4:CE95  8A 1F                                mov     bl,[bx]
31E4:CE97  27                                   daa                             ; Decimal adjust
31E4:CE98  03 05                                add     ax,[di]
31E4:CE9A  0A 17                                or      dl,[bx]
31E4:CE9C  20 27                                and     [bx],ah
31E4:CE9E  03 05                                add     ax,[di]
31E4:CEA0  0A 17                                or      dl,[bx]
31E4:CEA2  01 4B 89                             add     [bp+di-77h],cx
31E4:CEA5  75 89                                jnz     loc_2362                ; Jump if not zero
31E4:CEA7  21 27                                and     [bx],sp
31E4:CEA9  03 05                                add     ax,[di]
31E4:CEAB  0A 17                                or      dl,[bx]
31E4:CEAD  22 27                                and     ah,[bx]
31E4:CEAF  03 05                                add     ax,[di]
31E4:CEB1  0A 17                                or      dl,[bx]
31E4:CEB3  01 B0 DA89                           add     ds:data_60e[bx+si],si   ; (0000:DA89=52F9h)
31E4:CEB7  89 25                                mov     [di],sp
31E4:CEB9  27                                   daa                             ; Decimal adjust
31E4:CEBA  03 05                                add     ax,[di]
31E4:CEBC  0A 17                                or      dl,[bx]
31E4:CEBE  26 27 03 04 0A 17                    db       26h, 27h, 03h, 04h, 0Ah, 17h
31E4:CEC4  01 15 8A 3F 8A 2A                    db       01h, 15h, 8Ah, 3Fh, 8Ah, 2Ah
31E4:CECA  27 03 05 00 00 2B                    db       27h, 03h, 05h, 00h, 00h, 2Bh
31E4:CED0  27 03 05 00 00 01                    db       27h, 03h, 05h, 00h, 00h, 01h
31E4:CED6  09 8B 33 8B 2C 27                    db       09h, 8Bh, 33h, 8Bh, 2Ch, 27h
31E4:CEDC  03 05 00 00 2D 27                    db       03h, 05h, 00h, 00h, 2Dh, 27h
31E4:CEE2  03 05 00 00 01 5D                    db       03h, 05h, 00h, 00h, 01h, 5Dh
31E4:CEE8  8B 87 8B 2E 27 03                    db       8Bh, 87h, 8Bh, 2Eh, 27h, 03h
31E4:CEEE  05 00 00 2F 27 03                    db       05h, 00h, 00h, 2Fh, 27h, 03h
31E4:CEF4  05 00 00 01 B1 8B                    db       05h, 00h, 00h, 01h,0B1h, 8Bh
31E4:CEFA  DB 8B 00                             db      0DBh, 8Bh, 00h
31E4:CEFD  0005[00]                             db       5 dup (0)

31E4:CF02  0000            talk_response_ptr    dw       0
31E4:CF04  0000        talk_next_talk_offset    dw       0
31E4:CF06  0000          talk_to_hotspot_ptr    dw       0
31E4:CF08  0000                   talk_state    dw       0
31E4:CF09  00                  talk_line_num    db       0
31E4:CF0A  00             talk_selected_line    db       0
31E4:CF0B  00                      talk_cf0b    db       0
31E4:CF0C  0008              talk_entry_list    db       8 dup (0)

31E4:CF14  3A CF 00 80 24 04                    db       3Ah,0CFh, 00h, 80h, 24h, 04h
31E4:CF1A  00 00 00 80 FB 00                    db       00h, 00h, 00h, 80h,0FBh, 00h
31E4:CF20  01 00 00 80 F9 00                    db       01h, 00h, 00h, 80h,0F9h, 00h
31E4:CF26  02 00 00 80 FC 00                    db       02h, 00h, 00h, 80h,0FCh, 00h
31E4:CF2C  03 00 00 80 FE 00                    db       03h, 00h, 00h, 80h,0FEh, 00h
31E4:CF32  04 00 00 80 24 04                    db       04h, 00h, 00h, 80h, 24h, 04h
31E4:CF38  05 00 00 00 FA 00                    db       05h, 00h, 00h, 00h,0FAh, 00h
31E4:CF3E  01 00 0B 20 00 01                    db       01h, 00h, 0Bh, 20h, 00h, 01h
31E4:CF44  02 00 00 00 FF 00                    db       02h, 00h, 00h, 00h,0FFh, 00h
31E4:CF4A  03 00 00 00 01 01                    db       03h, 00h, 00h, 00h, 01h, 01h
31E4:CF50  04 00 00 00 94 00                    db       04h, 00h, 00h, 00h, 94h, 00h
31E4:CF56  05 00 E9 1F 24 04                    db       05h, 00h,0E9h, 1Fh, 24h, 04h
31E4:CF5C  FF FF 78 CF 00 80                    db      0FFh,0FFh, 78h,0CFh, 00h, 80h
31E4:CF62  24 04 00 00 00 80                    db       24h, 04h, 00h, 00h, 00h, 80h
31E4:CF68  78 0A 01 00 00 80                    db       78h, 0Ah, 01h, 00h, 00h, 80h
31E4:CF6E  24 04 02 00 00 80                    db       24h, 04h, 02h, 00h, 00h, 80h
31E4:CF74  24 04 03 00 00 00                    db       24h, 04h, 03h, 00h, 00h, 00h
31E4:CF7A  77 0A 01 00 00 00                    db       77h, 0Ah, 01h, 00h, 00h, 00h
31E4:CF80  40 0B 02 00 00 00                    db       40h, 0Bh, 02h, 00h, 00h, 00h
31E4:CF86  41 0B 03 00 7E 29                    db       41h, 0Bh, 03h, 00h, 7Eh, 29h
31E4:CF8C  24 04 FF FF 9E CF                    db       24h, 04h,0FFh,0FFh, 9Eh,0CFh
31E4:CF92  00 80 24 04 00 00                    db       00h, 80h, 24h, 04h, 00h, 00h
31E4:CF98  00 80 24 04 01 00                    db       00h, 80h, 24h, 04h, 01h, 00h
31E4:CF9E  00 00 24 04 01 00                    db       00h, 00h, 24h, 04h, 01h, 00h
31E4:CFA4  60 2A 24 04 FF FF                    db       60h, 2Ah, 24h, 04h,0FFh,0FFh
31E4:CFAA  BE CF 00 80 24 04                    db      0BEh,0CFh, 00h, 80h, 24h, 04h
31E4:CFB0  00 00 00 80 24 04                    db       00h, 00h, 00h, 80h, 24h, 04h
31E4:CFB6  01 00 00 80 24 04                    db       01h, 00h, 00h, 80h, 24h, 04h
31E4:CFBC  02 00 00 00 BD 0B                    db       02h, 00h, 00h, 00h,0BDh, 0Bh
31E4:CFC2  01 00 00 00 BE 0B                    db       01h, 00h, 00h, 00h,0BEh, 0Bh
31E4:CFC8  02 00 00 00 BF 0B                    db       02h, 00h, 00h, 00h,0BFh, 0Bh
31E4:CFCE  FF FF E4 CF 00 80                    db      0FFh,0FFh,0E4h,0CFh, 00h, 80h
31E4:CFD4  24 04 00 00 00 80                    db       24h, 04h, 00h, 00h, 00h, 80h
31E4:CFDA  EC 0B 01 00 00 80                    db      0ECh, 0Bh, 01h, 00h, 00h, 80h
31E4:CFE0  EE 0B 02 00 00 00                    db      0EEh, 0Bh, 02h, 00h, 00h, 00h
31E4:CFE6  EB 0B 01 00 00 00                    db      0EBh, 0Bh, 01h, 00h, 00h, 00h
31E4:CFEC  ED 0B 02 00 00 00                    db      0EDh, 0Bh, 02h, 00h, 00h, 00h
31E4:CFF2  EF 0B FF FF 04 D0                    db      0EFh, 0Bh,0FFh,0FFh, 04h,0D0h
31E4:CFF8  00 80 24 04 00 00                    db       00h, 80h, 24h, 04h, 00h, 00h
31E4:CFFE  00 80 24 04 01 00                    db       00h, 80h, 24h, 04h, 01h, 00h
31E4:D004  00 00 17 0B 01 00                    db       00h, 00h, 17h, 0Bh, 01h, 00h
31E4:D00A  06 19 24 04 FF FF                    db       06h, 19h, 24h, 04h,0FFh,0FFh
31E4:D010  18 D0 00 80 D5 07                    db       18h,0D0h, 00h, 80h,0D5h, 07h
31E4:D016  00 00 73 2A 10 0C                    db       00h, 00h, 73h, 2Ah, 10h, 0Ch
31E4:D01C  FF FF 26 D0 00 80                    db      0FFh,0FFh, 26h,0D0h, 00h, 80h
31E4:D022  F9 07 00 00 00 00                    db      0F9h, 07h, 00h, 00h, 00h, 00h
31E4:D028  13 0C FF FF 46 D0                    db       13h, 0Ch,0FFh,0FFh, 46h,0D0h
31E4:D02E  00 80 FB 07 00 00                    db       00h, 80h,0FBh, 07h, 00h, 00h
31E4:D034  00 80 16 0C 01 00                    db       00h, 80h, 16h, 0Ch, 01h, 00h
31E4:D03A  00 80 18 0C 02 00                    db       00h, 80h, 18h, 0Ch, 02h, 00h
31E4:D040  00 80 1A                             db       00h, 80h, 1Ah
31E4:D043  0C                                   db      0Ch
31E4:D044                       loc_2363:
31E4:D044  03 00                                add     ax,[bx+si]
31E4:D046  00 00                                add     [bx+si],al
31E4:D048  15 010C                              adc     ax,10Ch
31E4:D04B  00 00                                add     [bx+si],al
31E4:D04D  00 17                                add     [bx],dl
31E4:D04F  0C 02                                or      al,2
31E4:D051  00 00                                add     [bx+si],al
31E4:D053  00 19                                add     [bx+di],bl
31E4:D055  0C 03                                or      al,3
31E4:D057  00 00                                add     [bx+si],al
31E4:D059  00 1B                                add     [bp+di],bl
31E4:D05B  0C FF                                or      al,0FFh
31E4:D05D  FF 66 D0                             jmp     word ptr [bp-30h]       ;*
                                sub_276         endp

31E4:D060  00 80 29 0A 00 00                    db       00h, 80h, 29h, 0Ah, 00h, 00h
31E4:D066  00 00 0D 0C FF FF                    db       00h, 00h, 0Dh, 0Ch,0FFh,0FFh
31E4:D06C  8C D0 00 00 22 08                    db       8Ch,0D0h, 00h, 00h, 22h, 08h
31E4:D072  00 00 00 80 2C 08                    db       00h, 00h, 00h, 80h, 2Ch, 08h
31E4:D078  02 00 00 80 29 0C                    db       02h, 00h, 00h, 80h, 29h, 0Ch
31E4:D07E  01 00 00 80 24 04                    db       01h, 00h, 00h, 80h, 24h, 04h
31E4:D084  03 00 00 80 2E 0C                    db       03h, 00h, 00h, 80h, 2Eh, 0Ch
31E4:D08A  04 00 00 00 28 0C                    db       04h, 00h, 00h, 00h, 28h, 0Ch
31E4:D090  02 00 00 00 2A 0C                    db       02h, 00h, 00h, 00h, 2Ah, 0Ch
31E4:D096  FF FF 00 00 2C 0C                    db      0FFh,0FFh, 00h, 00h, 2Ch, 0Ch
31E4:D09C  03 00 00 00 2D 0C                    db       03h, 00h, 00h, 00h, 2Dh, 0Ch
31E4:D0A2  04 00 00 00 2F 0C                    db       04h, 00h, 00h, 00h, 2Fh, 0Ch
31E4:D0A8  FF FF CA D0 00 00                    db      0FFh,0FFh,0CAh,0D0h, 00h, 00h
31E4:D0AE  38 88 00 00 00 80                    db       38h, 88h, 00h, 00h, 00h, 80h
31E4:D0B4  0F 0C 04 00 00 80                    db       0Fh, 0Ch, 04h, 00h, 00h, 80h
31E4:D0BA  1E 0C 01 00 00 80                    db       1Eh, 0Ch, 01h, 00h, 00h, 80h
31E4:D0C0  20 0C 02 00 00 80                    db       20h, 0Ch, 02h, 00h, 00h, 80h
31E4:D0C6  24 04 03 00 00 00                    db       24h, 04h, 03h, 00h, 00h, 00h
31E4:D0CC  1D 0C 02 00 00 00                    db       1Dh, 0Ch, 02h, 00h, 00h, 00h
31E4:D0D2  1F 0C 03 00 00 00                    db       1Fh, 0Ch, 03h, 00h, 00h, 00h
31E4:D0D8  21 0C 04 00 83 2A                    db       21h, 0Ch, 04h, 00h, 83h, 2Ah
31E4:D0DE  24 04 FF FF 00 00                    db       24h, 04h,0FFh,0FFh, 00h, 00h
31E4:D0E4  12 0C FF FF FC D0                    db       12h, 0Ch,0FFh,0FFh,0FCh,0D0h
31E4:D0EA  00 80 24 04 00 00                    db       00h, 80h, 24h, 04h, 00h, 00h
31E4:D0F0  00 80 32 0C 01 00                    db       00h, 80h, 32h, 0Ch, 01h, 00h
31E4:D0F6  00 80 34 0C 02 00                    db       00h, 80h, 34h, 0Ch, 02h, 00h
31E4:D0FC  00 00 31 0C 01 00                    db       00h, 00h, 31h, 0Ch, 01h, 00h
31E4:D102  00 00 33 0C 02 00                    db       00h, 00h, 33h, 0Ch, 02h, 00h
31E4:D108  00 00 35 0C FF FF                    db       00h, 00h, 35h, 0Ch,0FFh,0FFh
31E4:D10E  28 D1 00 00 CA 09                    db       28h,0D1h, 00h, 00h,0CAh, 09h
31E4:D114  00 00 00 80 0D 0B                    db       00h, 00h, 00h, 80h, 0Dh, 0Bh
31E4:D11A  02 00 00 80 38 0C                    db       02h, 00h, 00h, 80h, 38h, 0Ch
31E4:D120  01 00 00 80 3C 0C                    db       01h, 00h, 00h, 80h, 3Ch, 0Ch
31E4:D126  03 00 00 00 37 0C                    db       03h, 00h, 00h, 00h, 37h, 0Ch
31E4:D12C  02 00 00 00 39 0C                    db       02h, 00h, 00h, 00h, 39h, 0Ch
31E4:D132  FF FF 00 00 3B 0C                    db      0FFh,0FFh, 00h, 00h, 3Bh, 0Ch
31E4:D138  03 00 00 00 3D 0C                    db       03h, 00h, 00h, 00h, 3Dh, 0Ch
31E4:D13E  FF FF 5A D1 69 23                    db      0FFh,0FFh, 5Ah,0D1h, 69h, 23h
31E4:D144  03 09 00 00 00 80                    db       03h, 09h, 00h, 00h, 00h, 80h
31E4:D14A  27 0C 03 00 00 80                    db       27h, 0Ch, 03h, 00h, 00h, 80h
31E4:D150  40 0C 01 00 00 80                    db       40h, 0Ch, 01h, 00h, 00h, 80h
31E4:D156  24 04 02 00 00 00                    db       24h, 04h, 02h, 00h, 00h, 00h
31E4:D15C  3F 0C 02 00 00 00                    db       3Fh, 0Ch, 02h, 00h, 00h, 00h
31E4:D162  41 0C 03 00 00 00                    db       41h, 0Ch, 03h, 00h, 00h, 00h
31E4:D168  42 0C FF FF 00 00                    db       42h, 0Ch,0FFh,0FFh, 00h, 00h
31E4:D16E  2B 0C FF FF 80 D1                    db       2Bh, 0Ch,0FFh,0FFh, 80h,0D1h
31E4:D174  00 80 EF 09 00 00                    db       00h, 80h,0EFh, 09h, 00h, 00h
31E4:D17A  00 80 45 0C 01 00                    db       00h, 80h, 45h, 0Ch, 01h, 00h
31E4:D180  00 00 44 0C 01 00                    db       00h, 00h, 44h, 0Ch, 01h, 00h
31E4:D186  00 00 46 0C FF FF                    db       00h, 00h, 46h, 0Ch,0FFh,0FFh
31E4:D18C  9A D1 00 80 40 09                    db       9Ah,0D1h, 00h, 80h, 40h, 09h
31E4:D192  00 00 00 80 48 0C                    db       00h, 00h, 00h, 80h, 48h, 0Ch
31E4:D198  01 00 00 00 47 0C                    db       01h, 00h, 00h, 00h, 47h, 0Ch
31E4:D19E  01 00 00 00 49 0C                    db       01h, 00h, 00h, 00h, 49h, 0Ch
31E4:D1A4  FF FF B4 D1 00 80                    db      0FFh,0FFh,0B4h,0D1h, 00h, 80h
31E4:D1AA  48 09 00 00 00 80                    db       48h, 09h, 00h, 00h, 00h, 80h
31E4:D1B0  4B 0C 01 00 00 00                    db       4Bh, 0Ch, 01h, 00h, 00h, 00h
31E4:D1B6  4A 0C 01 00 00 00                    db       4Ah, 0Ch, 01h, 00h, 00h, 00h
31E4:D1BC  24 04 FF FF CE D1                    db       24h, 04h,0FFh,0FFh,0CEh,0D1h
31E4:D1C2  00 80 2E 0B 00 00                    db       00h, 80h, 2Eh, 0Bh, 00h, 00h
31E4:D1C8  00 80 4E 0C 01 00                    db       00h, 80h, 4Eh, 0Ch, 01h, 00h
31E4:D1CE  00 00 4D 0C 01 00                    db       00h, 00h, 4Dh, 0Ch, 01h, 00h
31E4:D1D4  00 00 4F 0C FF FF                    db       00h, 00h, 4Fh, 0Ch,0FFh,0FFh
31E4:D1DA  E2 D1 00 80 92 09                    db      0E2h,0D1h, 00h, 80h, 92h, 09h
31E4:D1E0  00 00 00 00 50 0C                    db       00h, 00h, 00h, 00h, 50h, 0Ch
31E4:D1E6  FF FF F6 D1 00 80                    db      0FFh,0FFh,0F6h,0D1h, 00h, 80h
31E4:D1EC  38 0A 00 00 00 80                    db       38h, 0Ah, 00h, 00h, 00h, 80h
31E4:D1F2  52 0C 01 00 00 00                    db       52h, 0Ch, 01h, 00h, 00h, 00h
31E4:D1F8  51 0C 01 00 00 00                    db       51h, 0Ch, 01h, 00h, 00h, 00h
31E4:D1FE  53 0C FF                             db       53h, 0Ch,0FFh
31E4:D201  0AFF                 data_1156       dw      0AFFh                   ;  xref 31E4:2A54
31E4:D203  D2 00 80 D5 07 00                    db      0D2h, 00h, 80h,0D5h, 07h, 00h
31E4:D209  00 00 00 EC A4 FF                    db       00h, 00h, 00h,0ECh,0A4h,0FFh
31E4:D20F  FF 36 D2 00 00 59                    db      0FFh, 36h,0D2h, 00h, 00h, 59h
31E4:D215  89 00 00 00 00 5B                    db       89h, 00h, 00h, 00h, 00h, 5Bh
31E4:D21B  89 01 00 00 80 F9                    db       89h, 01h, 00h, 00h, 80h,0F9h
31E4:D221  07 02 00                             db       07h, 02h, 00h
31E4:D224  0007[00]                             db      7 dup (0)
31E4:D22B  80 24 04 03 00 00                    db       80h, 24h, 04h, 03h, 00h, 00h
31E4:D231  80 EF 07 04 00 FC                    db       80h,0EFh, 07h, 04h, 00h,0FCh
31E4:D237  24 5A 09 00 00 09                    db       24h, 5Ah, 09h, 00h, 00h, 09h
31E4:D23D  25 5C 09 04 00 00                    db       25h, 5Ch, 09h, 04h, 00h, 00h
31E4:D243  00 5E 09 05 00 00                    db       00h, 5Eh, 09h, 05h, 00h, 00h
31E4:D249  00 5D 09 00 00 00                    db       00h, 5Dh, 09h, 00h, 00h, 00h
31E4:D24F  00 5F 09 FF FF 7A                    db       00h, 5Fh, 09h,0FFh,0FFh, 7Ah
31E4:D255  D2 16 25 59 09 00                    db      0D2h, 16h, 25h, 59h, 09h, 00h
31E4:D25B  00 1D 25 5B 09 01                    db       00h, 1Dh, 25h, 5Bh, 09h, 01h
31E4:D261  00 00 80 FB 07 02                    db       00h, 00h, 80h,0FBh, 07h, 02h
31E4:D267  00                                   db       00h
31E4:D268  0007[00]                             db      7 dup (0)
31E4:D26F  80 24 04 03 00 00                    db       80h, 24h, 04h, 03h, 00h, 00h
31E4:D275  80 76 00 04 00 FC                    db       80h, 76h, 00h, 04h, 00h,0FCh
31E4:D27B  24 5A 09 00 00 09                    db       24h, 5Ah, 09h, 00h, 00h, 09h
31E4:D281  25 5C 09 04 00 00                    db       25h, 5Ch, 09h, 04h, 00h, 00h
31E4:D287  00 62 09 05 00 00                    db       00h, 62h, 09h, 05h, 00h, 00h
31E4:D28D  00 5D 09 00 00 00                    db       00h, 5Dh, 09h, 00h, 00h, 00h
31E4:D293  00 24 04 FF FF B8                    db       00h, 24h, 04h,0FFh,0FFh,0B8h
31E4:D299  D2 16 25 59 09 00                    db      0D2h, 16h, 25h, 59h, 09h, 00h
31E4:D29F  00 1D 25 5B 09 01                    db       00h, 1Dh, 25h, 5Bh, 09h, 01h
31E4:D2A5  00 00 00 22 08 02                    db       00h, 00h, 00h, 22h, 08h, 02h
31E4:D2AB  00 00 80 2C 08 04                    db       00h, 00h, 80h, 2Ch, 08h, 04h
31E4:D2B1  00 00 80 24 04 03                    db       00h, 00h, 80h, 24h, 04h, 03h
31E4:D2B7  00 FC 24 5A 09 00                    db       00h,0FCh, 24h, 5Ah, 09h, 00h
31E4:D2BD  00 09 25 5C 09 04                    db       00h, 09h, 25h, 5Ch, 09h, 04h
31E4:D2C3  00 00 00 63 09 FF                    db       00h, 00h, 00h, 63h, 09h,0FFh
31E4:D2C9  FF 00 00 5D 09 00                    db      0FFh, 00h, 00h, 5Dh, 09h, 00h
31E4:D2CF  00 00 00 A1 0A FF                    db       00h, 00h, 00h,0A1h, 0Ah,0FFh
31E4:D2D5  FF F6 D2 16 25 59                    db      0FFh,0F6h,0D2h, 16h, 25h, 59h
31E4:D2DB  09 00 00 1D 25 5B                    db       09h, 00h, 00h, 1Dh, 25h, 5Bh
31E4:D2E1  09 01 00 00 80 38                    db       09h, 01h, 00h, 00h, 80h, 38h
31E4:D2E7  08 02 00                             db       08h, 02h, 00h
31E4:D2EA  0007[00]                             db      7 dup (0)
31E4:D2F1  80 24 04 03 00 FC                    db       80h, 24h, 04h, 03h, 00h,0FCh
31E4:D2F7  24 5A 09 00 00 09                    db       24h, 5Ah, 09h, 00h, 00h, 09h
31E4:D2FD  25 5C 09 04 00 00                    db       25h, 5Ch, 09h, 04h, 00h, 00h
31E4:D303  00 64 09 FF FF 00                    db       00h, 64h, 09h,0FFh,0FFh, 00h
31E4:D309  00 5D 09 00 00 1C                    db       00h, 5Dh, 09h, 00h, 00h, 1Ch
31E4:D30F  D3 00 80 24 04 00                    db      0D3h, 00h, 80h, 24h, 04h, 00h
31E4:D315  00 00 80 66 09 01                    db       00h, 00h, 80h, 66h, 09h, 01h
31E4:D31B  00 00 00 65 09 01                    db       00h, 00h, 00h, 65h, 09h, 01h
31E4:D321  00 00 00 67 09 FF                    db       00h, 00h, 00h, 67h, 09h,0FFh
31E4:D327  FF 36 D3 00 80 0D                    db      0FFh, 36h,0D3h, 00h, 80h, 0Dh
31E4:D32D  0B 00 00 00 80 0F                    db       0Bh, 00h, 00h, 00h, 80h, 0Fh
31E4:D333  0B 01 00 00 00 0E                    db       0Bh, 01h, 00h, 00h, 00h, 0Eh
31E4:D339  0B 01 00 00 00 10                    db       0Bh, 01h, 00h, 00h, 00h, 10h
31E4:D33F  0B FF FF 4A D3 00                    db       0Bh,0FFh,0FFh, 4Ah,0D3h, 00h
31E4:D345  80 CA 09 00 00 00                    db       80h,0CAh, 09h, 00h, 00h, 00h
31E4:D34B  00 11 0B FF FF 6A                    db       00h, 11h, 0Bh,0FFh,0FFh, 6Ah
31E4:D351  D3 69 23 03 09 00                    db      0D3h, 69h, 23h, 03h, 09h, 00h
31E4:D357  00 00 80 40 09 02                    db       00h, 00h, 80h, 40h, 09h, 02h
31E4:D35D  0008[00]                             db      8 dup (0)
31E4:D365  80 69 09 01 00 00                    db       80h, 69h, 09h, 01h, 00h, 00h
31E4:D36B  00 68 09 03 00 00                    db       00h, 68h, 09h, 03h, 00h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 545

31E4:D371  00 6A 09 FF FF 00                    db       00h, 6Ah, 09h,0FFh,0FFh, 00h
31E4:D377  00 D2 09 FF FF 8A                    db       00h,0D2h, 09h,0FFh,0FFh, 8Ah
31E4:D37D  D3 00 80 01 0C 00                    db      0D3h, 00h, 80h, 01h, 0Ch, 00h
31E4:D383  00 00 80 03 0C 01                    db       00h, 00h, 80h, 03h, 0Ch, 01h
31E4:D389  00 00 00 02 0C 01                    db       00h, 00h, 00h, 02h, 0Ch, 01h
31E4:D38F  00 00 00 04 0C FF                    db       00h, 00h, 00h, 04h, 0Ch,0FFh
31E4:D395  FF AA D3 00 80 48                    db      0FFh,0AAh,0D3h, 00h, 80h, 48h
31E4:D39B  09 00                                db       09h, 00h
31E4:D39D  0008[00]                             db      8 dup (0)
31E4:D3A5  80 6C 09 01 00 00                    db       80h, 6Ch, 09h, 01h, 00h, 00h
31E4:D3AB  00 6B 09 02 00 00                    db       00h, 6Bh, 09h, 02h, 00h, 00h
31E4:D3B1  00 6D 09 FF FF CA                    db       00h, 6Dh, 09h,0FFh,0FFh,0CAh
31E4:D3B7  D3 00 80 97 09 00                    db      0D3h, 00h, 80h, 97h, 09h, 00h
31E4:D3BD  00                                   db       00h
31E4:D3BE  0007[00]                             db      7 dup (0)
31E4:D3C5  80 99 09 01 00 00                    db       80h, 99h, 09h, 01h, 00h, 00h
31E4:D3CB  00 98 09 02 00 00                    db       00h, 98h, 09h, 02h, 00h, 00h
31E4:D3D1  00 9A 09 FF FF E4                    db       00h, 9Ah, 09h,0FFh,0FFh,0E4h
31E4:D3D7  D3 00 80 97 09 00                    db      0D3h, 00h, 80h, 97h, 09h, 00h
31E4:D3DD  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
31E4:D3E3  00 B7 26 9B 09 FF                    db       00h,0B7h, 26h, 9Bh, 09h,0FFh
31E4:D3E9  FF F2 D3 00 80 9C                    db      0FFh,0F2h,0D3h, 00h, 80h, 9Ch
31E4:D3EF  09 00 00 00 00 9D                    db       09h, 00h, 00h, 00h, 00h, 9Dh
31E4:D3F5  09 FF FF 0C D4 00                    db       09h,0FFh,0FFh, 0Ch,0D4h, 00h
31E4:D3FB  00 38 0A 00 00 00                    db       00h, 38h, 0Ah, 00h, 00h, 00h
31E4:D401  80 7F 0A 02 00 00                    db       80h, 7Fh, 0Ah, 02h, 00h, 00h
31E4:D407  80 7D 0A 01 00 00                    db       80h, 7Dh, 0Ah, 01h, 00h, 00h
31E4:D40D  00 7C 0A 02 00 00                    db       00h, 7Ch, 0Ah, 02h, 00h, 00h
31E4:D413  00 7E 0A FF FF 00                    db       00h, 7Eh, 0Ah,0FFh,0FFh, 00h
31E4:D419  00 80 0A FF FF 26                    db       00h, 80h, 0Ah,0FFh,0FFh, 26h
31E4:D41F  D4 00 80 D5 07 00                    db      0D4h, 00h, 80h,0D5h, 07h, 00h
31E4:D425  00 00 00 94 A4 FF                    db       00h, 00h, 00h, 94h,0A4h,0FFh
31E4:D42B  FF 52 D4 6D 23 36                    db      0FFh, 52h,0D4h, 6Dh, 23h, 36h
31E4:D431  09 00 00 00 00 2E                    db       09h, 00h, 00h, 00h, 00h, 2Eh
31E4:D437  89 03 00 00 80 3A                    db       89h, 03h, 00h, 00h, 80h, 3Ah
31E4:D43D  09 04 00                             db       09h, 04h, 00h
31E4:D440  0007[00]                             db      7 dup (0)
31E4:D447  80 2B 09 01 00 00                    db       80h, 2Bh, 09h, 01h, 00h, 00h
31E4:D44D  80 24 04 02 00 00                    db       80h, 24h, 04h, 02h, 00h, 00h
31E4:D453  00 37 09 04 00 00                    db       00h, 37h, 09h, 04h, 00h, 00h
31E4:D459  00 38 09 05 00 70                    db       00h, 38h, 09h, 05h, 00h, 70h
31E4:D45F  24 24 04 FF FF 00                    db       24h, 24h, 04h,0FFh,0FFh, 00h
31E4:D465  00 39 09 FF FF 00                    db       00h, 39h, 09h,0FFh,0FFh, 00h
31E4:D46B  00 3B 09 FF FF 90                    db       00h, 3Bh, 09h,0FFh,0FFh, 90h
31E4:D471  D4 00 00 6D 0B 08                    db      0D4h, 00h, 00h, 6Dh, 0Bh, 08h
31E4:D477  00 00 80 40 09 00                    db       00h, 00h, 80h, 40h, 09h, 00h
31E4:D47D  00 00 80 42 09 02                    db       00h, 00h, 80h, 42h, 09h, 02h
31E4:D483  00 00 80 24 04 03                    db       00h, 00h, 80h, 24h, 04h, 03h
31E4:D489  00 00 80 45 89 04                    db       00h, 00h, 80h, 45h, 89h, 04h
31E4:D48F  00 A4 24 41 09 02                    db       00h,0A4h, 24h, 41h, 09h, 02h
31E4:D495  00 00 00 4B 09 FF                    db       00h, 00h, 00h, 4Bh, 09h,0FFh
31E4:D49B  FF 00 00 43 09 03                    db      0FFh, 00h, 00h, 43h, 09h, 03h
31E4:D4A1  00 00 00 44 09 04                    db       00h, 00h, 00h, 44h, 09h, 04h
31E4:D4A7  00 42 2A 46 09 FF                    db       00h, 42h, 2Ah, 46h, 09h,0FFh
31E4:D4AD  FF 00 00 47 09 04                    db      0FFh, 00h, 00h, 47h, 09h, 04h
31E4:D4B3  00 BB 24 49 09 07                    db       00h,0BBh, 24h, 49h, 09h, 07h
31E4:D4B9  00 00 00 4A 09 FF                    db       00h, 00h, 00h, 4Ah, 09h,0FFh
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 546

31E4:D4BF  FF 00 00 72 0B 00                    db      0FFh, 00h, 00h, 72h, 0Bh, 00h
31E4:D4C5  00 D4 D4 00 80 48                    db       00h,0D4h,0D4h, 00h, 80h, 48h
31E4:D4CB  09 00 00 00 80 24                    db       09h, 00h, 00h, 00h, 80h, 24h
31E4:D4D1  04 01 00 00 00 49                    db       04h, 01h, 00h, 00h, 00h, 49h
31E4:D4D7  09 01 00 00 00 4A                    db       09h, 01h, 00h, 00h, 00h, 4Ah
31E4:D4DD  09 FF FF E8 D4 00                    db       09h,0FFh,0FFh,0E8h,0D4h, 00h
31E4:D4E3  80 24 04 00 00 00                    db       80h, 24h, 04h, 00h, 00h, 00h
31E4:D4E9  00 27 0B FF FF F6                    db       00h, 27h, 0Bh,0FFh,0FFh,0F6h
31E4:D4EF  D4 00 80 D5 07 00                    db      0D4h, 00h, 80h,0D5h, 07h, 00h
31E4:D4F5  00 00 00 60 A4 FF                    db       00h, 00h, 00h, 60h,0A4h,0FFh
31E4:D4FB  FF 22 D5 6D 23 29                    db      0FFh, 22h,0D5h, 6Dh, 23h, 29h
31E4:D501  09 00 00 00 00 2E                    db       09h, 00h, 00h, 00h, 00h, 2Eh
31E4:D507  89 03 00 00 80 30                    db       89h, 03h, 00h, 00h, 80h, 30h
31E4:D50D  09 04 00                             db       09h, 04h, 00h
31E4:D510  0007[00]                             db      7 dup (0)
31E4:D517  80 2B 09 01 00 00                    db       80h, 2Bh, 09h, 01h, 00h, 00h
31E4:D51D  80 24 04 02 00 00                    db       80h, 24h, 04h, 02h, 00h, 00h
31E4:D523  00 2A 09 04 00 00                    db       00h, 2Ah, 09h, 04h, 00h, 00h
31E4:D529  00 2C 09 05 00 70                    db       00h, 2Ch, 09h, 05h, 00h, 70h
31E4:D52F  24 24 04 FF FF 00                    db       24h, 24h, 04h,0FFh,0FFh, 00h
31E4:D535  00 2F 09 FF FF 00                    db       00h, 2Fh, 09h,0FFh,0FFh, 00h
31E4:D53B  00 31 09 FF FF 4E                    db       00h, 31h, 09h,0FFh,0FFh, 4Eh
31E4:D541  D5 00 80 24 04 00                    db      0D5h, 00h, 80h, 24h, 04h, 00h
31E4:D547  00 00 80 14 0B 01                    db       00h, 00h, 80h, 14h, 0Bh, 01h
31E4:D54D  00 00 00 13 0B 01                    db       00h, 00h, 00h, 13h, 0Bh, 01h
31E4:D553  00 00 00 15 0B FF                    db       00h, 00h, 00h, 15h, 0Bh,0FFh
31E4:D559  FF 92 D5 00 00 6D                    db      0FFh, 92h,0D5h, 00h, 00h, 6Dh
31E4:D55F  8B 06 00 00 80 40                    db       8Bh, 06h, 00h, 00h, 80h, 40h
31E4:D565  09 00 00 00 00 4D                    db       09h, 00h, 00h, 00h, 00h, 4Dh
31E4:D56B  09 01 00 00 80 42                    db       09h, 01h, 00h, 00h, 80h, 42h
31E4:D571  09 02 00 00 80 24                    db       09h, 02h, 00h, 00h, 80h, 24h
31E4:D577  04 03 00 00 80 51                    db       04h, 03h, 00h, 00h, 80h, 51h
31E4:D57D  09 04 00 00 80 24                    db       09h, 04h, 00h, 00h, 80h, 24h
31E4:D583  04 05 00 00 80 6F                    db       04h, 05h, 00h, 00h, 80h, 6Fh
31E4:D589  0B 07 00 00 80 24                    db       0Bh, 07h, 00h, 00h, 80h, 24h
31E4:D58F  04 08 00 C8 24 4C                    db       04h, 08h, 00h,0C8h, 24h, 4Ch
31E4:D595  09 02 00 00 00 4E                    db       09h, 02h, 00h, 00h, 00h, 4Eh
31E4:D59B  09 FF FF DF 24 4F                    db       09h,0FFh,0FFh,0DFh, 24h, 4Fh
31E4:D5A1  09 04 00 00 00 50                    db       09h, 04h, 00h, 00h, 00h, 50h
31E4:D5A7  09 05 00 00 00 52                    db       09h, 05h, 00h, 00h, 00h, 52h
31E4:D5AD  09 06 00 00 00 53                    db       09h, 06h, 00h, 00h, 00h, 53h
31E4:D5B3  09 FF FF 00 00 6E                    db       09h,0FFh,0FFh, 00h, 00h, 6Eh
31E4:D5B9  0B 07 00 00 00 70                    db       0Bh, 07h, 00h, 00h, 00h, 70h
31E4:D5BF  0B 08 00 2F 2A 24                    db       0Bh, 08h, 00h, 2Fh, 2Ah, 24h
31E4:D5C5  04 FF FF E2 D5 00                    db       04h,0FFh,0FFh,0E2h,0D5h, 00h
31E4:D5CB  80 48 09 00 00 00                    db       80h, 48h, 09h, 00h, 00h, 00h
31E4:D5D1  00 3A 0A 01 00 00                    db       00h, 3Ah, 0Ah, 01h, 00h, 00h
31E4:D5D7  00 3C 0A 02 00 00                    db       00h, 3Ch, 0Ah, 02h, 00h, 00h
31E4:D5DD  80 3E 0A 03 00 00                    db       80h, 3Eh, 0Ah, 03h, 00h, 00h
31E4:D5E3  00 39 0A 01 00 00                    db       00h, 39h, 0Ah, 01h, 00h, 00h
31E4:D5E9  00 3B 0A FF FF 00                    db       00h, 3Bh, 0Ah,0FFh,0FFh, 00h
31E4:D5EF  00 3D 0A FF FF 00                    db       00h, 3Dh, 0Ah,0FFh,0FFh, 00h
31E4:D5F5  00 3F 0A FF FF 02                    db       00h, 3Fh, 0Ah,0FFh,0FFh, 02h
31E4:D5FB  D6 00 80 D5 07 00                    db      0D6h, 00h, 80h,0D5h, 07h, 00h
31E4:D601  00 00 00 85 A2 FF                    db       00h, 00h, 00h, 85h,0A2h,0FFh
31E4:D607  FF 1C D6 00 00 BD                    db      0FFh, 1Ch,0D6h, 00h, 00h,0BDh
31E4:D60D  08 02 00 00 80 F9                    db       08h, 02h, 00h, 00h, 80h,0F9h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 547

31E4:D613  07 03 00                             db       07h, 03h, 00h
31E4:D616  0008[00]                             db      8 dup (0)
31E4:D61E  91 08 00 00 00 00                    db       91h, 08h, 00h, 00h, 00h, 00h
31E4:D624  BA 08 00 00 02 22                    db      0BAh, 08h, 00h, 00h, 02h, 22h
31E4:D62A  95 A2 01 00 00 00                    db       95h,0A2h, 01h, 00h, 00h, 00h
31E4:D630  BE 08 FF FF 42 D6                    db      0BEh, 08h,0FFh,0FFh, 42h,0D6h
31E4:D636  00 00 BD 08 02 00                    db       00h, 00h,0BDh, 08h, 02h, 00h
31E4:D63C  00 80 FB 07 03 00                    db       00h, 80h,0FBh, 07h, 03h, 00h
31E4:D642  00 00 91 08 00 00                    db       00h, 00h, 91h, 08h, 00h, 00h
31E4:D648  00 00 BA 08 00 00                    db       00h, 00h,0BAh, 08h, 00h, 00h
31E4:D64E  02 22 95 A2 01 00                    db       02h, 22h, 95h,0A2h, 01h, 00h
31E4:D654  00 00 BF 08 FF FF                    db       00h, 00h,0BFh, 08h,0FFh,0FFh
31E4:D65A  6E D6 00 00 BD 08                    db       6Eh,0D6h, 00h, 00h,0BDh, 08h
31E4:D660  02 00 00 00 22 08                    db       02h, 00h, 00h, 00h, 22h, 08h
31E4:D666  03 00 00 80 2C 08                    db       03h, 00h, 00h, 80h, 2Ch, 08h
31E4:D66C  04 00 00 00 91 08                    db       04h, 00h, 00h, 00h, 91h, 08h
31E4:D672  00 00 00 00 BA 08                    db       00h, 00h, 00h, 00h,0BAh, 08h
31E4:D678  00 00 02 22 95 A2                    db       00h, 00h, 02h, 22h, 95h,0A2h
31E4:D67E  01 00 00 00 C0 08                    db       01h, 00h, 00h, 00h,0C0h, 08h
31E4:D684  FF FF 00 00 E3 0A                    db      0FFh,0FFh, 00h, 00h,0E3h, 0Ah
31E4:D68A  FF FF 9A D6 00 00                    db      0FFh,0FFh, 9Ah,0D6h, 00h, 00h
31E4:D690  BD 08 02 00 00 80                    db      0BDh, 08h, 02h, 00h, 00h, 80h
31E4:D696  38 08 03 00 00 00                    db       38h, 08h, 03h, 00h, 00h, 00h
31E4:D69C  91 08 00 00 00 00                    db       91h, 08h, 00h, 00h, 00h, 00h
31E4:D6A2  BA 08 00 00 02 22                    db      0BAh, 08h, 00h, 00h, 02h, 22h
31E4:D6A8  95 A2 01 00 00 00                    db       95h,0A2h, 01h, 00h, 00h, 00h
31E4:D6AE  C1 08 FF FF BA D6                    db      0C1h, 08h,0FFh,0FFh,0BAh,0D6h
31E4:D6B4  00 80 24 04 00 00                    db       00h, 80h, 24h, 04h, 00h, 00h
31E4:D6BA  00 00 C2 08 FF FF                    db       00h, 00h,0C2h, 08h,0FFh,0FFh
31E4:D6C0  D4 D6 00 80 CA                       db      0D4h,0D6h, 00h, 80h,0CAh
31E4:D6C5  09                                   db      9
31E4:D6C6  0009[00]                             db      9 dup (0)
31E4:D6CF  80 24 04                             db       80h, 24h, 04h
31E4:D6D2  01                   data_1167       db      1                       ; Data table (indexed access)
31E4:D6D3  00 00 00 E9 09 02                    db       00h, 00h, 00h,0E9h, 09h, 02h
31E4:D6D9  00 3B 28 24 04 FF                    db       00h, 3Bh, 28h, 24h, 04h,0FFh
31E4:D6DF  FF FA D6 69 23 03                    db      0FFh,0FAh,0D6h, 69h, 23h, 03h
31E4:D6E5  09 00 00 00 00 ED                    db       09h, 00h, 00h, 00h, 00h,0EDh
31E4:D6EB  09 01 00 00 80 EF                    db       09h, 01h, 00h, 00h, 80h,0EFh
31E4:D6F1  09 02 00                             db       09h, 02h, 00h
31E4:D6F4  0008[00]                             db      8 dup (0)
31E4:D6FC  EC 09 FF FF 00 00                    db      0ECh, 09h,0FFh,0FFh, 00h, 00h
31E4:D702  EE 09 FF FF 00 00                    db      0EEh, 09h,0FFh,0FFh, 00h, 00h
31E4:D708  F0 09 FF FF 14 D7                    db      0F0h, 09h,0FFh,0FFh, 14h,0D7h
31E4:D70E  00 80 40 09 00 00                    db       00h, 80h, 40h, 09h, 00h, 00h
31E4:D714  00 00 EB 09 FF FF                    db       00h, 00h,0EBh, 09h,0FFh,0FFh
31E4:D71A  22 D7 00 80 48 09                    db       22h,0D7h, 00h, 80h, 48h, 09h
31E4:D720  00 00 00 00 F1 09                    db       00h, 00h, 00h, 00h,0F1h, 09h
31E4:D726  FF FF 30 D7 00 80                    db      0FFh,0FFh, 30h,0D7h, 00h, 80h
31E4:D72C  92 09 00 00 00 00                    db       92h, 09h, 00h, 00h, 00h, 00h
31E4:D732  F2 09 FF FF 3E D7                    db      0F2h, 09h,0FFh,0FFh, 3Eh,0D7h
31E4:D738  00 80 38 0A 00 00                    db       00h, 80h, 38h, 0Ah, 00h, 00h
31E4:D73E  00 00 0C 0B FF FF                    db       00h, 00h, 0Ch, 0Bh,0FFh,0FFh
31E4:D744  52 D7 00 80 24 04                    db       52h,0D7h, 00h, 80h, 24h, 04h
31E4:D74A  00 00 00 80 24 04                    db       00h, 00h, 00h, 80h, 24h, 04h
31E4:D750  01 00 00 00 B1 08                    db       01h, 00h, 00h, 00h,0B1h, 08h
31E4:D756  01 00 96 2A 24 04                    db       01h, 00h, 96h, 2Ah, 24h, 04h
31E4:D75C  FF FF 7E D7 00 80                    db      0FFh,0FFh, 7Eh,0D7h, 00h, 80h
31E4:D762  B2 08 00 00 00 80                    db      0B2h, 08h, 00h, 00h, 00h, 80h
31E4:D768  B4 08 01 00 72 A2                    db      0B4h, 08h, 01h, 00h, 72h,0A2h
31E4:D76E  B7 08 04 00 00 80                    db      0B7h, 08h, 04h, 00h, 00h, 80h
31E4:D774  24 04 03 00 00 80                    db       24h, 04h, 03h, 00h, 00h, 80h
31E4:D77A  6F 09 02 00 00 00                    db       6Fh, 09h, 02h, 00h, 00h, 00h
31E4:D780  B3 08 01 00 00 00                    db      0B3h, 08h, 01h, 00h, 00h, 00h
31E4:D786  B5 08 02 00 00 00                    db      0B5h, 08h, 02h, 00h, 00h, 00h
31E4:D78C  B8 08 03 00 00 00                    db      0B8h, 08h, 03h, 00h, 00h, 00h
31E4:D792  24 04 FF FF 00 00                    db       24h, 04h,0FFh,0FFh, 00h, 00h
31E4:D798  6E 09 04 00 A4 D7                    db       6Eh, 09h, 04h, 00h,0A4h,0D7h
31E4:D79E  00 80 CA 09 00 00                    db       00h, 80h,0CAh, 09h, 00h, 00h
31E4:D7A4  00 00 31 0B FF FF                    db       00h, 00h, 31h, 0Bh,0FFh,0FFh
31E4:D7AA  B8 D7 69 23 03 09                    db      0B8h,0D7h, 69h, 23h, 03h, 09h
31E4:D7B0  00 00 00 80 75 0A                    db       00h, 00h, 00h, 80h, 75h, 0Ah
31E4:D7B6  01 00 00 00 70 09                    db       01h, 00h, 00h, 00h, 70h, 09h
31E4:D7BC  FF FF 00 00 81 0C                    db      0FFh,0FFh, 00h, 00h, 81h, 0Ch
31E4:D7C2  FF FF CC D7 00 80                    db      0FFh,0FFh,0CCh,0D7h, 00h, 80h
31E4:D7C8  EF 09 00 00 00 00                    db      0EFh, 09h, 00h, 00h, 00h, 00h
31E4:D7CE  32 0B FF FF DA D7                    db       32h, 0Bh,0FFh,0FFh,0DAh,0D7h
31E4:D7D4  00 80 40 09 00 00                    db       00h, 80h, 40h, 09h, 00h, 00h
31E4:D7DA  00 00 33 0B FF FF                    db       00h, 00h, 33h, 0Bh,0FFh,0FFh
31E4:D7E0  E8 D7 00 80 2E 0B                    db      0E8h,0D7h, 00h, 80h, 2Eh, 0Bh
31E4:D7E6  00 00 00 00 34 0B                    db       00h, 00h, 00h, 00h, 34h, 0Bh
31E4:D7EC  FF FF 38 D8 00 00                    db      0FFh,0FFh, 38h,0D8h, 00h, 00h
31E4:D7F2  48 09 00 00 00 80                    db       48h, 09h, 00h, 00h, 00h, 80h
31E4:D7F8  7D 09 01                             db       7Dh, 09h, 01h
31E4:D7FB  0009[00]                             db      9 dup (0)
31E4:D804  7F                   data_1170       db      7Fh
31E4:D805  09 03 00 00 00 80                    db       09h, 03h, 00h, 00h, 00h, 80h
31E4:D80B  09 02 00 00 80 81                    db       09h, 02h, 00h, 00h, 80h, 81h
31E4:D811  09 04 00 00 00 83                    db       09h, 04h, 00h, 00h, 00h, 83h
31E4:D817  09 05 00 00 00 86                    db       09h, 05h, 00h, 00h, 00h, 86h
31E4:D81D  09 06 00 00 80 89                    db       09h, 06h, 00h, 00h, 80h, 89h
31E4:D823  09 07 00 00 80 85                    db       09h, 07h, 00h, 00h, 80h, 85h
31E4:D829  09 08 00 00 80 88                    db       09h, 08h, 00h, 00h, 80h, 88h
31E4:D82F  09 08 00 00 80 61                    db       09h, 08h, 00h, 00h, 80h, 61h
31E4:D835  0B 0B 00 00 00 7C                    db       0Bh, 0Bh, 00h, 00h, 00h, 7Ch
31E4:D83B  09 FF FF 00 00 7E                    db       09h,0FFh,0FFh, 00h, 00h, 7Eh
31E4:D841  09 03 00 8F 25 82                    db       09h, 03h, 00h, 8Fh, 25h, 82h
31E4:D847  09 06 00 82 25 82                    db       09h, 06h, 00h, 82h, 25h, 82h
31E4:D84D  09 06 00 9C 25 82                    db       09h, 06h, 00h, 9Ch, 25h, 82h
31E4:D853  09 06 00 00 00 84                    db       09h, 06h, 00h, 00h, 00h, 84h
31E4:D859  09 09 00 00 00 87                    db       09h, 09h, 00h, 00h, 00h, 87h
31E4:D85F  09 0A 00 00 00 8A                    db       09h, 0Ah, 00h, 00h, 00h, 8Ah
31E4:D865  09 0A 00 24 25 8C                    db       09h, 0Ah, 00h, 24h, 25h, 8Ch
31E4:D86B  09 FF FF 00 00 5F                    db       09h,0FFh,0FFh, 00h, 00h, 5Fh
31E4:D871  0B FF FF 00 00 60                    db       0Bh,0FFh,0FFh, 00h, 00h, 60h
31E4:D877  0B 0B 00 00 00 62                    db       0Bh, 0Bh, 00h, 00h, 00h, 62h
31E4:D87D  0B FF FF A0 D8 A9                    db       0Bh,0FFh,0FFh,0A0h,0D8h,0A9h
31E4:D883  25 63 0B 04 00 BA                    db       25h, 63h, 0Bh, 04h, 00h,0BAh
31E4:D889  25 8D 09 00 00 00                    db       25h, 8Dh, 09h, 00h, 00h, 00h
31E4:D88F  80 48 09 03                          db       80h, 48h, 09h, 03h
31E4:D893  0008[00]                             db      8 dup (0)
31E4:D89B  80 90 09 02 00 87                    db       80h, 90h, 09h, 02h, 00h, 87h
31E4:D8A1  26 8E 09 FF FF 00                    db       26h, 8Eh, 09h,0FFh,0FFh, 00h
31E4:D8A7  00 8F 09 04 00 9E                    db       00h, 8Fh, 09h, 04h, 00h, 9Eh
31E4:D8AD  26 91 09 FF FF 00                    db       26h, 91h, 09h,0FFh,0FFh, 00h
31E4:D8B3  00 7C 09 FF FF 00                    db       00h, 7Ch, 09h,0FFh,0FFh, 00h
31E4:D8B9  00 64 0B FF FF D2                    db       00h, 64h, 0Bh,0FFh,0FFh,0D2h
31E4:D8BF  D8 00 80 92 09 00                    db      0D8h, 00h, 80h, 92h, 09h, 00h
31E4:D8C5  00                                   db       00h
31E4:D8C6  0007[00]                             db      7 dup (0)
31E4:D8CD  80 94 09 01 00 00                    db       80h, 94h, 09h, 01h, 00h, 00h
31E4:D8D3  00 93 09 02 00 CE                    db       00h, 93h, 09h, 02h, 00h,0CEh
31E4:D8D9  26 95 09 FF FF E6                    db       26h, 95h, 09h,0FFh,0FFh,0E6h
31E4:D8DF  D8 00 80 72 0C 00                    db      0D8h, 00h, 80h, 72h, 0Ch, 00h
31E4:D8E5  00 00 00 73 0C FF                    db       00h, 00h, 00h, 73h, 0Ch,0FFh
31E4:D8EB  FF 0C D9 00 80 A7                    db      0FFh, 0Ch,0D9h, 00h, 80h,0A7h
31E4:D8F1  09 00 00 00 80 A9                    db       09h, 00h, 00h, 00h, 80h,0A9h
31E4:D8F7  09 02 00 00 80 24                    db       09h, 02h, 00h, 00h, 80h, 24h
31E4:D8FD  04 03 00 00 80 AC                    db       04h, 03h, 00h, 00h, 80h,0ACh
31E4:D903  09 04 00 00 80 AE                    db       09h, 04h, 00h, 00h, 80h,0AEh
31E4:D909  09 05 00 FD 26 AB                    db       09h, 05h, 00h,0FDh, 26h,0ABh
31E4:D90F  09 FF FF 00 00 A8                    db       09h,0FFh,0FFh, 00h, 00h,0A8h
31E4:D915  09 01 00 00 00 AA                    db       09h, 01h, 00h, 00h, 00h,0AAh
31E4:D91B  09 02 00 38 27 AD                    db       09h, 02h, 00h, 38h, 27h,0ADh
31E4:D921  09 03 00 00 00 24                    db       09h, 03h, 00h, 00h, 00h, 24h
31E4:D927  04 04 00 00 00 AF                    db       04h, 04h, 00h, 00h, 00h,0AFh
31E4:D92D  09 FF FF 00 80 24                    db       09h,0FFh,0FFh, 00h, 80h, 24h
31E4:D933  04 66 D9 00 00 D5                    db       04h, 66h,0D9h, 00h, 00h,0D5h
31E4:D939  09 00 00 00 00 D7                    db       09h, 00h, 00h, 00h, 00h,0D7h
31E4:D93F  09 01 00 00 00 D9                    db       09h, 01h, 00h, 00h, 00h,0D9h
31E4:D945  09 02 00 00 80 DD                    db       09h, 02h, 00h, 00h, 80h,0DDh
31E4:D94B  09 04 00 00 80 DB                    db       09h, 04h, 00h, 00h, 80h,0DBh
31E4:D951  09 03 00 00 00 DF                    db       09h, 03h, 00h, 00h, 00h,0DFh
31E4:D957  09 05 00 00 00 E1                    db       09h, 05h, 00h, 00h, 00h,0E1h
31E4:D95D  09 06 00 00 80 E2                    db       09h, 06h, 00h, 00h, 80h,0E2h
31E4:D963  09 07 00 00 00 D6                    db       09h, 07h, 00h, 00h, 00h,0D6h
31E4:D969  09 FF FF 00 00 74                    db       09h,0FFh,0FFh, 00h, 00h, 74h
31E4:D96F  0C FF FF 00 00 DA                    db       0Ch,0FFh,0FFh, 00h, 00h,0DAh
31E4:D975  09 04 00 00 00 DC                    db       09h, 04h, 00h, 00h, 00h,0DCh
31E4:D97B  09 FF FF 00 00 DE                    db       09h,0FFh,0FFh, 00h, 00h,0DEh
31E4:D981  09 05 00 00 00 E0                    db       09h, 05h, 00h, 00h, 00h,0E0h
31E4:D987  09 FF FF 00 00 E3                    db       09h,0FFh,0FFh, 00h, 00h,0E3h
31E4:D98D  09 FF FF 00 00 E4                    db       09h,0FFh,0FFh, 00h, 00h,0E4h
31E4:D993  09 FF FF B0 D9 00                    db       09h,0FFh,0FFh,0B0h,0D9h, 00h
31E4:D999  00 E5 09 00 00 00                    db       00h,0E5h, 09h, 00h, 00h, 00h
31E4:D99F  80 E4 0A 02 00 00                    db       80h,0E4h, 0Ah, 02h, 00h, 00h
31E4:D9A5  80 E7 09 01 00 00                    db       80h,0E7h, 09h, 01h, 00h, 00h
31E4:D9AB  80 E6 0A 03 00 00                    db       80h,0E6h, 0Ah, 03h, 00h, 00h
31E4:D9B1  00 E6 09 02 00 00                    db       00h,0E6h, 09h, 02h, 00h, 00h
31E4:D9B7  00 E8 09 FF FF 00                    db       00h,0E8h, 09h,0FFh,0FFh, 00h
31E4:D9BD  00 E5 0A 03 00 00                    db       00h,0E5h, 0Ah, 03h, 00h, 00h
31E4:D9C3  00 24 04 FF FF E2                    db       00h, 24h, 04h,0FFh,0FFh,0E2h
31E4:D9C9  D9 00 80 38 0A 00                    db      0D9h, 00h, 80h, 38h, 0Ah, 00h
31E4:D9CF  00 00 80 37 0B 01                    db       00h, 00h, 80h, 37h, 0Bh, 01h
31E4:D9D5  00 00 80 24 04 02                    db       00h, 00h, 80h, 24h, 04h, 02h
31E4:D9DB  00 00 80 6E 09 03                    db       00h, 00h, 80h, 6Eh, 09h, 03h
31E4:D9E1  00 00 00 36 0B 01                    db       00h, 00h, 00h, 36h, 0Bh, 01h
31E4:D9E7  00 00 00 38 0B 02                    db       00h, 00h, 00h, 38h, 0Bh, 02h
31E4:D9ED  00 00 00 39 0B 03                    db       00h, 00h, 00h, 39h, 0Bh, 03h
31E4:D9F3  00 00 00 3A 0B FF                    db       00h, 00h, 00h, 3Ah, 0Bh,0FFh
31E4:D9F9  FF 02 DA 00 80 80                    db      0FFh, 02h,0DAh, 00h, 80h, 80h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 550

31E4:D9FF  08 00 00 00 00                       db       08h, 00h, 00h, 00h, 00h
31E4:DA04  81                   data_1173       db      81h
31E4:DA05  08 FF FF 22 DA B5                    db       08h,0FFh,0FFh, 22h,0DAh,0B5h
31E4:DA0B  27 B0 09 00 00 D5                    db       27h,0B0h, 09h, 00h, 00h,0D5h
31E4:DA11  A7 B2 09 01 00 00                    db      0A7h,0B2h, 09h, 01h, 00h, 00h
31E4:DA17  80 B4 09 02 00 00                    db       80h,0B4h, 09h, 02h, 00h, 00h
31E4:DA1D  80 B6 09 03 00 00                    db       80h,0B6h, 09h, 03h, 00h, 00h
31E4:DA23  00 B1 09 FF FF A9                    db       00h,0B1h, 09h,0FFh,0FFh,0A9h
31E4:DA29  2A B3 09 02 00 00                    db       2Ah,0B3h, 09h, 02h, 00h, 00h
31E4:DA2F  00 B5 09 03 00 00                    db       00h,0B5h, 09h, 03h, 00h, 00h
31E4:DA35  00 24 04 FF FF 5A                    db       00h, 24h, 04h,0FFh,0FFh, 5Ah
31E4:DA3B  DA 00 80 D5 07 00                    db      0DAh, 00h, 80h,0D5h, 07h, 00h
31E4:DA41  00 00 80 DE 08 01                    db       00h, 00h, 80h,0DEh, 08h, 01h
31E4:DA47  00 00 00 E0 08 02                    db       00h, 00h, 00h,0E0h, 08h, 02h
31E4:DA4D  00 00 80 E2 08 03                    db       00h, 00h, 80h,0E2h, 08h, 03h
31E4:DA53  00 00 80 24 04 04                    db       00h, 00h, 80h, 24h, 04h, 04h
31E4:DA59  00 00 00 B5 A2 01                    db       00h, 00h, 00h,0B5h,0A2h, 01h
31E4:DA5F  00 00 00 DF 08 02                    db       00h, 00h, 00h,0DFh, 08h, 02h
31E4:DA65  00 00 00 E1 08 04                    db       00h, 00h, 00h,0E1h, 08h, 04h
31E4:DA6B  00 00 00 E3 08 FF                    db       00h, 00h, 00h,0E3h, 08h,0FFh
31E4:DA71  FF 58 28 24 04 FF                    db      0FFh, 58h, 28h, 24h, 04h,0FFh
31E4:DA77  FF 92 DA 00 00 F9                    db      0FFh, 92h,0DAh, 00h, 00h,0F9h
31E4:DA7D  07 00 00 71 A8 F4                    db       07h, 00h, 00h, 71h,0A8h,0F4h
31E4:DA83  09 01                                db       09h, 01h
31E4:DA85  00 00 00 00                          db      0, 0, 0, 0
31E4:DA89  0000                 data_1175       dw      0                       ; Data table (indexed access)
31E4:DA8B  00 00 80 24 04 02                    db       00h, 00h, 80h, 24h, 04h, 02h
31E4:DA91  00 00 00 E4 08 FF                    db       00h, 00h, 00h,0E4h, 08h,0FFh
31E4:DA97  FF 00 00 E1 08 03                    db      0FFh, 00h, 00h,0E1h, 08h, 03h
31E4:DA9D  00 58 28 24 04 FF                    db       00h, 58h, 28h, 24h, 04h,0FFh
31E4:DAA3  FF BE DA 00 00 FB                    db      0FFh,0BEh,0DAh, 00h, 00h,0FBh
31E4:DAA9  07 00 00 71 A8 F4                    db       07h, 00h, 00h, 71h,0A8h,0F4h
31E4:DAAF  09 01                                db       09h, 01h
31E4:DAB1  0008[00]                             db      8 dup (0)
31E4:DAB9  80 24 04 02 00 00                    db       80h, 24h, 04h, 02h, 00h, 00h
31E4:DABF  00 E5 08 FF FF 00                    db       00h,0E5h, 08h,0FFh,0FFh, 00h
31E4:DAC5  00 E1 08 03 00 58                    db       00h,0E1h, 08h, 03h, 00h, 58h
31E4:DACB  28 24 04 FF FF EA                    db       28h, 24h, 04h,0FFh,0FFh,0EAh
31E4:DAD1  DA 00 00 22 08 00                    db      0DAh, 00h, 00h, 22h, 08h, 00h
31E4:DAD7  00 71 28 F4 09 02                    db       00h, 71h, 28h,0F4h, 09h, 02h
31E4:DADD  00 00 80 2C 08 01                    db       00h, 00h, 80h, 2Ch, 08h, 01h
31E4:DAE3  00 00 80 24 04 03                    db       00h, 00h, 80h, 24h, 04h, 03h
31E4:DAE9  00 00 00 E6 08 FF                    db       00h, 00h, 00h,0E6h, 08h,0FFh
31E4:DAEF  FF 00 00 81 0A FF                    db      0FFh, 00h, 00h, 81h, 0Ah,0FFh
31E4:DAF5  FF 00 00 E1 08 03                    db      0FFh, 00h, 00h,0E1h, 08h, 03h
31E4:DAFB  00 58 28 24 04 FF                    db       00h, 58h, 28h, 24h, 04h,0FFh
31E4:DB01  FF 16 DB 71 28 F4                    db      0FFh, 16h,0DBh, 71h, 28h,0F4h
31E4:DB07  09 01 00 00 80 38                    db       09h, 01h, 00h, 00h, 80h, 38h
31E4:DB0D  08 00 00 00 80 24                    db       08h, 00h, 00h, 00h, 80h, 24h
31E4:DB13  04 02 00 00 00 E7                    db       04h, 02h, 00h, 00h, 00h,0E7h
31E4:DB19  08 FF FF 00 00 E1                    db       08h,0FFh,0FFh, 00h, 00h,0E1h
31E4:DB1F  08 02 00 58 28 24                    db       08h, 02h, 00h, 58h, 28h, 24h
31E4:DB25  04 FF FF 30 DB 00                    db       04h,0FFh,0FFh, 30h,0DBh, 00h
31E4:DB2B  80 F5 09 00 00 00                    db       80h,0F5h, 09h, 00h, 00h, 00h
31E4:DB31  00 F6 09 FF FF 56                    db       00h,0F6h, 09h,0FFh,0FFh, 56h
31E4:DB37  DB 00 80 24 04 00                    db      0DBh, 00h, 80h, 24h, 04h, 00h
31E4:DB3D  00 00 00 EE 08 01                    db       00h, 00h, 00h,0EEh, 08h, 01h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 551

31E4:DB43  00 00 00 F1 88 02                    db       00h, 00h, 00h,0F1h, 88h, 02h
31E4:DB49  00 00 80 EF 08 03                    db       00h, 00h, 80h,0EFh, 08h, 03h
31E4:DB4F  00 00 80 24 04 04                    db       00h, 00h, 80h, 24h, 04h, 04h
31E4:DB55  00 00 00 C5 A2 01                    db       00h, 00h, 00h,0C5h,0A2h, 01h
31E4:DB5B  00 00 00 24 04 FF                    db       00h, 00h, 00h, 24h, 04h,0FFh
31E4:DB61  FF 00 00 F2 08 01                    db      0FFh, 00h, 00h,0F2h, 08h, 01h
31E4:DB67  00 00 00 24 04 04                    db       00h, 00h, 00h, 24h, 04h, 04h
31E4:DB6D  00 F6 22 24 04 FF                    db       00h,0F6h, 22h, 24h, 04h,0FFh
31E4:DB73  FF 88 DB 00 80 24                    db      0FFh, 88h,0DBh, 00h, 80h, 24h
31E4:DB79  04 00 00 00 80 3C                    db       04h, 00h, 00h, 00h, 80h, 3Ch
31E4:DB7F  0B 01 00 00 80 3E                    db       0Bh, 01h, 00h, 00h, 80h, 3Eh
31E4:DB85  0B 02 00 00 00 3B                    db       0Bh, 02h, 00h, 00h, 00h, 3Bh
31E4:DB8B  0B 01 00 00 00 3D                    db       0Bh, 01h, 00h, 00h, 00h, 3Dh
31E4:DB91  0B 02 00 00 00 3F                    db       0Bh, 02h, 00h, 00h, 00h, 3Fh
31E4:DB97  0B FF FF A8 DB 69                    db       0Bh,0FFh,0FFh,0A8h,0DBh, 69h
31E4:DB9D  23 03 09 00 00 00                    db       23h, 03h, 09h, 00h, 00h, 00h
31E4:DBA3  80 F8 09 01 00 00                    db       80h,0F8h, 09h, 01h, 00h, 00h
31E4:DBA9  00 F7 09 FF FF 00                    db       00h,0F7h, 09h,0FFh,0FFh, 00h
31E4:DBAF  00 F9 09 FF FF C8                    db       00h,0F9h, 09h,0FFh,0FFh,0C8h
31E4:DBB5  DB 00 00 40 09 00                    db      0DBh, 00h, 00h, 40h, 09h, 00h
31E4:DBBB  00 00 80 75 0A 01                    db       00h, 00h, 80h, 75h, 0Ah, 01h
31E4:DBC1  00 00 80 29 0B 02                    db       00h, 00h, 80h, 29h, 0Bh, 02h
31E4:DBC7  00 00 00 AC 0A FF                    db       00h, 00h, 00h,0ACh, 0Ah,0FFh
31E4:DBCD  FF 00 00 28 0B 02                    db      0FFh, 00h, 00h, 28h, 0Bh, 02h
31E4:DBD3  00 00 00 2A 0B FF                    db       00h, 00h, 00h, 2Ah, 0Bh,0FFh
31E4:DBD9  FF E2 DB 00 80 48                    db      0FFh,0E2h,0DBh, 00h, 80h, 48h
31E4:DBDF  09 00 00 00 00 2B                    db       09h, 00h, 00h, 00h, 00h, 2Bh
31E4:DBE5  0B FF FF F0 DB 00                    db       0Bh,0FFh,0FFh,0F0h,0DBh, 00h
31E4:DBEB  80 2E 0B 00 00 00                    db       80h, 2Eh, 0Bh, 00h, 00h, 00h
31E4:DBF1  00 2C 0B FF FF FE                    db       00h, 2Ch, 0Bh,0FFh,0FFh,0FEh
31E4:DBF7  DB 00 80 92 09 00                    db      0DBh, 00h, 80h, 92h, 09h, 00h
31E4:DBFD  00 00 00 2D 0B FF                    db       00h, 00h, 00h, 2Dh, 0Bh,0FFh
31E4:DC03  FF 12 DC 00 80 38                    db      0FFh, 12h,0DCh, 00h, 80h, 38h
31E4:DC09  0A 00 00 00 80 2F                    db       0Ah, 00h, 00h, 00h, 80h, 2Fh
31E4:DC0F  0B 01 00 00 00 09                    db       0Bh, 01h, 00h, 00h, 00h, 09h
31E4:DC15  0B 01 00 00 00 30                    db       0Bh, 01h, 00h, 00h, 00h, 30h
31E4:DC1B  0B FF FF 50 DC 00                    db       0Bh,0FFh,0FFh, 50h,0DCh, 00h
31E4:DC21  80 D5 07 00 00 00                    db       80h,0D5h, 07h, 00h, 00h, 00h
31E4:DC27  80 5E 0A 01 00 00                    db       80h, 5Eh, 0Ah, 01h, 00h, 00h
31E4:DC2D  80 60 0A 02 00 00                    db       80h, 60h, 0Ah, 02h, 00h, 00h
31E4:DC33  80 62 0A 03 00 00                    db       80h, 62h, 0Ah, 03h, 00h, 00h
31E4:DC39  80 24 04 04 00 00                    db       80h, 24h, 04h, 04h, 00h, 00h
31E4:DC3F  80 65 0A 05 00 00                    db       80h, 65h, 0Ah, 05h, 00h, 00h
31E4:DC45  80 67 0A 06 00 00                    db       80h, 67h, 0Ah, 06h, 00h, 00h
31E4:DC4B  80 69 0A 07 00 00                    db       80h, 69h, 0Ah, 07h, 00h, 00h
31E4:DC51  00 3F A2 01 00 00                    db       00h, 3Fh,0A2h, 01h, 00h, 00h
31E4:DC57  00 5F 0A 02 00 00                    db       00h, 5Fh, 0Ah, 02h, 00h, 00h
31E4:DC5D  00 61 0A 03 00 00                    db       00h, 61h, 0Ah, 03h, 00h, 00h
31E4:DC63  00 63 0A 04 00 00                    db       00h, 63h, 0Ah, 04h, 00h, 00h
31E4:DC69  00 64 0A 05 00 00                    db       00h, 64h, 0Ah, 05h, 00h, 00h
31E4:DC6F  00 66 0A 06 00 00                    db       00h, 66h, 0Ah, 06h, 00h, 00h
31E4:DC75  00 68 0A 07 00 00                    db       00h, 68h, 0Ah, 07h, 00h, 00h
31E4:DC7B  00 6A 0A FF FF 88                    db       00h, 6Ah, 0Ah,0FFh,0FFh, 88h
31E4:DC81  DC 00 80 F9 07 00                    db      0DCh, 00h, 80h,0F9h, 07h, 00h
31E4:DC87  00 00 00 4F A2 FF                    db       00h, 00h, 00h, 4Fh,0A2h,0FFh
31E4:DC8D  FF 96 DC 00 80 FB                    db      0FFh, 96h,0DCh, 00h, 80h,0FBh
31E4:DC93  07 00 00 00 00 AB                    db       07h, 00h, 00h, 00h, 00h,0ABh
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 552

31E4:DC99  08 FF FF AA DC 00                    db       08h,0FFh,0FFh,0AAh,0DCh, 00h
31E4:DC9F  00 22 08 00 00 00                    db       00h, 22h, 08h, 00h, 00h, 00h
31E4:DCA5  80 2C 08 01 00 00                    db       80h, 2Ch, 08h, 01h, 00h, 00h
31E4:DCAB  00 AC 08 FF FF 00                    db       00h,0ACh, 08h,0FFh,0FFh, 00h
31E4:DCB1  00 6B 0A FF FF BE                    db       00h, 6Bh, 0Ah,0FFh,0FFh,0BEh
31E4:DCB7  DC 00 80 38 08 00                    db      0DCh, 00h, 80h, 38h, 08h, 00h
31E4:DCBD  00 00 00 AD 08 FF                    db       00h, 00h, 00h,0ADh, 08h,0FFh
31E4:DCC3  FF D2 DC 00 80 24                    db      0FFh,0D2h,0DCh, 00h, 80h, 24h
31E4:DCC9  04 00 00 00 80 AF                    db       04h, 00h, 00h, 00h, 80h,0AFh
31E4:DCCF  08 01 00 00 00 AE                    db       08h, 01h, 00h, 00h, 00h,0AEh
31E4:DCD5  08 01 00 00 00 B0                    db       08h, 01h, 00h, 00h, 00h,0B0h
31E4:DCDB  08 FF FF E6 DC 00                    db       08h,0FFh,0FFh,0E6h,0DCh, 00h
31E4:DCE1  80 0D 0B 00 00 00                    db       80h, 0Dh, 0Bh, 00h, 00h, 00h
31E4:DCE7  00 FD 0B FF FF 00                    db       00h,0FDh, 0Bh,0FFh,0FFh, 00h
31E4:DCED  DD 69 A3 03                          db      0DDh, 69h,0A3h, 03h
31E4:DCF1  09                                   db      9
31E4:DCF2  0009[00]                             db      9 dup (0)
31E4:DCFB  80 6D 0A 01 00 00                    db       80h, 6Dh, 0Ah, 01h, 00h, 00h
31E4:DD01  00 6C 0A 02 00 00                    db       00h, 6Ch, 0Ah, 02h, 00h, 00h
31E4:DD07  00 6E 0A FF FF 20                    db       00h, 6Eh, 0Ah,0FFh,0FFh, 20h
31E4:DD0D  DD 00 80 40 09 00                    db      0DDh, 00h, 80h, 40h, 09h, 00h
31E4:DD13  00 00 00 70 0A 01                    db       00h, 00h, 00h, 70h, 0Ah, 01h
31E4:DD19  00 00 80 72 0A 02                    db       00h, 00h, 80h, 72h, 0Ah, 02h
31E4:DD1F  00 00 00 6F 0A 01                    db       00h, 00h, 00h, 6Fh, 0Ah, 01h
31E4:DD25  00 00 00 71 0A FF                    db       00h, 00h, 00h, 71h, 0Ah,0FFh
31E4:DD2B  FF 00 00 73 0A FF                    db      0FFh, 00h, 00h, 73h, 0Ah,0FFh
31E4:DD31  FF 3A DD 00 80 48                    db      0FFh, 3Ah,0DDh, 00h, 80h, 48h
31E4:DD37  09 00 00 00 00 62                    db       09h, 00h, 00h, 00h, 00h, 62h
31E4:DD3D  0C FF FF 48 DD 00                    db       0Ch,0FFh,0FFh, 48h,0DDh, 00h
31E4:DD43  80 92 09 00 00 00                    db       80h, 92h, 09h, 00h, 00h, 00h
31E4:DD49  00 63 0C FF FF 62                    db       00h, 63h, 0Ch,0FFh,0FFh, 62h
31E4:DD4F  DD 00 00 38 0A 00                    db      0DDh, 00h, 00h, 38h, 0Ah, 00h
31E4:DD55  00 00 80 1F 0B 01                    db       00h, 00h, 80h, 1Fh, 0Bh, 01h
31E4:DD5B  00 00 80 66 0C 02                    db       00h, 00h, 80h, 66h, 0Ch, 02h
31E4:DD61  00 00 00 64 0C FF                    db       00h, 00h, 00h, 64h, 0Ch,0FFh
31E4:DD67  FF 00 00                             db      0FFh, 00h, 00h
31E4:DD6A  65                   data_1178       db      65h                     ; Data table (indexed access)
31E4:DD6B  0C 02 00 00 00 67                    db       0Ch, 02h, 00h, 00h, 00h, 67h
31E4:DD71  0C FF FF 7C DD 00                    db       0Ch,0FFh,0FFh, 7Ch,0DDh, 00h
31E4:DD77  80 D5 07 00 00 00                    db       80h,0D5h, 07h, 00h, 00h, 00h
31E4:DD7D  00 A4 A1 FF FF 90                    db       00h,0A4h,0A1h,0FFh,0FFh, 90h
31E4:DD83  DD 00 00 90 08 02                    db      0DDh, 00h, 00h, 90h, 08h, 02h
31E4:DD89  00 00 80 F9 07 03                    db       00h, 00h, 80h,0F9h, 07h, 03h
31E4:DD8F  00 00 00 91 08 00                    db       00h, 00h, 00h, 91h, 08h, 00h
31E4:DD95  00 00 00 BA 08 FF                    db       00h, 00h, 00h,0BAh, 08h,0FFh
31E4:DD9B  FF 02 22 B4 A1 01                    db      0FFh, 02h, 22h,0B4h,0A1h, 01h
31E4:DDA1  00 E0 21 1C A2 FF                    db       00h,0E0h, 21h, 1Ch,0A2h,0FFh
31E4:DDA7  FF B6 DD 00 00 90                    db      0FFh,0B6h,0DDh, 00h, 00h, 90h
31E4:DDAD  08 02 00 00 80 FB                    db       08h, 02h, 00h, 00h, 80h,0FBh
31E4:DDB3  07 03 00 00 00 91                    db       07h, 03h, 00h, 00h, 00h, 91h
31E4:DDB9  08 00 00 00 00 BA                    db       08h, 00h, 00h, 00h, 00h,0BAh
31E4:DDBF  08 FF FF 02 22 B4                    db       08h,0FFh,0FFh, 02h, 22h,0B4h
31E4:DDC5  A1 01 00 E0 21 96                    db      0A1h, 01h, 00h,0E0h, 21h, 96h
31E4:DDCB  08 FF FF E8 DD 00                    db       08h,0FFh,0FFh,0E8h,0DDh, 00h
31E4:DDD1  00 90 08 02 00 00                    db       00h, 90h, 08h, 02h, 00h, 00h
31E4:DDD7  80 22 08 03 00                       db       80h, 22h, 08h, 03h, 00h
31E4:DDDC  0007[00]                             db      7 dup (0)
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 553

31E4:DDE3  80 98 08 04 00 00                    db       80h, 98h, 08h, 04h, 00h, 00h
31E4:DDE9  00 91 08 00 00 00                    db       00h, 91h, 08h, 00h, 00h, 00h
31E4:DDEF  00 BA 08 FF FF 02                    db       00h,0BAh, 08h,0FFh,0FFh, 02h
31E4:DDF5  22 B4 A1 01 00 E0                    db       22h,0B4h,0A1h, 01h, 00h,0E0h
31E4:DDFB  21 97 08 03 00 00                    db       21h, 97h, 08h, 03h, 00h, 00h
31E4:DE01  00 99 08 FF FF 26                    db       00h, 99h, 08h,0FFh,0FFh, 26h
31E4:DE07  DE 00 00 90 08 02                    db      0DEh, 00h, 00h, 90h, 08h, 02h
31E4:DE0D  00 00 80 38 08 03                    db       00h, 00h, 80h, 38h, 08h, 03h
31E4:DE13  00                                   db       00h
31E4:DE14  0008[00]                             db      8 dup (0)
31E4:DE1C  9B 08 04 00 00 80                    db       9Bh, 08h, 04h, 00h, 00h, 80h
31E4:DE22  9D 08 05 00 00 00                    db       9Dh, 08h, 05h, 00h, 00h, 00h
31E4:DE28  91 08 00 00 00 00                    db       91h, 08h, 00h, 00h, 00h, 00h
31E4:DE2E  BA 08 FF FF 02 22                    db      0BAh, 08h,0FFh,0FFh, 02h, 22h
31E4:DE34  B4 A1 01 00 E0 21                    db      0B4h,0A1h, 01h, 00h,0E0h, 21h
31E4:DE3A  9A 08 03 00 00 00                    db       9Ah, 08h, 03h, 00h, 00h, 00h
31E4:DE40  9C 08 FF FF 00 00                    db       9Ch, 08h,0FFh,0FFh, 00h, 00h
31E4:DE46  9E 08 FF FF 6A DE                    db       9Eh, 08h,0FFh,0FFh, 6Ah,0DEh
31E4:DE4C  00 80 24 04 00 00                    db       00h, 80h, 24h, 04h, 00h, 00h
31E4:DE52  00 00 A0 08 01 00                    db       00h, 00h,0A0h, 08h, 01h, 00h
31E4:DE58  00 80 2D 0A 03 00                    db       00h, 80h, 2Dh, 0Ah, 03h, 00h
31E4:DE5E  0007[00]                             db      7 dup (0)
31E4:DE65  80 A2 08 02 00 00                    db       80h,0A2h, 08h, 02h, 00h, 00h
31E4:DE6B  00 9F 08 01 00 00                    db       00h, 9Fh, 08h, 01h, 00h, 00h
31E4:DE71  00 A1 08 04 00 00                    db       00h,0A1h, 08h, 04h, 00h, 00h
31E4:DE77  00 A3 08 FF FF 00                    db       00h,0A3h, 08h,0FFh,0FFh, 00h
31E4:DE7D  00 2E 0A FF FF A2                    db       00h, 2Eh, 0Ah,0FFh,0FFh,0A2h
31E4:DE83  DE 00 80 24 04 02                    db      0DEh, 00h, 80h, 24h, 04h, 02h
31E4:DE89  00 00 00 CA 09 04                    db       00h, 00h, 00h,0CAh, 09h, 04h
31E4:DE8F  00 00 80 90 08 06                    db       00h, 00h, 80h, 90h, 08h, 06h
31E4:DE95  00                                   db       00h
31E4:DE96  0007[00]                             db      7 dup (0)
31E4:DE9D  80 CA 09 05 00 00                    db       80h,0CAh, 09h, 05h, 00h, 00h
31E4:DEA3  00 91 08 01 00 00                    db       00h, 91h, 08h, 01h, 00h, 00h
31E4:DEA9  00 BA 08 FF FF C7                    db       00h,0BAh, 08h,0FFh,0FFh,0C7h
31E4:DEAF  28 31 0A 01 00 00                    db       28h, 31h, 0Ah, 01h, 00h, 00h
31E4:DEB5  00 2F 0A 04 00 E0                    db       00h, 2Fh, 0Ah, 04h, 00h,0E0h
31E4:DEBB  21 32 0A FF FF 00                    db       21h, 32h, 0Ah,0FFh,0FFh, 00h
31E4:DEC1  00 30 0A FF FF 02                    db       00h, 30h, 0Ah,0FFh,0FFh, 02h
31E4:DEC7  22 B4 A1 01 00 E0                    db       22h,0B4h,0A1h, 01h, 00h,0E0h
31E4:DECD  DE 69 23 03 09 02                    db      0DEh, 69h, 23h, 03h, 09h, 02h
31E4:DED3  00 00 00 40 09 03                    db       00h, 00h, 00h, 40h, 09h, 03h
31E4:DED9  00 00 80 90 08 04                    db       00h, 00h, 80h, 90h, 08h, 04h
31E4:DEDF  00 00 00 91 08 00                    db       00h, 00h, 00h, 91h, 08h, 00h
31E4:DEE5  00 00 00 BA 08 FF                    db       00h, 00h, 00h,0BAh, 08h,0FFh
31E4:DEEB  FF 00 00 33 0A FF                    db      0FFh, 00h, 00h, 33h, 0Ah,0FFh
31E4:DEF1  FF E0 21 34 0A FF                    db      0FFh,0E0h, 21h, 34h, 0Ah,0FFh
31E4:DEF7  FF 02 22 B4 A1 00                    db      0FFh, 02h, 22h,0B4h,0A1h, 00h
31E4:DEFD  00 0C DF 00 00 90                    db       00h, 0Ch,0DFh, 00h, 00h, 90h
31E4:DF03  08 03 00 00 80 48                    db       08h, 03h, 00h, 00h, 80h, 48h
31E4:DF09  09 02 00 00 00 91                    db       09h, 02h, 00h, 00h, 00h, 91h
31E4:DF0F  08 00 00 00 00 BA                    db       08h, 00h, 00h, 00h, 00h,0BAh
31E4:DF15  08 FF FF E0 21 35                    db       08h,0FFh,0FFh,0E0h, 21h, 35h
31E4:DF1B  0A FF FF 02 22 B4                    db       0Ah,0FFh,0FFh, 02h, 22h,0B4h
31E4:DF21  A1 00 00 32 DF 00                    db      0A1h, 00h, 00h, 32h,0DFh, 00h
31E4:DF27  00 90 08 03 00 00                    db       00h, 90h, 08h, 03h, 00h, 00h
31E4:DF2D  80 92 09 02 00 00                    db       80h, 92h, 09h, 02h, 00h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 554

31E4:DF33  00 91 08 00 00 00                    db       00h, 91h, 08h, 00h, 00h, 00h
31E4:DF39  00 BA 08 FF FF E0                    db       00h,0BAh, 08h,0FFh,0FFh,0E0h
31E4:DF3F  21 36 0A FF FF 02                    db       21h, 36h, 0Ah,0FFh,0FFh, 02h
31E4:DF45  22 B4 A1 00 00 58                    db       22h,0B4h,0A1h, 00h, 00h, 58h
31E4:DF4B  DF 00 00 90 08 03                    db      0DFh, 00h, 00h, 90h, 08h, 03h
31E4:DF51  00 00 80 38 0A 02                    db       00h, 00h, 80h, 38h, 0Ah, 02h
31E4:DF57  00 00 00 91 08 00                    db       00h, 00h, 00h, 91h, 08h, 00h
31E4:DF5D  00 00 00 BA 08 FF                    db       00h, 00h, 00h,0BAh, 08h,0FFh
31E4:DF63  FF E0 21 37 0A FF                    db      0FFh,0E0h, 21h, 37h, 0Ah,0FFh
31E4:DF69  FF 02 22 B4 A1 00                    db      0FFh, 02h, 22h,0B4h,0A1h, 00h
31E4:DF6F  00 7E DF 00 80 D5                    db       00h, 7Eh,0DFh, 00h, 80h,0D5h
31E4:DF75  07 00 00 00 80 20                    db       07h, 00h, 00h, 00h, 80h, 20h
31E4:DF7B  08 01 00 00 00 49                    db       08h, 01h, 00h, 00h, 00h, 49h
31E4:DF81  A1 01 00 00 00 21                    db      0A1h, 01h, 00h, 00h, 00h, 21h
31E4:DF87  08 FF FF 92 DF 00                    db       08h,0FFh,0FFh, 92h,0DFh, 00h
31E4:DF8D  80 F9 07 00 00 00                    db       80h,0F9h, 07h, 00h, 00h, 00h
31E4:DF93  00 59 08 FF FF A0                    db       00h, 59h, 08h,0FFh,0FFh,0A0h
31E4:DF99  DF 00 80 FB 07 00                    db      0DFh, 00h, 80h,0FBh, 07h, 00h
31E4:DF9F  00 00 00 5A 08 FF                    db       00h, 00h, 00h, 5Ah, 08h,0FFh
31E4:DFA5  FF C6 DF 00 00 22                    db      0FFh,0C6h,0DFh, 00h, 00h, 22h
31E4:DFAB  08 00 00 00 80 2C                    db       08h, 00h, 00h, 00h, 80h, 2Ch
31E4:DFB1  08 01 00 00 80 25                    db       08h, 01h, 00h, 00h, 80h, 25h
31E4:DFB7  08 02 00 00 80 24                    db       08h, 02h, 00h, 00h, 80h, 24h
31E4:DFBD  04 03 00 00 80 24                    db       04h, 03h, 00h, 00h, 80h, 24h
31E4:DFC3  04 04 00 00 00 23                    db       04h, 04h, 00h, 00h, 00h, 23h
31E4:DFC9  08 FF FF 72 21 24                    db       08h,0FFh,0FFh, 72h, 21h, 24h
31E4:DFCF  08 02 00 00 00 26                    db       08h, 02h, 00h, 00h, 00h, 26h
31E4:DFD5  08 03 00 00 00 27                    db       08h, 03h, 00h, 00h, 00h, 27h
31E4:DFDB  08 04 00 59 21 24                    db       08h, 04h, 00h, 59h, 21h, 24h
31E4:DFE1  04 FF FF EC DF 00                    db       04h,0FFh,0FFh,0ECh,0DFh, 00h
31E4:DFE7  80 38 08 00 00 00                    db       80h, 38h, 08h, 00h, 00h, 00h
31E4:DFED  00 A4 08 FF FF 00                    db       00h,0A4h, 08h,0FFh,0FFh, 00h
31E4:DFF3  E0 00 80 24 04 00                    db      0E0h, 00h, 80h, 24h, 04h, 00h
31E4:DFF9  00 00 80 41 0A 01                    db       00h, 00h, 80h, 41h, 0Ah, 01h
31E4:DFFF  00 00 00 40 0A 01                    db       00h, 00h, 00h, 40h, 0Ah, 01h
31E4:E005  00 00 00 42 0A FF                    db       00h, 00h, 00h, 42h, 0Ah,0FFh
31E4:E00B  FF 1A E0 00 80 43                    db      0FFh, 1Ah,0E0h, 00h, 80h, 43h
31E4:E011  0A 00 00 00 80 45                    db       0Ah, 00h, 00h, 00h, 80h, 45h
31E4:E017  0A 01 00 00 00 44                    db       0Ah, 01h, 00h, 00h, 00h, 44h
31E4:E01D  0A 01 00 00 00 46                    db       0Ah, 01h, 00h, 00h, 00h, 46h
31E4:E023  0A FF FF 2E E0 00                    db       0Ah,0FFh,0FFh, 2Eh,0E0h, 00h
31E4:E029  80 CA 09 00 00 00                    db       80h,0CAh, 09h, 00h, 00h, 00h
31E4:E02F  00 74 0A FF FF 54                    db       00h, 74h, 0Ah,0FFh,0FFh, 54h
31E4:E035  E0 69 23 03 09 00                    db      0E0h, 69h, 23h, 03h, 09h, 00h
31E4:E03B  00 00 80 75 0A 01                    db       00h, 00h, 80h, 75h, 0Ah, 01h
31E4:E041  00 00 80 E7 0A 02                    db       00h, 00h, 80h,0E7h, 0Ah, 02h
31E4:E047  00 00 80 E9 0A 03                    db       00h, 00h, 80h,0E9h, 0Ah, 03h
31E4:E04D  00 00 80 EB 0A 04                    db       00h, 00h, 80h,0EBh, 0Ah, 04h
31E4:E053  00 00 00 47 0A FF                    db       00h, 00h, 00h, 47h, 0Ah,0FFh
31E4:E059  FF 00 00 76 0A 02                    db      0FFh, 00h, 00h, 76h, 0Ah, 02h
31E4:E05F  00 00 00 E8 0A 03                    db       00h, 00h, 00h,0E8h, 0Ah, 03h
31E4:E065  00 00 00 EA 0A 04                    db       00h, 00h, 00h,0EAh, 0Ah, 04h
31E4:E06B  00 00 00 EC 0A FF                    db       00h, 00h, 00h,0ECh, 0Ah,0FFh
31E4:E071  FF 86 E0 00 80 EF                    db      0FFh, 86h,0E0h, 00h, 80h,0EFh
31E4:E077  09 00 00 00 00 49                    db       09h, 00h, 00h, 00h, 00h, 49h
31E4:E07D  0A 01 00 00 80 4B                    db       0Ah, 01h, 00h, 00h, 80h, 4Bh
31E4:E083  0A 02 00 00 00 48                    db       0Ah, 02h, 00h, 00h, 00h, 48h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 555

31E4:E089  0A 01 00 00 00 4A                    db       0Ah, 01h, 00h, 00h, 00h, 4Ah
31E4:E08F  0A FF FF 00 00 4C                    db       0Ah,0FFh,0FFh, 00h, 00h, 4Ch
31E4:E095  0A FF FF A6 E0 00                    db       0Ah,0FFh,0FFh,0A6h,0E0h, 00h
31E4:E09B  80 40 09 00 00 00                    db       80h, 40h, 09h, 00h, 00h, 00h
31E4:E0A1  80 4E 0A 01 00 00                    db       80h, 4Eh, 0Ah, 01h, 00h, 00h
31E4:E0A7  00 4D 0A 01 00 00                    db       00h, 4Dh, 0Ah, 01h, 00h, 00h
31E4:E0AD  00 4F 0A FF FF C6                    db       00h, 4Fh, 0Ah,0FFh,0FFh,0C6h
31E4:E0B3  E0 00 80 48 09 00                    db      0E0h, 00h, 80h, 48h, 09h, 00h
31E4:E0B9  00 00 80 24 04 01                    db       00h, 00h, 80h, 24h, 04h, 01h
31E4:E0BF  00 00 80 52 0A 02                    db       00h, 00h, 80h, 52h, 0Ah, 02h
31E4:E0C5  00 00 00 50 0A 01                    db       00h, 00h, 00h, 50h, 0Ah, 01h
31E4:E0CB  00 00 00 51 0A 02                    db       00h, 00h, 00h, 51h, 0Ah, 02h
31E4:E0D1  00 00 00 53 0A FF                    db       00h, 00h, 00h, 53h, 0Ah,0FFh
31E4:E0D7  FF F2 E0 00 80 97                    db      0FFh,0F2h,0E0h, 00h, 80h, 97h
31E4:E0DD  09 00 00 00 00 55                    db       09h, 00h, 00h, 00h, 00h, 55h
31E4:E0E3  0A 01 00 00 00 57                    db       0Ah, 01h, 00h, 00h, 00h, 57h
31E4:E0E9  0A 02 00 00 80 59                    db       0Ah, 02h, 00h, 00h, 80h, 59h
31E4:E0EF  0A 03 00 00 00 54                    db       0Ah, 03h, 00h, 00h, 00h, 54h
31E4:E0F5  0A 01 00 00 00 56                    db       0Ah, 01h, 00h, 00h, 00h, 56h
31E4:E0FB  0A FF FF 00 00 58                    db       0Ah,0FFh,0FFh, 00h, 00h, 58h
31E4:E101  0A FF FF 00 00 5A                    db       0Ah,0FFh,0FFh, 00h, 00h, 5Ah
31E4:E107  0A FF FF 12 E1 00                    db       0Ah,0FFh,0FFh, 12h,0E1h, 00h
31E4:E10D  80 92 09 00 00 00                    db       80h, 92h, 09h, 00h, 00h, 00h
31E4:E113  00 5B 0A FF FF 20                    db       00h, 5Bh, 0Ah,0FFh,0FFh, 20h
31E4:E119  E1 00 80 5C 0A 00                    db      0E1h, 00h, 80h, 5Ch, 0Ah, 00h
31E4:E11F  00 00 00 5D 0A FF                    db       00h, 00h, 00h, 5Dh, 0Ah,0FFh
31E4:E125  FF 2E E1 00 80 D5                    db      0FFh, 2Eh,0E1h, 00h, 80h,0D5h
31E4:E12B  07 00 00 00 00 EF                    db       07h, 00h, 00h, 00h, 00h,0EFh
31E4:E131  A0 FF FF 3C E1 00                    db      0A0h,0FFh,0FFh, 3Ch,0E1h, 00h
31E4:E137  80 D9 07 00 00 00                    db       80h,0D9h, 07h, 00h, 00h, 00h
31E4:E13D  00 0B 08 FF FF 50                    db       00h, 0Bh, 08h,0FFh,0FFh, 50h
31E4:E143  E1 00 80 19 08 00                    db      0E1h, 00h, 80h, 19h, 08h, 00h
31E4:E149  00 00 80 24 04 01                    db       00h, 00h, 80h, 24h, 04h, 01h
31E4:E14F  00 00 00 11 08 01                    db       00h, 00h, 00h, 11h, 08h, 01h
31E4:E155  00 FF 20 24 04 FF                    db       00h,0FFh, 20h, 24h, 04h,0FFh
31E4:E15B  FF 70 E1 00 80 FB                    db      0FFh, 70h,0E1h, 00h, 80h,0FBh
31E4:E161  07 00 00 00 80 0D                    db       07h, 00h, 00h, 00h, 80h, 0Dh
31E4:E167  08 01 00 00 80 24                    db       08h, 01h, 00h, 00h, 80h, 24h
31E4:E16D  04 03 00 1C 21 0C                    db       04h, 03h, 00h, 1Ch, 21h, 0Ch
31E4:E173  08 01 00 00 00 0E                    db       08h, 01h, 00h, 00h, 00h, 0Eh
31E4:E179  08 FF FF 00 00 17                    db       08h,0FFh,0FFh, 00h, 00h, 17h
31E4:E17F  08 02 00 3C 21 24                    db       08h, 02h, 00h, 3Ch, 21h, 24h
31E4:E185  04 FF FF 9C E1 00                    db       04h,0FFh,0FFh, 9Ch,0E1h, 00h
31E4:E18B  00 22 08 00 00 00                    db       00h, 22h, 08h, 00h, 00h, 00h
31E4:E191  80 2C 08 01 00 00                    db       80h, 2Ch, 08h, 01h, 00h, 00h
31E4:E197  80 24 04 02 00 00                    db       80h, 24h, 04h, 02h, 00h, 00h
31E4:E19D  00 77 08 FF FF 00                    db       00h, 77h, 08h,0FFh,0FFh, 00h
31E4:E1A3  00 E1 0A 02 00 2E                    db       00h,0E1h, 0Ah, 02h, 00h, 2Eh
31E4:E1A9  29 24 04 FF FF B6                    db       29h, 24h, 04h,0FFh,0FFh,0B6h
31E4:E1AF  E1 00 80 38 08 00                    db      0E1h, 00h, 80h, 38h, 08h, 00h
31E4:E1B5  00 00 00 78 08 FF                    db       00h, 00h, 00h, 78h, 08h,0FFh
31E4:E1BB  FF CA E1 00 80 24                    db      0FFh,0CAh,0E1h, 00h, 80h, 24h
31E4:E1C1  04 00 00 00 80 CF                    db       04h, 00h, 00h, 00h, 80h,0CFh
31E4:E1C7  08 01 00 00 00 CE                    db       08h, 01h, 00h, 00h, 00h,0CEh
31E4:E1CD  08 01 00 00 00 24                    db       08h, 01h, 00h, 00h, 00h, 24h
31E4:E1D3  04 FF FF DE E1 00                    db       04h,0FFh,0FFh,0DEh,0E1h, 00h
31E4:E1D9  80 F5 08 00 00 00                    db       80h,0F5h, 08h, 00h, 00h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 556

31E4:E1DF  00 F6 08 FF FF FE                    db       00h,0F6h, 08h,0FFh,0FFh,0FEh
31E4:E1E5  E1 5B 23 F8 08 00                    db      0E1h, 5Bh, 23h,0F8h, 08h, 00h
31E4:E1EB  00 00 80 F5 08 02                    db       00h, 00h, 80h,0F5h, 08h, 02h
31E4:E1F1  00                                   db       00h
31E4:E1F2  0007[00]                             db      7 dup (0)
31E4:E1F9  80 24 04 01 00 00                    db       80h, 24h, 04h, 01h, 00h, 00h
31E4:E1FF  00 0F A3 03 00 34                    db       00h, 0Fh,0A3h, 03h, 00h, 34h
31E4:E205  23 24 04 FF FF 00                    db       23h, 24h, 04h,0FFh,0FFh, 00h
31E4:E20B  00 F6 08 FF FF 5A                    db       00h,0F6h, 08h,0FFh,0FFh, 5Ah
31E4:E211  E2 00 00 F5 08 00                    db      0E2h, 00h, 00h,0F5h, 08h, 00h
31E4:E217  00 8D A4 10 09 01                    db       00h, 8Dh,0A4h, 10h, 09h, 01h
31E4:E21D  0008[00]                             db      8 dup (0)
31E4:E225  80 12 09 02 00 00                    db       80h, 12h, 09h, 02h, 00h, 00h
31E4:E22B  80 14 09 03 00 00                    db       80h, 14h, 09h, 03h, 00h, 00h
31E4:E231  80 16 09 04 00 00                    db       80h, 16h, 09h, 04h, 00h, 00h
31E4:E237  80 18 09 05 00 00                    db       80h, 18h, 09h, 05h, 00h, 00h
31E4:E23D  80 24 04 06 00 00                    db       80h, 24h, 04h, 06h, 00h, 00h
31E4:E243  00 1B 09 07 00 00                    db       00h, 1Bh, 09h, 07h, 00h, 00h
31E4:E249  80 1D 09 08 00 00                    db       80h, 1Dh, 09h, 08h, 00h, 00h
31E4:E24F  80 1F 09 09 00 00                    db       80h, 1Fh, 09h, 09h, 00h, 00h
31E4:E255  80 24 04 0A 00 00                    db       80h, 24h, 04h, 0Ah, 00h, 00h
31E4:E25B  00 F6 08 FF FF 2D                    db       00h,0F6h, 08h,0FFh,0FFh, 2Dh
31E4:E261  24 11 09 03 00 00                    db       24h, 11h, 09h, 03h, 00h, 00h
31E4:E267  00 13 09 04 00 00                    db       00h, 13h, 09h, 04h, 00h, 00h
31E4:E26D  00 15 09 05 00 00                    db       00h, 15h, 09h, 05h, 00h, 00h
31E4:E273  00 17 09 06 00 00                    db       00h, 17h, 09h, 06h, 00h, 00h
31E4:E279  00 19 09 07 00 D3                    db       00h, 19h, 09h, 07h, 00h,0D3h
31E4:E27F  23 1A 09 08 00 00                    db       23h, 1Ah, 09h, 08h, 00h, 00h
31E4:E285  00 1C 09 09 00 B9                    db       00h, 1Ch, 09h, 09h, 00h,0B9h
31E4:E28B  23 1E 09 0A 00 00                    db       23h, 1Eh, 09h, 0Ah, 00h, 00h
31E4:E291  00 20 09 0B 00 94                    db       00h, 20h, 09h, 0Bh, 00h, 94h
31E4:E297  23 24 04 FF FF 00                    db       23h, 24h, 04h,0FFh,0FFh, 00h
31E4:E29D  00 3D 09 FF FF 00                    db       00h, 3Dh, 09h,0FFh,0FFh, 00h
31E4:E2A3  00 3E 09 FF FF 00                    db       00h, 3Eh, 09h,0FFh,0FFh, 00h
31E4:E2A9  00 3F 09 08 00 BC                    db       00h, 3Fh, 09h, 08h, 00h,0BCh
31E4:E2AF  E2 4E 29 F8 0A 00                    db      0E2h, 4Eh, 29h,0F8h, 0Ah, 00h
31E4:E2B5  00 00 80 40 09 01                    db       00h, 00h, 80h, 40h, 09h, 01h
31E4:E2BB  00 00 00 F9 0A FF                    db       00h, 00h, 00h,0F9h, 0Ah,0FFh
31E4:E2C1  FF 00 00 F7 0A FF                    db      0FFh, 00h, 00h,0F7h, 0Ah,0FFh
31E4:E2C7  FF D6 E2 4E 29 F8                    db      0FFh,0D6h,0E2h, 4Eh, 29h,0F8h
31E4:E2CD  0A 00 00 00 80 48                    db       0Ah, 00h, 00h, 00h, 80h, 48h
31E4:E2D3  09 01 00 00 00 F9                    db       09h, 01h, 00h, 00h, 00h,0F9h
31E4:E2D9  0A FF FF 00 00 FA                    db       0Ah,0FFh,0FFh, 00h, 00h,0FAh
31E4:E2DF  0A FF FF FC E2 4E                    db       0Ah,0FFh,0FFh,0FCh,0E2h, 4Eh
31E4:E2E5  29 F8 0A 00 00 00                    db       29h,0F8h, 0Ah, 00h, 00h, 00h
31E4:E2EB  80 92 09 01 00 00                    db       80h, 92h, 09h, 01h, 00h, 00h
31E4:E2F1  00 FC 0A 02 00 00                    db       00h,0FCh, 0Ah, 02h, 00h, 00h
31E4:E2F7  80 FE 0A 03 00 00                    db       80h,0FEh, 0Ah, 03h, 00h, 00h
31E4:E2FD  00 F9 0A FF FF 00                    db       00h,0F9h, 0Ah,0FFh,0FFh, 00h
31E4:E303  00 FB 0A 02 00 00                    db       00h,0FBh, 0Ah, 02h, 00h, 00h
31E4:E309  00 FD 0A FF FF 00                    db       00h,0FDh, 0Ah,0FFh,0FFh, 00h
31E4:E30F  00 FF 0A FF FF 3A                    db       00h,0FFh, 0Ah,0FFh,0FFh, 3Ah
31E4:E315  E3 00 00 38 0A 00                    db      0E3h, 00h, 00h, 38h, 0Ah, 00h
31E4:E31B  00 00 80 1F 0B 04                    db       00h, 00h, 80h, 1Fh, 0Bh, 04h
31E4:E321  00 00 00 19 0B 01                    db       00h, 00h, 00h, 19h, 0Bh, 01h
31E4:E327  00 00 80 1B 0B 02                    db       00h, 00h, 80h, 1Bh, 0Bh, 02h
31E4:E32D  00 00 80 1D 0B 03                    db       00h, 00h, 80h, 1Dh, 0Bh, 03h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 557

31E4:E333  00 00 80 21 0B 05                    db       00h, 00h, 80h, 21h, 0Bh, 05h
31E4:E339  00 00 00 18 0B 02                    db       00h, 00h, 00h, 18h, 0Bh, 02h
31E4:E33F  00 00 00 1A 0B FF                    db       00h, 00h, 00h, 1Ah, 0Bh,0FFh
31E4:E345  FF 00 00 1C 0B 04                    db      0FFh, 00h, 00h, 1Ch, 0Bh, 04h
31E4:E34B  00 00 00 1E 0B FF                    db       00h, 00h, 00h, 1Eh, 0Bh,0FFh
31E4:E351  FF 00 00 20 0B 05                    db      0FFh, 00h, 00h, 20h, 0Bh, 05h
31E4:E357  00 00 00 22 0B FF                    db       00h, 00h, 00h, 22h, 0Bh,0FFh
31E4:E35D  FF 78 E3 00 80 D5                    db      0FFh, 78h,0E3h, 00h, 80h,0D5h
31E4:E363  87 00 00 00 00 EF                    db       87h, 00h, 00h, 00h, 00h,0EFh
31E4:E369  07 5D A0 00 80 F6                    db       07h, 5Dh,0A0h, 00h, 80h,0F6h
31E4:E36F  07 97 A0 00 80 F2                    db       07h, 97h,0A0h, 00h, 80h,0F2h
31E4:E375  07 05 00 00 00 4D                    db       07h, 05h, 00h, 00h, 00h, 4Dh
31E4:E37B  A0 01 00 00 00 F0                    db      0A0h, 01h, 00h, 00h, 00h,0F0h
31E4:E381  07 FF FF 00 00 F1                    db       07h,0FFh,0FFh, 00h, 00h,0F1h
31E4:E387  07 03 00 00 00 F7                    db       07h, 03h, 00h, 00h, 00h,0F7h
31E4:E38D  07 FF FF 00 00 F8                    db       07h,0FFh,0FFh, 00h, 00h,0F8h
31E4:E393  07 FF FF BE 20 F4                    db       07h,0FFh,0FFh,0BEh, 20h,0F4h
31E4:E399  07 FF FF AA E3 00                    db       07h,0FFh,0FFh,0AAh,0E3h, 00h
31E4:E39F  80 FD 07 00 00 00                    db       80h,0FDh, 07h, 00h, 00h, 00h
31E4:E3A5  80 FF 07 01 00 00                    db       80h,0FFh, 07h, 01h, 00h, 00h
31E4:E3AB  00 FE 07 01 00 00                    db       00h,0FEh, 07h, 01h, 00h, 00h
31E4:E3B1  00 24 04 FF FF D0                    db       00h, 24h, 04h,0FFh,0FFh,0D0h
31E4:E3B7  E3 00 80 1A 08 00                    db      0E3h, 00h, 80h, 1Ah, 08h, 00h
31E4:E3BD  00 00 80 1C 08 01                    db       00h, 00h, 80h, 1Ch, 08h, 01h
31E4:E3C3  00 00 80 1E 08 02                    db       00h, 00h, 80h, 1Eh, 08h, 02h
31E4:E3C9  00 00 80 24 04 03                    db       00h, 00h, 80h, 24h, 04h, 03h
31E4:E3CF  00 00 00 1B 08 01                    db       00h, 00h, 00h, 1Bh, 08h, 01h
31E4:E3D5  00 00 00 1D 08 02                    db       00h, 00h, 00h, 1Dh, 08h, 02h
31E4:E3DB  00 00 00 00 08 03                    db       00h, 00h, 00h, 00h, 08h, 03h
31E4:E3E1  00 E2 20 01 08 FF                    db       00h,0E2h, 20h, 01h, 08h,0FFh
31E4:E3E7  FF F6 E3 00 00 22                    db      0FFh,0F6h,0E3h, 00h, 00h, 22h
31E4:E3ED  08 00 00 00 80 2C                    db       08h, 00h, 00h, 00h, 80h, 2Ch
31E4:E3F3  08 01 00 00 00 46                    db       08h, 01h, 00h, 00h, 00h, 46h
31E4:E3F9  08 FF FF 00 00 A7                    db       08h,0FFh,0FFh, 00h, 00h,0A7h
31E4:E3FF  0A FF FF 0A E4 00                    db       0Ah,0FFh,0FFh, 0Ah,0E4h, 00h
31E4:E405  80 38 08 00 00 00                    db       80h, 38h, 08h, 00h, 00h, 00h
31E4:E40B  00 39 08 FF FF 2A                    db       00h, 39h, 08h,0FFh,0FFh, 2Ah
31E4:E411  E4 00 80 57 0B 00                    db      0E4h, 00h, 80h, 57h, 0Bh, 00h
31E4:E417  00 00 00 59 0B 01                    db       00h, 00h, 00h, 59h, 0Bh, 01h
31E4:E41D  00 00 80 5B 0B 02                    db       00h, 00h, 80h, 5Bh, 0Bh, 02h
31E4:E423  00 00 80 24 04 03                    db       00h, 00h, 80h, 24h, 04h, 03h
31E4:E429  00 00 00 58 0B 01                    db       00h, 00h, 00h, 58h, 0Bh, 01h
31E4:E42F  00 00 00 5A 0B FF                    db       00h, 00h, 00h, 5Ah, 0Bh,0FFh
31E4:E435  FF 00 00 5C 0B FF                    db      0FFh, 00h, 00h, 5Ch, 0Bh,0FFh
31E4:E43B  FF 00 00 24 04 FF                    db      0FFh, 00h, 00h, 24h, 04h,0FFh
31E4:E441  FF 50 E4 00 80 24                    db      0FFh, 50h,0E4h, 00h, 80h, 24h
31E4:E447  04 00 00 00 80 E1                    db       04h, 00h, 00h, 00h, 80h,0E1h
31E4:E44D  07 01 00 00 00 E0                    db       07h, 01h, 00h, 00h, 00h,0E0h
31E4:E453  07 01 00 00 00 E2                    db       07h, 01h, 00h, 00h, 00h,0E2h
31E4:E459  07 FF FF A0 E4 00                    db       07h,0FFh,0FFh,0A0h,0E4h, 00h
31E4:E45F  80 E3 07 00 00 00                    db       80h,0E3h, 07h, 00h, 00h, 00h
31E4:E465  80 24 04 01 00 00                    db       80h, 24h, 04h, 01h, 00h, 00h
31E4:E46B  00 E6 87 02 00 00                    db       00h,0E6h, 87h, 02h, 00h, 00h
31E4:E471  00 E9 07 04 00 00                    db       00h,0E9h, 07h, 04h, 00h, 00h
31E4:E477  80 F3 07 05 00 00                    db       80h,0F3h, 07h, 05h, 00h, 00h
31E4:E47D  80 24 04 03 00 00                    db       80h, 24h, 04h, 03h, 00h, 00h
31E4:E483  80 24 04 06 00 00                    db       80h, 24h, 04h, 06h, 00h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 558

31E4:E489  80 01 0B 07 00 00                    db       80h, 01h, 0Bh, 07h, 00h, 00h
31E4:E48F  80 03 0B 08 00 00                    db       80h, 03h, 0Bh, 08h, 00h, 00h
31E4:E495  80 05 0B 09 00 00                    db       80h, 05h, 0Bh, 09h, 00h, 00h
31E4:E49B  80 07 0B 0A 00 00                    db       80h, 07h, 0Bh, 0Ah, 00h, 00h
31E4:E4A1  00 E4 07 01 00 00                    db       00h,0E4h, 07h, 01h, 00h, 00h
31E4:E4A7  00 E5 07 02 00 00                    db       00h,0E5h, 07h, 02h, 00h, 00h
31E4:E4AD  00 E7 07 05 00 00                    db       00h,0E7h, 07h, 05h, 00h, 00h
31E4:E4B3  00 E8 07 03 00 00                    db       00h,0E8h, 07h, 03h, 00h, 00h
31E4:E4B9  00 EA 07 06 00 00                    db       00h,0EAh, 07h, 06h, 00h, 00h
31E4:E4BF  00 F5 07 FF FF 00                    db       00h,0F5h, 07h,0FFh,0FFh, 00h
31E4:E4C5  00 00 0B 07 00 00                    db       00h, 00h, 0Bh, 07h, 00h, 00h
31E4:E4CB  00 02 0B 08 00 00                    db       00h, 02h, 0Bh, 08h, 00h, 00h
31E4:E4D1  00 04 0B 09 00 00                    db       00h, 04h, 0Bh, 09h, 00h, 00h
31E4:E4D7  00 06 0B FF FF 00                    db       00h, 06h, 0Bh,0FFh,0FFh, 00h
31E4:E4DD  00 08 0B FF FF EA                    db       00h, 08h, 0Bh,0FFh,0FFh,0EAh
31E4:E4E3  E4 69 A3 03 09 00                    db      0E4h, 69h,0A3h, 03h, 09h, 00h
31E4:E4E9  00 00 00 29 08 FF                    db       00h, 00h, 00h, 29h, 08h,0FFh
31E4:E4EF  FF F8 E4 00 80 24                    db      0FFh,0F8h,0E4h, 00h, 80h, 24h
31E4:E4F5  04 00 00 00 00 2A                    db       04h, 00h, 00h, 00h, 00h, 2Ah
31E4:E4FB  08 FF FF 0C E5                       db       08h,0FFh,0FFh, 0Ch,0E5h
31E4:E500  8000                 data_1185       dw      8000h                   ;  xref 31E4:90E9
31E4:E502  40 09 00 00 00 80                    db       40h, 09h, 00h, 00h, 00h, 80h
31E4:E508  69 0C 01 00 00 00                    db       69h, 0Ch, 01h, 00h, 00h, 00h
31E4:E50E  68 0C 01 00 00 00                    db       68h, 0Ch, 01h, 00h, 00h, 00h
31E4:E514  6A 0C FF FF 20 E5                    db       6Ah, 0Ch,0FFh,0FFh, 20h,0E5h
31E4:E51A  00 80 48 09 00 00                    db       00h, 80h, 48h, 09h, 00h, 00h
31E4:E520  00 00 00 0C FF FF                    db       00h, 00h, 00h, 0Ch,0FFh,0FFh
31E4:E526  3A E5 00 80 24 04                    db       3Ah,0E5h, 00h, 80h, 24h, 04h
31E4:E52C  00 00 00 80 6C 0C                    db       00h, 00h, 00h, 80h, 6Ch, 0Ch
31E4:E532  01 00 00 80 6E 0C                    db       01h, 00h, 00h, 80h, 6Eh, 0Ch
31E4:E538  02 00 00 00 6B 0C                    db       02h, 00h, 00h, 00h, 6Bh, 0Ch
31E4:E53E  01 00 00 00 6D 0C                    db       01h, 00h, 00h, 00h, 6Dh, 0Ch
31E4:E544  02 00 00 00 6F 0C                    db       02h, 00h, 00h, 00h, 6Fh, 0Ch
31E4:E54A  FF FF 5A E5 00 80                    db      0FFh,0FFh, 5Ah,0E5h, 00h, 80h
31E4:E550  2E 0B 00 00 00 80                    db       2Eh, 0Bh, 00h, 00h, 00h, 80h
31E4:E556  71 0C 01 00 00 00                    db       71h, 0Ch, 01h, 00h, 00h, 00h
31E4:E55C  70 0C 01 00 00 00                    db       70h, 0Ch, 01h, 00h, 00h, 00h
31E4:E562  24 04 FF FF 7A E5                    db       24h, 04h,0FFh,0FFh, 7Ah,0E5h
31E4:E568  00 80 24 04 00 00                    db       00h, 80h, 24h, 04h, 00h, 00h
31E4:E56E  00 80 98 0C 01 00                    db       00h, 80h, 98h, 0Ch, 01h, 00h
31E4:E574  00 80 9A 0C 02 00                    db       00h, 80h, 9Ah, 0Ch, 02h, 00h
31E4:E57A  00 00 97 0C 01 00                    db       00h, 00h, 97h, 0Ch, 01h, 00h
31E4:E580  00 00 99 0C 02 00                    db       00h, 00h, 99h, 0Ch, 02h, 00h
31E4:E586  00 00 24 04 FF FF                    db       00h, 00h, 24h, 04h,0FFh,0FFh
31E4:E58C  94 E5 00 80 38 0A                    db       94h,0E5h, 00h, 80h, 38h, 0Ah
31E4:E592  00 00 00 00 08 0C                    db       00h, 00h, 00h, 00h, 08h, 0Ch
31E4:E598  FF FF A2 E5 00 80                    db      0FFh,0FFh,0A2h,0E5h, 00h, 80h
31E4:E59E  78 00 00 00 00 00                    db       78h, 00h, 00h, 00h, 00h, 00h
31E4:E5A4  7D 00 FF FF CE E5                    db       7Dh, 00h,0FFh,0FFh,0CEh,0E5h
31E4:E5AA  00 80 24 04 00 00                    db       00h, 80h, 24h, 04h, 00h, 00h
31E4:E5B0  00 80 FB 00 02 00                    db       00h, 80h,0FBh, 00h, 02h, 00h
31E4:E5B6  00 80 F9 00 03 00                    db       00h, 80h,0F9h, 00h, 03h, 00h
31E4:E5BC  00 80 FC 00 04 00                    db       00h, 80h,0FCh, 00h, 04h, 00h
31E4:E5C2  00 80 FE 00 05 00                    db       00h, 80h,0FEh, 00h, 05h, 00h
31E4:E5C8  00 80 24 04 06 00                    db       00h, 80h, 24h, 04h, 06h, 00h
31E4:E5CE  CF 1F FD 00 FF FF                    db      0CFh, 1Fh,0FDh, 00h,0FFh,0FFh
31E4:E5D4  00 00 24 04 01 00                    db       00h, 00h, 24h, 04h, 01h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 559

31E4:E5DA  0B 20 00 01 02 00                    db       0Bh, 20h, 00h, 01h, 02h, 00h
31E4:E5E0  00 00 FF 00 03 00                    db       00h, 00h,0FFh, 00h, 03h, 00h
31E4:E5E6  00 00 01 01 04 00                    db       00h, 00h, 01h, 01h, 04h, 00h
31E4:E5EC  00 00 94 00 05 00                    db       00h, 00h, 94h, 00h, 05h, 00h
31E4:E5F2  E9 1F 24 04 FF FF                    db      0E9h, 1Fh, 24h, 04h,0FFh,0FFh
31E4:E5F8  06 E6 00 80 F4 00                    db       06h,0E6h, 00h, 80h,0F4h, 00h
31E4:E5FE  00 00 00 80 F6 00                    db       00h, 00h, 00h, 80h,0F6h, 00h
31E4:E604  01 00 00 00 F5 00                    db       01h, 00h, 00h, 00h,0F5h, 00h
31E4:E60A  01 00 00 00 F7 00                    db       01h, 00h, 00h, 00h,0F7h, 00h
31E4:E610  FF FF 1A E6 00 80                    db      0FFh,0FFh, 1Ah,0E6h, 00h, 80h
31E4:E616  F9 07 00 00 00 00                    db      0F9h, 07h, 00h, 00h, 00h, 00h
31E4:E61C  FA 07 FF FF 28 E6                    db      0FAh, 07h,0FFh,0FFh, 28h,0E6h
31E4:E622  00 80 FB 07 00 00                    db       00h, 80h,0FBh, 07h, 00h, 00h
31E4:E628  00 00 FC 07 FF FF                    db       00h, 00h,0FCh, 07h,0FFh,0FFh
31E4:E62E  3C E6 00 80 C9 08                    db       3Ch,0E6h, 00h, 80h,0C9h, 08h
31E4:E634  00 00 00 80 24 04                    db       00h, 00h, 00h, 80h, 24h, 04h
31E4:E63A  01 00 00 00 CA 08                    db       01h, 00h, 00h, 00h,0CAh, 08h
31E4:E640  01 00 A8 22 24 04                    db       01h, 00h,0A8h, 22h, 24h, 04h
31E4:E646  FF FF 56 E6 00 00                    db      0FFh,0FFh, 56h,0E6h, 00h, 00h
31E4:E64C  2C 08 01 00 00 80                    db       2Ch, 08h, 01h, 00h, 00h, 80h
31E4:E652  22 08 00 00 00 00                    db       22h, 08h, 00h, 00h, 00h, 00h
31E4:E658  3B 08 FF FF 00 00                    db       3Bh, 08h,0FFh,0FFh, 00h, 00h
31E4:E65E  D7 0A FF FF 6A E6                    db      0D7h, 0Ah,0FFh,0FFh, 6Ah,0E6h
31E4:E664  00 80 CB 08 00 00                    db       00h, 80h,0CBh, 08h, 00h, 00h
31E4:E66A  00 00 CC 08 FF FF                    db       00h, 00h,0CCh, 08h,0FFh,0FFh
31E4:E670  78 E6 00 80 C9 08                    db       78h,0E6h, 00h, 80h,0C9h, 08h
31E4:E676  00 00 00 00 10 0A                    db       00h, 00h, 00h, 00h, 10h, 0Ah
31E4:E67C  FF FF 86 E6 00 80                    db      0FFh,0FFh, 86h,0E6h, 00h, 80h
31E4:E682  38 08 00 00 00 00                    db       38h, 08h, 00h, 00h, 00h, 00h
31E4:E688  3A 08 FF FF B2 E6                    db       3Ah, 08h,0FFh,0FFh,0B2h,0E6h
31E4:E68E  69 23 03 09 00 00                    db       69h, 23h, 03h, 09h, 00h, 00h
31E4:E694  00 80 C9 08 03 00                    db       00h, 80h,0C9h, 08h, 03h, 00h
31E4:E69A  0007[00]                             db      7 dup (0)
31E4:E6A1  80 05 09 01 00 00                    db       80h, 05h, 09h, 01h, 00h, 00h
31E4:E6A7  80 07 09 02 00 00                    db       80h, 07h, 09h, 02h, 00h, 00h
31E4:E6AD  80 12 0A 04 00 00                    db       80h, 12h, 0Ah, 04h, 00h, 00h
31E4:E6B3  00 04 09 03 00 00                    db       00h, 04h, 09h, 03h, 00h, 00h
31E4:E6B9  00 06 09 04 00 00                    db       00h, 06h, 09h, 04h, 00h, 00h
31E4:E6BF  00 08 09 FF FF 00                    db       00h, 08h, 09h,0FFh,0FFh, 00h
31E4:E6C5  00 11 0A 05 00 00                    db       00h, 11h, 0Ah, 05h, 00h, 00h
31E4:E6CB  00 13 0A FF FF EA                    db       00h, 13h, 0Ah,0FFh,0FFh,0EAh
31E4:E6D1  E6 00 80 C9 08 00                    db      0E6h, 00h, 80h,0C9h, 08h, 00h
31E4:E6D7  0009[00]                             db      9 dup (0)
31E4:E6E0  15 0A 01 00 00 80                    db       15h, 0Ah, 01h, 00h, 00h, 80h
31E4:E6E6  17 0A 02 00 00 00                    db       17h, 0Ah, 02h, 00h, 00h, 00h
31E4:E6EC  14 0A 02 00 00 00                    db       14h, 0Ah, 02h, 00h, 00h, 00h
31E4:E6F2  16 0A FF FF 00 00                    db       16h, 0Ah,0FFh,0FFh, 00h, 00h
31E4:E6F8  18 0A FF FF 04 E7                    db       18h, 0Ah,0FFh,0FFh, 04h,0E7h
31E4:E6FE  00 80 C9 08 00 00                    db       00h, 80h,0C9h, 08h, 00h, 00h
31E4:E704  00 00 19 0A FF FF                    db       00h, 00h, 19h, 0Ah,0FFh,0FFh
31E4:E70A  2A E7 00 00 1A 0A                    db       2Ah,0E7h, 00h, 00h, 1Ah, 0Ah
31E4:E710  00 00 00 80 48 09                    db       00h, 00h, 00h, 80h, 48h, 09h
31E4:E716  02                                   db       02h
31E4:E717  0008[00]                             db      8 dup (0)
31E4:E71F  80 1C 0A 01 00 00                    db       80h, 1Ch, 0Ah, 01h, 00h, 00h
31E4:E725  80 1F 0A 03 00 00                    db       80h, 1Fh, 0Ah, 03h, 00h, 00h
31E4:E72B  00 1B 0A 03 00 00                    db       00h, 1Bh, 0Ah, 03h, 00h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 560

31E4:E731  00 1D 0A FF FF 00                    db       00h, 1Dh, 0Ah,0FFh,0FFh, 00h
31E4:E737  00 1E 0A 04 00 00                    db       00h, 1Eh, 0Ah, 04h, 00h, 00h
31E4:E73D  00 20 0A FF FF 4A                    db       00h, 20h, 0Ah,0FFh,0FFh, 4Ah
31E4:E743  E7 00 80 C9 08 00                    db      0E7h, 00h, 80h,0C9h, 08h, 00h
31E4:E749  00 00 00 21 0A FF                    db       00h, 00h, 00h, 21h, 0Ah,0FFh
31E4:E74F  FF 6A E7 00 80 22                    db      0FFh, 6Ah,0E7h, 00h, 80h, 22h
31E4:E755  0A 00 00 00 80 24                    db       0Ah, 00h, 00h, 00h, 80h, 24h
31E4:E75B  04 01 00 00 80 25                    db       04h, 01h, 00h, 00h, 80h, 25h
31E4:E761  0A 02 00 00 80 27                    db       0Ah, 02h, 00h, 00h, 80h, 27h
31E4:E767  0A 03 00 00 00 23                    db       0Ah, 03h, 00h, 00h, 00h, 23h
31E4:E76D  0A 01 00 00 00 24                    db       0Ah, 01h, 00h, 00h, 00h, 24h
31E4:E773  0A 02 00 00 00 26                    db       0Ah, 02h, 00h, 00h, 00h, 26h
31E4:E779  0A 03 00 00 00 28                    db       0Ah, 03h, 00h, 00h, 00h, 28h
31E4:E77F  0A FF FF BA E7 4F                    db       0Ah,0FFh,0FFh,0BAh,0E7h, 4Fh
31E4:E785  2A 88 0B 00 00 00                    db       2Ah, 88h, 0Bh, 00h, 00h, 00h
31E4:E78B  00 7D 0B 03 00 00                    db       00h, 7Dh, 0Bh, 03h, 00h, 00h
31E4:E791  80 38 0A 05 00 00                    db       80h, 38h, 0Ah, 05h, 00h, 00h
31E4:E797  80 8A 0B 01 00 00                    db       80h, 8Ah, 0Bh, 01h, 00h, 00h
31E4:E79D  80 8C 0B 02 00 00                    db       80h, 8Ch, 0Bh, 02h, 00h, 00h
31E4:E7A3  80 7F 0B 04 00 00                    db       80h, 7Fh, 0Bh, 04h, 00h, 00h
31E4:E7A9  80 82 0B 06 00 00                    db       80h, 82h, 0Bh, 06h, 00h, 00h
31E4:E7AF  80 84 0B 07 00 00                    db       80h, 84h, 0Bh, 07h, 00h, 00h
31E4:E7B5  80 86 0B 08 00 00                    db       80h, 86h, 0Bh, 08h, 00h, 00h
31E4:E7BB  00 89 0B 03 00 00                    db       00h, 89h, 0Bh, 03h, 00h, 00h
31E4:E7C1  00 8B 0B 04 00 00                    db       00h, 8Bh, 0Bh, 04h, 00h, 00h
31E4:E7C7  00 8D 0B FF FF 00                    db       00h, 8Dh, 0Bh,0FFh,0FFh, 00h
31E4:E7CD  00 7E 0B 05 00 00                    db       00h, 7Eh, 0Bh, 05h, 00h, 00h
31E4:E7D3  00 80 0B FF FF 00                    db       00h, 80h, 0Bh,0FFh,0FFh, 00h
31E4:E7D9  00 81 0B 06 00 00                    db       00h, 81h, 0Bh, 06h, 00h, 00h
31E4:E7DF  00 83 0B 07 00 00                    db       00h, 83h, 0Bh, 07h, 00h, 00h
31E4:E7E5  00 85 0B 08 00 00                    db       00h, 85h, 0Bh, 08h, 00h, 00h
31E4:E7EB  00 87 0B FF FF 0A                    db       00h, 87h, 0Bh,0FFh,0FFh, 0Ah
31E4:E7F1  E8 00 80 24 84 00                    db      0E8h, 00h, 80h, 24h, 84h, 00h
31E4:E7F7  00 00 80 5F 08 03                    db       00h, 00h, 80h, 5Fh, 08h, 03h
31E4:E7FD  00 00 80 58 08 01                    db       00h, 00h, 80h, 58h, 08h, 01h
31E4:E803  00 00 80 5D 08 02                    db       00h, 00h, 80h, 5Dh, 08h, 02h
31E4:E809  00 00 00 57 08 02                    db       00h, 00h, 00h, 57h, 08h, 02h
31E4:E80F  00 00 00 5C 08 03                    db       00h, 00h, 00h, 5Ch, 08h, 03h
31E4:E815  00 82 21 5E 08 FF                    db       00h, 82h, 21h, 5Eh, 08h,0FFh
31E4:E81B  FF 00 00 60 08 FF                    db      0FFh, 00h, 00h, 60h, 08h,0FFh
31E4:E821  FF 3C E8 00 00 B2                    db      0FFh, 3Ch,0E8h, 00h, 00h,0B2h
31E4:E827  00 00 00 00 00 B3                    db       00h, 00h, 00h, 00h, 00h,0B3h
31E4:E82D  00 01 00 00 80 B4                    db       00h, 01h, 00h, 00h, 80h,0B4h
31E4:E833  00 02 00 00 80 F2                    db       00h, 02h, 00h, 00h, 80h,0F2h
31E4:E839  00 03 00 FD 06 C1                    db       00h, 03h, 00h,0FDh, 06h,0C1h
31E4:E83F  00 FF FF FD 06 C2                    db       00h,0FFh,0FFh,0FDh, 06h,0C2h
31E4:E845  00 FF FF FD 06 C7                    db       00h,0FFh,0FFh,0FDh, 06h,0C7h
31E4:E84B  00 03 00 00 00 F3                    db       00h, 03h, 00h, 00h, 00h,0F3h
31E4:E851  00 FF FF 5C E8 00                    db       00h,0FFh,0FFh, 5Ch,0E8h, 00h
31E4:E857  80 31 01 00 00 00                    db       80h, 31h, 01h, 00h, 00h, 00h
31E4:E85D  00 32 01 FF FF 70                    db       00h, 32h, 01h,0FFh,0FFh, 70h
31E4:E863  E8 00 80 24 04 00                    db      0E8h, 00h, 80h, 24h, 04h, 00h
31E4:E869  00 00 80 D9 0A 01                    db       00h, 00h, 80h,0D9h, 0Ah, 01h
31E4:E86F  00 00 00 D8 0A 01                    db       00h, 00h, 00h,0D8h, 0Ah, 01h
31E4:E875  00 00 00 DA 0A FF                    db       00h, 00h, 00h,0DAh, 0Ah,0FFh
31E4:E87B  FF 8A E8 00 80 D0                    db      0FFh, 8Ah,0E8h, 00h, 80h,0D0h
31E4:E881  07 00 00 00 80 24                    db       07h, 00h, 00h, 00h, 80h, 24h
31E4:E887  04 01 00 00 00 D1                    db       04h, 01h, 00h, 00h, 00h,0D1h
31E4:E88D  07 01 00 00 00 D2                    db       07h, 01h, 00h, 00h, 00h,0D2h
31E4:E893  07 FF FF B0 E8 00                    db       07h,0FFh,0FFh,0B0h,0E8h, 00h
31E4:E899  80                                   db       80h
31E4:E89A  22 08                                db       22h, 08h
31E4:E89C  0009[00]                             db      9 dup (0)
31E4:E8A5  80 24 04 01 00 00                    db       80h, 24h, 04h, 01h, 00h, 00h
31E4:E8AB  80 24 04 02 00 00                    db       80h, 24h, 04h, 02h, 00h, 00h
31E4:E8B1  00 3C 08 02 00 00                    db       00h, 3Ch, 08h, 02h, 00h, 00h
31E4:E8B7  00 3D 08 03 00 00                    db       00h, 3Dh, 08h, 03h, 00h, 00h
31E4:E8BD  00 3E 08 FF FF E8                    db       00h, 3Eh, 08h,0FFh,0FFh,0E8h
31E4:E8C3  E8 00 80                             db      0E8h, 00h, 80h
31E4:E8C6  38 08                                db       38h, 08h
31E4:E8C8  0009[00]                             db      9 dup (0)
31E4:E8D1  80 40 08 01 00 00                    db       80h, 40h, 08h, 01h, 00h, 00h
31E4:E8D7  80 24 04 02 00 00                    db       80h, 24h, 04h, 02h, 00h, 00h
31E4:E8DD  80 24 04 03 00 00                    db       80h, 24h, 04h, 03h, 00h, 00h
31E4:E8E3  80 44 08 04 00 00                    db       80h, 44h, 08h, 04h, 00h, 00h
31E4:E8E9  00 3F 08 02 00 00                    db       00h, 3Fh, 08h, 02h, 00h, 00h
31E4:E8EF  00 41 08 03 00 00                    db       00h, 41h, 08h, 03h, 00h, 00h
31E4:E8F5  00 42 08 04 00 00                    db       00h, 42h, 08h, 04h, 00h, 00h
31E4:E8FB  00 43 08 05 00                       db       00h, 43h, 08h, 05h, 00h
31E4:E900  00                   data_1191       db      0                       ; Data table (indexed access)
31E4:E901  00 45 08 FF FF 1A                    db       00h, 45h, 08h,0FFh,0FFh, 1Ah
31E4:E907  E9 00 80 FB 07                       db      0E9h, 00h, 80h,0FBh, 07h
31E4:E90C  0009[00]                             db      9 dup (0)
31E4:E915  80 24 04 01 00 00                    db       80h, 24h, 04h, 01h, 00h, 00h
31E4:E91B  00 08 08 02 00 00                    db       00h, 08h, 08h, 02h, 00h, 00h
31E4:E921  00 09 08 FF FF 52                    db       00h, 09h, 08h,0FFh,0FFh, 52h
31E4:E927  E9 00 80 D5 87 00                    db      0E9h, 00h, 80h,0D5h, 87h, 00h
31E4:E92D  00 00 80 24 84 01                    db       00h, 00h, 80h, 24h, 84h, 01h
31E4:E933  00 00 80 24 84 02                    db       00h, 00h, 80h, 24h, 84h, 02h
31E4:E939  00 2B A0 D9 07 03                    db       00h, 2Bh,0A0h,0D9h, 07h, 03h
31E4:E93F  00                                   db       00h
31E4:E940  0007[00]                             db      7 dup (0)
31E4:E947  80 24 04 04 00 00                    db       80h, 24h, 04h, 04h, 00h, 00h
31E4:E94D  80 24 04 05 00 00                    db       80h, 24h, 04h, 05h, 00h, 00h
31E4:E953  00 1B A0 01 00 00                    db       00h, 1Bh,0A0h, 01h, 00h, 00h
31E4:E959  00 D7 07 02 00 00                    db       00h,0D7h, 07h, 02h, 00h, 00h
31E4:E95F  00 D8 07 FF FF 00                    db       00h,0D8h, 07h,0FFh,0FFh, 00h
31E4:E965  00 DA 07 05 00 00                    db       00h,0DAh, 07h, 05h, 00h, 00h
31E4:E96B  00 DB 07 06 00 00                    db       00h,0DBh, 07h, 06h, 00h, 00h
31E4:E971  00 DC 07 FF FF 90                    db       00h,0DCh, 07h,0FFh,0FFh, 90h
31E4:E977  E9 00 80                             db      0E9h, 00h, 80h
31E4:E97A  29 0A                                db       29h, 0Ah
31E4:E97C  0009[00]                             db      9 dup (0)
31E4:E985  80 24 04 01 00 00                    db       80h, 24h, 04h, 01h, 00h, 00h
31E4:E98B  80 24 04 02 00 00                    db       80h, 24h, 04h, 02h, 00h, 00h
31E4:E991  00 2A 0A 02 00 00                    db       00h, 2Ah, 0Ah, 02h, 00h, 00h
31E4:E997  00 2B 0A 03 00 00                    db       00h, 2Bh, 0Ah, 03h, 00h, 00h
31E4:E99D  00 2C 0A FF FF B0                    db       00h, 2Ch, 0Ah,0FFh,0FFh,0B0h
31E4:E9A3  E9 00 80 24 04 00                    db      0E9h, 00h, 80h, 24h, 04h, 00h
31E4:E9A9  00 00 80 24 04 01                    db       00h, 00h, 80h, 24h, 04h, 01h
31E4:E9AF  00 00 00 77 09 01                    db       00h, 00h, 00h, 77h, 09h, 01h
31E4:E9B5  00 00 00 78 09 FF                    db       00h, 00h, 00h, 78h, 09h,0FFh
31E4:E9BB  FF C4 E9 00 80 CA                    db      0FFh,0C4h,0E9h, 00h, 80h,0CAh
31E4:E9C1  09 00                                db       09h, 00h
31E4:E9C3  00 00 00 CB 09 FF                    db       00h, 00h, 00h,0CBh, 09h,0FFh
31E4:E9C9  FF EA E9 69 A3 03                    db      0FFh,0EAh,0E9h, 69h,0A3h, 03h
31E4:E9CF  09 00 00 00 80 24                    db       09h, 00h, 00h, 00h, 80h, 24h
31E4:E9D5  04 02 00                             db       04h, 02h, 00h
31E4:E9D8  0007[00]                             db      7 dup (0)
31E4:E9DF  80 24 04 01 00 00                    db       80h, 24h, 04h, 01h, 00h, 00h
31E4:E9E5  80 24 04 02 00 00                    db       80h, 24h, 04h, 02h, 00h, 00h
31E4:E9EB  00 79 09 03 00 00                    db       00h, 79h, 09h, 03h, 00h, 00h
31E4:E9F1  00 7A 09 04 00 00                    db       00h, 7Ah, 09h, 04h, 00h, 00h
31E4:E9F7  00 7B 09 FF FF 0A                    db       00h, 7Bh, 09h,0FFh,0FFh, 0Ah
31E4:E9FD  EA 00 80 24 04 00                    db      0EAh, 00h, 80h, 24h, 04h, 00h
31E4:EA03  00 00 80 CD 09 01                    db       00h, 00h, 80h,0CDh, 09h, 01h
31E4:EA09  00 00 00 CC 09 01                    db       00h, 00h, 00h,0CCh, 09h, 01h
31E4:EA0F  00 00 00 45 08 FF                    db       00h, 00h, 00h, 45h, 08h,0FFh
31E4:EA15  FF 30 EA 00 80                       db      0FFh, 30h,0EAh, 00h, 80h
31E4:EA1A  40 09                                db       40h, 09h
31E4:EA1C  0009[00]                             db      9 dup (0)
31E4:EA25  80 24 04 01 00 00                    db       80h, 24h, 04h, 01h, 00h, 00h
31E4:EA2B  80 24 04 02 00 00                    db       80h, 24h, 04h, 02h, 00h, 00h
31E4:EA31  00 CF 09 02 00 00                    db       00h,0CFh, 09h, 02h, 00h, 00h
31E4:EA37  00 D0 09 03 00 00                    db       00h,0D0h, 09h, 03h, 00h, 00h
31E4:EA3D  00 D1 09 FF FF 5C                    db       00h,0D1h, 09h,0FFh,0FFh, 5Ch
31E4:EA43  EA 00 80                             db      0EAh, 00h, 80h
31E4:EA46  48 09                                db       48h, 09h
31E4:EA48  0009[00]                             db      9 dup (0)
31E4:EA51  80 24 04 01 00 00                    db       80h, 24h, 04h, 01h, 00h, 00h
31E4:EA57  80 24 04 02 00 00                    db       80h, 24h, 04h, 02h, 00h, 00h
31E4:EA5D  00 B7 09 02 00 00                    db       00h,0B7h, 09h, 02h, 00h, 00h
31E4:EA63  00 B8 09 03 00 00                    db       00h,0B8h, 09h, 03h, 00h, 00h
31E4:EA69  00 B9 09 FF FF 8E                    db       00h,0B9h, 09h,0FFh,0FFh, 8Eh
31E4:EA6F  EA 00 80 92 09 00                    db      0EAh, 00h, 80h, 92h, 09h, 00h
31E4:EA75  00                                   db       00h
31E4:EA76  0007[00]                             db      7 dup (0)
31E4:EA7D  80 24 04 03 00 00                    db       80h, 24h, 04h, 03h, 00h, 00h
31E4:EA83  80 BC 09 04 00 00                    db       80h,0BCh, 09h, 04h, 00h, 00h
31E4:EA89  80 24 04 02 00 DC                    db       80h, 24h, 04h, 02h, 00h,0DCh
31E4:EA8F  27 BA 09 02 00 00                    db       27h,0BAh, 09h, 02h, 00h, 00h
31E4:EA95  00 BE 09 04 00 00                    db       00h,0BEh, 09h, 04h, 00h, 00h
31E4:EA9B  00 BF 09 FF FF 00                    db       00h,0BFh, 09h,0FFh,0FFh, 00h
31E4:EAA1  00 BB 09 03 00 E7                    db       00h,0BBh, 09h, 03h, 00h,0E7h
31E4:EAA7  26 BD 09 FF FF C0                    db       26h,0BDh, 09h,0FFh,0FFh,0C0h
31E4:EAAD  EA 00 80 75 0C 00                    db      0EAh, 00h, 80h, 75h, 0Ch, 00h
31E4:EAB3  00 00 80 24 04 01                    db       00h, 00h, 80h, 24h, 04h, 01h
31E4:EAB9  00 00 80 24 04 02                    db       00h, 00h, 80h, 24h, 04h, 02h
31E4:EABF  00 00 00 76 0C 01                    db       00h, 00h, 00h, 76h, 0Ch, 01h
31E4:EAC5  00 00 00 77 0C 02                    db       00h, 00h, 00h, 77h, 0Ch, 02h
31E4:EACB  00 00 00 78 0C FF                    db       00h, 00h, 00h, 78h, 0Ch,0FFh
31E4:EAD1  FF E6 EA 00 80 C0                    db      0FFh,0E6h,0EAh, 00h, 80h,0C0h
31E4:EAD7  09 00 00 00 80 A9                    db       09h, 00h, 00h, 00h, 80h,0A9h
31E4:EADD  09 02 00 00 80 24                    db       09h, 02h, 00h, 00h, 80h, 24h
31E4:EAE3  04 03 00 17 27 AB                    db       04h, 03h, 00h, 17h, 27h,0ABh
31E4:EAE9  09 FF FF 00 00 C1                    db       09h,0FFh,0FFh, 00h, 00h,0C1h
31E4:EAEF  09 01 00 00 00 C2                    db       09h, 01h, 00h, 00h, 00h,0C2h
31E4:EAF5  09 02 00 F3 27 24                    db       09h, 02h, 00h,0F3h, 27h, 24h
31E4:EAFB  04 FF FF 12 EB 00                    db       04h,0FFh,0FFh, 12h,0EBh, 00h
31E4:EB01  80 38 0A 00 00 00                    db       80h, 38h, 0Ah, 00h, 00h, 00h
31E4:EB07  80 24 04 01 00 00                    db       80h, 24h, 04h, 01h, 00h, 00h
31E4:EB0D  80 24 04 02 00 00                    db       80h, 24h, 04h, 02h, 00h, 00h
31E4:EB13  00 23 0B 01 00 00                    db       00h, 23h, 0Bh, 01h, 00h, 00h
31E4:EB19  00 24 0B 02 00 00                    db       00h, 24h, 0Bh, 02h, 00h, 00h
31E4:EB1F  00 25 0B FF FF

31E4:EB24  EB56                 skorl_talk_0    dw       offset skorl_responses
31E4:EB26  00 00 AF 00 01                       db       00h, 00h,0AFh, 00h, 01h
31E4:EB2B  00 00 00 B0 00 01                    db       00h, 00h, 00h,0B0h, 00h, 01h
31E4:EB31  00 00 80 B1 00 02                    db       00h, 00h, 80h,0B1h, 00h, 02h
31E4:EB37  00 00 00 B5 00 03                    db       00h, 00h, 00h,0B5h, 00h, 03h
31E4:EB3D  00 00 00 B6 00 04                    db       00h, 00h, 00h,0B6h, 00h, 04h
31E4:EB43  00 00 80 B7 00 05                    db       00h, 00h, 80h,0B7h, 00h, 05h
31E4:EB49  00 00 00 B8 00 06                    db       00h, 00h, 00h,0B8h, 00h, 06h
31E4:EB4F  00 00 80 B9 00 07                    db       00h, 00h, 80h,0B9h, 00h, 07h
31E4:EB55  00                                   db       00h

31E4:EB56  0000 00BF FFFF    skorl_responses    dw       0000h, 00BFh, 0FFFFh
31E4:EB5C  1FA8 00BE 0003
31E4:EB62  1FC2 00C0 FFFF
31E4:EB68  0000 00C4 FFFF
31E4:EB6E  0000 00C3 FFFF
31E4:EB74  0000 00C6 0006
31E4:EB7A  0000 00C5 FFFF
31E4:EB80  0000 00C8 FFFF
31E4:EB86  EBA6 8000 099E


31E4:EB86  A6 EB 00 80 9E                       db      0A6h,0EBh, 00h, 80h, 9Eh
31E4:EB8B  09 00 00 00 80 A0                    db       09h, 00h, 00h, 00h, 80h,0A0h
31E4:EB91  09 01 00 00 80 A2                    db       09h, 01h, 00h, 00h, 80h,0A2h
31E4:EB97  09 02 00 00 80 6C                    db       09h, 02h, 00h, 00h, 80h, 6Ch
31E4:EB9D  09 03 00 00 80 A5                    db       09h, 03h, 00h, 00h, 80h,0A5h
31E4:EBA3  09 04 00 00 00 9F                    db       09h, 04h, 00h, 00h, 00h, 9Fh
31E4:EBA9  09 01 00 00 00 A1                    db       09h, 01h, 00h, 00h, 00h,0A1h
31E4:EBAF  09 02 00 00 00 A3                    db       09h, 02h, 00h, 00h, 00h,0A3h
31E4:EBB5  09 03 00 00 00 A4                    db       09h, 03h, 00h, 00h, 00h,0A4h
31E4:EBBB  09 04 00 C1 26 A6                    db       09h, 04h, 00h,0C1h, 26h,0A6h
31E4:EBC1  09 FF FF CC EB 00                    db       09h,0FFh,0FFh,0CCh,0EBh, 00h
31E4:EBC7  80 7A 0A 00 00 00                    db       80h, 7Ah, 0Ah, 00h, 00h, 00h
31E4:EBCD  00 7B 0A FF FF DA                    db       00h, 7Bh, 0Ah,0FFh,0FFh,0DAh
31E4:EBD3  EB 00 80 9E 09 00                    db      0EBh, 00h, 80h, 9Eh, 09h, 00h
31E4:EBD9  00 00 00 79 0A FF                    db       00h, 00h, 00h, 79h, 0Ah,0FFh
31E4:EBDF  FF E8 EB 00 80 9E                    db      0FFh,0E8h,0EBh, 00h, 80h, 9Eh
31E4:EBE5  09 00 00 00 00 24                    db       09h, 00h, 00h, 00h, 00h, 24h
31E4:EBEB  04 FF FF 32 EC 00                    db       04h,0FFh,0FFh, 32h,0ECh, 00h
31E4:EBF1  80 FB 09 00 00 00                    db       80h,0FBh, 09h, 00h, 00h, 00h
31E4:EBF7  00 FD 89 02 00 00                    db       00h,0FDh, 89h, 02h, 00h, 00h
31E4:EBFD  00 FF 89 03 00 00                    db       00h,0FFh, 89h, 03h, 00h, 00h
31E4:EC03  80 01 0A 04 00 00                    db       80h, 01h, 0Ah, 04h, 00h, 00h
31E4:EC09  80 69 08 05 00 00                    db       80h, 69h, 08h, 05h, 00h, 00h
31E4:EC0F  80 24 04 06 00 00                    db       80h, 24h, 04h, 06h, 00h, 00h
31E4:EC15  80 24 04 07 00 00                    db       80h, 24h, 04h, 07h, 00h, 00h
31E4:EC1B  80 06 0A 08 00 00                    db       80h, 06h, 0Ah, 08h, 00h, 00h
31E4:EC21  80 08 0A 09 00 00                    db       80h, 08h, 0Ah, 09h, 00h, 00h
31E4:EC27  80 0A 0A 0A 00 00                    db       80h, 0Ah, 0Ah, 0Ah, 00h, 00h
31E4:EC2D  80 0C 0A 0B 00 78                    db       80h, 0Ch, 0Ah, 0Bh, 00h, 78h
31E4:EC33  28 24 04 FF FF 00                    db       28h, 24h, 04h,0FFh,0FFh, 00h
31E4:EC39  00 FC 09 01 00 00                    db       00h,0FCh, 09h, 01h, 00h, 00h
31E4:EC3F  00 FE 09 01 00 00                    db       00h,0FEh, 09h, 01h, 00h, 00h
31E4:EC45  00 00 0A 01 00 00                    db       00h, 00h, 0Ah, 01h, 00h, 00h
31E4:EC4B  00 02 0A 04 00 00                    db       00h, 02h, 0Ah, 04h, 00h, 00h
31E4:EC51  00 03 0A 05 00 00                    db       00h, 03h, 0Ah, 05h, 00h, 00h
31E4:EC57  00 04 0A 07 00 00                    db       00h, 04h, 0Ah, 07h, 00h, 00h
31E4:EC5D  00 05 0A 07 00 00                    db       00h, 05h, 0Ah, 07h, 00h, 00h
31E4:EC63  00 07 0A 08 00 00                    db       00h, 07h, 0Ah, 08h, 00h, 00h
31E4:EC69  00 09 0A 09 00 A5                    db       00h, 09h, 0Ah, 09h, 00h,0A5h
31E4:EC6F  28 0B 0A 0A 00 00                    db       28h, 0Bh, 0Ah, 0Ah, 00h, 00h
31E4:EC75  00 24 04 FF FF 82                    db       00h, 24h, 04h,0FFh,0FFh, 82h
31E4:EC7B  EC 00 80 05 0A 00                    db      0ECh, 00h, 80h, 05h, 0Ah, 00h
31E4:EC81  00 00 00 24 04 FF                    db       00h, 00h, 00h, 24h, 04h,0FFh
31E4:EC87  FF 9C EC 00 80 D5                    db      0FFh, 9Ch,0ECh, 00h, 80h,0D5h
31E4:EC8D  07 00 00 00 00 85                    db       07h, 00h, 00h, 00h, 00h, 85h
31E4:EC93  0A 01 00 00 80 87                    db       0Ah, 01h, 00h, 00h, 80h, 87h
31E4:EC99  0A 02 00 E1 28 84                    db       0Ah, 02h, 00h,0E1h, 28h, 84h
31E4:EC9F  0A 01 00 00 00 86                    db       0Ah, 01h, 00h, 00h, 00h, 86h
31E4:ECA5  0A FF FF 00 00 88                    db       0Ah,0FFh,0FFh, 00h, 00h, 88h
31E4:ECAB  0A FF FF B6 EC 00                    db       0Ah,0FFh,0FFh,0B6h,0ECh, 00h
31E4:ECB1  80 F9 07 00 00 00                    db       80h,0F9h, 07h, 00h, 00h, 00h
31E4:ECB7  00 89 0A FF FF C4                    db       00h, 89h, 0Ah,0FFh,0FFh,0C4h
31E4:ECBD  EC 00 80 FB 07 00                    db      0ECh, 00h, 80h,0FBh, 07h, 00h
31E4:ECC3  00 00 00 8A 0A FF                    db       00h, 00h, 00h, 8Ah, 0Ah,0FFh
31E4:ECC9  FF D8 EC 00 00 22                    db      0FFh,0D8h,0ECh, 00h, 00h, 22h
31E4:ECCF  08 00 00 00 80 2C                    db       08h, 00h, 00h, 00h, 80h, 2Ch
31E4:ECD5  08 01 00 00 00 8B                    db       08h, 01h, 00h, 00h, 00h, 8Bh
31E4:ECDB  0A FF FF 00 00 8C                    db       0Ah,0FFh,0FFh, 00h, 00h, 8Ch
31E4:ECE1  0A FF FF EC EC 00                    db       0Ah,0FFh,0FFh,0ECh,0ECh, 00h
31E4:ECE7  80 38 08 00 00 00                    db       80h, 38h, 08h, 00h, 00h, 00h
31E4:ECED  00 8D 0A FF FF 00                    db       00h, 8Dh, 0Ah,0FFh,0FFh, 00h
31E4:ECF3  ED 00 80 24 04 00                    db      0EDh, 00h, 80h, 24h, 04h, 00h
31E4:ECF9  00 00 80 8F 0A 01                    db       00h, 00h, 80h, 8Fh, 0Ah, 01h
31E4:ECFF  00 00 00 8E 0A 01                    db       00h, 00h, 00h, 8Eh, 0Ah, 01h
31E4:ED05  00 00 00 90 0A FF                    db       00h, 00h, 00h, 90h, 0Ah,0FFh
31E4:ED0B  FF 20 ED 00 80 CA                    db      0FFh, 20h,0EDh, 00h, 80h,0CAh
31E4:ED11  09 00 00 00 80 92                    db       09h, 00h, 00h, 00h, 80h, 92h
31E4:ED17  0A 01 00 00 80 94                    db       0Ah, 01h, 00h, 00h, 80h, 94h
31E4:ED1D  0A 02 00 00 00 91                    db       0Ah, 02h, 00h, 00h, 00h, 91h
31E4:ED23  0A 01 00 00 00 93                    db       0Ah, 01h, 00h, 00h, 00h, 93h
31E4:ED29  0A 02 00 00 00 95                    db       0Ah, 02h, 00h, 00h, 00h, 95h
31E4:ED2F  0A FF FF 40 ED 00                    db       0Ah,0FFh,0FFh, 40h,0EDh, 00h
31E4:ED35  80 40 09 00 00 00                    db       80h, 40h, 09h, 00h, 00h, 00h
31E4:ED3B  80 24 04 01 00 00                    db       80h, 24h, 04h, 01h, 00h, 00h
31E4:ED41  00 0A 0B 01 00 00                    db       00h, 0Ah, 0Bh, 01h, 00h, 00h
31E4:ED47  00 0B 0B FF FF 60                    db       00h, 0Bh, 0Bh,0FFh,0FFh, 60h
31E4:ED4D  ED 69 23 03 09 00                    db      0EDh, 69h, 23h, 03h, 09h, 00h
31E4:ED53  00 00 80 99 0A 02                    db       00h, 00h, 80h, 99h, 0Ah, 02h
31E4:ED59  00 00 80 97 0A 01                    db       00h, 00h, 80h, 97h, 0Ah, 01h
31E4:ED5F  00 00 00 96 0A 02                    db       00h, 00h, 00h, 96h, 0Ah, 02h
31E4:ED65  00 00 00 98 0A FF                    db       00h, 00h, 00h, 98h, 0Ah,0FFh
31E4:ED6B  FF 00 00 9A 0A FF                    db      0FFh, 00h, 00h, 9Ah, 0Ah,0FFh
31E4:ED71  FF 86 ED 00 00 40                    db      0FFh, 86h,0EDh, 00h, 00h, 40h
31E4:ED77  09 00 00 00 80 9C                    db       09h, 00h, 00h, 00h, 80h, 9Ch
31E4:ED7D  0A 01 00 00 80 24                    db       0Ah, 01h, 00h, 00h, 80h, 24h
31E4:ED83  04 02 00 00 00 9B                    db       04h, 02h, 00h, 00h, 00h, 9Bh
31E4:ED89  0A FF FF 00 00 9D                    db       0Ah,0FFh,0FFh, 00h, 00h, 9Dh
31E4:ED8F  0A 02 00 00 00 9E                    db       0Ah, 02h, 00h, 00h, 00h, 9Eh
31E4:ED95  0A FF FF AC ED 00                    db       0Ah,0FFh,0FFh,0ACh,0EDh, 00h
31E4:ED9B  80 48 09 00 00 00                    db       80h, 48h, 09h, 00h, 00h, 00h
31E4:EDA1  80 A3 0A 01 00 00                    db       80h,0A3h, 0Ah, 01h, 00h, 00h
31E4:EDA7  80 D1 0A 02 00 00                    db       80h,0D1h, 0Ah, 02h, 00h, 00h
31E4:EDAD  00 A2 0A 01 00 00                    db       00h,0A2h, 0Ah, 01h, 00h, 00h
31E4:EDB3  00 A4 0A 02 00 00                    db       00h,0A4h, 0Ah, 02h, 00h, 00h
31E4:EDB9  00 A5 0A FF FF C6                    db       00h,0A5h, 0Ah,0FFh,0FFh,0C6h
31E4:EDBF  ED 00 80 92 09 00                    db      0EDh, 00h, 80h, 92h, 09h, 00h
31E4:EDC5  00 00 00 D2 0A FF                    db       00h, 00h, 00h,0D2h, 0Ah,0FFh
31E4:EDCB  FF E0 ED 00 80 38                    db      0FFh,0E0h,0EDh, 00h, 80h, 38h
31E4:EDD1  0A 00 00 00 80 D4                    db       0Ah, 00h, 00h, 00h, 80h,0D4h
31E4:EDD7  0A 01 00 00 80 D6                    db       0Ah, 01h, 00h, 00h, 80h,0D6h
31E4:EDDD  0A 02 00 00 00 D3                    db       0Ah, 02h, 00h, 00h, 00h,0D3h
31E4:EDE3  0A 01 00 00 00 D5                    db       0Ah, 01h, 00h, 00h, 00h,0D5h
31E4:EDE9  0A 02 00 00 00 24                    db       0Ah, 02h, 00h, 00h, 00h, 24h
31E4:EDEF  04 FF FF 12 EE 00                    db       04h,0FFh,0FFh, 12h,0EEh, 00h
31E4:EDF5  80 C9 0A 00 00 00                    db       80h,0C9h, 0Ah, 00h, 00h, 00h
31E4:EDFB  80 CB 0A 01 00 00                    db       80h,0CBh, 0Ah, 01h, 00h, 00h
31E4:EE01  80 CD 0A 02 00 00                    db       80h,0CDh, 0Ah, 02h, 00h, 00h
31E4:EE07  80 CD 0A 03 00 00                    db       80h,0CDh, 0Ah, 03h, 00h, 00h
31E4:EE0D  80 24 04 04 00 00                    db       80h, 24h, 04h, 04h, 00h, 00h
31E4:EE13  00 CA 0A 01 00 00                    db       00h,0CAh, 0Ah, 01h, 00h, 00h
31E4:EE19  00 CC 0A 02 00 00                    db       00h,0CCh, 0Ah, 02h, 00h, 00h
31E4:EE1F  00 CE 0A 03 00 00                    db       00h,0CEh, 0Ah, 03h, 00h, 00h
31E4:EE25  00 CF 0A 04 00 FE                    db       00h,0CFh, 0Ah, 04h, 00h,0FEh
31E4:EE2B  28 24 04 FF FF 44                    db       28h, 24h, 04h,0FFh,0FFh, 44h
31E4:EE31  EE 00 80 77 0B 00                    db      0EEh, 00h, 80h, 77h, 0Bh, 00h
31E4:EE37  00 00 80 79 0B 01                    db       00h, 00h, 80h, 79h, 0Bh, 01h
31E4:EE3D  00 00 80 7B 0B 02                    db       00h, 00h, 80h, 7Bh, 0Bh, 02h
31E4:EE43  00 00 00 78 0B 01                    db       00h, 00h, 00h, 78h, 0Bh, 01h
31E4:EE49  00 00 00 7A 0B 02                    db       00h, 00h, 00h, 7Ah, 0Bh, 02h
31E4:EE4F  00 00 00 7C 0B FF                    db       00h, 00h, 00h, 7Ch, 0Bh,0FFh
31E4:EE55  FF 82 EE 00 80 BA                    db      0FFh, 82h,0EEh, 00h, 80h,0BAh
31E4:EE5B  0A 00 00 00 80 BC                    db       0Ah, 00h, 00h, 00h, 80h,0BCh
31E4:EE61  0A 01 00 00 80 BE                    db       0Ah, 01h, 00h, 00h, 80h,0BEh
31E4:EE67  0A 02 00 00 80 C0                    db       0Ah, 02h, 00h, 00h, 80h,0C0h
31E4:EE6D  0A 03 00 00 80 C2                    db       0Ah, 03h, 00h, 00h, 80h,0C2h
31E4:EE73  0A 04 00 00 80 C4                    db       0Ah, 04h, 00h, 00h, 80h,0C4h
31E4:EE79  0A 05 00 00 80 C6                    db       0Ah, 05h, 00h, 00h, 80h,0C6h
31E4:EE7F  0A 06 00 00 00 BB                    db       0Ah, 06h, 00h, 00h, 00h,0BBh
31E4:EE85  0A 01 00 00 00 BD                    db       0Ah, 01h, 00h, 00h, 00h,0BDh
31E4:EE8B  0A 02 00 00 00 BF                    db       0Ah, 02h, 00h, 00h, 00h,0BFh
31E4:EE91  0A 03 00 00 00 C1                    db       0Ah, 03h, 00h, 00h, 00h,0C1h
31E4:EE97  0A 04 00 00 00 C3                    db       0Ah, 04h, 00h, 00h, 00h,0C3h
31E4:EE9D  0A 05 00 00 00 C5                    db       0Ah, 05h, 00h, 00h, 00h,0C5h
31E4:EEA3  0A 06 00 F1 28 C7                    db       0Ah, 06h, 00h,0F1h, 28h,0C7h
31E4:EEA9  0A FF FF B4 EE 00                    db       0Ah,0FFh,0FFh,0B4h,0EEh, 00h
31E4:EEAF  80 24 04 00 00 00                    db       80h, 24h, 04h, 00h, 00h, 00h
31E4:EEB5  00 C8 0A FF FF CE                    db       00h,0C8h, 0Ah,0FFh,0FFh,0CEh
31E4:EEBB  EE 00 80 B1 0F 00                    db      0EEh, 00h, 80h,0B1h, 0Fh, 00h
31E4:EEC1  00 00 80 B3 0F 01                    db       00h, 00h, 80h,0B3h, 0Fh, 01h
31E4:EEC7  00 00 80 C1 0F 02                    db       00h, 00h, 80h,0C1h, 0Fh, 02h
31E4:EECD  00 00 00 B2 0F 01                    db       00h, 00h, 00h,0B2h, 0Fh, 01h
31E4:EED3  00 9A 29 B4 0F 02                    db       00h, 9Ah, 29h,0B4h, 0Fh, 02h
31E4:EED9  00 00 00 C2 0F FF                    db       00h, 00h, 00h,0C2h, 0Fh,0FFh
31E4:EEDF  FF 1E EF 00 00 B5                    db      0FFh, 1Eh,0EFh, 00h, 00h,0B5h
31E4:EEE5  8F 00 00 00 00 B7                    db       8Fh, 00h, 00h, 00h, 00h,0B7h
31E4:EEEB  8F 01 00 00 00 B9                    db       8Fh, 01h, 00h, 00h, 00h,0B9h
31E4:EEF1  8F 02 00 00 80 BF                    db       8Fh, 02h, 00h, 00h, 80h,0BFh
31E4:EEF7  0F 05 00 00 00 C3                    db       0Fh, 05h, 00h, 00h, 00h,0C3h
31E4:EEFD  0F 07 00 02 2A C7                    db       0Fh, 07h, 00h, 02h, 2Ah,0C7h
31E4:EF03  0F 08 00 00 80 C5                    db       0Fh, 08h, 00h, 00h, 80h,0C5h
31E4:EF09  0F 09 00 00 80 BB                    db       0Fh, 09h, 00h, 00h, 80h,0BBh
31E4:EF0F  0F 03 00 00 80 BD                    db       0Fh, 03h, 00h, 00h, 80h,0BDh
31E4:EF15  0F                                   db       0Fh
31E4:EF16  04                   data_1199       db      4
31E4:EF17  00 00 80 C1 0F 06                    db       00h, 00h, 80h,0C1h, 0Fh, 06h
31E4:EF1D  00 00 00 B6 0F 01                    db       00h, 00h, 00h,0B6h, 0Fh, 01h
31E4:EF23  00 EC 29 B8 0F FF                    db       00h,0ECh, 29h,0B8h, 0Fh,0FFh
31E4:EF29  FF 00 00 BA 0F 07                    db      0FFh, 00h, 00h,0BAh, 0Fh, 07h
31E4:EF2F  00 00 00 BC 0F 08                    db       00h, 00h, 00h,0BCh, 0Fh, 08h
31E4:EF35  00 00 00 BE 0F 04                    db       00h, 00h, 00h,0BEh, 0Fh, 04h
31E4:EF3B  00 00 00 C0 0F 04                    db       00h, 00h, 00h,0C0h, 0Fh, 04h
31E4:EF41  00 00 00 C2 0F 04                    db       00h, 00h, 00h,0C2h, 0Fh, 04h
31E4:EF47  00 C0 29 C4 0F FF                    db       00h,0C0h, 29h,0C4h, 0Fh,0FFh
31E4:EF4D  FF D6 29 C8 0F FF                    db      0FFh,0D6h, 29h,0C8h, 0Fh,0FFh
31E4:EF53  FF AA 29 C6 0F FF                    db      0FFh,0AAh, 29h,0C6h, 0Fh,0FFh
31E4:EF59  FF 62 EF 00 80 24                    db      0FFh, 62h,0EFh, 00h, 80h, 24h
31E4:EF5F  04 00 00 00 00 D1                    db       04h, 00h, 00h, 00h, 00h,0D1h
31E4:EF65  0F FF FF 88 EF 00                    db       0Fh,0FFh,0FFh, 88h,0EFh, 00h
31E4:EF6B  80 24 84 00 00 00                    db       80h, 24h, 84h, 00h, 00h, 00h
31E4:EF71  00 D3 8F 01 00 02                    db       00h,0D3h, 8Fh, 01h, 00h, 02h
31E4:EF77  2A C7 0F 03 00 00                    db       2Ah,0C7h, 0Fh, 03h, 00h, 00h
31E4:EF7D  80 C5 0F 04 00 00                    db       80h,0C5h, 0Fh, 04h, 00h, 00h
31E4:EF83  80 D5 0F 02 00 00                    db       80h,0D5h, 0Fh, 02h, 00h, 00h
31E4:EF89  00 D2 0F 01 00 00                    db       00h,0D2h, 0Fh, 01h, 00h, 00h
31E4:EF8F  00 D4 0F 04 00 00                    db       00h,0D4h, 0Fh, 04h, 00h, 00h
31E4:EF95  00 D6 0F FF FF D6                    db       00h,0D6h, 0Fh,0FFh,0FFh,0D6h
31E4:EF9B  29 C8 0F FF FF AA                    db       29h,0C8h, 0Fh,0FFh,0FFh,0AAh
31E4:EFA1  29 C6 0F FF FF B4                    db       29h,0C6h, 0Fh,0FFh,0FFh,0B4h
31E4:EFA7  EF 00 80 D7 0F 00                    db      0EFh, 00h, 80h,0D7h, 0Fh, 00h
31E4:EFAD  00 00 80 D9 0F 01                    db       00h, 00h, 80h,0D9h, 0Fh, 01h
31E4:EFB3  00 00 00 D8 0F 01                    db       00h, 00h, 00h,0D8h, 0Fh, 01h
31E4:EFB9  00 09 2A DA 0F FF                    db       00h, 09h, 2Ah,0DAh, 0Fh,0FFh
31E4:EFBF  FF C8 EF 00 80 12                    db      0FFh,0C8h,0EFh, 00h, 80h, 12h
31E4:EFC5  10 00 00 00 00 13                    db       10h, 00h, 00h, 00h, 00h, 13h
31E4:EFCB  10 FF FF D6 EF 00                    db       10h,0FFh,0FFh,0D6h,0EFh, 00h
31E4:EFD1  80 24 04 00 00 00                    db       80h, 24h, 04h, 00h, 00h, 00h
31E4:EFD7  00 DB 0F FF FF EA                    db       00h,0DBh, 0Fh,0FFh,0FFh,0EAh
31E4:EFDD  EF 00 80 DC 0F 00                    db      0EFh, 00h, 80h,0DCh, 0Fh, 00h
31E4:EFE3  00 00 80 24 04 01                    db       00h, 00h, 80h, 24h, 04h, 01h
31E4:EFE9  00 00 00 DD 0F 01                    db       00h, 00h, 00h,0DDh, 0Fh, 01h
31E4:EFEF  00 1F 2A 24 04 FF                    db       00h, 1Fh, 2Ah, 24h, 04h,0FFh
31E4:EFF5  FF                                   db      0FFh

31E4:EFF6  FE EF 00 80 1D                       db      0FEh,0EFh, 00h, 80h, 1Dh
31E4:EFFB  10 00 00 00 00 24                    db       10h, 00h, 00h, 00h, 00h, 24h
31E4:F001  04 FF FF 00                          db       04h,0FFh,0FFh, 00h
31E4:F005  000B[00]                             db      11 dup (0)

31E4:F010  0000                 timer_ticks     dw      0                       ;  xref 273F:14BF, 273F:14E9
                                                                                ;       273F:48D5, 273F:48DD
                                                                                ;       273F:9500
31E4:F012  000E[00]                             db      14 dup (0)

                                data_seg        ends



                                ;------------------------------------------------------------  scripts2_seg  ----

                                scripts2_seg    segment byte public
                                                assume cs:scripts2_seg, ds:scripts2_seg, ss:stack_seg_k

40E6:0000  06 00 06 00 01 00                    db       06h, 00h, 06h, 00h, 01h, 00h
40E6:0006  01 00 02 00 02 00                    db       01h, 00h, 02h, 00h, 02h, 00h
40E6:000C  03 00 03 00 04 00                    db       03h, 00h, 03h, 00h, 04h, 00h
40E6:0012  04 00 05 00 05 00                    db       04h, 00h, 05h, 00h, 05h, 00h
40E6:0018  04 00 04 00 02 00                    db       04h, 00h, 04h, 00h, 02h, 00h
40E6:001E  02 00 06 00 06 00                    db       02h, 00h, 06h, 00h, 06h, 00h
40E6:0024  06 00 06 00 07 00                    db       06h, 00h, 06h, 00h, 07h, 00h
40E6:002A  07 00 08 00 08 00                    db       07h, 00h, 08h, 00h, 08h, 00h
40E6:0030  09 00 09 00 0A 00                    db       09h, 00h, 09h, 00h, 0Ah, 00h
40E6:0036  0A 00 0B 00 0B 00                    db       0Ah, 00h, 0Bh, 00h, 0Bh, 00h
40E6:003C  0A 00 0A 00 0B 00                    db       0Ah, 00h, 0Ah, 00h, 0Bh, 00h
40E6:0042  0B 00 09 00 09 00                    db       0Bh, 00h, 09h, 00h, 09h, 00h
40E6:0048  08 00 08 00 07 00                    db       08h, 00h, 08h, 00h, 07h, 00h
40E6:004E  07 00 06 00 FC FF                    db       07h, 00h, 06h, 00h,0FCh,0FFh
40E6:0054  06 00 06 00 01 00                    db       06h, 00h, 06h, 00h, 01h, 00h
40E6:005A  01 00 02 00 02 00                    db       01h, 00h, 02h, 00h, 02h, 00h
40E6:0060  03 00 03 00 04 00                    db       03h, 00h, 03h, 00h, 04h, 00h
40E6:0066  04 00 05 00 05 00                    db       04h, 00h, 05h, 00h, 05h, 00h
40E6:006C  04 00 04 00 02 00                    db       04h, 00h, 04h, 00h, 02h, 00h
40E6:0072  02 00 F8 FF 11 00                    db       02h, 00h,0F8h,0FFh, 11h, 00h
40E6:0078  20 00 06 00 06 00                    db       20h, 00h, 06h, 00h, 06h, 00h
40E6:007E  FC FF F6 FF 00 00                    db      0FCh,0FFh,0F6h,0FFh, 00h, 00h
40E6:0084  00 00 F9 FF 15 59                    db       00h, 00h,0F9h,0FFh, 15h, 59h
40E6:008A  FD FF F8 FF 00 00                    db      0FDh,0FFh,0F8h,0FFh, 00h, 00h
40E6:0090  FB FF 03 00 2F 00                    db      0FBh,0FFh, 03h, 00h, 2Fh, 00h
40E6:0096  00 00 01 00 02 00                    db       00h, 00h, 01h, 00h, 02h, 00h
40E6:009C  03 00 04 00 05 00                    db       03h, 00h, 04h, 00h, 05h, 00h
40E6:00A2  06 00 07 00 08 00                    db       06h, 00h, 07h, 00h, 08h, 00h
40E6:00A8  F8 FF 07 00 1C 00                    db      0F8h,0FFh, 07h, 00h, 1Ch, 00h
40E6:00AE  F8 FF 1B 00 12 00                    db      0F8h,0FFh, 1Bh, 00h, 12h, 00h
40E6:00B4  F8 FF 1C 00 17 00                    db      0F8h,0FFh, 1Ch, 00h, 17h, 00h
40E6:00BA  F8 FF 1C 00 18 00                    db      0F8h,0FFh, 1Ch, 00h, 18h, 00h
40E6:00C0  F8 FF 1C 00 11 00                    db      0F8h,0FFh, 1Ch, 00h, 11h, 00h
40E6:00C6  09 00 0A 00 0B 00                    db       09h, 00h, 0Ah, 00h, 0Bh, 00h
40E6:00CC  0C 00 0D 00 0E 00                    db       0Ch, 00h, 0Dh, 00h, 0Eh, 00h
40E6:00D2  F9 FF E9 5C FB FF                    db      0F9h,0FFh,0E9h, 5Ch,0FBh,0FFh
40E6:00D8  02 00 30 00 FD FF                    db       02h, 00h, 30h, 00h,0FDh,0FFh
40E6:00DE  08 00 00 00 22 00                    db       08h, 00h, 00h, 00h, 22h, 00h
40E6:00E4  F6 FF 00 0C 82 00                    db      0F6h,0FFh, 00h, 0Ch, 82h, 00h
40E6:00EA  FC FF F8 FF 1E 00                    db      0FCh,0FFh,0F8h,0FFh, 1Eh, 00h
40E6:00F0  1C 00 FE FF CE 00                    db       1Ch, 00h,0FEh,0FFh,0CEh, 00h
40E6:00F6  13 01 00 00 FE FF                    db       13h, 01h, 00h, 00h,0FEh,0FFh
40E6:00FC  D0 00 13 01 01 00                    db      0D0h, 00h, 13h, 01h, 01h, 00h
40E6:0102  F8 FF 1F 00 1C 00                    db      0F8h,0FFh, 1Fh, 00h, 1Ch, 00h
40E6:0108  FE FF D2 00 13 01                    db      0FEh,0FFh,0D2h, 00h, 13h, 01h
40E6:010E  02 00 FE FF D0 00                    db       02h, 00h,0FEh,0FFh,0D0h, 00h
40E6:0114  13 01 01 00 FA FF                    db       13h, 01h, 01h, 00h,0FAh,0FFh
40E6:011A  EC 00 FE FF 80 00                    db      0ECh, 00h,0FEh,0FFh, 80h, 00h
40E6:0120  64 00 FF FF 1E 00                    db       64h, 00h,0FFh,0FFh, 1Eh, 00h
40E6:0126  FE FF 58 01 BC 00                    db      0FEh,0FFh, 58h, 01h,0BCh, 00h
40E6:012C  00 00 FE FF 58 01                    db       00h, 00h,0FEh,0FFh, 58h, 01h
40E6:0132  D0 00 00 00 FE FF                    db      0D0h, 00h, 00h, 00h,0FEh,0FFh
40E6:0138  58 01 F7 00 00 00                    db       58h, 01h,0F7h, 00h, 00h, 00h
40E6:013E  FE FF 58 01 33 01                    db      0FEh,0FFh, 58h, 01h, 33h, 01h
40E6:0144  00 00 F8 FF 06 00                    db       00h, 00h,0F8h,0FFh, 06h, 00h
40E6:014A  01 00 FE FF 57 01                    db       01h, 00h,0FEh,0FFh, 57h, 01h
40E6:0150  33 01 01 00 FE FF                    db       33h, 01h, 01h, 00h,0FEh,0FFh
40E6:0156  56 01 33 01 02 00                    db       56h, 01h, 33h, 01h, 02h, 00h
40E6:015C  FE FF 55 01 33 01                    db      0FEh,0FFh, 55h, 01h, 33h, 01h
40E6:0162  03 00 FE FF 53 01                    db       03h, 00h,0FEh,0FFh, 53h, 01h
40E6:0168  33 01 04 00 FE FF                    db       33h, 01h, 04h, 00h,0FEh,0FFh
40E6:016E  52 01 33 01 05 00                    db       52h, 01h, 33h, 01h, 05h, 00h
40E6:0174  06 00 FE FF 52 01                    db       06h, 00h,0FEh,0FFh, 52h, 01h
40E6:017A  64 00 FF FF 02 00                    db       64h, 00h,0FFh,0FFh, 02h, 00h
40E6:0180  FA FF 1C 01 00 00                    db      0FAh,0FFh, 1Ch, 01h, 00h, 00h
40E6:0186  FF FF 02 00 FE FF                    db      0FFh,0FFh, 02h, 00h,0FEh,0FFh
40E6:018C  47 01 FB 00 01 00                    db       47h, 01h,0FBh, 00h, 01h, 00h
40E6:0192  FF FF 02 00 FE FF                    db      0FFh,0FFh, 02h, 00h,0FEh,0FFh
40E6:0198  47 01 08 01 02 00                    db       47h, 01h, 08h, 01h, 02h, 00h
40E6:019E  FF FF 02 00 FC FF                    db      0FFh,0FFh, 02h, 00h,0FCh,0FFh
40E6:01A4  02 00 F8 FF 05 00                    db       02h, 00h,0F8h,0FFh, 05h, 00h
40E6:01AA  04 00 FE FF F4 00                    db       04h, 00h,0FEh,0FFh,0F4h, 00h
40E6:01B0  0F 01 03 00 FE FF                    db       0Fh, 01h, 03h, 00h,0FEh,0FFh
40E6:01B6  FE 00 0F 01 02 00                    db      0FEh, 00h, 0Fh, 01h, 02h, 00h
40E6:01BC  FE FF 08 01 0F 01                    db      0FEh,0FFh, 08h, 01h, 0Fh, 01h
40E6:01C2  03 00 FE FF 12 01                    db       03h, 00h,0FEh,0FFh, 12h, 01h
40E6:01C8  0F 01 02 00 FE FF                    db       0Fh, 01h, 02h, 00h,0FEh,0FFh
40E6:01CE  1C 01 0F 01 03 00                    db       1Ch, 01h, 0Fh, 01h, 03h, 00h
40E6:01D4  FF FF 06 00 F8 FF                    db      0FFh,0FFh, 06h, 00h,0F8h,0FFh
40E6:01DA  05 00 04 00 FE FF                    db       05h, 00h, 04h, 00h,0FEh,0FFh
40E6:01E0  26 01 0F 01 02 00                    db       26h, 01h, 0Fh, 01h, 02h, 00h
40E6:01E6  FE FF 30 01 0F 01                    db      0FEh,0FFh, 30h, 01h, 0Fh, 01h
40E6:01EC  03 00 FE FF 3A 01                    db       03h, 00h,0FEh,0FFh, 3Ah, 01h
40E6:01F2  0F 01 02 00 FE FF                    db       0Fh, 01h, 02h, 00h,0FEh,0FFh
40E6:01F8  44 01 0F 01 03 00                    db       44h, 01h, 0Fh, 01h, 03h, 00h
40E6:01FE  FE FF 4E 01 0F 01                    db      0FEh,0FFh, 4Eh, 01h, 0Fh, 01h
40E6:0204  02 00 FE FF 58 01                    db       02h, 00h,0FEh,0FFh, 58h, 01h
40E6:020A  0F 01 03 00 FE FF                    db       0Fh, 01h, 03h, 00h,0FEh,0FFh
40E6:0210  62 01 0F 01 02 00                    db       62h, 01h, 0Fh, 01h, 02h, 00h
40E6:0216  FE FF 6C 01 0F 01                    db      0FEh,0FFh, 6Ch, 01h, 0Fh, 01h
40E6:021C  03 00 FE FF 4E 01                    db       03h, 00h,0FEh,0FFh, 4Eh, 01h
40E6:0222  64 00 FC FF FE FF                    db       64h, 00h,0FCh,0FFh,0FEh,0FFh
40E6:0228  3F 01 12 01 01 00                    db       3Fh, 01h, 12h, 01h, 01h, 00h
40E6:022E  F8 FF 05 00 01 00                    db      0F8h,0FFh, 05h, 00h, 01h, 00h
40E6:0234  FE FF 35 01 12 01                    db      0FEh,0FFh, 35h, 01h, 12h, 01h
40E6:023A  00 00 FE FF 2B 01                    db       00h, 00h,0FEh,0FFh, 2Bh, 01h
40E6:0240  12 01 01 00 FE FF                    db       12h, 01h, 01h, 00h,0FEh,0FFh
40E6:0246  21 01 12 01 00 00                    db       21h, 01h, 12h, 01h, 00h, 00h
40E6:024C  FE FF 17 01 12 01                    db      0FEh,0FFh, 17h, 01h, 12h, 01h
40E6:0252  01 00 F8 FF 05 00                    db       01h, 00h,0F8h,0FFh, 05h, 00h
40E6:0258  01 00 FE FF 0D 01                    db       01h, 00h,0FEh,0FFh, 0Dh, 01h
40E6:025E  12 01 00 00 FE FF                    db       12h, 01h, 00h, 00h,0FEh,0FFh
40E6:0264  03 01 12 01 01 00                    db       03h, 01h, 12h, 01h, 01h, 00h
40E6:026A  FE FF F9 00 12 01                    db      0FEh,0FFh,0F9h, 00h, 12h, 01h
40E6:0270  00 00 FE FF EF 00                    db       00h, 00h,0FEh,0FFh,0EFh, 00h
40E6:0276  12 01 01 00 FE FF                    db       12h, 01h, 01h, 00h,0FEh,0FFh
40E6:027C  EF 00 64 00 FC FF                    db      0EFh, 00h, 64h, 00h,0FCh,0FFh
40E6:0282  00 00 01 00 02 00                    db       00h, 00h, 01h, 00h, 02h, 00h
40E6:0288  03 00 04 00 05 00                    db       03h, 00h, 04h, 00h, 05h, 00h
40E6:028E  06 00 07 00 08 00                    db       06h, 00h, 07h, 00h, 08h, 00h
40E6:0294  09 00 0A 00 0B 00                    db       09h, 00h, 0Ah, 00h, 0Bh, 00h
40E6:029A  FA FF 82 02 00 00                    db      0FAh,0FFh, 82h, 02h, 00h, 00h
40E6:02A0  01 00 02 00 FA FF                    db       01h, 00h, 02h, 00h,0FAh,0FFh
40E6:02A6  9E 02 FE FF 17 01                    db       9Eh, 02h,0FEh,0FFh, 17h, 01h
40E6:02AC  C0 00 00 00 01 00                    db      0C0h, 00h, 00h, 00h, 01h, 00h
40E6:02B2  FE FF 1C 01 CD 00                    db      0FEh,0FFh, 1Ch, 01h,0CDh, 00h
40E6:02B8  02 00 FE FF 1D 01                    db       02h, 00h,0FEh,0FFh, 1Dh, 01h
40E6:02BE  D8 00 03 00 FE FF                    db      0D8h, 00h, 03h, 00h,0FEh,0FFh
40E6:02C4  1F 01 DC 00 04 00                    db       1Fh, 01h,0DCh, 00h, 04h, 00h
40E6:02CA  F8 FF 24 00 07 00                    db      0F8h,0FFh, 24h, 00h, 07h, 00h
40E6:02D0  FE FF 21 01 E0 00                    db      0FEh,0FFh, 21h, 01h,0E0h, 00h
40E6:02D6  04 00 FF FF 01 00                    db       04h, 00h,0FFh,0FFh, 01h, 00h
40E6:02DC  05 00 FF FF 02 00                    db       05h, 00h,0FFh,0FFh, 02h, 00h
40E6:02E2  06 00 FF FF 03 00                    db       06h, 00h,0FFh,0FFh, 03h, 00h
40E6:02E8  07 00 FF FF 01 00                    db       07h, 00h,0FFh,0FFh, 01h, 00h
40E6:02EE  FC FF 24 00 FF FF                    db      0FCh,0FFh, 24h, 00h,0FFh,0FFh
40E6:02F4  0A 00 25 00 FF FF                    db       0Ah, 00h, 25h, 00h,0FFh,0FFh
40E6:02FA  0A 00 26 00 FF FF                    db       0Ah, 00h, 26h, 00h,0FFh,0FFh
40E6:0300  0A 00 27 00 FF FF                    db       0Ah, 00h, 27h, 00h,0FFh,0FFh
40E6:0306  0A 00 26 00 FF FF                    db       0Ah, 00h, 26h, 00h,0FFh,0FFh
40E6:030C  04 00 27 00 FF FF                    db       04h, 00h, 27h, 00h,0FFh,0FFh
40E6:0312  06 00 26 00 FF FF                    db       06h, 00h, 26h, 00h,0FFh,0FFh
40E6:0318  04 00 27 00 FF FF                    db       04h, 00h, 27h, 00h,0FFh,0FFh
40E6:031E  06 00 FC FF F9 FF                    db       06h, 00h,0FCh,0FFh,0F9h,0FFh
40E6:0324  95 5C 00 00 FF FF                    db       95h, 5Ch, 00h, 00h,0FFh,0FFh
40E6:032A  0A 00 01 00 FF FF                    db       0Ah, 00h, 01h, 00h,0FFh,0FFh
40E6:0330  0A 00 02 00 FF FF                    db       0Ah, 00h, 02h, 00h,0FFh,0FFh
40E6:0336  0A 00 03 00 FF FF                    db       0Ah, 00h, 03h, 00h,0FFh,0FFh
40E6:033C  0A 00 02 00 FF FF                    db       0Ah, 00h, 02h, 00h,0FFh,0FFh
40E6:0342  04 00 03 00 FF FF                    db       04h, 00h, 03h, 00h,0FFh,0FFh
40E6:0348  06 00 02 00 FF FF                    db       06h, 00h, 02h, 00h,0FFh,0FFh
40E6:034E  04 00 03 00 FF FF                    db       04h, 00h, 03h, 00h,0FFh,0FFh
40E6:0354  06 00 F9 FF 80 5C                    db       06h, 00h,0F9h,0FFh, 80h, 5Ch
40E6:035A  FC FF F8 FF 14 00                    db      0FCh,0FFh,0F8h,0FFh, 14h, 00h
40E6:0360  04 00 FF FF 0B 00                    db       04h, 00h,0FFh,0FFh, 0Bh, 00h
40E6:0366  01 00 FF FF 0A 00                    db       01h, 00h,0FFh,0FFh, 0Ah, 00h
40E6:036C  F8 FF 14 00 04 00                    db      0F8h,0FFh, 14h, 00h, 04h, 00h
40E6:0372  02 00 FF FF 37 00                    db       02h, 00h,0FFh,0FFh, 37h, 00h
40E6:0378  F8 FF 14 00 04 00                    db      0F8h,0FFh, 14h, 00h, 04h, 00h
40E6:037E  01 00 00 00 FC FF                    db       01h, 00h, 00h, 00h,0FCh,0FFh
40E6:0384  FB FF 03 00 19 00                    db      0FBh,0FFh, 03h, 00h, 19h, 00h
40E6:038A  FE FF BE 00 FD 00                    db      0FEh,0FFh,0BEh, 00h,0FDh, 00h
40E6:0390  03 00 FF FF 05 00                    db       03h, 00h,0FFh,0FFh, 05h, 00h
40E6:0396  FB FF 03 00 1A 00                    db      0FBh,0FFh, 03h, 00h, 1Ah, 00h
40E6:039C  FE FF BE 00 FB 00                    db      0FEh,0FFh,0BEh, 00h,0FBh, 00h
40E6:03A2  04 00 FF FF 03 00                    db       04h, 00h,0FFh,0FFh, 03h, 00h
40E6:03A8  FB FF 02 00 1A 00                    db      0FBh,0FFh, 02h, 00h, 1Ah, 00h
40E6:03AE  FE FF BE 00 F4 00                    db      0FEh,0FFh,0BEh, 00h,0F4h, 00h
40E6:03B4  05 00 FF FF 01 00                    db       05h, 00h,0FFh,0FFh, 01h, 00h
40E6:03BA  FB FF 02 00 1B 00                    db      0FBh,0FFh, 02h, 00h, 1Bh, 00h
40E6:03C0  FE FF BE 00 F3 00                    db      0FEh,0FFh,0BEh, 00h,0F3h, 00h
40E6:03C6  06 00 FF FF 01 00                    db       06h, 00h,0FFh,0FFh, 01h, 00h
40E6:03CC  FB FF 01 00 1B 00                    db      0FBh,0FFh, 01h, 00h, 1Bh, 00h
40E6:03D2  FE FF BE 00 F3 00                    db      0FEh,0FFh,0BEh, 00h,0F3h, 00h
40E6:03D8  07 00 FF FF 01 00                    db       07h, 00h,0FFh,0FFh, 01h, 00h
40E6:03DE  FC FF 02 00 FF FF                    db      0FCh,0FFh, 02h, 00h,0FFh,0FFh
40E6:03E4  14 00 01 00 FF FF                    db       14h, 00h, 01h, 00h,0FFh,0FFh
40E6:03EA  1E 00 02 00 FF FF                    db       1Eh, 00h, 02h, 00h,0FFh,0FFh
40E6:03F0  05 00 00 00 FC FF                    db       05h, 00h, 00h, 00h,0FCh,0FFh
40E6:03F6  02 00 FF FF 1E 00                    db       02h, 00h,0FFh,0FFh, 1Eh, 00h
40E6:03FC  00 00 FC FF F9 FF                    db       00h, 00h,0FCh,0FFh,0F9h,0FFh
40E6:0402  1A 5A 00 00 01 00                    db       1Ah, 5Ah, 00h, 00h, 01h, 00h
40E6:0408  02 00 03 00 00 00                    db       02h, 00h, 03h, 00h, 00h, 00h
40E6:040E  01 00 02 00 03 00                    db       01h, 00h, 02h, 00h, 03h, 00h
40E6:0414  00 00 01 00 02 00                    db       00h, 00h, 01h, 00h, 02h, 00h
40E6:041A  03 00 00 00 01 00                    db       03h, 00h, 00h, 00h, 01h, 00h
40E6:0420  02 00 03 00 00 00                    db       02h, 00h, 03h, 00h, 00h, 00h
40E6:0426  01 00 02 00 03 00                    db       01h, 00h, 02h, 00h, 03h, 00h
40E6:042C  00 00 01 00 02 00                    db       00h, 00h, 01h, 00h, 02h, 00h
40E6:0432  03 00 F9 FF 80 5C                    db       03h, 00h,0F9h,0FFh, 80h, 5Ch
40E6:0438  FC FF FF FF 32 00                    db      0FCh,0FFh,0FFh,0FFh, 32h, 00h
40E6:043E  01 00 02 00 03 00                    db       01h, 00h, 02h, 00h, 03h, 00h
40E6:0444  04 00 F9 FF 28 5D                    db       04h, 00h,0F9h,0FFh, 28h, 5Dh
40E6:044A  FC FF FF FF 14 00                    db      0FCh,0FFh,0FFh,0FFh, 14h, 00h
40E6:0450  F9 FF AA 5A FF FF                    db      0F9h,0FFh,0AAh, 5Ah,0FFh,0FFh
40E6:0456  0A 00 00 00 01 00                    db       0Ah, 00h, 00h, 00h, 01h, 00h
40E6:045C  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:0462  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:0468  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:046E  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:0474  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:047A  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:0480  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:0486  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:048C  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:0492  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:0498  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:049E  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:04A4  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:04AA  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:04B0  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:04B6  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:04BC  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:04C2  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:04C8  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:04CE  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:04D4  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:04DA  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:04E0  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:04E6  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:04EC  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:04F2  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:04F8  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:04FE  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:0504  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:050A  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:0510  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:0516  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:051C  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:0522  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:0528  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:052E  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:0534  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:053A  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:0540  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:0546  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:054C  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:0552  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:0558  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:055E  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:0564  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:056A  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:0570  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:0576  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:057C  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:0582  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:0588  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:058E  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:0594  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:059A  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:05A0  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:05A6  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:05AC  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:05B2  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:05B8  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:05BE  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:05C4  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:05CA  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:05D0  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:05D6  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:05DC  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:05E2  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:05E8  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:05EE  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:05F4  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:05FA  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:0600  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:0606  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:060C  01 00 00 00 F9 FF                    db       01h, 00h, 00h, 00h,0F9h,0FFh
40E6:0612  28 5D 10 00 10 00                    db       28h, 5Dh, 10h, 00h, 10h, 00h
40E6:0618  FA FF 16 06 00 00                    db      0FAh,0FFh, 16h, 06h, 00h, 00h
40E6:061E  01 00 F8 FF 26 00                    db       01h, 00h,0F8h,0FFh, 26h, 00h
40E6:0624  1E 00 F8 FF 27 00                    db       1Eh, 00h,0F8h,0FFh, 27h, 00h
40E6:062A  1E 00 FA FF 1C 06                    db       1Eh, 00h,0FAh,0FFh, 1Ch, 06h
40E6:0630  00 00 F8 FF 23 00                    db       00h, 00h,0F8h,0FFh, 23h, 00h
40E6:0636  00 00 01 00 02 00                    db       00h, 00h, 01h, 00h, 02h, 00h
40E6:063C  03 00 04 00 05 00                    db       03h, 00h, 04h, 00h, 05h, 00h
40E6:0642  06 00 07 00 08 00                    db       06h, 00h, 07h, 00h, 08h, 00h
40E6:0648  09 00 0A 00 FC FF                    db       09h, 00h, 0Ah, 00h,0FCh,0FFh
40E6:064E  00 00 01 00 02 00                    db       00h, 00h, 01h, 00h, 02h, 00h
40E6:0654  03 00 04 00 05 00                    db       03h, 00h, 04h, 00h, 05h, 00h
40E6:065A  06 00 07 00 08 00                    db       06h, 00h, 07h, 00h, 08h, 00h
40E6:0660  09 00 0A 00 0B 00                    db       09h, 00h, 0Ah, 00h, 0Bh, 00h
40E6:0666  FA FF 4E 06 00 00                    db      0FAh,0FFh, 4Eh, 06h, 00h, 00h
40E6:066C  01 00 02 00 03 00                    db       01h, 00h, 02h, 00h, 03h, 00h
40E6:0672  04 00 05 00 06 00                    db       04h, 00h, 05h, 00h, 06h, 00h
40E6:0678  06 00 06 00 06 00                    db       06h, 00h, 06h, 00h, 06h, 00h
40E6:067E  06 00 05 00 07 00                    db       06h, 00h, 05h, 00h, 07h, 00h
40E6:0684  00 00 F8 FF 11 00                    db       00h, 00h,0F8h,0FFh, 11h, 00h
40E6:068A  1D 00 FF FF 23 00                    db       1Dh, 00h,0FFh,0FFh, 23h, 00h
40E6:0690  00 00 01 00 02 00                    db       00h, 00h, 01h, 00h, 02h, 00h
40E6:0696  03 00 04 00 05 00                    db       03h, 00h, 04h, 00h, 05h, 00h
40E6:069C  06 00 06 00 06 00                    db       06h, 00h, 06h, 00h, 06h, 00h
40E6:06A2  06 00 05 00 07 00                    db       06h, 00h, 05h, 00h, 07h, 00h
40E6:06A8  00 00 F8 FF 11 00                    db       00h, 00h,0F8h,0FFh, 11h, 00h
40E6:06AE  1D 00 FF FF 2D 00                    db       1Dh, 00h,0FFh,0FFh, 2Dh, 00h
40E6:06B4  00 00 01 00 02 00                    db       00h, 00h, 01h, 00h, 02h, 00h
40E6:06BA  03 00 04 00 05 00                    db       03h, 00h, 04h, 00h, 05h, 00h
40E6:06C0  06 00 06 00 06 00                    db       06h, 00h, 06h, 00h, 06h, 00h
40E6:06C6  06 00 06 00 06 00                    db       06h, 00h, 06h, 00h, 06h, 00h
40E6:06CC  06 00 06 00 05 00                    db       06h, 00h, 06h, 00h, 05h, 00h
40E6:06D2  07 00 00 00 F8 FF                    db       07h, 00h, 00h, 00h,0F8h,0FFh
40E6:06D8  11 00 1D 00 FF FF                    db       11h, 00h, 1Dh, 00h,0FFh,0FFh
40E6:06DE  28 00 FA FF 6A 06                    db       28h, 00h,0FAh,0FFh, 6Ah, 06h
40E6:06E4  F8 FF                                db      0F8h,0FFh
40E6:06E6  28                                   db      28h
40E6:06E7  0007[00]                             db      7 dup (0)
40E6:06EE  01 00 01 00 F8 FF                    db       01h, 00h, 01h, 00h,0F8h,0FFh
40E6:06F4  28 00 00 00 02 00                    db       28h, 00h, 00h, 00h, 02h, 00h
40E6:06FA  02 00 F8 FF 28 00                    db       02h, 00h,0F8h,0FFh, 28h, 00h
40E6:0700  00 00 03 00 03 00                    db       00h, 00h, 03h, 00h, 03h, 00h
40E6:0706  04 00 04 00 F8 FF                    db       04h, 00h, 04h, 00h,0F8h,0FFh
40E6:070C  28                                   db      28h
40E6:070D  0007[00]                             db      7 dup (0)
40E6:0714  01 00 01 00 F8 FF                    db       01h, 00h, 01h, 00h,0F8h,0FFh
40E6:071A  28 00 00 00 02 00                    db       28h, 00h, 00h, 00h, 02h, 00h
40E6:0720  02 00 F8 FF 28 00                    db       02h, 00h,0F8h,0FFh, 28h, 00h
40E6:0726  00 00 03 00 03 00                    db       00h, 00h, 03h, 00h, 03h, 00h
40E6:072C  04 00 04 00 F8 FF                    db       04h, 00h, 04h, 00h,0F8h,0FFh
40E6:0732  28                                   db      28h
40E6:0733  0007[00]                             db      7 dup (0)
40E6:073A  01 00 01 00 F8 FF                    db       01h, 00h, 01h, 00h,0F8h,0FFh
40E6:0740  28 00 00 00 02 00                    db       28h, 00h, 00h, 00h, 02h, 00h
40E6:0746  02 00 F8 FF 28 00                    db       02h, 00h,0F8h,0FFh, 28h, 00h
40E6:074C  00 00 03 00 03 00                    db       00h, 00h, 03h, 00h, 03h, 00h
40E6:0752  04 00 04 00 F8 FF                    db       04h, 00h, 04h, 00h,0F8h,0FFh
40E6:0758  28                                   db      28h
40E6:0759  0007[00]                             db      7 dup (0)
40E6:0760  01 00 01 00 F8 FF                    db       01h, 00h, 01h, 00h,0F8h,0FFh
40E6:0766  28 00 00 00 02 00                    db       28h, 00h, 00h, 00h, 02h, 00h
40E6:076C  02 00 F8 FF 28 00                    db       02h, 00h,0F8h,0FFh, 28h, 00h
40E6:0772  00 00 03 00 03 00                    db       00h, 00h, 03h, 00h, 03h, 00h
40E6:0778  04 00 04 00 F8 FF                    db       04h, 00h, 04h, 00h,0F8h,0FFh
40E6:077E  28                                   db      28h
40E6:077F  0007[00]                             db      7 dup (0)
40E6:0786  01 00 01 00 F8 FF                    db       01h, 00h, 01h, 00h,0F8h,0FFh
40E6:078C  28 00 00 00 02 00                    db       28h, 00h, 00h, 00h, 02h, 00h
40E6:0792  02 00 F8 FF 28 00                    db       02h, 00h,0F8h,0FFh, 28h, 00h
40E6:0798  00 00 03 00 03 00                    db       00h, 00h, 03h, 00h, 03h, 00h
40E6:079E  04 00 04 00 F8 FF                    db       04h, 00h, 04h, 00h,0F8h,0FFh
40E6:07A4  28                                   db      28h
40E6:07A5  0007[00]                             db      7 dup (0)
40E6:07AC  01 00 01 00 F8 FF                    db       01h, 00h, 01h, 00h,0F8h,0FFh
40E6:07B2  28 00 00 00 02 00                    db       28h, 00h, 00h, 00h, 02h, 00h
40E6:07B8  02 00 F8 FF 28 00                    db       02h, 00h,0F8h,0FFh, 28h, 00h
40E6:07BE  00 00 03 00 03 00                    db       00h, 00h, 03h, 00h, 03h, 00h
40E6:07C4  04 00 04 00 05 00                    db       04h, 00h, 04h, 00h, 05h, 00h
40E6:07CA  05 00 06 00 06 00                    db       05h, 00h, 06h, 00h, 06h, 00h
40E6:07D0  07 00 07 00 08 00                    db       07h, 00h, 07h, 00h, 08h, 00h
40E6:07D6  08 00 09 00 09 00                    db       08h, 00h, 09h, 00h, 09h, 00h
40E6:07DC  0A 00 0A 00 0B 00                    db       0Ah, 00h, 0Ah, 00h, 0Bh, 00h
40E6:07E2  0B 00 0B 00 0B 00                    db       0Bh, 00h, 0Bh, 00h, 0Bh, 00h
40E6:07E8  0A 00 0A 00 09 00                    db       0Ah, 00h, 0Ah, 00h, 09h, 00h
40E6:07EE  09 00 08 00 F8 FF                    db       09h, 00h, 08h, 00h,0F8h,0FFh
40E6:07F4  11 00 1D 00 08 00                    db       11h, 00h, 1Dh, 00h, 08h, 00h
40E6:07FA  07 00 07 00 06 00                    db       07h, 00h, 07h, 00h, 06h, 00h
40E6:0800  06 00 05 00 05 00                    db       06h, 00h, 05h, 00h, 05h, 00h
40E6:0806  F8 FF                                db      0F8h,0FFh
40E6:0808  28                                   db      28h
40E6:0809  0007[00]                             db      7 dup (0)
40E6:0810  01 00 01 00 F8 FF                    db       01h, 00h, 01h, 00h,0F8h,0FFh
40E6:0816  28 00 00 00 02 00                    db       28h, 00h, 00h, 00h, 02h, 00h
40E6:081C  02 00 F8 FF 28 00                    db       02h, 00h,0F8h,0FFh, 28h, 00h
40E6:0822  00 00 03 00 03 00                    db       00h, 00h, 03h, 00h, 03h, 00h
40E6:0828  04 00 04 00 F8 FF                    db       04h, 00h, 04h, 00h,0F8h,0FFh
40E6:082E  28                                   db      28h
40E6:082F  0007[00]                             db      7 dup (0)
40E6:0836  01 00 01 00 F8 FF                    db       01h, 00h, 01h, 00h,0F8h,0FFh
40E6:083C  28 00 00 00 02 00                    db       28h, 00h, 00h, 00h, 02h, 00h
40E6:0842  02 00 F8 FF 28 00                    db       02h, 00h,0F8h,0FFh, 28h, 00h
40E6:0848  00 00 03 00 03 00                    db       00h, 00h, 03h, 00h, 03h, 00h
40E6:084E  04 00 04 00 F8 FF                    db       04h, 00h, 04h, 00h,0F8h,0FFh
40E6:0854  28                                   db      28h
40E6:0855  0007[00]                             db      7 dup (0)
40E6:085C  01 00 01 00 F8 FF                    db       01h, 00h, 01h, 00h,0F8h,0FFh
40E6:0862  28 00 00 00 02 00                    db       28h, 00h, 00h, 00h, 02h, 00h
40E6:0868  02 00 F8 FF 28 00                    db       02h, 00h,0F8h,0FFh, 28h, 00h
40E6:086E  00 00 03 00 03 00                    db       00h, 00h, 03h, 00h, 03h, 00h
40E6:0874  04 00 04 00 F8 FF                    db       04h, 00h, 04h, 00h,0F8h,0FFh
40E6:087A  28                                   db      28h
40E6:087B  0007[00]                             db      7 dup (0)
40E6:0882  01 00 01 00 F8 FF                    db       01h, 00h, 01h, 00h,0F8h,0FFh
40E6:0888  28 00 00 00 02 00                    db       28h, 00h, 00h, 00h, 02h, 00h
40E6:088E  02 00 F8 FF 28 00                    db       02h, 00h,0F8h,0FFh, 28h, 00h
40E6:0894  00 00 03 00 03 00                    db       00h, 00h, 03h, 00h, 03h, 00h
40E6:089A  04 00 04 00 F8 FF                    db       04h, 00h, 04h, 00h,0F8h,0FFh
40E6:08A0  28                                   db      28h
40E6:08A1  0007[00]                             db      7 dup (0)
40E6:08A8  01 00 01 00 F8 FF                    db       01h, 00h, 01h, 00h,0F8h,0FFh
40E6:08AE  28 00 00 00 02 00                    db       28h, 00h, 00h, 00h, 02h, 00h
40E6:08B4  02 00 F8 FF 28 00                    db       02h, 00h,0F8h,0FFh, 28h, 00h
40E6:08BA  00 00 03 00 03 00                    db       00h, 00h, 03h, 00h, 03h, 00h
40E6:08C0  04 00 04 00 F8 FF                    db       04h, 00h, 04h, 00h,0F8h,0FFh
40E6:08C6  28                                   db      28h
40E6:08C7  0007[00]                             db      7 dup (0)
40E6:08CE  01 00 01 00 F8 FF                    db       01h, 00h, 01h, 00h,0F8h,0FFh
40E6:08D4  28 00 00 00 02 00                    db       28h, 00h, 00h, 00h, 02h, 00h
40E6:08DA  02 00 F8 FF 28 00                    db       02h, 00h,0F8h,0FFh, 28h, 00h
40E6:08E0  00 00 03 00 03 00                    db       00h, 00h, 03h, 00h, 03h, 00h
40E6:08E6  04 00 04 00 F8 FF                    db       04h, 00h, 04h, 00h,0F8h,0FFh
40E6:08EC  28                                   db      28h
40E6:08ED  0007[00]                             db      7 dup (0)
40E6:08F4  01 00 01 00 F8 FF                    db       01h, 00h, 01h, 00h,0F8h,0FFh
40E6:08FA  28 00 00 00 02 00                    db       28h, 00h, 00h, 00h, 02h, 00h
40E6:0900  02 00 F8 FF 28 00                    db       02h, 00h,0F8h,0FFh, 28h, 00h
40E6:0906  00 00 03 00 03 00                    db       00h, 00h, 03h, 00h, 03h, 00h
40E6:090C  04 00 04 00 F8 FF                    db       04h, 00h, 04h, 00h,0F8h,0FFh
40E6:0912  28                                   db      28h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 574

40E6:0913  0007[00]                             db      7 dup (0)
40E6:091A  01 00 01 00 F8 FF                    db       01h, 00h, 01h, 00h,0F8h,0FFh
40E6:0920  28 00 00 00 02 00                    db       28h, 00h, 00h, 00h, 02h, 00h
40E6:0926  02 00 F8 FF 28 00                    db       02h, 00h,0F8h,0FFh, 28h, 00h
40E6:092C  00 00 03 00 03 00                    db       00h, 00h, 03h, 00h, 03h, 00h
40E6:0932  04 00 04 00 F8 FF                    db       04h, 00h, 04h, 00h,0F8h,0FFh
40E6:0938  28                                   db      28h
40E6:0939  0007[00]                             db      7 dup (0)
40E6:0940  01 00 01 00 F8 FF                    db       01h, 00h, 01h, 00h,0F8h,0FFh
40E6:0946  28 00 00 00 02 00                    db       28h, 00h, 00h, 00h, 02h, 00h
40E6:094C  02 00 F8 FF 28 00                    db       02h, 00h,0F8h,0FFh, 28h, 00h
40E6:0952  00 00 03 00 03 00                    db       00h, 00h, 03h, 00h, 03h, 00h
40E6:0958  04 00 04 00 F8 FF                    db       04h, 00h, 04h, 00h,0F8h,0FFh
40E6:095E  28                                   db      28h
40E6:095F  0007[00]                             db      7 dup (0)
40E6:0966  01 00 01 00 F8 FF                    db       01h, 00h, 01h, 00h,0F8h,0FFh
40E6:096C  28 00 00 00 02 00                    db       28h, 00h, 00h, 00h, 02h, 00h
40E6:0972  02 00 F8 FF 28 00                    db       02h, 00h,0F8h,0FFh, 28h, 00h
40E6:0978  00 00 03 00 03 00                    db       00h, 00h, 03h, 00h, 03h, 00h
40E6:097E  04 00 04 00 05 00                    db       04h, 00h, 04h, 00h, 05h, 00h
40E6:0984  05 00 06 00 06 00                    db       05h, 00h, 06h, 00h, 06h, 00h
40E6:098A  07 00 07 00 08 00                    db       07h, 00h, 07h, 00h, 08h, 00h
40E6:0990  08 00 09 00 09 00                    db       08h, 00h, 09h, 00h, 09h, 00h
40E6:0996  0A 00 0A 00 0B 00                    db       0Ah, 00h, 0Ah, 00h, 0Bh, 00h
40E6:099C  0B 00 0B 00 0B 00                    db       0Bh, 00h, 0Bh, 00h, 0Bh, 00h
40E6:09A2  0A 00 0A 00 0B 00                    db       0Ah, 00h, 0Ah, 00h, 0Bh, 00h
40E6:09A8  0B 00 0B 00 0B 00                    db       0Bh, 00h, 0Bh, 00h, 0Bh, 00h
40E6:09AE  0B 00 0B 00 0B 00                    db       0Bh, 00h, 0Bh, 00h, 0Bh, 00h
40E6:09B4  0B 00 0A 00 09 00                    db       0Bh, 00h, 0Ah, 00h, 09h, 00h
40E6:09BA  09 00 08 00 F8 FF                    db       09h, 00h, 08h, 00h,0F8h,0FFh
40E6:09C0  11 00 1D 00 08 00                    db       11h, 00h, 1Dh, 00h, 08h, 00h
40E6:09C6  07 00 07 00 06 00                    db       07h, 00h, 07h, 00h, 06h, 00h
40E6:09CC  06 00 05 00 05 00                    db       06h, 00h, 05h, 00h, 05h, 00h
40E6:09D2  FF FF 03 00 FA FF                    db      0FFh,0FFh, 03h, 00h,0FAh,0FFh
40E6:09D8  E4 06 00 00 FA FF                    db      0E4h, 06h, 00h, 00h,0FAh,0FFh
40E6:09DE  DA 09 01 00 FF FF                    db      0DAh, 09h, 01h, 00h,0FFh,0FFh
40E6:09E4  00 00 02 00 FF FF                    db       00h, 00h, 02h, 00h,0FFh,0FFh
40E6:09EA  00 00 03 00 FF FF                    db       00h, 00h, 03h, 00h,0FFh,0FFh
40E6:09F0  00 00 04 00 FF FF                    db       00h, 00h, 04h, 00h,0FFh,0FFh
40E6:09F6  00 00 05 00 FF FF                    db       00h, 00h, 05h, 00h,0FFh,0FFh
40E6:09FC  00 00 06 00 FF FF                    db       00h, 00h, 06h, 00h,0FFh,0FFh
40E6:0A02  00 00 07 00 FF FF                    db       00h, 00h, 07h, 00h,0FFh,0FFh
40E6:0A08  00 00 08 00 FF FF                    db       00h, 00h, 08h, 00h,0FFh,0FFh
40E6:0A0E  00 00 09 00 FF FF                    db       00h, 00h, 09h, 00h,0FFh,0FFh
40E6:0A14  00 00 0A 00 FF FF                    db       00h, 00h, 0Ah, 00h,0FFh,0FFh
40E6:0A1A  00 00 0B 00 FF FF                    db       00h, 00h, 0Bh, 00h,0FFh,0FFh
40E6:0A20  00 00 0C 00 FF FF                    db       00h, 00h, 0Ch, 00h,0FFh,0FFh
40E6:0A26  00 00 0D 00 FF FF                    db       00h, 00h, 0Dh, 00h,0FFh,0FFh
40E6:0A2C  00 00 0E 00 FF FF                    db       00h, 00h, 0Eh, 00h,0FFh,0FFh
40E6:0A32  00 00 0F 00 FF FF                    db       00h, 00h, 0Fh, 00h,0FFh,0FFh
40E6:0A38  00 00 10 00 FF FF                    db       00h, 00h, 10h, 00h,0FFh,0FFh
40E6:0A3E  00 00 11 00 FF FF                    db       00h, 00h, 11h, 00h,0FFh,0FFh
40E6:0A44  00 00 12 00 FF FF                    db       00h, 00h, 12h, 00h,0FFh,0FFh
40E6:0A4A  00 00 13 00 FF FF                    db       00h, 00h, 13h, 00h,0FFh,0FFh
40E6:0A50  00 00 14 00 FF FF                    db       00h, 00h, 14h, 00h,0FFh,0FFh
40E6:0A56  00 00 15 00 FF FF                    db       00h, 00h, 15h, 00h,0FFh,0FFh
40E6:0A5C  00 00 16 00 FF FF                    db       00h, 00h, 16h, 00h,0FFh,0FFh
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 575

40E6:0A62  00 00 17 00 FF FF                    db       00h, 00h, 17h, 00h,0FFh,0FFh
40E6:0A68  00 00 18 00 FF FF                    db       00h, 00h, 18h, 00h,0FFh,0FFh
40E6:0A6E  00 00 19 00 FF FF                    db       00h, 00h, 19h, 00h,0FFh,0FFh
40E6:0A74  00 00 1A 00 FF FF                    db       00h, 00h, 1Ah, 00h,0FFh,0FFh
40E6:0A7A  00 00 1B 00 FF FF                    db       00h, 00h, 1Bh, 00h,0FFh,0FFh
40E6:0A80  00 00 F8 FF 29 00                    db       00h, 00h,0F8h,0FFh, 29h, 00h
40E6:0A86  00 00 1C 00 FF FF                    db       00h, 00h, 1Ch, 00h,0FFh,0FFh
40E6:0A8C  00 00 1D 00 FF FF                    db       00h, 00h, 1Dh, 00h,0FFh,0FFh
40E6:0A92  00 00 1E 00 FF FF                    db       00h, 00h, 1Eh, 00h,0FFh,0FFh
40E6:0A98  00 00 1F 00 FF FF                    db       00h, 00h, 1Fh, 00h,0FFh,0FFh
40E6:0A9E  00 00 20 00 FF FF                    db       00h, 00h, 20h, 00h,0FFh,0FFh
40E6:0AA4  00 00 21 00 FF FF                    db       00h, 00h, 21h, 00h,0FFh,0FFh
40E6:0AAA  00 00 22 00 FF FF                    db       00h, 00h, 22h, 00h,0FFh,0FFh
40E6:0AB0  00 00 23 00 FF FF                    db       00h, 00h, 23h, 00h,0FFh,0FFh
40E6:0AB6  00 00 24 00 FF FF                    db       00h, 00h, 24h, 00h,0FFh,0FFh
40E6:0ABC  00 00 25 00 FF FF                    db       00h, 00h, 25h, 00h,0FFh,0FFh
40E6:0AC2  00 00 F7 FF 29 00                    db       00h, 00h,0F7h,0FFh, 29h, 00h
40E6:0AC8  26 00 FF FF 00 00                    db       26h, 00h,0FFh,0FFh, 00h, 00h
40E6:0ACE  27 00 FF FF 00 00                    db       27h, 00h,0FFh,0FFh, 00h, 00h
40E6:0AD4  28 00 FF FF 00 00                    db       28h, 00h,0FFh,0FFh, 00h, 00h
40E6:0ADA  29 00 FF FF 00 00                    db       29h, 00h,0FFh,0FFh, 00h, 00h
40E6:0AE0  2A 00 FF FF 00 00                    db       2Ah, 00h,0FFh,0FFh, 00h, 00h
40E6:0AE6  2B 00 FF FF 00 00                    db       2Bh, 00h,0FFh,0FFh, 00h, 00h
40E6:0AEC  2C 00 FC FF 01 00                    db       2Ch, 00h,0FCh,0FFh, 01h, 00h
40E6:0AF2  FF FF 00 00 02 00                    db      0FFh,0FFh, 00h, 00h, 02h, 00h
40E6:0AF8  FF FF 00 00 03 00                    db      0FFh,0FFh, 00h, 00h, 03h, 00h
40E6:0AFE  FF FF 00 00 04 00                    db      0FFh,0FFh, 00h, 00h, 04h, 00h
40E6:0B04  FF FF 00 00 05 00                    db      0FFh,0FFh, 00h, 00h, 05h, 00h
40E6:0B0A  FF FF 00 00 06 00                    db      0FFh,0FFh, 00h, 00h, 06h, 00h
40E6:0B10  FF FF 00 00 07 00                    db      0FFh,0FFh, 00h, 00h, 07h, 00h
40E6:0B16  FF FF 00 00 08 00                    db      0FFh,0FFh, 00h, 00h, 08h, 00h
40E6:0B1C  FF FF 00 00 09 00                    db      0FFh,0FFh, 00h, 00h, 09h, 00h
40E6:0B22  FF FF 00 00 0A 00                    db      0FFh,0FFh, 00h, 00h, 0Ah, 00h
40E6:0B28  FF FF 00 00 0B 00                    db      0FFh,0FFh, 00h, 00h, 0Bh, 00h
40E6:0B2E  FF FF 00 00 0C 00                    db      0FFh,0FFh, 00h, 00h, 0Ch, 00h
40E6:0B34  FF FF 00 00 0D 00                    db      0FFh,0FFh, 00h, 00h, 0Dh, 00h
40E6:0B3A  FF FF 00 00 0E 00                    db      0FFh,0FFh, 00h, 00h, 0Eh, 00h
40E6:0B40  FF FF 00 00 F8 FF                    db      0FFh,0FFh, 00h, 00h,0F8h,0FFh
40E6:0B46  29 00 00 00 0F 00                    db       29h, 00h, 00h, 00h, 0Fh, 00h
40E6:0B4C  FF FF 00 00 10 00                    db      0FFh,0FFh, 00h, 00h, 10h, 00h
40E6:0B52  FF FF 00 00 11 00                    db      0FFh,0FFh, 00h, 00h, 11h, 00h
40E6:0B58  FF FF 00 00 12 00                    db      0FFh,0FFh, 00h, 00h, 12h, 00h
40E6:0B5E  FF FF 00 00 13 00                    db      0FFh,0FFh, 00h, 00h, 13h, 00h
40E6:0B64  FF FF 00 00 F7 FF                    db      0FFh,0FFh, 00h, 00h,0F7h,0FFh
40E6:0B6A  29 00 14 00 FF FF                    db       29h, 00h, 14h, 00h,0FFh,0FFh
40E6:0B70  00 00 15 00 FF FF                    db       00h, 00h, 15h, 00h,0FFh,0FFh
40E6:0B76  00 00 16 00 FC FF                    db       00h, 00h, 16h, 00h,0FCh,0FFh
40E6:0B7C  16 00 FA FF 7C 0B                    db       16h, 00h,0FAh,0FFh, 7Ch, 0Bh
40E6:0B82  2C 00 FA FF 82 0B                    db       2Ch, 00h,0FAh,0FFh, 82h, 0Bh
40E6:0B88  00 00 FF FF 1E 00                    db       00h, 00h,0FFh,0FFh, 1Eh, 00h
40E6:0B8E  01 00 02 00 03 00                    db       01h, 00h, 02h, 00h, 03h, 00h
40E6:0B94  04 00 05 00 FF FF                    db       04h, 00h, 05h, 00h,0FFh,0FFh
40E6:0B9A  50 00 00 00 05 00                    db       50h, 00h, 00h, 00h, 05h, 00h
40E6:0BA0  FF FF 78 00 00 00                    db      0FFh,0FFh, 78h, 00h, 00h, 00h
40E6:0BA6  00 00 05 00 FA FF                    db       00h, 00h, 05h, 00h,0FAh,0FFh
40E6:0BAC  98 0B 04 00 03 00                    db       98h, 0Bh, 04h, 00h, 03h, 00h
40E6:0BB2  02 00 01 00 00 00                    db       02h, 00h, 01h, 00h, 00h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 576

40E6:0BB8  FA FF B6 0B 00 00                    db      0FAh,0FFh,0B6h, 0Bh, 00h, 00h
40E6:0BBE  03 00 01 00 00 00                    db       03h, 00h, 01h, 00h, 00h, 00h
40E6:0BC4  02 00 03 00 00 00                    db       02h, 00h, 03h, 00h, 00h, 00h
40E6:0BCA  01 00 00 00 03 00                    db       01h, 00h, 00h, 00h, 03h, 00h
40E6:0BD0  02 00 03 00 00 00                    db       02h, 00h, 03h, 00h, 00h, 00h
40E6:0BD6  01 00 03 00 01 00                    db       01h, 00h, 03h, 00h, 01h, 00h
40E6:0BDC  00 00 02 00 03 00                    db       00h, 00h, 02h, 00h, 03h, 00h
40E6:0BE2  01 00 02 00 FA FF                    db       01h, 00h, 02h, 00h,0FAh,0FFh
40E6:0BE8  BC 0B 00 00 01 00                    db      0BCh, 0Bh, 00h, 00h, 01h, 00h
40E6:0BEE  01 00 0B 00 0B 00                    db       01h, 00h, 0Bh, 00h, 0Bh, 00h
40E6:0BF4  0C 00 0D 00 0E 00                    db       0Ch, 00h, 0Dh, 00h, 0Eh, 00h
40E6:0BFA  0F 00 0C 00 0D 00                    db       0Fh, 00h, 0Ch, 00h, 0Dh, 00h
40E6:0C00  0E 00 0F 00 0C 00                    db       0Eh, 00h, 0Fh, 00h, 0Ch, 00h
40E6:0C06  0D 00 0E 00 0F 00                    db       0Dh, 00h, 0Eh, 00h, 0Fh, 00h
40E6:0C0C  0C 00 0D 00 0E 00                    db       0Ch, 00h, 0Dh, 00h, 0Eh, 00h
40E6:0C12  0F 00 0C 00 0D 00                    db       0Fh, 00h, 0Ch, 00h, 0Dh, 00h
40E6:0C18  0E 00 0F 00 0C 00                    db       0Eh, 00h, 0Fh, 00h, 0Ch, 00h
40E6:0C1E  0D 00 0E 00 0F 00                    db       0Dh, 00h, 0Eh, 00h, 0Fh, 00h
40E6:0C24  0C 00 0D 00 0E 00                    db       0Ch, 00h, 0Dh, 00h, 0Eh, 00h
40E6:0C2A  0F 00 0C 00 0D 00                    db       0Fh, 00h, 0Ch, 00h, 0Dh, 00h
40E6:0C30  0E 00 0F 00 0C 00                    db       0Eh, 00h, 0Fh, 00h, 0Ch, 00h
40E6:0C36  0D 00 0E 00 0F 00                    db       0Dh, 00h, 0Eh, 00h, 0Fh, 00h
40E6:0C3C  0C 00 0D 00 0E 00                    db       0Ch, 00h, 0Dh, 00h, 0Eh, 00h
40E6:0C42  0F 00 0B 00 0B 00                    db       0Fh, 00h, 0Bh, 00h, 0Bh, 00h
40E6:0C48  01 00 01 00 00 00                    db       01h, 00h, 01h, 00h, 00h, 00h
40E6:0C4E  FF FF 24 00 01 00                    db      0FFh,0FFh, 24h, 00h, 01h, 00h
40E6:0C54  01 00 02 00 02 00                    db       01h, 00h, 02h, 00h, 02h, 00h
40E6:0C5A  10 00 10 00 11 00                    db       10h, 00h, 10h, 00h, 11h, 00h
40E6:0C60  11 00 11 00 11 00                    db       11h, 00h, 11h, 00h, 11h, 00h
40E6:0C66  11 00 11 00 11 00                    db       11h, 00h, 11h, 00h, 11h, 00h
40E6:0C6C  11 00 10 00 10 00                    db       11h, 00h, 10h, 00h, 10h, 00h
40E6:0C72  02 00 02 00 01 00                    db       02h, 00h, 02h, 00h, 01h, 00h
40E6:0C78  01 00 00 00 FF FF                    db       01h, 00h, 00h, 00h,0FFh,0FFh
40E6:0C7E  57 00 FA FF EA 0B                    db       57h, 00h,0FAh,0FFh,0EAh, 0Bh
40E6:0C84  FF FF 14 00 00 00                    db      0FFh,0FFh, 14h, 00h, 00h, 00h
40E6:0C8A  01 00 02 00 03 00                    db       01h, 00h, 02h, 00h, 03h, 00h
40E6:0C90  04 00 03 00 05 00                    db       04h, 00h, 03h, 00h, 05h, 00h
40E6:0C96  06 00 07 00 08 00                    db       06h, 00h, 07h, 00h, 08h, 00h
40E6:0C9C  09 00 0A 00 FC FF                    db       09h, 00h, 0Ah, 00h,0FCh,0FFh
40E6:0CA2  00 00 01 00 02 00                    db       00h, 00h, 01h, 00h, 02h, 00h
40E6:0CA8  03 00 04 00 05 00                    db       03h, 00h, 04h, 00h, 05h, 00h
40E6:0CAE  FA FF A2 0C 06 00                    db      0FAh,0FFh,0A2h, 0Ch, 06h, 00h
40E6:0CB4  07 00 08 00 09 00                    db       07h, 00h, 08h, 00h, 09h, 00h
40E6:0CBA  0A 00 0B 00 0C 00                    db       0Ah, 00h, 0Bh, 00h, 0Ch, 00h
40E6:0CC0  FF FF 02 00 0D 00                    db      0FFh,0FFh, 02h, 00h, 0Dh, 00h
40E6:0CC6  FF FF 02 00 0E 00                    db      0FFh,0FFh, 02h, 00h, 0Eh, 00h
40E6:0CCC  FF FF 02 00 0F 00                    db      0FFh,0FFh, 02h, 00h, 0Fh, 00h
40E6:0CD2  FF FF 02 00 10 00                    db      0FFh,0FFh, 02h, 00h, 10h, 00h
40E6:0CD8  FF FF 02 00 0F 00                    db      0FFh,0FFh, 02h, 00h, 0Fh, 00h
40E6:0CDE  FF FF 14 00 10 00                    db      0FFh,0FFh, 14h, 00h, 10h, 00h
40E6:0CE4  FF FF 1E 00 FA FF                    db      0FFh,0FFh, 1Eh, 00h,0FAh,0FFh
40E6:0CEA  DC 0C 00 00 01 00                    db      0DCh, 0Ch, 00h, 00h, 01h, 00h
40E6:0CF0  02 00 F8 FF 2B 00                    db       02h, 00h,0F8h,0FFh, 2Bh, 00h
40E6:0CF6  2A 00 03 00 04 00                    db       2Ah, 00h, 03h, 00h, 04h, 00h
40E6:0CFC  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:0D02  08 00 FA FF F2 0C                    db       08h, 00h,0FAh,0FFh,0F2h, 0Ch
40E6:0D08  09 00 0A 00 0B 00                    db       09h, 00h, 0Ah, 00h, 0Bh, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 577

40E6:0D0E  0C 00 0D 00 FC FF                    db       0Ch, 00h, 0Dh, 00h,0FCh,0FFh
40E6:0D14  00 00 01 00 02 00                    db       00h, 00h, 01h, 00h, 02h, 00h
40E6:0D1A  03 00 04 00 05 00                    db       03h, 00h, 04h, 00h, 05h, 00h
40E6:0D20  06 00 07 00 08 00                    db       06h, 00h, 07h, 00h, 08h, 00h
40E6:0D26  09 00 0A 00 FA FF                    db       09h, 00h, 0Ah, 00h,0FAh,0FFh
40E6:0D2C  14 0D 00 00 01 00                    db       14h, 0Dh, 00h, 00h, 01h, 00h
40E6:0D32  07 00 02 00 05 00                    db       07h, 00h, 02h, 00h, 05h, 00h
40E6:0D38  03 00 00 00 06 00                    db       03h, 00h, 00h, 00h, 06h, 00h
40E6:0D3E  04 00 05 00 06 00                    db       04h, 00h, 05h, 00h, 06h, 00h
40E6:0D44  00 00 03 00 07 00                    db       00h, 00h, 03h, 00h, 07h, 00h
40E6:0D4A  FA FF 2E 0D 00 00                    db      0FAh,0FFh, 2Eh, 0Dh, 00h, 00h
40E6:0D50  01 00 07 00 02 00                    db       01h, 00h, 07h, 00h, 02h, 00h
40E6:0D56  05 00 03 00 00 00                    db       05h, 00h, 03h, 00h, 00h, 00h
40E6:0D5C  06 00 04 00 05 00                    db       06h, 00h, 04h, 00h, 05h, 00h
40E6:0D62  06 00 00 00 03 00                    db       06h, 00h, 00h, 00h, 03h, 00h
40E6:0D68  07 00 FA FF 4E 0D                    db       07h, 00h,0FAh,0FFh, 4Eh, 0Dh
40E6:0D6E  00 00 00 00 01 00                    db       00h, 00h, 00h, 00h, 01h, 00h
40E6:0D74  01 00 02 00 02 00                    db       01h, 00h, 02h, 00h, 02h, 00h
40E6:0D7A  03 00 03 00 04 00                    db       03h, 00h, 03h, 00h, 04h, 00h
40E6:0D80  04 00 05 00 05 00                    db       04h, 00h, 05h, 00h, 05h, 00h
40E6:0D86  06 00 06 00 07 00                    db       06h, 00h, 06h, 00h, 07h, 00h
40E6:0D8C  07 00 FA FF 6E 0D                    db       07h, 00h,0FAh,0FFh, 6Eh, 0Dh
40E6:0D92  00 00 01 00 02 00                    db       00h, 00h, 01h, 00h, 02h, 00h
40E6:0D98  03 00 04 00 05 00                    db       03h, 00h, 04h, 00h, 05h, 00h
40E6:0D9E  06 00 07 00 08 00                    db       06h, 00h, 07h, 00h, 08h, 00h
40E6:0DA4  09 00 0A 00 0B 00                    db       09h, 00h, 0Ah, 00h, 0Bh, 00h
40E6:0DAA  FA FF 92 0D 00 00                    db      0FAh,0FFh, 92h, 0Dh, 00h, 00h
40E6:0DB0  01 00 02 00 03 00                    db       01h, 00h, 02h, 00h, 03h, 00h
40E6:0DB6  04 00 05 00 06 00                    db       04h, 00h, 05h, 00h, 06h, 00h
40E6:0DBC  07 00 08 00 09 00                    db       07h, 00h, 08h, 00h, 09h, 00h
40E6:0DC2  0A 00 FA FF AE 0D                    db       0Ah, 00h,0FAh,0FFh,0AEh, 0Dh
40E6:0DC8  00 00 01 00 02 00                    db       00h, 00h, 01h, 00h, 02h, 00h
40E6:0DCE  03 00 FA FF C8 0D                    db       03h, 00h,0FAh,0FFh,0C8h, 0Dh
40E6:0DD4  F8 FF 1D 00 2D 00                    db      0F8h,0FFh, 1Dh, 00h, 2Dh, 00h
40E6:0DDA  00 00 01 00 02 00                    db       00h, 00h, 01h, 00h, 02h, 00h
40E6:0DE0  03 00 04 00 00 00                    db       03h, 00h, 04h, 00h, 00h, 00h
40E6:0DE6  FF FF 64 00 F8 FF                    db      0FFh,0FFh, 64h, 00h,0F8h,0FFh
40E6:0DEC  1D 00 2D 00 00 00                    db       1Dh, 00h, 2Dh, 00h, 00h, 00h
40E6:0DF2  01 00 02 00 03 00                    db       01h, 00h, 02h, 00h, 03h, 00h
40E6:0DF8  04 00 00 00 FF FF                    db       04h, 00h, 00h, 00h,0FFh,0FFh
40E6:0DFE  28 00 FA FF D4 0D                    db       28h, 00h,0FAh,0FFh,0D4h, 0Dh
40E6:0E04  00 00 01 00 01 00                    db       00h, 00h, 01h, 00h, 01h, 00h
40E6:0E0A  02 00 02 00 03 00                    db       02h, 00h, 02h, 00h, 03h, 00h
40E6:0E10  02 00 03 00 02 00                    db       02h, 00h, 03h, 00h, 02h, 00h
40E6:0E16  01 00 01 00 00 00                    db       01h, 00h, 01h, 00h, 00h, 00h
40E6:0E1C  FF FF 78 00 00 00                    db      0FFh,0FFh, 78h, 00h, 00h, 00h
40E6:0E22  01 00 01 00 02 00                    db       01h, 00h, 01h, 00h, 02h, 00h
40E6:0E28  02 00 03 00 02 00                    db       02h, 00h, 03h, 00h, 02h, 00h
40E6:0E2E  03 00 02 00 01 00                    db       03h, 00h, 02h, 00h, 01h, 00h
40E6:0E34  01 00 00 00 FF FF                    db       01h, 00h, 00h, 00h,0FFh,0FFh
40E6:0E3A  28 00 FA FF 04 0E                    db       28h, 00h,0FAh,0FFh, 04h, 0Eh
40E6:0E40  00 00 01 00 01 00                    db       00h, 00h, 01h, 00h, 01h, 00h
40E6:0E46  02 00 02 00 03 00                    db       02h, 00h, 02h, 00h, 03h, 00h
40E6:0E4C  03 00 04 00 04 00                    db       03h, 00h, 04h, 00h, 04h, 00h
40E6:0E52  03 00 03 00 02 00                    db       03h, 00h, 03h, 00h, 02h, 00h
40E6:0E58  02 00 01 00 01 00                    db       02h, 00h, 01h, 00h, 01h, 00h
40E6:0E5E  00 00 FF FF 5A 00                    db       00h, 00h,0FFh,0FFh, 5Ah, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 578

40E6:0E64  00 00 01 00 01 00                    db       00h, 00h, 01h, 00h, 01h, 00h
40E6:0E6A  02 00 02 00 03 00                    db       02h, 00h, 02h, 00h, 03h, 00h
40E6:0E70  03 00 04 00 04 00                    db       03h, 00h, 04h, 00h, 04h, 00h
40E6:0E76  03 00 03 00 02 00                    db       03h, 00h, 03h, 00h, 02h, 00h
40E6:0E7C  02 00 01 00 01 00                    db       02h, 00h, 01h, 00h, 01h, 00h
40E6:0E82  00 00 FF FF 71 00                    db       00h, 00h,0FFh,0FFh, 71h, 00h
40E6:0E88  FA FF 40 0E 00 00                    db      0FAh,0FFh, 40h, 0Eh, 00h, 00h
40E6:0E8E  01 00 01 00 02 00                    db       01h, 00h, 01h, 00h, 02h, 00h
40E6:0E94  02 00 03 00 03 00                    db       02h, 00h, 03h, 00h, 03h, 00h
40E6:0E9A  03 00 04 00 04 00                    db       03h, 00h, 04h, 00h, 04h, 00h
40E6:0EA0  04 00 04 00 03 00                    db       04h, 00h, 04h, 00h, 03h, 00h
40E6:0EA6  03 00 02 00 02 00                    db       03h, 00h, 02h, 00h, 02h, 00h
40E6:0EAC  01 00 01 00 00 00                    db       01h, 00h, 01h, 00h, 00h, 00h
40E6:0EB2  FF FF 55 00 00 00                    db      0FFh,0FFh, 55h, 00h, 00h, 00h
40E6:0EB8  01 00 01 00 02 00                    db       01h, 00h, 01h, 00h, 02h, 00h
40E6:0EBE  02 00 03 00 03 00                    db       02h, 00h, 03h, 00h, 03h, 00h
40E6:0EC4  04 00 04 00 04 00                    db       04h, 00h, 04h, 00h, 04h, 00h
40E6:0ECA  04 00 04 00 04 00                    db       04h, 00h, 04h, 00h, 04h, 00h
40E6:0ED0  03 00 03 00 02 00                    db       03h, 00h, 03h, 00h, 02h, 00h
40E6:0ED6  02 00 01 00 01 00                    db       02h, 00h, 01h, 00h, 01h, 00h
40E6:0EDC  00 00 FF FF 2F 00                    db       00h, 00h,0FFh,0FFh, 2Fh, 00h
40E6:0EE2  FA FF 8C 0E 00 00                    db      0FAh,0FFh, 8Ch, 0Eh, 00h, 00h
40E6:0EE8  01 00 02 00 03 00                    db       01h, 00h, 02h, 00h, 03h, 00h
40E6:0EEE  04 00 05 00 06 00                    db       04h, 00h, 05h, 00h, 06h, 00h
40E6:0EF4  07 00 06 00 05 00                    db       07h, 00h, 06h, 00h, 05h, 00h
40E6:0EFA  04 00 03 00 02 00                    db       04h, 00h, 03h, 00h, 02h, 00h
40E6:0F00  01 00 00 00 FF FF                    db       01h, 00h, 00h, 00h,0FFh,0FFh
40E6:0F06  38 00 00 00 01 00                    db       38h, 00h, 00h, 00h, 01h, 00h
40E6:0F0C  02 00 03 00 04 00                    db       02h, 00h, 03h, 00h, 04h, 00h
40E6:0F12  05 00 04 00 03 00                    db       05h, 00h, 04h, 00h, 03h, 00h
40E6:0F18  02 00 01 00 00 00                    db       02h, 00h, 01h, 00h, 00h, 00h
40E6:0F1E  FF FF 2F 00 00 00                    db      0FFh,0FFh, 2Fh, 00h, 00h, 00h
40E6:0F24  01 00 02 00 03 00                    db       01h, 00h, 02h, 00h, 03h, 00h
40E6:0F2A  02 00 01 00 00 00                    db       02h, 00h, 01h, 00h, 00h, 00h
40E6:0F30  FF FF 5A 00 00 00                    db      0FFh,0FFh, 5Ah, 00h, 00h, 00h
40E6:0F36  01 00 02 00 03 00                    db       01h, 00h, 02h, 00h, 03h, 00h
40E6:0F3C  04 00 05 00 06 00                    db       04h, 00h, 05h, 00h, 06h, 00h
40E6:0F42  05 00 04 00 03 00                    db       05h, 00h, 04h, 00h, 03h, 00h
40E6:0F48  02 00 01 00 00 00                    db       02h, 00h, 01h, 00h, 00h, 00h
40E6:0F4E  FA FF E6 0E 00 00                    db      0FAh,0FFh,0E6h, 0Eh, 00h, 00h
40E6:0F54  01 00 02 00 03 00                    db       01h, 00h, 02h, 00h, 03h, 00h
40E6:0F5A  04 00 05 00 06 00                    db       04h, 00h, 05h, 00h, 06h, 00h
40E6:0F60  07 00 06 00 05 00                    db       07h, 00h, 06h, 00h, 05h, 00h
40E6:0F66  06 00 07 00 06 00                    db       06h, 00h, 07h, 00h, 06h, 00h
40E6:0F6C  05 00 06 00 07 00                    db       05h, 00h, 06h, 00h, 07h, 00h
40E6:0F72  06 00 05 00 06 00                    db       06h, 00h, 05h, 00h, 06h, 00h
40E6:0F78  07 00 08 00 09 00                    db       07h, 00h, 08h, 00h, 09h, 00h
40E6:0F7E  0A 00 0B 00 0C 00                    db       0Ah, 00h, 0Bh, 00h, 0Ch, 00h
40E6:0F84  0D 00 0E 00 0E 00                    db       0Dh, 00h, 0Eh, 00h, 0Eh, 00h
40E6:0F8A  0F 00 0F 00 10 00                    db       0Fh, 00h, 0Fh, 00h, 10h, 00h
40E6:0F90  10 00 11 00 FF FF                    db       10h, 00h, 11h, 00h,0FFh,0FFh
40E6:0F96  5A 00 12 00 11 00                    db       5Ah, 00h, 12h, 00h, 11h, 00h
40E6:0F9C  12 00 11 00 FF FF                    db       12h, 00h, 11h, 00h,0FFh,0FFh
40E6:0FA2  28 00 12 00 13 00                    db       28h, 00h, 12h, 00h, 13h, 00h
40E6:0FA8  14 00 14 00 14 00                    db       14h, 00h, 14h, 00h, 14h, 00h
40E6:0FAE  14 00 14 00 14 00                    db       14h, 00h, 14h, 00h, 14h, 00h
40E6:0FB4  13 00 12 00 FA FF                    db       13h, 00h, 12h, 00h,0FAh,0FFh
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 579

40E6:0FBA  92 0F 01 00 01 00                    db       92h, 0Fh, 01h, 00h, 01h, 00h
40E6:0FC0  02 00 02 00 03 00                    db       02h, 00h, 02h, 00h, 03h, 00h
40E6:0FC6  04 00 05 00 F8 FF                    db       04h, 00h, 05h, 00h,0F8h,0FFh
40E6:0FCC  06 00 2E 00 05 00                    db       06h, 00h, 2Eh, 00h, 05h, 00h
40E6:0FD2  06 00 06 00 07 00                    db       06h, 00h, 06h, 00h, 07h, 00h
40E6:0FD8  07 00 08 00 08 00                    db       07h, 00h, 08h, 00h, 08h, 00h
40E6:0FDE  09 00 09 00 00 00                    db       09h, 00h, 09h, 00h, 00h, 00h
40E6:0FE4  FF FF 19 00 FA FF                    db      0FFh,0FFh, 19h, 00h,0FAh,0FFh
40E6:0FEA  BC 0F 00 00 00 00                    db      0BCh, 0Fh, 00h, 00h, 00h, 00h
40E6:0FF0  01 00 01 00 02 00                    db       01h, 00h, 01h, 00h, 02h, 00h
40E6:0FF6  02 00 03 00 03 00                    db       02h, 00h, 03h, 00h, 03h, 00h
40E6:0FFC  03 00 03 00 02 00                    db       03h, 00h, 03h, 00h, 02h, 00h
40E6:1002  02 00 01 00 01 00                    db       02h, 00h, 01h, 00h, 01h, 00h
40E6:1008  00 00 00 00 FF FF                    db       00h, 00h, 00h, 00h,0FFh,0FFh
40E6:100E  39 00 00 00 00 00                    db       39h, 00h, 00h, 00h, 00h, 00h
40E6:1014  01 00 01 00 02 00                    db       01h, 00h, 01h, 00h, 02h, 00h
40E6:101A  02 00 03 00 03 00                    db       02h, 00h, 03h, 00h, 03h, 00h
40E6:1020  03 00 03 00 02 00                    db       03h, 00h, 03h, 00h, 02h, 00h
40E6:1026  02 00 01 00 01 00                    db       02h, 00h, 01h, 00h, 01h, 00h
40E6:102C  00 00 00 00 FF FF                    db       00h, 00h, 00h, 00h,0FFh,0FFh
40E6:1032  62 00 FA FF EC 0F                    db       62h, 00h,0FAh,0FFh,0ECh, 0Fh
40E6:1038  00 00 00 00 01 00                    db       00h, 00h, 00h, 00h, 01h, 00h
40E6:103E  01 00 02 00 02 00                    db       01h, 00h, 02h, 00h, 02h, 00h
40E6:1044  03 00 03 00 04 00                    db       03h, 00h, 03h, 00h, 04h, 00h
40E6:104A  04 00 05 00 05 00                    db       04h, 00h, 05h, 00h, 05h, 00h
40E6:1050  06 00 06 00 05 00                    db       06h, 00h, 06h, 00h, 05h, 00h
40E6:1056  05 00 04 00 04 00                    db       05h, 00h, 04h, 00h, 04h, 00h
40E6:105C  05 00 05 00 06 00                    db       05h, 00h, 05h, 00h, 06h, 00h
40E6:1062  06 00 05 00 05 00                    db       06h, 00h, 05h, 00h, 05h, 00h
40E6:1068  04 00 04 00 03 00                    db       04h, 00h, 04h, 00h, 03h, 00h
40E6:106E  03 00 02 00 02 00                    db       03h, 00h, 02h, 00h, 02h, 00h
40E6:1074  01 00 01 00 00 00                    db       01h, 00h, 01h, 00h, 00h, 00h
40E6:107A  FF FF 9D 00 FA FF                    db      0FFh,0FFh, 9Dh, 00h,0FAh,0FFh
40E6:1080  38 10 00 00 01 00                    db       38h, 10h, 00h, 00h, 01h, 00h
40E6:1086  01 00 02 00 02 00                    db       01h, 00h, 02h, 00h, 02h, 00h
40E6:108C  03 00 03 00 02 00                    db       03h, 00h, 03h, 00h, 02h, 00h
40E6:1092  02 00 03 00 03 00                    db       02h, 00h, 03h, 00h, 03h, 00h
40E6:1098  02 00 02 00 03 00                    db       02h, 00h, 02h, 00h, 03h, 00h
40E6:109E  03 00 02 00 02 00                    db       03h, 00h, 02h, 00h, 02h, 00h
40E6:10A4  01 00 01 00 00 00                    db       01h, 00h, 01h, 00h, 00h, 00h
40E6:10AA  FF FF 39 00 00 00                    db      0FFh,0FFh, 39h, 00h, 00h, 00h
40E6:10B0  01 00 01 00 02 00                    db       01h, 00h, 01h, 00h, 02h, 00h
40E6:10B6  02 00 03 00 03 00                    db       02h, 00h, 03h, 00h, 03h, 00h
40E6:10BC  02 00 02 00 03 00                    db       02h, 00h, 02h, 00h, 03h, 00h
40E6:10C2  03 00 02 00 02 00                    db       03h, 00h, 02h, 00h, 02h, 00h
40E6:10C8  03 00 03 00 02 00                    db       03h, 00h, 03h, 00h, 02h, 00h
40E6:10CE  02 00 01 00 01 00                    db       02h, 00h, 01h, 00h, 01h, 00h
40E6:10D4  00 00 FF FF 64 00                    db       00h, 00h,0FFh,0FFh, 64h, 00h
40E6:10DA  00 00 01 00 01 00                    db       00h, 00h, 01h, 00h, 01h, 00h
40E6:10E0  02 00 02 00 03 00                    db       02h, 00h, 02h, 00h, 03h, 00h
40E6:10E6  03 00 02 00 02 00                    db       03h, 00h, 02h, 00h, 02h, 00h
40E6:10EC  03 00 03 00 02 00                    db       03h, 00h, 03h, 00h, 02h, 00h
40E6:10F2  02 00 03 00 03 00                    db       02h, 00h, 03h, 00h, 03h, 00h
40E6:10F8  02 00 02 00 03 00                    db       02h, 00h, 02h, 00h, 03h, 00h
40E6:10FE  03 00 02 00 02 00                    db       03h, 00h, 02h, 00h, 02h, 00h
40E6:1104  03 00 03 00 02 00                    db       03h, 00h, 03h, 00h, 02h, 00h
40E6:110A  02 00 01 00 01 00                    db       02h, 00h, 01h, 00h, 01h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 580

40E6:1110  00 00 FF FF A0 00                    db       00h, 00h,0FFh,0FFh,0A0h, 00h
40E6:1116  00 00 01 00 01 00                    db       00h, 00h, 01h, 00h, 01h, 00h
40E6:111C  02 00 02 00 03 00                    db       02h, 00h, 02h, 00h, 03h, 00h
40E6:1122  03 00 02 00 02 00                    db       03h, 00h, 02h, 00h, 02h, 00h
40E6:1128  03 00 03 00 02 00                    db       03h, 00h, 03h, 00h, 02h, 00h
40E6:112E  02 00 01 00 01 00                    db       02h, 00h, 01h, 00h, 01h, 00h
40E6:1134  00 00 FF FF 20 00                    db       00h, 00h,0FFh,0FFh, 20h, 00h
40E6:113A  FA FF 82 10 00 00                    db      0FAh,0FFh, 82h, 10h, 00h, 00h
40E6:1140  01 00 01 00 02 00                    db       01h, 00h, 01h, 00h, 02h, 00h
40E6:1146  02 00 01 00 01 00                    db       02h, 00h, 01h, 00h, 01h, 00h
40E6:114C  00 00 FF FF 1B 00                    db       00h, 00h,0FFh,0FFh, 1Bh, 00h
40E6:1152  00 00 01 00 01 00                    db       00h, 00h, 01h, 00h, 01h, 00h
40E6:1158  02 00 02 00 01 00                    db       02h, 00h, 02h, 00h, 01h, 00h
40E6:115E  01 00 00 00 FF FF                    db       01h, 00h, 00h, 00h,0FFh,0FFh
40E6:1164  A7 00 00 00 01 00                    db      0A7h, 00h, 00h, 00h, 01h, 00h
40E6:116A  01 00 02 00 FF FF                    db       01h, 00h, 02h, 00h,0FFh,0FFh
40E6:1170  32 00 01 00 01 00                    db       32h, 00h, 01h, 00h, 01h, 00h
40E6:1176  00 00 FF FF 44 00                    db       00h, 00h,0FFh,0FFh, 44h, 00h
40E6:117C  FA FF 3E 11 00 00                    db      0FAh,0FFh, 3Eh, 11h, 00h, 00h
40E6:1182  01 00 01 00 01 00                    db       01h, 00h, 01h, 00h, 01h, 00h
40E6:1188  01 00 00 00 FF FF                    db       01h, 00h, 00h, 00h,0FFh,0FFh
40E6:118E  14 01 00 00 01 00                    db       14h, 01h, 00h, 00h, 01h, 00h
40E6:1194  01 00 01 00 01 00                    db       01h, 00h, 01h, 00h, 01h, 00h
40E6:119A  00 00 FF FF 38 00                    db       00h, 00h,0FFh,0FFh, 38h, 00h
40E6:11A0  FA FF 80 11 00 00                    db      0FAh,0FFh, 80h, 11h, 00h, 00h
40E6:11A6  01 00 01 00 02 00                    db       01h, 00h, 01h, 00h, 02h, 00h
40E6:11AC  02 00 03 00 03 00                    db       02h, 00h, 03h, 00h, 03h, 00h
40E6:11B2  04 00 04 00 05 00                    db       04h, 00h, 04h, 00h, 05h, 00h
40E6:11B8  05 00 06 00 06 00                    db       05h, 00h, 06h, 00h, 06h, 00h
40E6:11BE  00 00 FF FF 52 00                    db       00h, 00h,0FFh,0FFh, 52h, 00h
40E6:11C4  00 00 01 00 01 00                    db       00h, 00h, 01h, 00h, 01h, 00h
40E6:11CA  02 00 02 00 03 00                    db       02h, 00h, 02h, 00h, 03h, 00h
40E6:11D0  03 00 04 00 04 00                    db       03h, 00h, 04h, 00h, 04h, 00h
40E6:11D6  05 00 05 00 06 00                    db       05h, 00h, 05h, 00h, 06h, 00h
40E6:11DC  06 00 00 00 FF FF                    db       06h, 00h, 00h, 00h,0FFh,0FFh
40E6:11E2  38 00 00 00 01 00                    db       38h, 00h, 00h, 00h, 01h, 00h
40E6:11E8  01 00 02 00 02 00                    db       01h, 00h, 02h, 00h, 02h, 00h
40E6:11EE  03 00 03 00 04 00                    db       03h, 00h, 03h, 00h, 04h, 00h
40E6:11F4  04 00 05 00 05 00                    db       04h, 00h, 05h, 00h, 05h, 00h
40E6:11FA  05 00 05 00 04 00                    db       05h, 00h, 05h, 00h, 04h, 00h
40E6:1200  04 00 05 00 05 00                    db       04h, 00h, 05h, 00h, 05h, 00h
40E6:1206  06 00 06 00 00 00                    db       06h, 00h, 06h, 00h, 00h, 00h
40E6:120C  FF FF 81 00 FA FF                    db      0FFh,0FFh, 81h, 00h,0FAh,0FFh
40E6:1212  A4 11 06 00 FE FF                    db      0A4h, 11h, 06h, 00h,0FEh,0FFh
40E6:1218  13 01 F6 00 07 00                    db       13h, 01h,0F6h, 00h, 07h, 00h
40E6:121E  FE FF 23 01 F6 00                    db      0FEh,0FFh, 23h, 01h,0F6h, 00h
40E6:1224  06 00 FE FF 33 01                    db       06h, 00h,0FEh,0FFh, 33h, 01h
40E6:122A  F6 00 07 00 F8 FF                    db      0F6h, 00h, 07h, 00h,0F8h,0FFh
40E6:1230  05 00 2A 00 FE FF                    db       05h, 00h, 2Ah, 00h,0FEh,0FFh
40E6:1236  43 01 F6 00 06 00                    db       43h, 01h,0F6h, 00h, 06h, 00h
40E6:123C  FE FF 53 01 F6 00                    db      0FEh,0FFh, 53h, 01h,0F6h, 00h
40E6:1242  07 00 FE FF 63 01                    db       07h, 00h,0FEh,0FFh, 63h, 01h
40E6:1248  F6 00 06 00 FC FF                    db      0F6h, 00h, 06h, 00h,0FCh,0FFh
40E6:124E  02 00 FE FF 15 01                    db       02h, 00h,0FEh,0FFh, 15h, 01h
40E6:1254  1A 01 03 00 FE FF                    db       1Ah, 01h, 03h, 00h,0FEh,0FFh
40E6:125A  15 01 22 01 02 00                    db       15h, 01h, 22h, 01h, 02h, 00h
40E6:1260  FE FF 15 01 2A 01                    db      0FEh,0FFh, 15h, 01h, 2Ah, 01h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 581

40E6:1266  03 00 FE FF 15 01                    db       03h, 00h,0FEh,0FFh, 15h, 01h
40E6:126C  32 01 02 00 FE FF                    db       32h, 01h, 02h, 00h,0FEh,0FFh
40E6:1272  25 01 32 01 07 00                    db       25h, 01h, 32h, 01h, 07h, 00h
40E6:1278  FE FF 35 01 32 01                    db      0FEh,0FFh, 35h, 01h, 32h, 01h
40E6:127E  06 00 FE FF 45 01                    db       06h, 00h,0FEh,0FFh, 45h, 01h
40E6:1284  32 01 07 00 FE FF                    db       32h, 01h, 07h, 00h,0FEh,0FFh
40E6:128A  35 01 32 01 04 00                    db       35h, 01h, 32h, 01h, 04h, 00h
40E6:1290  FE FF 25 01 32 01                    db      0FEh,0FFh, 25h, 01h, 32h, 01h
40E6:1296  05 00 FE FF 15 01                    db       05h, 00h,0FEh,0FFh, 15h, 01h
40E6:129C  32 01 04 00 FE FF                    db       32h, 01h, 04h, 00h,0FEh,0FFh
40E6:12A2  05 01 32 01 05 00                    db       05h, 01h, 32h, 01h, 05h, 00h
40E6:12A8  FE FF F5 00 32 01                    db      0FEh,0FFh,0F5h, 00h, 32h, 01h
40E6:12AE  04 00 FE FF E5 00                    db       04h, 00h,0FEh,0FFh,0E5h, 00h
40E6:12B4  32 01 05 00 FE FF                    db       32h, 01h, 05h, 00h,0FEh,0FFh
40E6:12BA  D5 00 32 01 04 00                    db      0D5h, 00h, 32h, 01h, 04h, 00h
40E6:12C0  FE FF C5 00 32 01                    db      0FEh,0FFh,0C5h, 00h, 32h, 01h
40E6:12C6  05 00 FE FF B5 00                    db       05h, 00h,0FEh,0FFh,0B5h, 00h
40E6:12CC  32 01 04 00 FE FF                    db       32h, 01h, 04h, 00h,0FEh,0FFh
40E6:12D2  A5 00 32 01 05 00                    db      0A5h, 00h, 32h, 01h, 05h, 00h
40E6:12D8  F8 FF 05 00 2A 00                    db      0F8h,0FFh, 05h, 00h, 2Ah, 00h
40E6:12DE  FE FF 95 00 32 01                    db      0FEh,0FFh, 95h, 00h, 32h, 01h
40E6:12E4  02 00 FC FF 04 00                    db       02h, 00h,0FCh,0FFh, 04h, 00h
40E6:12EA  FD FF F0 FF 00 00                    db      0FDh,0FFh,0F0h,0FFh, 00h, 00h
40E6:12F0  05 00 FD FF F0 FF                    db       05h, 00h,0FDh,0FFh,0F0h,0FFh
40E6:12F6  00 00 04 00 FD FF                    db       00h, 00h, 04h, 00h,0FDh,0FFh
40E6:12FC  F0 FF 00 00 05 00                    db      0F0h,0FFh, 00h, 00h, 05h, 00h
40E6:1302  FD FF F0 FF 00 00                    db      0FDh,0FFh,0F0h,0FFh, 00h, 00h
40E6:1308  04 00 FD FF F0 FF                    db       04h, 00h,0FDh,0FFh,0F0h,0FFh
40E6:130E  00 00 05 00 FD FF                    db       00h, 00h, 05h, 00h,0FDh,0FFh
40E6:1314  F0 FF 00 00 04 00                    db      0F0h,0FFh, 00h, 00h, 04h, 00h
40E6:131A  FD FF F0 FF 00 00                    db      0FDh,0FFh,0F0h,0FFh, 00h, 00h
40E6:1320  05 00 FD FF F0 FF                    db       05h, 00h,0FDh,0FFh,0F0h,0FFh
40E6:1326  00 00 04 00 FD FF                    db       00h, 00h, 04h, 00h,0FDh,0FFh
40E6:132C  F0 FF 00 00 05 00                    db      0F0h,0FFh, 00h, 00h, 05h, 00h
40E6:1332  FD FF F0 FF 00 00                    db      0FDh,0FFh,0F0h,0FFh, 00h, 00h
40E6:1338  04 00 08 00 FF FF                    db       04h, 00h, 08h, 00h,0FFh,0FFh
40E6:133E  96 00 06 00 FD FF                    db       96h, 00h, 06h, 00h,0FDh,0FFh
40E6:1344  10 00 00 00 07 00                    db       10h, 00h, 00h, 00h, 07h, 00h
40E6:134A  FD FF 10 00 00 00                    db      0FDh,0FFh, 10h, 00h, 00h, 00h
40E6:1350  06 00 FD FF 10 00                    db       06h, 00h,0FDh,0FFh, 10h, 00h
40E6:1356  00 00 07 00 FD FF                    db       00h, 00h, 07h, 00h,0FDh,0FFh
40E6:135C  10 00 00 00 06 00                    db       10h, 00h, 00h, 00h, 06h, 00h
40E6:1362  FD FF 10 00 00 00                    db      0FDh,0FFh, 10h, 00h, 00h, 00h
40E6:1368  07 00 FD FF 10 00                    db       07h, 00h,0FDh,0FFh, 10h, 00h
40E6:136E  00 00 06 00 FD FF                    db       00h, 00h, 06h, 00h,0FDh,0FFh
40E6:1374  10 00 00 00 07 00                    db       10h, 00h, 00h, 00h, 07h, 00h
40E6:137A  FD FF 10 00 00 00                    db      0FDh,0FFh, 10h, 00h, 00h, 00h
40E6:1380  06 00 FD FF 10 00                    db       06h, 00h,0FDh,0FFh, 10h, 00h
40E6:1386  00 00 07 00 FD FF                    db       00h, 00h, 07h, 00h,0FDh,0FFh
40E6:138C  10 00 00 00 06 00                    db       10h, 00h, 00h, 00h, 06h, 00h
40E6:1392  FD FF 10 00 00 00                    db      0FDh,0FFh, 10h, 00h, 00h, 00h
40E6:1398  07 00 FD FF 10 00                    db       07h, 00h,0FDh,0FFh, 10h, 00h
40E6:139E  00 00 06 00 FD FF                    db       00h, 00h, 06h, 00h,0FDh,0FFh
40E6:13A4  10 00 00 00 07 00                    db       10h, 00h, 00h, 00h, 07h, 00h
40E6:13AA  FD FF 10 00 00 00                    db      0FDh,0FFh, 10h, 00h, 00h, 00h
40E6:13B0  06 00 08 00 FF FF                    db       06h, 00h, 08h, 00h,0FFh,0FFh
40E6:13B6  4C 00 FE FF 60 01                    db       4Ch, 00h,0FEh,0FFh, 60h, 01h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 582

40E6:13BC  FA 00 F8 FF 05 00                    db      0FAh, 00h,0F8h,0FFh, 05h, 00h
40E6:13C2  2A 00 04 00 FD FF                    db       2Ah, 00h, 04h, 00h,0FDh,0FFh
40E6:13C8  F0 FF 00 00 05 00                    db      0F0h,0FFh, 00h, 00h, 05h, 00h
40E6:13CE  FD FF F0 FF 00 00                    db      0FDh,0FFh,0F0h,0FFh, 00h, 00h
40E6:13D4  04 00 FD FF F0 FF                    db       04h, 00h,0FDh,0FFh,0F0h,0FFh
40E6:13DA  00 00 05 00 FD FF                    db       00h, 00h, 05h, 00h,0FDh,0FFh
40E6:13E0  F0 FF 00 00 04 00                    db      0F0h,0FFh, 00h, 00h, 04h, 00h
40E6:13E6  FD FF F0 FF 00 00                    db      0FDh,0FFh,0F0h,0FFh, 00h, 00h
40E6:13EC  05 00 FD FF F0 FF                    db       05h, 00h,0FDh,0FFh,0F0h,0FFh
40E6:13F2  00 00 04 00 FD FF                    db       00h, 00h, 04h, 00h,0FDh,0FFh
40E6:13F8  F0 FF 00 00 05 00                    db      0F0h,0FFh, 00h, 00h, 05h, 00h
40E6:13FE  FD FF F0 FF 00 00                    db      0FDh,0FFh,0F0h,0FFh, 00h, 00h
40E6:1404  04 00 FD FF F0 FF                    db       04h, 00h,0FDh,0FFh,0F0h,0FFh
40E6:140A  00 00 05 00 FD FF                    db       00h, 00h, 05h, 00h,0FDh,0FFh
40E6:1410  F0 FF 00 00 04 00                    db      0F0h,0FFh, 00h, 00h, 04h, 00h
40E6:1416  FD FF F0 FF 00 00                    db      0FDh,0FFh,0F0h,0FFh, 00h, 00h
40E6:141C  05 00 FD FF F0 FF                    db       05h, 00h,0FDh,0FFh,0F0h,0FFh
40E6:1422  00 00 FC FF 06 00                    db       00h, 00h,0FCh,0FFh, 06h, 00h
40E6:1428  F8 FF 05 00 2B 00                    db      0F8h,0FFh, 05h, 00h, 2Bh, 00h
40E6:142E  FD FF 10 00 00 00                    db      0FDh,0FFh, 10h, 00h, 00h, 00h
40E6:1434  07 00 FD FF 10 00                    db       07h, 00h,0FDh,0FFh, 10h, 00h
40E6:143A  00 00 06 00 FD FF                    db       00h, 00h, 06h, 00h,0FDh,0FFh
40E6:1440  10 00 00 00 07 00                    db       10h, 00h, 00h, 00h, 07h, 00h
40E6:1446  FD FF 10 00 00 00                    db      0FDh,0FFh, 10h, 00h, 00h, 00h
40E6:144C  06 00 FD FF 00 00                    db       06h, 00h,0FDh,0FFh, 00h, 00h
40E6:1452  F8 FF FD FF 10 00                    db      0F8h,0FFh,0FDh,0FFh, 10h, 00h
40E6:1458  00 00 07 00 FD FF                    db       00h, 00h, 07h, 00h,0FDh,0FFh
40E6:145E  10 00 00 00 06 00                    db       10h, 00h, 00h, 00h, 06h, 00h
40E6:1464  FD FF 00 00 F8 FF                    db      0FDh,0FFh, 00h, 00h,0F8h,0FFh
40E6:146A  FD FF 00 00 F8 FF                    db      0FDh,0FFh, 00h, 00h,0F8h,0FFh
40E6:1470  00 00 FD FF 00 00                    db       00h, 00h,0FDh,0FFh, 00h, 00h
40E6:1476  F8 FF 01 00 FC FF                    db      0F8h,0FFh, 01h, 00h,0FCh,0FFh
40E6:147C  06 00 FD FF 10 00                    db       06h, 00h,0FDh,0FFh, 10h, 00h
40E6:1482  00 00 07 00 FD FF                    db       00h, 00h, 07h, 00h,0FDh,0FFh
40E6:1488  10 00 00 00 06 00                    db       10h, 00h, 00h, 00h, 06h, 00h
40E6:148E  FD FF 10 00 00 00                    db      0FDh,0FFh, 10h, 00h, 00h, 00h
40E6:1494  07 00 FD FF 10 00                    db       07h, 00h,0FDh,0FFh, 10h, 00h
40E6:149A  00 00 06 00 FD FF                    db       00h, 00h, 06h, 00h,0FDh,0FFh
40E6:14A0  10 00 00 00 07 00                    db       10h, 00h, 00h, 00h, 07h, 00h
40E6:14A6  FD FF 10 00 00 00                    db      0FDh,0FFh, 10h, 00h, 00h, 00h
40E6:14AC  06 00 FD FF 10 00                    db       06h, 00h,0FDh,0FFh, 10h, 00h
40E6:14B2  00 00 07 00 FD FF                    db       00h, 00h, 07h, 00h,0FDh,0FFh
40E6:14B8  10 00 00 00 06 00                    db       10h, 00h, 00h, 00h, 06h, 00h
40E6:14BE  FD FF 10 00 00 00                    db      0FDh,0FFh, 10h, 00h, 00h, 00h
40E6:14C4  07 00 FD FF 10 00                    db       07h, 00h,0FDh,0FFh, 10h, 00h
40E6:14CA  00 00 06 00 FD FF                    db       00h, 00h, 06h, 00h,0FDh,0FFh
40E6:14D0  10 00 00 00 07 00                    db       10h, 00h, 00h, 00h, 07h, 00h
40E6:14D6  FD FF 10 00 00 00                    db      0FDh,0FFh, 10h, 00h, 00h, 00h
40E6:14DC  06 00 FD FF 10 00                    db       06h, 00h,0FDh,0FFh, 10h, 00h
40E6:14E2  00 00 07 00 FD FF                    db       00h, 00h, 07h, 00h,0FDh,0FFh
40E6:14E8  10 00 00 00 06 00                    db       10h, 00h, 00h, 00h, 06h, 00h
40E6:14EE  FD FF 10 00 00 00                    db      0FDh,0FFh, 10h, 00h, 00h, 00h
40E6:14F4  07 00 FD FF 10 00                    db       07h, 00h,0FDh,0FFh, 10h, 00h
40E6:14FA  00 00 06 00 FD FF                    db       00h, 00h, 06h, 00h,0FDh,0FFh
40E6:1500  00 00 F8 FF 00 00                    db       00h, 00h,0F8h,0FFh, 00h, 00h
40E6:1506  FD FF 00 00 F8 FF                    db      0FDh,0FFh, 00h, 00h,0F8h,0FFh
40E6:150C  01 00 FD FF 10 00                    db       01h, 00h,0FDh,0FFh, 10h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 583

40E6:1512  00 00 07 00 FD FF                    db       00h, 00h, 07h, 00h,0FDh,0FFh
40E6:1518  10 00 00 00 06 00                    db       10h, 00h, 00h, 00h, 06h, 00h
40E6:151E  FC FF 00 00 F8 FF                    db      0FCh,0FFh, 00h, 00h,0F8h,0FFh
40E6:1524  05 00 2C 00 FD FF                    db       05h, 00h, 2Ch, 00h,0FDh,0FFh
40E6:152A  00 00 F8 FF 01 00                    db       00h, 00h,0F8h,0FFh, 01h, 00h
40E6:1530  FD FF 00 00 F8 FF                    db      0FDh,0FFh, 00h, 00h,0F8h,0FFh
40E6:1536  00 00 FD FF 00 00                    db       00h, 00h,0FDh,0FFh, 00h, 00h
40E6:153C  F8 FF 01 00 FD FF                    db      0F8h,0FFh, 01h, 00h,0FDh,0FFh
40E6:1542  00 00 F8 FF 00 00                    db       00h, 00h,0F8h,0FFh, 00h, 00h
40E6:1548  FD FF 10 00 00 00                    db      0FDh,0FFh, 10h, 00h, 00h, 00h
40E6:154E  06 00 FD FF 10 00                    db       06h, 00h,0FDh,0FFh, 10h, 00h
40E6:1554  00 00 07 00 FD FF                    db       00h, 00h, 07h, 00h,0FDh,0FFh
40E6:155A  10 00 00 00 06 00                    db       10h, 00h, 00h, 00h, 06h, 00h
40E6:1560  FD FF 10 00 00 00                    db      0FDh,0FFh, 10h, 00h, 00h, 00h
40E6:1566  07 00 FD FF 10 00                    db       07h, 00h,0FDh,0FFh, 10h, 00h
40E6:156C  00 00 06 00 FD FF                    db       00h, 00h, 06h, 00h,0FDh,0FFh
40E6:1572  10 00 00 00 07 00                    db       10h, 00h, 00h, 00h, 07h, 00h
40E6:1578  FD FF 00 00 F8 FF                    db      0FDh,0FFh, 00h, 00h,0F8h,0FFh
40E6:157E  01 00 FD FF 00 00                    db       01h, 00h,0FDh,0FFh, 00h, 00h
40E6:1584  F8 FF 00 00 FD FF                    db      0F8h,0FFh, 00h, 00h,0FDh,0FFh
40E6:158A  00 00 F8 FF 01 00                    db       00h, 00h,0F8h,0FFh, 01h, 00h
40E6:1590  FD FF 00 00 F8 FF                    db      0FDh,0FFh, 00h, 00h,0F8h,0FFh
40E6:1596  00 00 FD FF 00 00                    db       00h, 00h,0FDh,0FFh, 00h, 00h
40E6:159C  F8 FF 01 00 FD FF                    db      0F8h,0FFh, 01h, 00h,0FDh,0FFh
40E6:15A2  00 00 F8 FF 00 00                    db       00h, 00h,0F8h,0FFh, 00h, 00h
40E6:15A8  FC FF 02 00 02 00                    db      0FCh,0FFh, 02h, 00h, 02h, 00h
40E6:15AE  00 00 00 00 02 00                    db       00h, 00h, 00h, 00h, 02h, 00h
40E6:15B4  02 00 01 00 01 00                    db       02h, 00h, 01h, 00h, 01h, 00h
40E6:15BA  00 00 00 00 01 00                    db       00h, 00h, 00h, 00h, 01h, 00h
40E6:15C0  01 00 02 00 02 00                    db       01h, 00h, 02h, 00h, 02h, 00h
40E6:15C6  00 00 00 00 01 00                    db       00h, 00h, 00h, 00h, 01h, 00h
40E6:15CC  01 00 00 00 00 00                    db       01h, 00h, 00h, 00h, 00h, 00h
40E6:15D2  02 00 02 00 01 00                    db       02h, 00h, 02h, 00h, 01h, 00h
40E6:15D8  01 00 02 00 02 00                    db       01h, 00h, 02h, 00h, 02h, 00h
40E6:15DE  01 00 01 00 FA FF                    db       01h, 00h, 01h, 00h,0FAh,0FFh
40E6:15E4  AA 15 00 00 00 00                    db      0AAh, 15h, 00h, 00h, 00h, 00h
40E6:15EA  01 00 01 00 02 00                    db       01h, 00h, 01h, 00h, 02h, 00h
40E6:15F0  02 00 03 00 03 00                    db       02h, 00h, 03h, 00h, 03h, 00h
40E6:15F6  00 00 00 00 03 00                    db       00h, 00h, 00h, 00h, 03h, 00h
40E6:15FC  03 00 00 00 00 00                    db       03h, 00h, 00h, 00h, 00h, 00h
40E6:1602  03 00 03 00 00 00                    db       03h, 00h, 03h, 00h, 00h, 00h
40E6:1608  00 00 03 00 03 00                    db       00h, 00h, 03h, 00h, 03h, 00h
40E6:160E  00 00 00 00 03 00                    db       00h, 00h, 00h, 00h, 03h, 00h
40E6:1614  03 00 FA FF E6 15                    db       03h, 00h,0FAh,0FFh,0E6h, 15h
40E6:161A  00 00 01 00 02 00                    db       00h, 00h, 01h, 00h, 02h, 00h
40E6:1620  03 00 04 00 05 00                    db       03h, 00h, 04h, 00h, 05h, 00h
40E6:1626  06 00 07 00 08 00                    db       06h, 00h, 07h, 00h, 08h, 00h
40E6:162C  09 00 0A 00 0B 00                    db       09h, 00h, 0Ah, 00h, 0Bh, 00h
40E6:1632  0C 00 0D 00 0E 00                    db       0Ch, 00h, 0Dh, 00h, 0Eh, 00h
40E6:1638  0F 00 10 00 11 00                    db       0Fh, 00h, 10h, 00h, 11h, 00h
40E6:163E  12 00 13 00 FA FF                    db       12h, 00h, 13h, 00h,0FAh,0FFh
40E6:1644  1A 16 FE FF 9E 00                    db       1Ah, 16h,0FEh,0FFh, 9Eh, 00h
40E6:164A  C8 00 01 00 FF FF                    db      0C8h, 00h, 01h, 00h,0FFh,0FFh
40E6:1650  10 00 FD FF 03 00                    db       10h, 00h,0FDh,0FFh, 03h, 00h
40E6:1656  04 00 00 00 FD FF                    db       04h, 00h, 00h, 00h,0FDh,0FFh
40E6:165C  03 00 03 00 01 00                    db       03h, 00h, 03h, 00h, 01h, 00h
40E6:1662  FD FF 05 00 02 00                    db      0FDh,0FFh, 05h, 00h, 02h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 584

40E6:1668  00 00 FD FF 08 00                    db       00h, 00h,0FDh,0FFh, 08h, 00h
40E6:166E  02 00 01 00 FD FF                    db       02h, 00h, 01h, 00h,0FDh,0FFh
40E6:1674  05 00 02 00 00 00                    db       05h, 00h, 02h, 00h, 00h, 00h
40E6:167A  FD FF 06 00 04 00                    db      0FDh,0FFh, 06h, 00h, 04h, 00h
40E6:1680  01 00 FD FF 03 00                    db       01h, 00h,0FDh,0FFh, 03h, 00h
40E6:1686  02 00 00 00 FD FF                    db       02h, 00h, 00h, 00h,0FDh,0FFh
40E6:168C  04 00 03 00 01 00                    db       04h, 00h, 03h, 00h, 01h, 00h
40E6:1692  FD FF 05 00 05 00                    db      0FDh,0FFh, 05h, 00h, 05h, 00h
40E6:1698  00 00 FD FF 05 00                    db       00h, 00h,0FDh,0FFh, 05h, 00h
40E6:169E  03 00 01 00 FD FF                    db       03h, 00h, 01h, 00h,0FDh,0FFh
40E6:16A4  05 00 05 00 00 00                    db       05h, 00h, 05h, 00h, 00h, 00h
40E6:16AA  FD FF 05 00 04 00                    db      0FDh,0FFh, 05h, 00h, 04h, 00h
40E6:16B0  01 00 FD FF 03 00                    db       01h, 00h,0FDh,0FFh, 03h, 00h
40E6:16B6  03 00 00 00 FD FF                    db       03h, 00h, 00h, 00h,0FDh,0FFh
40E6:16BC  04 00 03 00 01 00                    db       04h, 00h, 03h, 00h, 01h, 00h
40E6:16C2  FD FF 03 00 02 00                    db      0FDh,0FFh, 03h, 00h, 02h, 00h
40E6:16C8  00 00 FD FF 03 00                    db       00h, 00h,0FDh,0FFh, 03h, 00h
40E6:16CE  02 00 01 00 FD FF                    db       02h, 00h, 01h, 00h,0FDh,0FFh
40E6:16D4  02 00 03 00 00 00                    db       02h, 00h, 03h, 00h, 00h, 00h
40E6:16DA  FD FF 03 00 03 00                    db      0FDh,0FFh, 03h, 00h, 03h, 00h
40E6:16E0  01 00 FD FF 02 00                    db       01h, 00h,0FDh,0FFh, 02h, 00h
40E6:16E6  02 00 00 00 FD FF                    db       02h, 00h, 00h, 00h,0FDh,0FFh
40E6:16EC  01 00 01 00 01 00                    db       01h, 00h, 01h, 00h, 01h, 00h
40E6:16F2  FD FF 02 00 01 00                    db      0FDh,0FFh, 02h, 00h, 01h, 00h
40E6:16F8  00 00 FD FF 03 00                    db       00h, 00h,0FDh,0FFh, 03h, 00h
40E6:16FE  03 00 01 00 FD FF                    db       03h, 00h, 01h, 00h,0FDh,0FFh
40E6:1704  03 00 03 00 00 00                    db       03h, 00h, 03h, 00h, 00h, 00h
40E6:170A  FD FF 01 00 00 00                    db      0FDh,0FFh, 01h, 00h, 00h, 00h
40E6:1710  01 00 FD FF 01 00                    db       01h, 00h,0FDh,0FFh, 01h, 00h
40E6:1716  00 00 00 00 FD FF                    db       00h, 00h, 00h, 00h,0FDh,0FFh
40E6:171C  02 00 00 00 01 00                    db       02h, 00h, 00h, 00h, 01h, 00h
40E6:1722  FD FF 03 00 00 00                    db      0FDh,0FFh, 03h, 00h, 00h, 00h
40E6:1728  00 00 FD FF 03 00                    db       00h, 00h,0FDh,0FFh, 03h, 00h
40E6:172E  02 00 01 00 FD FF                    db       02h, 00h, 01h, 00h,0FDh,0FFh
40E6:1734  05 00 FE FF 00 00                    db       05h, 00h,0FEh,0FFh, 00h, 00h
40E6:173A  FD FF 09 00 FD FF                    db      0FDh,0FFh, 09h, 00h,0FDh,0FFh
40E6:1740  01 00 FD FF 06 00                    db       01h, 00h,0FDh,0FFh, 06h, 00h
40E6:1746  FC FF 00 00 FD FF                    db      0FCh,0FFh, 00h, 00h,0FDh,0FFh
40E6:174C  05 00 FE FF 01 00                    db       05h, 00h,0FEh,0FFh, 01h, 00h
40E6:1752  FD FF 07 00 FE FF                    db      0FDh,0FFh, 07h, 00h,0FEh,0FFh
40E6:1758  00 00 FD FF 09 00                    db       00h, 00h,0FDh,0FFh, 09h, 00h
40E6:175E  FC FF 01 00 FD FF                    db      0FCh,0FFh, 01h, 00h,0FDh,0FFh
40E6:1764  08 00 FD FF 00 00                    db       08h, 00h,0FDh,0FFh, 00h, 00h
40E6:176A  FD FF 06 00 FE FF                    db      0FDh,0FFh, 06h, 00h,0FEh,0FFh
40E6:1770  01 00 FD FF 05 00                    db       01h, 00h,0FDh,0FFh, 05h, 00h
40E6:1776  FF FF 00 00 FD FF                    db      0FFh,0FFh, 00h, 00h,0FDh,0FFh
40E6:177C  03 00 FE FF 01 00                    db       03h, 00h,0FEh,0FFh, 01h, 00h
40E6:1782  FD FF 04 00 FE FF                    db      0FDh,0FFh, 04h, 00h,0FEh,0FFh
40E6:1788  00 00 FD FF 03 00                    db       00h, 00h,0FDh,0FFh, 03h, 00h
40E6:178E  FE FF 01 00 FD FF                    db      0FEh,0FFh, 01h, 00h,0FDh,0FFh
40E6:1794  02 00 FF FF 00 00                    db       02h, 00h,0FFh,0FFh, 00h, 00h
40E6:179A  FD FF 05 00 FD FF                    db      0FDh,0FFh, 05h, 00h,0FDh,0FFh
40E6:17A0  01 00 FD FF 01 00                    db       01h, 00h,0FDh,0FFh, 01h, 00h
40E6:17A6  00 00 00 00 FD FF                    db       00h, 00h, 00h, 00h,0FDh,0FFh
40E6:17AC  03 00 FF FF 01 00                    db       03h, 00h,0FFh,0FFh, 01h, 00h
40E6:17B2  FD FF 04 00 00 00                    db      0FDh,0FFh, 04h, 00h, 00h, 00h
40E6:17B8  00 00 FD FF 08 00                    db       00h, 00h,0FDh,0FFh, 08h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 585

40E6:17BE  FD FF 01 00 FD FF                    db      0FDh,0FFh, 01h, 00h,0FDh,0FFh
40E6:17C4  04 00 FE FF 00 00                    db       04h, 00h,0FEh,0FFh, 00h, 00h
40E6:17CA  FD FF 06 00 FE FF                    db      0FDh,0FFh, 06h, 00h,0FEh,0FFh
40E6:17D0  01 00 FD FF 07 00                    db       01h, 00h,0FDh,0FFh, 07h, 00h
40E6:17D6  FF FF 00 00 FD FF                    db      0FFh,0FFh, 00h, 00h,0FDh,0FFh
40E6:17DC  08 00 FF FF 01 00                    db       08h, 00h,0FFh,0FFh, 01h, 00h
40E6:17E2  FD FF 0A 00 FF FF                    db      0FDh,0FFh, 0Ah, 00h,0FFh,0FFh
40E6:17E8  00 00 FE FF 64 00                    db       00h, 00h,0FEh,0FFh, 64h, 00h
40E6:17EE  64 00 03 00 FF FF                    db       64h, 00h, 03h, 00h,0FFh,0FFh
40E6:17F4  05 00 FE FF 7E 01                    db       05h, 00h,0FEh,0FFh, 7Eh, 01h
40E6:17FA  F0 00 03 00 FD FF                    db      0F0h, 00h, 03h, 00h,0FDh,0FFh
40E6:1800  00 00 00 00 02 00                    db       00h, 00h, 00h, 00h, 02h, 00h
40E6:1806  FD FF FF FF 06 00                    db      0FDh,0FFh,0FFh,0FFh, 06h, 00h
40E6:180C  03 00 FD FF FF FF                    db       03h, 00h,0FDh,0FFh,0FFh,0FFh
40E6:1812  02 00 02 00 FD FF                    db       02h, 00h, 02h, 00h,0FDh,0FFh
40E6:1818  FC FF 04 00 03 00                    db      0FCh,0FFh, 04h, 00h, 03h, 00h
40E6:181E  FD FF FC FF 04 00                    db      0FDh,0FFh,0FCh,0FFh, 04h, 00h
40E6:1824  02 00 FD FF FA FF                    db       02h, 00h,0FDh,0FFh,0FAh,0FFh
40E6:182A  04 00 03 00 FD FF                    db       04h, 00h, 03h, 00h,0FDh,0FFh
40E6:1830  FB FF 04 00 02 00                    db      0FBh,0FFh, 04h, 00h, 02h, 00h
40E6:1836  FD FF FA FF 03 00                    db      0FDh,0FFh,0FAh,0FFh, 03h, 00h
40E6:183C  03 00 FD FF FC FF                    db       03h, 00h,0FDh,0FFh,0FCh,0FFh
40E6:1842  03 00 02 00 FD FF                    db       03h, 00h, 02h, 00h,0FDh,0FFh
40E6:1848  FB FF 02 00 03 00                    db      0FBh,0FFh, 02h, 00h, 03h, 00h
40E6:184E  FD FF FE FF 02 00                    db      0FDh,0FFh,0FEh,0FFh, 02h, 00h
40E6:1854  02 00 FD FF FC FF                    db       02h, 00h,0FDh,0FFh,0FCh,0FFh
40E6:185A  02 00 03 00 FD FF                    db       02h, 00h, 03h, 00h,0FDh,0FFh
40E6:1860  FC FF 02 00 02 00                    db      0FCh,0FFh, 02h, 00h, 02h, 00h
40E6:1866  FD FF FD FF 01 00                    db      0FDh,0FFh,0FDh,0FFh, 01h, 00h
40E6:186C  03 00 FD FF FA FF                    db       03h, 00h,0FDh,0FFh,0FAh,0FFh
40E6:1872  03 00 02 00 FD FF                    db       03h, 00h, 02h, 00h,0FDh,0FFh
40E6:1878  FB FF 01 00 03 00                    db      0FBh,0FFh, 01h, 00h, 03h, 00h
40E6:187E  FD FF FC FF 01 00                    db      0FDh,0FFh,0FCh,0FFh, 01h, 00h
40E6:1884  02 00 FD FF FB FF                    db       02h, 00h,0FDh,0FFh,0FBh,0FFh
40E6:188A  00 00 03 00 FD FF                    db       00h, 00h, 03h, 00h,0FDh,0FFh
40E6:1890  FB FF 00 00 02 00                    db      0FBh,0FFh, 00h, 00h, 02h, 00h
40E6:1896  FD FF F9 FF 00 00                    db      0FDh,0FFh,0F9h,0FFh, 00h, 00h
40E6:189C  03 00 FD FF F8 FF                    db       03h, 00h,0FDh,0FFh,0F8h,0FFh
40E6:18A2  00 00 02 00 FD FF                    db       00h, 00h, 02h, 00h,0FDh,0FFh
40E6:18A8  F9 FF FF FF 03 00                    db      0F9h,0FFh,0FFh,0FFh, 03h, 00h
40E6:18AE  FD FF F8 FF 00 00                    db      0FDh,0FFh,0F8h,0FFh, 00h, 00h
40E6:18B4  02 00 FD FF F8 FF                    db       02h, 00h,0FDh,0FFh,0F8h,0FFh
40E6:18BA  00 00 03 00 FD FF                    db       00h, 00h, 03h, 00h,0FDh,0FFh
40E6:18C0  F8 FF 00 00 02 00                    db      0F8h,0FFh, 00h, 00h, 02h, 00h
40E6:18C6  FD FF F9 FF FF FF                    db      0FDh,0FFh,0F9h,0FFh,0FFh,0FFh
40E6:18CC  03 00 FD FF F7 FF                    db       03h, 00h,0FDh,0FFh,0F7h,0FFh
40E6:18D2  FF FF 02 00 FD FF                    db      0FFh,0FFh, 02h, 00h,0FDh,0FFh
40E6:18D8  FA FF FE FF 03 00                    db      0FAh,0FFh,0FEh,0FFh, 03h, 00h
40E6:18DE  FD FF F9 FF FE FF                    db      0FDh,0FFh,0F9h,0FFh,0FEh,0FFh
40E6:18E4  02 00 FD FF FB FF                    db       02h, 00h,0FDh,0FFh,0FBh,0FFh
40E6:18EA  FE FF 03 00 FD FF                    db      0FEh,0FFh, 03h, 00h,0FDh,0FFh
40E6:18F0  FB FF FE FF 02 00                    db      0FBh,0FFh,0FEh,0FFh, 02h, 00h
40E6:18F6  FD FF FC FF FE FF                    db      0FDh,0FFh,0FCh,0FFh,0FEh,0FFh
40E6:18FC  03 00 FD FF FD FF                    db       03h, 00h,0FDh,0FFh,0FDh,0FFh
40E6:1902  FE FF 02 00 FD FF                    db      0FEh,0FFh, 02h, 00h,0FDh,0FFh
40E6:1908  FD FF FE FF 03 00                    db      0FDh,0FFh,0FEh,0FFh, 03h, 00h
40E6:190E  FD FF FC FF FD FF                    db      0FDh,0FFh,0FCh,0FFh,0FDh,0FFh
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 586

40E6:1914  02 00 FD FF FF FF                    db       02h, 00h,0FDh,0FFh,0FFh,0FFh
40E6:191A  FF FF 03 00 FD FF                    db      0FFh,0FFh, 03h, 00h,0FDh,0FFh
40E6:1920  FE FF FE FF 02 00                    db      0FEh,0FFh,0FEh,0FFh, 02h, 00h
40E6:1926  FD FF FE FF FD FF                    db      0FDh,0FFh,0FEh,0FFh,0FDh,0FFh
40E6:192C  03 00 FD FF FD FF                    db       03h, 00h,0FDh,0FFh,0FDh,0FFh
40E6:1932  FD FF 02 00 FD FF                    db      0FDh,0FFh, 02h, 00h,0FDh,0FFh
40E6:1938  FD FF FC FF 03 00                    db      0FDh,0FFh,0FCh,0FFh, 03h, 00h
40E6:193E  FD FF FE FF FC FF                    db      0FDh,0FFh,0FEh,0FFh,0FCh,0FFh
40E6:1944  02 00 FD FF FE FF                    db       02h, 00h,0FDh,0FFh,0FEh,0FFh
40E6:194A  FC FF 03 00 FD FF                    db      0FCh,0FFh, 03h, 00h,0FDh,0FFh
40E6:1950  FD FF FB FF 02 00                    db      0FDh,0FFh,0FBh,0FFh, 02h, 00h
40E6:1956  FD FF FE FF FB FF                    db      0FDh,0FFh,0FEh,0FFh,0FBh,0FFh
40E6:195C  03 00 FD FF FB FF                    db       03h, 00h,0FDh,0FFh,0FBh,0FFh
40E6:1962  F9 FF 02 00 FD FF                    db      0F9h,0FFh, 02h, 00h,0FDh,0FFh
40E6:1968  FD FF FB FF 03 00                    db      0FDh,0FFh,0FBh,0FFh, 03h, 00h
40E6:196E  FD FF FC FF FA FF                    db      0FDh,0FFh,0FCh,0FFh,0FAh,0FFh
40E6:1974  02 00 FD FF FE FF                    db       02h, 00h,0FDh,0FFh,0FEh,0FFh
40E6:197A  FC FF 03 00 FD FF                    db      0FCh,0FFh, 03h, 00h,0FDh,0FFh
40E6:1980  FD FF E0 FF 02 00                    db      0FDh,0FFh,0E0h,0FFh, 02h, 00h
40E6:1986  FA FF 46 16 FE FF                    db      0FAh,0FFh, 46h, 16h,0FEh,0FFh
40E6:198C  A7 00 C5 00 02 00                    db      0A7h, 00h,0C5h, 00h, 02h, 00h
40E6:1992  FD FF 02 00 02 00                    db      0FDh,0FFh, 02h, 00h, 02h, 00h
40E6:1998  01 00 FD FF 09 00                    db       01h, 00h,0FDh,0FFh, 09h, 00h
40E6:199E  02 00 00 00 FD FF                    db       02h, 00h, 00h, 00h,0FDh,0FFh
40E6:19A4  03 00 01 00 01 00                    db       03h, 00h, 01h, 00h, 01h, 00h
40E6:19AA  FD FF 02 00 02 00                    db      0FDh,0FFh, 02h, 00h, 02h, 00h
40E6:19B0  00 00 FD FF 05 00                    db       00h, 00h,0FDh,0FFh, 05h, 00h
40E6:19B6  02 00 01 00 FD FF                    db       02h, 00h, 01h, 00h,0FDh,0FFh
40E6:19BC  07 00 02 00 00 00                    db       07h, 00h, 02h, 00h, 00h, 00h
40E6:19C2  FD FF 04 00 00 00                    db      0FDh,0FFh, 04h, 00h, 00h, 00h
40E6:19C8  01 00 FD FF 03 00                    db       01h, 00h,0FDh,0FFh, 03h, 00h
40E6:19CE  01 00 00 00 FD FF                    db       01h, 00h, 00h, 00h,0FDh,0FFh
40E6:19D4  03 00 00 00 01 00                    db       03h, 00h, 00h, 00h, 01h, 00h
40E6:19DA  FD FF 01 00 00 00                    db      0FDh,0FFh, 01h, 00h, 00h, 00h
40E6:19E0  00 00 FD FF 02 00                    db       00h, 00h,0FDh,0FFh, 02h, 00h
40E6:19E6  00 00 01 00 FD FF                    db       00h, 00h, 01h, 00h,0FDh,0FFh
40E6:19EC  02 00 00 00 00 00                    db       02h, 00h, 00h, 00h, 00h, 00h
40E6:19F2  FD FF 02 00 00 00                    db      0FDh,0FFh, 02h, 00h, 00h, 00h
40E6:19F8  01 00 FD FF 02 00                    db       01h, 00h,0FDh,0FFh, 02h, 00h
40E6:19FE  00 00 00 00 FD FF                    db       00h, 00h, 00h, 00h,0FDh,0FFh
40E6:1A04  02 00 02 00 01 00                    db       02h, 00h, 02h, 00h, 01h, 00h
40E6:1A0A  FD FF 03 00 02 00                    db      0FDh,0FFh, 03h, 00h, 02h, 00h
40E6:1A10  00 00 FD FF 03 00                    db       00h, 00h,0FDh,0FFh, 03h, 00h
40E6:1A16  02 00 01 00 FD FF                    db       02h, 00h, 01h, 00h,0FDh,0FFh
40E6:1A1C  02 00 01 00 00 00                    db       02h, 00h, 01h, 00h, 00h, 00h
40E6:1A22  FD FF 01 00 01 00                    db      0FDh,0FFh, 01h, 00h, 01h, 00h
40E6:1A28  01 00 FD FF 02 00                    db       01h, 00h,0FDh,0FFh, 02h, 00h
40E6:1A2E  02 00 00 00 FD FF                    db       02h, 00h, 00h, 00h,0FDh,0FFh
40E6:1A34  02 00 02 00 01 00                    db       02h, 00h, 02h, 00h, 01h, 00h
40E6:1A3A  FD FF 02 00 02 00                    db      0FDh,0FFh, 02h, 00h, 02h, 00h
40E6:1A40  00 00 FD FF 04 00                    db       00h, 00h,0FDh,0FFh, 04h, 00h
40E6:1A46  02 00 01 00 FD FF                    db       02h, 00h, 01h, 00h,0FDh,0FFh
40E6:1A4C  02 00 01 00 00 00                    db       02h, 00h, 01h, 00h, 00h, 00h
40E6:1A52  FD FF 05 00 03 00                    db      0FDh,0FFh, 05h, 00h, 03h, 00h
40E6:1A58  01 00 FD FF 07 00                    db       01h, 00h,0FDh,0FFh, 07h, 00h
40E6:1A5E  02 00 00 00 FD FF                    db       02h, 00h, 00h, 00h,0FDh,0FFh
40E6:1A64  04 00 01 00 01 00                    db       04h, 00h, 01h, 00h, 01h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 587

40E6:1A6A  FD FF 03 00 01 00                    db      0FDh,0FFh, 03h, 00h, 01h, 00h
40E6:1A70  00 00 FD FF 04 00                    db       00h, 00h,0FDh,0FFh, 04h, 00h
40E6:1A76  00 00 01 00 FD FF                    db       00h, 00h, 01h, 00h,0FDh,0FFh
40E6:1A7C  06 00 01 00 00 00                    db       06h, 00h, 01h, 00h, 00h, 00h
40E6:1A82  FD FF 06 00 00 00                    db      0FDh,0FFh, 06h, 00h, 00h, 00h
40E6:1A88  01 00 FD FF 04 00                    db       01h, 00h,0FDh,0FFh, 04h, 00h
40E6:1A8E  00 00 00 00 FD FF                    db       00h, 00h, 00h, 00h,0FDh,0FFh
40E6:1A94  04 00 00 00 01 00                    db       04h, 00h, 00h, 00h, 01h, 00h
40E6:1A9A  FD FF 06 00 FF FF                    db      0FDh,0FFh, 06h, 00h,0FFh,0FFh
40E6:1AA0  00 00 FD FF 05 00                    db       00h, 00h,0FDh,0FFh, 05h, 00h
40E6:1AA6  00 00 01 00 FD FF                    db       00h, 00h, 01h, 00h,0FDh,0FFh
40E6:1AAC  09 00 FE FF 00 00                    db       09h, 00h,0FEh,0FFh, 00h, 00h
40E6:1AB2  FD FF 04 00 00 00                    db      0FDh,0FFh, 04h, 00h, 00h, 00h
40E6:1AB8  01 00 FD FF 07 00                    db       01h, 00h,0FDh,0FFh, 07h, 00h
40E6:1ABE  FF FF 00 00 FD FF                    db      0FFh,0FFh, 00h, 00h,0FDh,0FFh
40E6:1AC4  04 00 FF FF 01 00                    db       04h, 00h,0FFh,0FFh, 01h, 00h
40E6:1ACA  FD FF 05 00 FF FF                    db      0FDh,0FFh, 05h, 00h,0FFh,0FFh
40E6:1AD0  00 00 FD FF 04 00                    db       00h, 00h,0FDh,0FFh, 04h, 00h
40E6:1AD6  FE FF 01 00 FD FF                    db      0FEh,0FFh, 01h, 00h,0FDh,0FFh
40E6:1ADC  03 00 FF FF 00 00                    db       03h, 00h,0FFh,0FFh, 00h, 00h
40E6:1AE2  FD FF 03 00 FF FF                    db      0FDh,0FFh, 03h, 00h,0FFh,0FFh
40E6:1AE8  01 00 FD FF 04 00                    db       01h, 00h,0FDh,0FFh, 04h, 00h
40E6:1AEE  FF FF 00 00 FD FF                    db      0FFh,0FFh, 00h, 00h,0FDh,0FFh
40E6:1AF4  04 00 FF FF 01 00                    db       04h, 00h,0FFh,0FFh, 01h, 00h
40E6:1AFA  FD FF 04 00 FE FF                    db      0FDh,0FFh, 04h, 00h,0FEh,0FFh
40E6:1B00  00 00 FD FF 01 00                    db       00h, 00h,0FDh,0FFh, 01h, 00h
40E6:1B06  FF FF 01 00 FD FF                    db      0FFh,0FFh, 01h, 00h,0FDh,0FFh
40E6:1B0C  03 00 FF FF 00 00                    db       03h, 00h,0FFh,0FFh, 00h, 00h
40E6:1B12  FD FF 02 00 FF FF                    db      0FDh,0FFh, 02h, 00h,0FFh,0FFh
40E6:1B18  01 00 FD FF 01 00                    db       01h, 00h,0FDh,0FFh, 01h, 00h
40E6:1B1E  FF FF 00 00 FD FF                    db      0FFh,0FFh, 00h, 00h,0FDh,0FFh
40E6:1B24  01 00 FF FF 01 00                    db       01h, 00h,0FFh,0FFh, 01h, 00h
40E6:1B2A  FD FF 01 00 00 00                    db      0FDh,0FFh, 01h, 00h, 00h, 00h
40E6:1B30  00 00 FD FF 02 00                    db       00h, 00h,0FDh,0FFh, 02h, 00h
40E6:1B36  FE FF 01 00 FD FF                    db      0FEh,0FFh, 01h, 00h,0FDh,0FFh
40E6:1B3C  01 00 FF FF 00 00                    db       01h, 00h,0FFh,0FFh, 00h, 00h
40E6:1B42  FD FF 01 00 FF FF                    db      0FDh,0FFh, 01h, 00h,0FFh,0FFh
40E6:1B48  01 00 FD FF 00 00                    db       01h, 00h,0FDh,0FFh, 00h, 00h
40E6:1B4E  00 00 00 00 FD FF                    db       00h, 00h, 00h, 00h,0FDh,0FFh
40E6:1B54  01 00 FF FF 01 00                    db       01h, 00h,0FFh,0FFh, 01h, 00h
40E6:1B5A  FD FF 00 00 00 00                    db      0FDh,0FFh, 00h, 00h, 00h, 00h
40E6:1B60  00 00 FD FF 01 00                    db       00h, 00h,0FDh,0FFh, 01h, 00h
40E6:1B66  00 00 01 00 FD FF                    db       00h, 00h, 01h, 00h,0FDh,0FFh
40E6:1B6C  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
40E6:1B72  FD FF 01 00 00 00                    db      0FDh,0FFh, 01h, 00h, 00h, 00h
40E6:1B78  01 00 FD FF 00 00                    db       01h, 00h,0FDh,0FFh, 00h, 00h
40E6:1B7E  00 00 00 00 FD FF                    db       00h, 00h, 00h, 00h,0FDh,0FFh
40E6:1B84  00 00 00 00 01 00                    db       00h, 00h, 00h, 00h, 01h, 00h
40E6:1B8A  FD FF 01 00 01 00                    db      0FDh,0FFh, 01h, 00h, 01h, 00h
40E6:1B90  00 00 FD FF 01 00                    db       00h, 00h,0FDh,0FFh, 01h, 00h
40E6:1B96  00 00 01 00 FD FF                    db       00h, 00h, 01h, 00h,0FDh,0FFh
40E6:1B9C  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
40E6:1BA2  FD FF 02 00 01 00                    db      0FDh,0FFh, 02h, 00h, 01h, 00h
40E6:1BA8  01 00 FD FF 03 00                    db       01h, 00h,0FDh,0FFh, 03h, 00h
40E6:1BAE  02 00 00 00 FD FF                    db       02h, 00h, 00h, 00h,0FDh,0FFh
40E6:1BB4  03 00 01 00 01 00                    db       03h, 00h, 01h, 00h, 01h, 00h
40E6:1BBA  FD FF 04 00 04 00                    db      0FDh,0FFh, 04h, 00h, 04h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 588

40E6:1BC0  00 00 FD FF 04 00                    db       00h, 00h,0FDh,0FFh, 04h, 00h
40E6:1BC6  04 00 01 00 FD FF                    db       04h, 00h, 01h, 00h,0FDh,0FFh
40E6:1BCC  02 00 02 00 00 00                    db       02h, 00h, 02h, 00h, 00h, 00h
40E6:1BD2  FD FF 01 00 01 00                    db      0FDh,0FFh, 01h, 00h, 01h, 00h
40E6:1BD8  01 00 FD FF 02 00                    db       01h, 00h,0FDh,0FFh, 02h, 00h
40E6:1BDE  02 00 00 00 FE FF                    db       02h, 00h, 00h, 00h,0FEh,0FFh
40E6:1BE4  64 00 64 00 FF FF                    db       64h, 00h, 64h, 00h,0FFh,0FFh
40E6:1BEA  15 00 FE FF 6F 01                    db       15h, 00h,0FEh,0FFh, 6Fh, 01h
40E6:1BF0  F3 00 02 00 FD FF                    db      0F3h, 00h, 02h, 00h,0FDh,0FFh
40E6:1BF6  FD FF 05 00 03 00                    db      0FDh,0FFh, 05h, 00h, 03h, 00h
40E6:1BFC  FD FF FB FF 06 00                    db      0FDh,0FFh,0FBh,0FFh, 06h, 00h
40E6:1C02  02 00 FD FF FF FF                    db       02h, 00h,0FDh,0FFh,0FFh,0FFh
40E6:1C08  02 00 03 00 FD FF                    db       02h, 00h, 03h, 00h,0FDh,0FFh
40E6:1C0E  FE FF 04 00 02 00                    db      0FEh,0FFh, 04h, 00h, 02h, 00h
40E6:1C14  FD FF FF FF 02 00                    db      0FDh,0FFh,0FFh,0FFh, 02h, 00h
40E6:1C1A  03 00 FD FF FF FF                    db       03h, 00h,0FDh,0FFh,0FFh,0FFh
40E6:1C20  02 00 02 00 FD FF                    db       02h, 00h, 02h, 00h,0FDh,0FFh
40E6:1C26  FF FF 02 00 03 00                    db      0FFh,0FFh, 02h, 00h, 03h, 00h
40E6:1C2C  FD FF FE FF 02 00                    db      0FDh,0FFh,0FEh,0FFh, 02h, 00h
40E6:1C32  02 00 FD FF 00 00                    db       02h, 00h,0FDh,0FFh, 00h, 00h
40E6:1C38  01 00 03 00 FD FF                    db       01h, 00h, 03h, 00h,0FDh,0FFh
40E6:1C3E  FF FF 01 00 02 00                    db      0FFh,0FFh, 01h, 00h, 02h, 00h
40E6:1C44  FD FF FF FF 01 00                    db      0FDh,0FFh,0FFh,0FFh, 01h, 00h
40E6:1C4A  03 00 FD FF FF FF                    db       03h, 00h,0FDh,0FFh,0FFh,0FFh
40E6:1C50  01 00 02 00 FD FF                    db       01h, 00h, 02h, 00h,0FDh,0FFh
40E6:1C56  00 00 01 00 00 00                    db       00h, 00h, 01h, 00h, 00h, 00h
40E6:1C5C  FD FF 00 00 00 00                    db      0FDh,0FFh, 00h, 00h, 00h, 00h
40E6:1C62  01 00 FD FF 00 00                    db       01h, 00h,0FDh,0FFh, 00h, 00h
40E6:1C68  00 00 00 00 FD FF                    db       00h, 00h, 00h, 00h,0FDh,0FFh
40E6:1C6E  00 00 00 00 01 00                    db       00h, 00h, 00h, 00h, 01h, 00h
40E6:1C74  FD FF 00 00 02 00                    db      0FDh,0FFh, 00h, 00h, 02h, 00h
40E6:1C7A  00 00 FD FF 00 00                    db       00h, 00h,0FDh,0FFh, 00h, 00h
40E6:1C80  00 00 01 00 FD FF                    db       00h, 00h, 01h, 00h,0FDh,0FFh
40E6:1C86  00 00 01 00 00 00                    db       00h, 00h, 01h, 00h, 00h, 00h
40E6:1C8C  FD FF 01 00 01 00                    db      0FDh,0FFh, 01h, 00h, 01h, 00h
40E6:1C92  01 00 FD FF 00 00                    db       01h, 00h,0FDh,0FFh, 00h, 00h
40E6:1C98  01 00 00 00 FD FF                    db       01h, 00h, 00h, 00h,0FDh,0FFh
40E6:1C9E  02 00 02 00 01 00                    db       02h, 00h, 02h, 00h, 01h, 00h
40E6:1CA4  FD FF 01 00 01 00                    db      0FDh,0FFh, 01h, 00h, 01h, 00h
40E6:1CAA  00 00 FD FF 01 00                    db       00h, 00h,0FDh,0FFh, 01h, 00h
40E6:1CB0  02 00 01 00 FD FF                    db       02h, 00h, 01h, 00h,0FDh,0FFh
40E6:1CB6  02 00 01 00 00 00                    db       02h, 00h, 01h, 00h, 00h, 00h
40E6:1CBC  FD FF 00 00 01 00                    db      0FDh,0FFh, 00h, 00h, 01h, 00h
40E6:1CC2  01 00 FD FF 02 00                    db       01h, 00h,0FDh,0FFh, 02h, 00h
40E6:1CC8  01 00 00 00 FD FF                    db       01h, 00h, 00h, 00h,0FDh,0FFh
40E6:1CCE  01 00 01 00 01 00                    db       01h, 00h, 01h, 00h, 01h, 00h
40E6:1CD4  FD FF 01 00 00 00                    db      0FDh,0FFh, 01h, 00h, 00h, 00h
40E6:1CDA  00 00 FD FF 01 00                    db       00h, 00h,0FDh,0FFh, 01h, 00h
40E6:1CE0  00 00 01 00 FD FF                    db       00h, 00h, 01h, 00h,0FDh,0FFh
40E6:1CE6  01 00 00 00 00 00                    db       01h, 00h, 00h, 00h, 00h, 00h
40E6:1CEC  FD FF 01 00 FE FF                    db      0FDh,0FFh, 01h, 00h,0FEh,0FFh
40E6:1CF2  01 00 FD FF 00 00                    db       01h, 00h,0FDh,0FFh, 00h, 00h
40E6:1CF8  FE FF 00 00 FD FF                    db      0FEh,0FFh, 00h, 00h,0FDh,0FFh
40E6:1CFE  01 00 FF FF 01 00                    db       01h, 00h,0FFh,0FFh, 01h, 00h
40E6:1D04  FD FF 02 00 01 00                    db      0FDh,0FFh, 02h, 00h, 01h, 00h
40E6:1D0A  00 00 FD FF 00 00                    db       00h, 00h,0FDh,0FFh, 00h, 00h
40E6:1D10  01 00 01 00 FD FF                    db       01h, 00h, 01h, 00h,0FDh,0FFh
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 589

40E6:1D16  00 00 03 00 00 00                    db       00h, 00h, 03h, 00h, 00h, 00h
40E6:1D1C  FD FF 00 00 02 00                    db      0FDh,0FFh, 00h, 00h, 02h, 00h
40E6:1D22  01 00 FD FF 00 00                    db       01h, 00h,0FDh,0FFh, 00h, 00h
40E6:1D28  01 00 00 00 FD FF                    db       01h, 00h, 00h, 00h,0FDh,0FFh
40E6:1D2E  00 00 02 00 01 00                    db       00h, 00h, 02h, 00h, 01h, 00h
40E6:1D34  FD FF 00 00 01 00                    db      0FDh,0FFh, 00h, 00h, 01h, 00h
40E6:1D3A  00 00 FD FF 00 00                    db       00h, 00h,0FDh,0FFh, 00h, 00h
40E6:1D40  00 00 01 00 FD FF                    db       00h, 00h, 01h, 00h,0FDh,0FFh
40E6:1D46  00 00 01 00 00 00                    db       00h, 00h, 01h, 00h, 00h, 00h
40E6:1D4C  FD FF 00 00 01 00                    db      0FDh,0FFh, 00h, 00h, 01h, 00h
40E6:1D52  01 00 FD FF 00 00                    db       01h, 00h,0FDh,0FFh, 00h, 00h
40E6:1D58  00 00 00 00 FD FF                    db       00h, 00h, 00h, 00h,0FDh,0FFh
40E6:1D5E  00 00 01 00 01 00                    db       00h, 00h, 01h, 00h, 01h, 00h
40E6:1D64  FD FF 00 00 00 00                    db      0FDh,0FFh, 00h, 00h, 00h, 00h
40E6:1D6A  00 00 FD FF 00 00                    db       00h, 00h,0FDh,0FFh, 00h, 00h
40E6:1D70  FE FF 01 00 FD FF                    db      0FEh,0FFh, 01h, 00h,0FDh,0FFh
40E6:1D76  00 00 01 00 02 00                    db       00h, 00h, 01h, 00h, 02h, 00h
40E6:1D7C  FD FF 00 00 00 00                    db      0FDh,0FFh, 00h, 00h, 00h, 00h
40E6:1D82  03 00 FD FF 00 00                    db       03h, 00h,0FDh,0FFh, 00h, 00h
40E6:1D88  00 00 02 00 FD FF                    db       00h, 00h, 02h, 00h,0FDh,0FFh
40E6:1D8E  FF FF 00 00 03 00                    db      0FFh,0FFh, 00h, 00h, 03h, 00h
40E6:1D94  FD FF FE FF 01 00                    db      0FDh,0FFh,0FEh,0FFh, 01h, 00h
40E6:1D9A  02 00 FD FF FD FF                    db       02h, 00h,0FDh,0FFh,0FDh,0FFh
40E6:1DA0  FF FF 03 00 FD FF                    db      0FFh,0FFh, 03h, 00h,0FDh,0FFh
40E6:1DA6  FE FF 00 00 02 00                    db      0FEh,0FFh, 00h, 00h, 02h, 00h
40E6:1DAC  FD FF FE FF FE FF                    db      0FDh,0FFh,0FEh,0FFh,0FEh,0FFh
40E6:1DB2  03 00 FD FF FF FF                    db       03h, 00h,0FDh,0FFh,0FFh,0FFh
40E6:1DB8  00 00 02 00 FD FF                    db       00h, 00h, 02h, 00h,0FDh,0FFh
40E6:1DBE  FF FF FE FF 03 00                    db      0FFh,0FFh,0FEh,0FFh, 03h, 00h
40E6:1DC4  FD FF FD FF FE FF                    db      0FDh,0FFh,0FDh,0FFh,0FEh,0FFh
40E6:1DCA  02 00 FD FF FF FF                    db       02h, 00h,0FDh,0FFh,0FFh,0FFh
40E6:1DD0  FE FF 03 00 FD FF                    db      0FEh,0FFh, 03h, 00h,0FDh,0FFh
40E6:1DD6  FE FF FF FF 02 00                    db      0FEh,0FFh,0FFh,0FFh, 02h, 00h
40E6:1DDC  FD FF FF FF FE FF                    db      0FDh,0FFh,0FFh,0FFh,0FEh,0FFh
40E6:1DE2  03 00 FD FF 00 00                    db       03h, 00h,0FDh,0FFh, 00h, 00h
40E6:1DE8  FE FF 02 00 FD FF                    db      0FEh,0FFh, 02h, 00h,0FDh,0FFh
40E6:1DEE  00 00 FE FF 03 00                    db       00h, 00h,0FEh,0FFh, 03h, 00h
40E6:1DF4  FD FF 00 00 FF FF                    db      0FDh,0FFh, 00h, 00h,0FFh,0FFh
40E6:1DFA  02 00 FD FF 01 00                    db       02h, 00h,0FDh,0FFh, 01h, 00h
40E6:1E00  FE FF 03 00 FD FF                    db      0FEh,0FFh, 03h, 00h,0FDh,0FFh
40E6:1E06  01 00 00 00 02 00                    db       01h, 00h, 00h, 00h, 02h, 00h
40E6:1E0C  FD FF 00 00 00 00                    db      0FDh,0FFh, 00h, 00h, 00h, 00h
40E6:1E12  00 00 FD FF 00 00                    db       00h, 00h,0FDh,0FFh, 00h, 00h
40E6:1E18  00 00 01 00 FD FF                    db       00h, 00h, 01h, 00h,0FDh,0FFh
40E6:1E1E  01 00 FF FF 00 00                    db       01h, 00h,0FFh,0FFh, 00h, 00h
40E6:1E24  FD FF 02 00 FF FF                    db      0FDh,0FFh, 02h, 00h,0FFh,0FFh
40E6:1E2A  01 00 FD FF 03 00                    db       01h, 00h,0FDh,0FFh, 03h, 00h
40E6:1E30  FD FF 00 00 FD FF                    db      0FDh,0FFh, 00h, 00h,0FDh,0FFh
40E6:1E36  01 00 FD FF 01 00                    db       01h, 00h,0FDh,0FFh, 01h, 00h
40E6:1E3C  FD FF 03 00 FB FF                    db      0FDh,0FFh, 03h, 00h,0FBh,0FFh
40E6:1E42  00 00 FD FF 02 00                    db       00h, 00h,0FDh,0FFh, 02h, 00h
40E6:1E48  FA FF 01 00 FD FF                    db      0FAh,0FFh, 01h, 00h,0FDh,0FFh
40E6:1E4E  02 00 FB FF 00 00                    db       02h, 00h,0FBh,0FFh, 00h, 00h
40E6:1E54  FD FF 01 00 FD FF                    db      0FDh,0FFh, 01h, 00h,0FDh,0FFh
40E6:1E5A  01 00 FD FF 01 00                    db       01h, 00h,0FDh,0FFh, 01h, 00h
40E6:1E60  FD FF 00 00 FD FF                    db      0FDh,0FFh, 00h, 00h,0FDh,0FFh
40E6:1E66  02 00 FD FF 01 00                    db       02h, 00h,0FDh,0FFh, 01h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 590

40E6:1E6C  FD FF 01 00 FD FF                    db      0FDh,0FFh, 01h, 00h,0FDh,0FFh
40E6:1E72  00 00 FD FF 01 00                    db       00h, 00h,0FDh,0FFh, 01h, 00h
40E6:1E78  FE FF 01 00 FD FF                    db      0FEh,0FFh, 01h, 00h,0FDh,0FFh
40E6:1E7E  01 00 FD FF 00 00                    db       01h, 00h,0FDh,0FFh, 00h, 00h
40E6:1E84  FE FF 64 00 64 00                    db      0FEh,0FFh, 64h, 00h, 64h, 00h
40E6:1E8A  FF FF 0A 00 FA FF                    db      0FFh,0FFh, 0Ah, 00h,0FAh,0FFh
40E6:1E90  8A 19 FE FF A1 00                    db       8Ah, 19h,0FEh,0FFh,0A1h, 00h
40E6:1E96  EE 00 00 00 FD FF                    db      0EEh, 00h, 00h, 00h,0FDh,0FFh
40E6:1E9C  04 00 01 00 01 00                    db       04h, 00h, 01h, 00h, 01h, 00h
40E6:1EA2  FD FF 02 00 FF FF                    db      0FDh,0FFh, 02h, 00h,0FFh,0FFh
40E6:1EA8  00 00 FD FF 01 00                    db       00h, 00h,0FDh,0FFh, 01h, 00h
40E6:1EAE  FE FF 01 00 FD FF                    db      0FEh,0FFh, 01h, 00h,0FDh,0FFh
40E6:1EB4  02 00 FD FF 00 00                    db       02h, 00h,0FDh,0FFh, 00h, 00h
40E6:1EBA  FD FF 03 00 FD FF                    db      0FDh,0FFh, 03h, 00h,0FDh,0FFh
40E6:1EC0  01 00 FD FF 03 00                    db       01h, 00h,0FDh,0FFh, 03h, 00h
40E6:1EC6  FE FF 00 00 FD FF                    db      0FEh,0FFh, 00h, 00h,0FDh,0FFh
40E6:1ECC  03 00 FF FF 01 00                    db       03h, 00h,0FFh,0FFh, 01h, 00h
40E6:1ED2  FD FF 02 00 00 00                    db      0FDh,0FFh, 02h, 00h, 00h, 00h
40E6:1ED8  00 00 FD FF 03 00                    db       00h, 00h,0FDh,0FFh, 03h, 00h
40E6:1EDE  FE FF 01 00 FD FF                    db      0FEh,0FFh, 01h, 00h,0FDh,0FFh
40E6:1EE4  07 00 FF FF 00 00                    db       07h, 00h,0FFh,0FFh, 00h, 00h
40E6:1EEA  FD FF 04 00 00 00                    db      0FDh,0FFh, 04h, 00h, 00h, 00h
40E6:1EF0  01 00 FD FF 04 00                    db       01h, 00h,0FDh,0FFh, 04h, 00h
40E6:1EF6  00 00 00 00 FD FF                    db       00h, 00h, 00h, 00h,0FDh,0FFh
40E6:1EFC  06 00 FF FF 01 00                    db       06h, 00h,0FFh,0FFh, 01h, 00h
40E6:1F02  FD FF 06 00 FC FF                    db      0FDh,0FFh, 06h, 00h,0FCh,0FFh
40E6:1F08  00 00 FD FF 02 00                    db       00h, 00h,0FDh,0FFh, 02h, 00h
40E6:1F0E  FD FF 01 00 FD FF                    db      0FDh,0FFh, 01h, 00h,0FDh,0FFh
40E6:1F14  02 00 FD FF 00 00                    db       02h, 00h,0FDh,0FFh, 00h, 00h
40E6:1F1A  FD FF 03 00 FD FF                    db      0FDh,0FFh, 03h, 00h,0FDh,0FFh
40E6:1F20  01 00 FD FF 03 00                    db       01h, 00h,0FDh,0FFh, 03h, 00h
40E6:1F26  FA FF 00 00 FD FF                    db      0FAh,0FFh, 00h, 00h,0FDh,0FFh
40E6:1F2C  02 00 FC FF 01 00                    db       02h, 00h,0FCh,0FFh, 01h, 00h
40E6:1F32  FD FF 00 00 FD FF                    db      0FDh,0FFh, 00h, 00h,0FDh,0FFh
40E6:1F38  00 00 FD FF 00 00                    db       00h, 00h,0FDh,0FFh, 00h, 00h
40E6:1F3E  00 00 02 00 FD FF                    db       00h, 00h, 02h, 00h,0FDh,0FFh
40E6:1F44  00 00 00 00 03 00                    db       00h, 00h, 00h, 00h, 03h, 00h
40E6:1F4A  FD FF FF FF 02 00                    db      0FDh,0FFh,0FFh,0FFh, 02h, 00h
40E6:1F50  02 00 FD FF FE FF                    db       02h, 00h,0FDh,0FFh,0FEh,0FFh
40E6:1F56  01 00 03 00 FD FF                    db       01h, 00h, 03h, 00h,0FDh,0FFh
40E6:1F5C  FF FF FF FF 02 00                    db      0FFh,0FFh,0FFh,0FFh, 02h, 00h
40E6:1F62  FD FF FE FF FE FF                    db      0FDh,0FFh,0FEh,0FFh,0FEh,0FFh
40E6:1F68  03 00 FD FF FE FF                    db       03h, 00h,0FDh,0FFh,0FEh,0FFh
40E6:1F6E  FE FF 02 00 FD FF                    db      0FEh,0FFh, 02h, 00h,0FDh,0FFh
40E6:1F74  FE FF FE FF 03 00                    db      0FEh,0FFh,0FEh,0FFh, 03h, 00h
40E6:1F7A  FD FF FE FF FE FF                    db      0FDh,0FFh,0FEh,0FFh,0FEh,0FFh
40E6:1F80  02 00 FD FF FF FF                    db       02h, 00h,0FDh,0FFh,0FFh,0FFh
40E6:1F86  FE FF 03 00 FD FF                    db      0FEh,0FFh, 03h, 00h,0FDh,0FFh
40E6:1F8C  00 00 FE FF 02 00                    db       00h, 00h,0FEh,0FFh, 02h, 00h
40E6:1F92  FD FF 01 00 FF FF                    db      0FDh,0FFh, 01h, 00h,0FFh,0FFh
40E6:1F98  03 00 FD FF 01 00                    db       03h, 00h,0FDh,0FFh, 01h, 00h
40E6:1F9E  00 00 02 00 FD FF                    db       00h, 00h, 02h, 00h,0FDh,0FFh
40E6:1FA4  01 00 01 00 03 00                    db       01h, 00h, 01h, 00h, 03h, 00h
40E6:1FAA  FD FF 02 00 03 00                    db      0FDh,0FFh, 02h, 00h, 03h, 00h
40E6:1FB0  02 00 FD FF 03 00                    db       02h, 00h,0FDh,0FFh, 03h, 00h
40E6:1FB6  02 00 03 00 FD FF                    db       02h, 00h, 03h, 00h,0FDh,0FFh
40E6:1FBC  01 00 01 00 02 00                    db       01h, 00h, 01h, 00h, 02h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 591

40E6:1FC2  FD FF 01 00 01 00                    db      0FDh,0FFh, 01h, 00h, 01h, 00h
40E6:1FC8  03 00 FD FF 01 00                    db       03h, 00h,0FDh,0FFh, 01h, 00h
40E6:1FCE  01 00 02 00 FD FF                    db       01h, 00h, 02h, 00h,0FDh,0FFh
40E6:1FD4  01 00 00 00 03 00                    db       01h, 00h, 00h, 00h, 03h, 00h
40E6:1FDA  FD FF 01 00 FF FF                    db      0FDh,0FFh, 01h, 00h,0FFh,0FFh
40E6:1FE0  02 00 FD FF FF FF                    db       02h, 00h,0FDh,0FFh,0FFh,0FFh
40E6:1FE6  FC FF 03 00 FD FF                    db      0FCh,0FFh, 03h, 00h,0FDh,0FFh
40E6:1FEC  FF FF FD FF 02 00                    db      0FFh,0FFh,0FDh,0FFh, 02h, 00h
40E6:1FF2  FD FF 00 00 FE FF                    db      0FDh,0FFh, 00h, 00h,0FEh,0FFh
40E6:1FF8  03 00 FD FF FF FF                    db       03h, 00h,0FDh,0FFh,0FFh,0FFh
40E6:1FFE  FE FF 02 00 FD FF                    db      0FEh,0FFh, 02h, 00h,0FDh,0FFh
40E6:2004  00 00 FE FF 03 00                    db       00h, 00h,0FEh,0FFh, 03h, 00h
40E6:200A  FD FF 00 00 00 00                    db      0FDh,0FFh, 00h, 00h, 00h, 00h
40E6:2010  02 00 FD FF 00 00                    db       02h, 00h,0FDh,0FFh, 00h, 00h
40E6:2016  00 00 03 00 FD FF                    db       00h, 00h, 03h, 00h,0FDh,0FFh
40E6:201C  FF FF 01 00 02 00                    db      0FFh,0FFh, 01h, 00h, 02h, 00h
40E6:2022  FD FF 00 00 01 00                    db      0FDh,0FFh, 00h, 00h, 01h, 00h
40E6:2028  03 00 FD FF 00 00                    db       03h, 00h,0FDh,0FFh, 00h, 00h
40E6:202E  01 00 02 00 FD FF                    db       01h, 00h, 02h, 00h,0FDh,0FFh
40E6:2034  FF FF 01 00 03 00                    db      0FFh,0FFh, 01h, 00h, 03h, 00h
40E6:203A  FD FF FD FF 02 00                    db      0FDh,0FFh,0FDh,0FFh, 02h, 00h
40E6:2040  02 00 FD FF FF FF                    db       02h, 00h,0FDh,0FFh,0FFh,0FFh
40E6:2046  00 00 03 00 FD FF                    db       00h, 00h, 03h, 00h,0FDh,0FFh
40E6:204C  FD FF FF FF 02 00                    db      0FDh,0FFh,0FFh,0FFh, 02h, 00h
40E6:2052  FD FF FD FF FF FF                    db      0FDh,0FFh,0FDh,0FFh,0FFh,0FFh
40E6:2058  03 00 FD FF FF FF                    db       03h, 00h,0FDh,0FFh,0FFh,0FFh
40E6:205E  FF FF 02 00 FD FF                    db      0FFh,0FFh, 02h, 00h,0FDh,0FFh
40E6:2064  FD FF 00 00 03 00                    db      0FDh,0FFh, 00h, 00h, 03h, 00h
40E6:206A  FD FF FE FF 02 00                    db      0FDh,0FFh,0FEh,0FFh, 02h, 00h
40E6:2070  02 00 FD FF FD FF                    db       02h, 00h,0FDh,0FFh,0FDh,0FFh
40E6:2076  02 00 03 00 FD FF                    db       02h, 00h, 03h, 00h,0FDh,0FFh
40E6:207C  FF FF FF FF 02 00                    db      0FFh,0FFh,0FFh,0FFh, 02h, 00h
40E6:2082  FD FF FF FF 01 00                    db      0FDh,0FFh,0FFh,0FFh, 01h, 00h
40E6:2088  03 00 FD FF 00 00                    db       03h, 00h,0FDh,0FFh, 00h, 00h
40E6:208E  00 00 02 00 FD FF                    db       00h, 00h, 02h, 00h,0FDh,0FFh
40E6:2094  02 00 00 00 03 00                    db       02h, 00h, 00h, 00h, 03h, 00h
40E6:209A  FD FF 03 00 FF FF                    db      0FDh,0FFh, 03h, 00h,0FFh,0FFh
40E6:20A0  02 00 FD FF 03 00                    db       02h, 00h,0FDh,0FFh, 03h, 00h
40E6:20A6  FE FF 03 00 FD FF                    db      0FEh,0FFh, 03h, 00h,0FDh,0FFh
40E6:20AC  02 00 FF FF 02 00                    db       02h, 00h,0FFh,0FFh, 02h, 00h
40E6:20B2  FD FF 01 00 FF FF                    db      0FDh,0FFh, 01h, 00h,0FFh,0FFh
40E6:20B8  03 00 FD FF 00 00                    db       03h, 00h,0FDh,0FFh, 00h, 00h
40E6:20BE  00 00 02 00 FD FF                    db       00h, 00h, 02h, 00h,0FDh,0FFh
40E6:20C4  00 00 00 00 03 00                    db       00h, 00h, 00h, 00h, 03h, 00h
40E6:20CA  FD FF 00 00 00 00                    db      0FDh,0FFh, 00h, 00h, 00h, 00h
40E6:20D0  01 00 FD FF 00 00                    db       01h, 00h,0FDh,0FFh, 00h, 00h
40E6:20D6  00 00 00 00 FD FF                    db       00h, 00h, 00h, 00h,0FDh,0FFh
40E6:20DC  01 00 00 00 01 00                    db       01h, 00h, 00h, 00h, 01h, 00h
40E6:20E2  FD FF 01 00 01 00                    db      0FDh,0FFh, 01h, 00h, 01h, 00h
40E6:20E8  00 00 FD FF 00 00                    db       00h, 00h,0FDh,0FFh, 00h, 00h
40E6:20EE  01 00 01 00 FD FF                    db       01h, 00h, 01h, 00h,0FDh,0FFh
40E6:20F4  02 00 01 00 00 00                    db       02h, 00h, 01h, 00h, 00h, 00h
40E6:20FA  FD FF 03 00 02 00                    db      0FDh,0FFh, 03h, 00h, 02h, 00h
40E6:2100  01 00 FD FF 02 00                    db       01h, 00h,0FDh,0FFh, 02h, 00h
40E6:2106  02 00 00 00 FD FF                    db       02h, 00h, 00h, 00h,0FDh,0FFh
40E6:210C  02 00 01 00 01 00                    db       02h, 00h, 01h, 00h, 01h, 00h
40E6:2112  FD FF 02 00 02 00                    db      0FDh,0FFh, 02h, 00h, 02h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 592

40E6:2118  00 00 FD FF 02 00                    db       00h, 00h,0FDh,0FFh, 02h, 00h
40E6:211E  01 00 01 00 FD FF                    db       01h, 00h, 01h, 00h,0FDh,0FFh
40E6:2124  02 00 01 00 00 00                    db       02h, 00h, 01h, 00h, 00h, 00h
40E6:212A  FD FF 02 00 02 00                    db      0FDh,0FFh, 02h, 00h, 02h, 00h
40E6:2130  01 00 FD FF 03 00                    db       01h, 00h,0FDh,0FFh, 03h, 00h
40E6:2136  02 00 00 00 FD FF                    db       02h, 00h, 00h, 00h,0FDh,0FFh
40E6:213C  02 00 02 00 01 00                    db       02h, 00h, 02h, 00h, 01h, 00h
40E6:2142  FD FF 06 00 03 00                    db      0FDh,0FFh, 06h, 00h, 03h, 00h
40E6:2148  00 00 FD FF 06 00                    db       00h, 00h,0FDh,0FFh, 06h, 00h
40E6:214E  04 00 01 00 FD FF                    db       04h, 00h, 01h, 00h,0FDh,0FFh
40E6:2154  04 00 03 00 00 00                    db       04h, 00h, 03h, 00h, 00h, 00h
40E6:215A  FD FF 03 00 01 00                    db      0FDh,0FFh, 03h, 00h, 01h, 00h
40E6:2160  01 00 FD FF 04 00                    db       01h, 00h,0FDh,0FFh, 04h, 00h
40E6:2166  01 00 00 00 FD FF                    db       01h, 00h, 00h, 00h,0FDh,0FFh
40E6:216C  05 00 02 00 01 00                    db       05h, 00h, 02h, 00h, 01h, 00h
40E6:2172  FD FF 04 00 01 00                    db      0FDh,0FFh, 04h, 00h, 01h, 00h
40E6:2178  00 00 FD FF 04 00                    db       00h, 00h,0FDh,0FFh, 04h, 00h
40E6:217E  01 00 01 00 FD FF                    db       01h, 00h, 01h, 00h,0FDh,0FFh
40E6:2184  05 00 01 00 00 00                    db       05h, 00h, 01h, 00h, 00h, 00h
40E6:218A  FD FF 07 00 02 00                    db      0FDh,0FFh, 07h, 00h, 02h, 00h
40E6:2190  01 00 FD FF 05 00                    db       01h, 00h,0FDh,0FFh, 05h, 00h
40E6:2196  01 00 00 00 FD FF                    db       01h, 00h, 00h, 00h,0FDh,0FFh
40E6:219C  04 00 01 00 01 00                    db       04h, 00h, 01h, 00h, 01h, 00h
40E6:21A2  FD FF 08 00 01 00                    db      0FDh,0FFh, 08h, 00h, 01h, 00h
40E6:21A8  00 00 FD FF 09 00                    db       00h, 00h,0FDh,0FFh, 09h, 00h
40E6:21AE  00 00 01 00 FD FF                    db       00h, 00h, 01h, 00h,0FDh,0FFh
40E6:21B4  07 00 00 00 00 00                    db       07h, 00h, 00h, 00h, 00h, 00h
40E6:21BA  FD FF 06 00 00 00                    db      0FDh,0FFh, 06h, 00h, 00h, 00h
40E6:21C0  01 00 FD FF 07 00                    db       01h, 00h,0FDh,0FFh, 07h, 00h
40E6:21C6  01 00 00 00 FD FF                    db       01h, 00h, 00h, 00h,0FDh,0FFh
40E6:21CC  02 00 00 00 01 00                    db       02h, 00h, 00h, 00h, 01h, 00h
40E6:21D2  FD FF 03 00 00 00                    db      0FDh,0FFh, 03h, 00h, 00h, 00h
40E6:21D8  00 00 FD FF 04 00                    db       00h, 00h,0FDh,0FFh, 04h, 00h
40E6:21DE  00 00 01 00 FD FF                    db       00h, 00h, 01h, 00h,0FDh,0FFh
40E6:21E4  02 00 00 00 00 00                    db       02h, 00h, 00h, 00h, 00h, 00h
40E6:21EA  FD FF 01 00 FF FF                    db      0FDh,0FFh, 01h, 00h,0FFh,0FFh
40E6:21F0  01 00 FD FF 00 00                    db       01h, 00h,0FDh,0FFh, 00h, 00h
40E6:21F6  00 00 00 00 FD FF                    db       00h, 00h, 00h, 00h,0FDh,0FFh
40E6:21FC  01 00 FF FF 01 00                    db       01h, 00h,0FFh,0FFh, 01h, 00h
40E6:2202  FD FF 00 00 FF FF                    db      0FDh,0FFh, 00h, 00h,0FFh,0FFh
40E6:2208  00 00 FD FF 00 00                    db       00h, 00h,0FDh,0FFh, 00h, 00h
40E6:220E  FE FF 01 00 FD FF                    db      0FEh,0FFh, 01h, 00h,0FDh,0FFh
40E6:2214  00 00 FE FF 00 00                    db       00h, 00h,0FEh,0FFh, 00h, 00h
40E6:221A  FD FF 00 00 FE FF                    db      0FDh,0FFh, 00h, 00h,0FEh,0FFh
40E6:2220  01 00 FD FF 00 00                    db       01h, 00h,0FDh,0FFh, 00h, 00h
40E6:2226  00 00 00 00 FD FF                    db       00h, 00h, 00h, 00h,0FDh,0FFh
40E6:222C  04 00 01 00 01 00                    db       04h, 00h, 01h, 00h, 01h, 00h
40E6:2232  FD FF 02 00 01 00                    db      0FDh,0FFh, 02h, 00h, 01h, 00h
40E6:2238  00 00 FD FF 00 00                    db       00h, 00h,0FDh,0FFh, 00h, 00h
40E6:223E  01 00 01 00 FD FF                    db       01h, 00h, 01h, 00h,0FDh,0FFh
40E6:2244  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
40E6:224A  FD FF 00 00 00 00                    db      0FDh,0FFh, 00h, 00h, 00h, 00h
40E6:2250  01 00 FD FF 00 00                    db       01h, 00h,0FDh,0FFh, 00h, 00h
40E6:2256  FF FF 00 00 FD FF                    db      0FFh,0FFh, 00h, 00h,0FDh,0FFh
40E6:225C  01 00 FF FF 01 00                    db       01h, 00h,0FFh,0FFh, 01h, 00h
40E6:2262  FD FF 00 00 FF FF                    db      0FDh,0FFh, 00h, 00h,0FFh,0FFh
40E6:2268  00 00 FD FF 01 00                    db       00h, 00h,0FDh,0FFh, 01h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 593

40E6:226E  00 00 01 00 FD FF                    db       00h, 00h, 01h, 00h,0FDh,0FFh
40E6:2274  02 00 FF FF 00 00                    db       02h, 00h,0FFh,0FFh, 00h, 00h
40E6:227A  FD FF 05 00 01 00                    db      0FDh,0FFh, 05h, 00h, 01h, 00h
40E6:2280  01 00 FD FF 04 00                    db       01h, 00h,0FDh,0FFh, 04h, 00h
40E6:2286  00 00 00 00 FD FF                    db       00h, 00h, 00h, 00h,0FDh,0FFh
40E6:228C  08 00 01 00 01 00                    db       08h, 00h, 01h, 00h, 01h, 00h
40E6:2292  FD FF 09 00 00 00                    db      0FDh,0FFh, 09h, 00h, 00h, 00h
40E6:2298  00 00 FE FF 64 00                    db       00h, 00h,0FEh,0FFh, 64h, 00h
40E6:229E  64 00 00 00 FF FF                    db       64h, 00h, 00h, 00h,0FFh,0FFh
40E6:22A4  16 00 FE FF 8F 01                    db       16h, 00h,0FEh,0FFh, 8Fh, 01h
40E6:22AA  0C 01 02 00 FD FF                    db       0Ch, 01h, 02h, 00h,0FDh,0FFh
40E6:22B0  FF FF FA FF 03 00                    db      0FFh,0FFh,0FAh,0FFh, 03h, 00h
40E6:22B6  FD FF 00 00 FF FF                    db      0FDh,0FFh, 00h, 00h,0FFh,0FFh
40E6:22BC  02 00 FD FF 00 00                    db       02h, 00h,0FDh,0FFh, 00h, 00h
40E6:22C2  FF FF 03 00 FD FF                    db      0FFh,0FFh, 03h, 00h,0FDh,0FFh
40E6:22C8  FE FF 00 00 02 00                    db      0FEh,0FFh, 00h, 00h, 02h, 00h
40E6:22CE  FD FF FE FF 00 00                    db      0FDh,0FFh,0FEh,0FFh, 00h, 00h
40E6:22D4  03 00 FD FF FD FF                    db       03h, 00h,0FDh,0FFh,0FDh,0FFh
40E6:22DA  00 00 02 00 FD FF                    db       00h, 00h, 02h, 00h,0FDh,0FFh
40E6:22E0  FC FF FE FF 03 00                    db      0FCh,0FFh,0FEh,0FFh, 03h, 00h
40E6:22E6  FD FF FD FF FF FF                    db      0FDh,0FFh,0FDh,0FFh,0FFh,0FFh
40E6:22EC  02 00 FD FF FD FF                    db       02h, 00h,0FDh,0FFh,0FDh,0FFh
40E6:22F2  00 00 03 00 FD FF                    db       00h, 00h, 03h, 00h,0FDh,0FFh
40E6:22F8  FD FF FF FF 02 00                    db      0FDh,0FFh,0FFh,0FFh, 02h, 00h
40E6:22FE  FD FF FC FF FE FF                    db      0FDh,0FFh,0FCh,0FFh,0FEh,0FFh
40E6:2304  03 00 FD FF FB FF                    db       03h, 00h,0FDh,0FFh,0FBh,0FFh
40E6:230A  FE FF 02 00 FD FF                    db      0FEh,0FFh, 02h, 00h,0FDh,0FFh
40E6:2310  FC FF FF FF 03 00                    db      0FCh,0FFh,0FFh,0FFh, 03h, 00h
40E6:2316  FD FF FB FF FE FF                    db      0FDh,0FFh,0FBh,0FFh,0FEh,0FFh
40E6:231C  02 00 FD FF FE FF                    db       02h, 00h,0FDh,0FFh,0FEh,0FFh
40E6:2322  FE FF 03 00 FD FF                    db      0FEh,0FFh, 03h, 00h,0FDh,0FFh
40E6:2328  00 00 00 00 02 00                    db       00h, 00h, 00h, 00h, 02h, 00h
40E6:232E  FD FF 00 00 00 00                    db      0FDh,0FFh, 00h, 00h, 00h, 00h
40E6:2334  00 00 FD FF 00 00                    db       00h, 00h,0FDh,0FFh, 00h, 00h
40E6:233A  00 00 01 00 FD FF                    db       00h, 00h, 01h, 00h,0FDh,0FFh
40E6:2340  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
40E6:2346  FD FF 00 00 00 00                    db      0FDh,0FFh, 00h, 00h, 00h, 00h
40E6:234C  01 00 FD FF 01 00                    db       01h, 00h,0FDh,0FFh, 01h, 00h
40E6:2352  01 00 00 00 FD FF                    db       01h, 00h, 00h, 00h,0FDh,0FFh
40E6:2358  01 00 01 00 01 00                    db       01h, 00h, 01h, 00h, 01h, 00h
40E6:235E  FD FF 02 00 02 00                    db      0FDh,0FFh, 02h, 00h, 02h, 00h
40E6:2364  00 00 FD FF 01 00                    db       00h, 00h,0FDh,0FFh, 01h, 00h
40E6:236A  02 00 01 00 FD FF                    db       02h, 00h, 01h, 00h,0FDh,0FFh
40E6:2370  01 00 01 00 00 00                    db       01h, 00h, 01h, 00h, 00h, 00h
40E6:2376  FD FF 02 00 03 00                    db      0FDh,0FFh, 02h, 00h, 03h, 00h
40E6:237C  01 00 FD FF 01 00                    db       01h, 00h,0FDh,0FFh, 01h, 00h
40E6:2382  01 00 00 00 FD FF                    db       01h, 00h, 00h, 00h,0FDh,0FFh
40E6:2388  01 00 01 00 01 00                    db       01h, 00h, 01h, 00h, 01h, 00h
40E6:238E  FD FF 03 00 03 00                    db      0FDh,0FFh, 03h, 00h, 03h, 00h
40E6:2394  00 00 FD FF 02 00                    db       00h, 00h,0FDh,0FFh, 02h, 00h
40E6:239A  01 00 01 00 FD FF                    db       01h, 00h, 01h, 00h,0FDh,0FFh
40E6:23A0  02 00 01 00 00 00                    db       02h, 00h, 01h, 00h, 00h, 00h
40E6:23A6  FD FF 01 00 00 00                    db      0FDh,0FFh, 01h, 00h, 00h, 00h
40E6:23AC  01 00 FD FF 00 00                    db       01h, 00h,0FDh,0FFh, 00h, 00h
40E6:23B2  00 00 00 00 FD FF                    db       00h, 00h, 00h, 00h,0FDh,0FFh
40E6:23B8  00 00 00 00 01 00                    db       00h, 00h, 00h, 00h, 01h, 00h
40E6:23BE  FD FF 00 00 00 00                    db      0FDh,0FFh, 00h, 00h, 00h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 594

40E6:23C4  00 00 FD FF 00 00                    db       00h, 00h,0FDh,0FFh, 00h, 00h
40E6:23CA  FF FF 01 00 FD FF                    db      0FFh,0FFh, 01h, 00h,0FDh,0FFh
40E6:23D0  00 00 FF FF 00 00                    db       00h, 00h,0FFh,0FFh, 00h, 00h
40E6:23D6  FD FF 00 00 00 00                    db      0FDh,0FFh, 00h, 00h, 00h, 00h
40E6:23DC  01 00 FD FF 00 00                    db       01h, 00h,0FDh,0FFh, 00h, 00h
40E6:23E2  FE FF 00 00 FD FF                    db      0FEh,0FFh, 00h, 00h,0FDh,0FFh
40E6:23E8  00 00 00 00 01 00                    db       00h, 00h, 00h, 00h, 01h, 00h
40E6:23EE  FD FF 00 00 FF FF                    db      0FDh,0FFh, 00h, 00h,0FFh,0FFh
40E6:23F4  00 00 FD FF 00 00                    db       00h, 00h,0FDh,0FFh, 00h, 00h
40E6:23FA  00 00 01 00 FD FF                    db       00h, 00h, 01h, 00h,0FDh,0FFh
40E6:2400  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
40E6:2406  FD FF 00 00 01 00                    db      0FDh,0FFh, 00h, 00h, 01h, 00h
40E6:240C  01 00 FD FF 00 00                    db       01h, 00h,0FDh,0FFh, 00h, 00h
40E6:2412  00 00 00 00 FD FF                    db       00h, 00h, 00h, 00h,0FDh,0FFh
40E6:2418  00 00 00 00 01 00                    db       00h, 00h, 00h, 00h, 01h, 00h
40E6:241E  FD FF 00 00 00 00                    db      0FDh,0FFh, 00h, 00h, 00h, 00h
40E6:2424  02 00 FD FF 00 00                    db       02h, 00h,0FDh,0FFh, 00h, 00h
40E6:242A  00 00 03 00 FD FF                    db       00h, 00h, 03h, 00h,0FDh,0FFh
40E6:2430  00 00 00 00 02 00                    db       00h, 00h, 00h, 00h, 02h, 00h
40E6:2436  FD FF 00 00 00 00                    db      0FDh,0FFh, 00h, 00h, 00h, 00h
40E6:243C  03 00 FD FF 00 00                    db       03h, 00h,0FDh,0FFh, 00h, 00h
40E6:2442  01 00 02 00 FD FF                    db       01h, 00h, 02h, 00h,0FDh,0FFh
40E6:2448  FF FF 00 00 03 00                    db      0FFh,0FFh, 00h, 00h, 03h, 00h
40E6:244E  FD FF FF FF 00 00                    db      0FDh,0FFh,0FFh,0FFh, 00h, 00h
40E6:2454  02 00 FD FF 00 00                    db       02h, 00h,0FDh,0FFh, 00h, 00h
40E6:245A  01 00 03 00 FD FF                    db       01h, 00h, 03h, 00h,0FDh,0FFh
40E6:2460  FF FF 00 00 02 00                    db      0FFh,0FFh, 00h, 00h, 02h, 00h
40E6:2466  FD FF FE FF 00 00                    db      0FDh,0FFh,0FEh,0FFh, 00h, 00h
40E6:246C  03 00 FD FF FD FF                    db       03h, 00h,0FDh,0FFh,0FDh,0FFh
40E6:2472  01 00 02 00 FD FF                    db       01h, 00h, 02h, 00h,0FDh,0FFh
40E6:2478  FE FF 01 00 03 00                    db      0FEh,0FFh, 01h, 00h, 03h, 00h
40E6:247E  FD FF FE FF 01 00                    db      0FDh,0FFh,0FEh,0FFh, 01h, 00h
40E6:2484  02 00 FD FF FD FF                    db       02h, 00h,0FDh,0FFh,0FDh,0FFh
40E6:248A  01 00 03 00 FD FF                    db       01h, 00h, 03h, 00h,0FDh,0FFh
40E6:2490  FF FF 01 00 02 00                    db      0FFh,0FFh, 01h, 00h, 02h, 00h
40E6:2496  FD FF FD FF 01 00                    db      0FDh,0FFh,0FDh,0FFh, 01h, 00h
40E6:249C  03 00 FD FF FE FF                    db       03h, 00h,0FDh,0FFh,0FEh,0FFh
40E6:24A2  00 00 02 00 FD FF                    db       00h, 00h, 02h, 00h,0FDh,0FFh
40E6:24A8  FD FF 01 00 03 00                    db      0FDh,0FFh, 01h, 00h, 03h, 00h
40E6:24AE  FD FF FB FF 01 00                    db      0FDh,0FFh,0FBh,0FFh, 01h, 00h
40E6:24B4  02 00 FD FF FC FF                    db       02h, 00h,0FDh,0FFh,0FCh,0FFh
40E6:24BA  02 00 03 00 FD FF                    db       02h, 00h, 03h, 00h,0FDh,0FFh
40E6:24C0  FA FF 02 00 02 00                    db      0FAh,0FFh, 02h, 00h, 02h, 00h
40E6:24C6  FD FF FD FF 00 00                    db      0FDh,0FFh,0FDh,0FFh, 00h, 00h
40E6:24CC  03 00 FD FF FC FF                    db       03h, 00h,0FDh,0FFh,0FCh,0FFh
40E6:24D2  01 00 02 00 FD FF                    db       01h, 00h, 02h, 00h,0FDh,0FFh
40E6:24D8  FD FF 01 00 03 00                    db      0FDh,0FFh, 01h, 00h, 03h, 00h
40E6:24DE  FD FF FD FF 00 00                    db      0FDh,0FFh,0FDh,0FFh, 00h, 00h
40E6:24E4  02 00 FD FF FC FF                    db       02h, 00h,0FDh,0FFh,0FCh,0FFh
40E6:24EA  00 00 03 00 FD FF                    db       00h, 00h, 03h, 00h,0FDh,0FFh
40E6:24F0  FB FF 00 00 02 00                    db      0FBh,0FFh, 00h, 00h, 02h, 00h
40E6:24F6  FD FF FD FF 00 00                    db      0FDh,0FFh,0FDh,0FFh, 00h, 00h
40E6:24FC  03 00 FD FF FC FF                    db       03h, 00h,0FDh,0FFh,0FCh,0FFh
40E6:2502  00 00 02 00 FD FF                    db       00h, 00h, 02h, 00h,0FDh,0FFh
40E6:2508  FD FF 00 00 03 00                    db      0FDh,0FFh, 00h, 00h, 03h, 00h
40E6:250E  FD FF FC FF 00 00                    db      0FDh,0FFh,0FCh,0FFh, 00h, 00h
40E6:2514  02 00 FD FF F9 FF                    db       02h, 00h,0FDh,0FFh,0F9h,0FFh
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 595

40E6:251A  00 00 03 00 FD FF                    db       00h, 00h, 03h, 00h,0FDh,0FFh
40E6:2520  FF FF 00 00 02 00                    db      0FFh,0FFh, 00h, 00h, 02h, 00h
40E6:2526  FD FF FE FF FE FF                    db      0FDh,0FFh,0FEh,0FFh,0FEh,0FFh
40E6:252C  03 00 FD FF FC FF                    db       03h, 00h,0FDh,0FFh,0FCh,0FFh
40E6:2532  FF FF 02 00 FD FF                    db      0FFh,0FFh, 02h, 00h,0FDh,0FFh
40E6:2538  FD FF FF FF 03 00                    db      0FDh,0FFh,0FFh,0FFh, 03h, 00h
40E6:253E  FD FF FA FF FD FF                    db      0FDh,0FFh,0FAh,0FFh,0FDh,0FFh
40E6:2544  02 00 FD FF FA FF                    db       02h, 00h,0FDh,0FFh,0FAh,0FFh
40E6:254A  FC FF 03 00 FD FF                    db      0FCh,0FFh, 03h, 00h,0FDh,0FFh
40E6:2550  FA FF FD FF 02 00                    db      0FAh,0FFh,0FDh,0FFh, 02h, 00h
40E6:2556  FD FF FD FF FE FF                    db      0FDh,0FFh,0FDh,0FFh,0FEh,0FFh
40E6:255C  03 00 FD FF FC FF                    db       03h, 00h,0FDh,0FFh,0FCh,0FFh
40E6:2562  FF FF 02 00 FD FF                    db      0FFh,0FFh, 02h, 00h,0FDh,0FFh
40E6:2568  FE FF FF FF 03 00                    db      0FEh,0FFh,0FFh,0FFh, 03h, 00h
40E6:256E  FD FF FC FF FE FF                    db      0FDh,0FFh,0FCh,0FFh,0FEh,0FFh
40E6:2574  02 00 FD FF FC FF                    db       02h, 00h,0FDh,0FFh,0FCh,0FFh
40E6:257A  FE FF 03 00 FD FF                    db      0FEh,0FFh, 03h, 00h,0FDh,0FFh
40E6:2580  FD FF FF FF 02 00                    db      0FDh,0FFh,0FFh,0FFh, 02h, 00h
40E6:2586  FD FF FC FF FE FF                    db      0FDh,0FFh,0FCh,0FFh,0FEh,0FFh
40E6:258C  03 00 FD FF FC FF                    db       03h, 00h,0FDh,0FFh,0FCh,0FFh
40E6:2592  FD FF 02 00 FD FF                    db      0FDh,0FFh, 02h, 00h,0FDh,0FFh
40E6:2598  F8 FF FD FF 03 00                    db      0F8h,0FFh,0FDh,0FFh, 03h, 00h
40E6:259E  FD FF FA FF FE FF                    db      0FDh,0FFh,0FAh,0FFh,0FEh,0FFh
40E6:25A4  02 00 FD FF FB FF                    db       02h, 00h,0FDh,0FFh,0FBh,0FFh
40E6:25AA  FF FF 03 00 FD FF                    db      0FFh,0FFh, 03h, 00h,0FDh,0FFh
40E6:25B0  FA FF FE FF 02 00                    db      0FAh,0FFh,0FEh,0FFh, 02h, 00h
40E6:25B6  FD FF FD FF FE FF                    db      0FDh,0FFh,0FDh,0FFh,0FEh,0FFh
40E6:25BC  03 00 FD FF FB FF                    db       03h, 00h,0FDh,0FFh,0FBh,0FFh
40E6:25C2  FE FF 02 00 FD FF                    db      0FEh,0FFh, 02h, 00h,0FDh,0FFh
40E6:25C8  FB FF FE FF 03 00                    db      0FBh,0FFh,0FEh,0FFh, 03h, 00h
40E6:25CE  FD FF FC FF FE FF                    db      0FDh,0FFh,0FCh,0FFh,0FEh,0FFh
40E6:25D4  02 00 FD FF FC FF                    db       02h, 00h,0FDh,0FFh,0FCh,0FFh
40E6:25DA  FE FF 03 00 FD FF                    db      0FEh,0FFh, 03h, 00h,0FDh,0FFh
40E6:25E0  FB FF FE FF 02 00                    db      0FBh,0FFh,0FEh,0FFh, 02h, 00h
40E6:25E6  FD FF FD FF FF FF                    db      0FDh,0FFh,0FDh,0FFh,0FFh,0FFh
40E6:25EC  03 00 FD FF FB FF                    db       03h, 00h,0FDh,0FFh,0FBh,0FFh
40E6:25F2  FD FF 02 00 FE FF                    db      0FDh,0FFh, 02h, 00h,0FEh,0FFh
40E6:25F8  64 00 64 00 00 00                    db       64h, 00h, 64h, 00h, 00h, 00h
40E6:25FE  FF FF 0D 00 FA FF                    db      0FFh,0FFh, 0Dh, 00h,0FAh,0FFh
40E6:2604  92 1E FE FF 77 00                    db       92h, 1Eh,0FEh,0FFh, 77h, 00h
40E6:260A  FD 00 19 00 FD FF                    db      0FDh, 00h, 19h, 00h,0FDh,0FFh
40E6:2610  06 00 02 00 1A 00                    db       06h, 00h, 02h, 00h, 1Ah, 00h
40E6:2616  FF FF 0A 00 FA FF                    db      0FFh,0FFh, 0Ah, 00h,0FAh,0FFh
40E6:261C  06 26 00 00 F8 FF                    db       06h, 26h, 00h, 00h,0F8h,0FFh
40E6:2622  22 00 30 00 00 00                    db       22h, 00h, 30h, 00h, 00h, 00h
40E6:2628  01 00 02 00 03 00                    db       01h, 00h, 02h, 00h, 03h, 00h
40E6:262E  00 00 01 00 02 00                    db       00h, 00h, 01h, 00h, 02h, 00h
40E6:2634  03 00 00 00 01 00                    db       03h, 00h, 00h, 00h, 01h, 00h
40E6:263A  02 00 03 00 00 00                    db       02h, 00h, 03h, 00h, 00h, 00h
40E6:2640  01 00 02 00 03 00                    db       01h, 00h, 02h, 00h, 03h, 00h
40E6:2646  00 00 01 00 02 00                    db       00h, 00h, 01h, 00h, 02h, 00h
40E6:264C  03 00 00 00 01 00                    db       03h, 00h, 00h, 00h, 01h, 00h
40E6:2652  02 00 03 00 00 00                    db       02h, 00h, 03h, 00h, 00h, 00h
40E6:2658  01 00 02 00 03 00                    db       01h, 00h, 02h, 00h, 03h, 00h
40E6:265E  00 00 01 00 02 00                    db       00h, 00h, 01h, 00h, 02h, 00h
40E6:2664  03 00 00 00 01 00                    db       03h, 00h, 00h, 00h, 01h, 00h
40E6:266A  02 00 03 00 F7 FF                    db       02h, 00h, 03h, 00h,0F7h,0FFh
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 596

40E6:2670  22 00 00 00 FA FF                    db       22h, 00h, 00h, 00h,0FAh,0FFh
40E6:2676  72 26 00 00 00 00                    db       72h, 26h, 00h, 00h, 00h, 00h
40E6:267C  FF FF 01 00 F8 FF                    db      0FFh,0FFh, 01h, 00h,0F8h,0FFh
40E6:2682  14 00 30 00 01 00                    db       14h, 00h, 30h, 00h, 01h, 00h
40E6:2688  FF FF 01 00 02 00                    db      0FFh,0FFh, 01h, 00h, 02h, 00h
40E6:268E  FF FF 01 00 03 00                    db      0FFh,0FFh, 01h, 00h, 03h, 00h
40E6:2694  FF FF 01 00 04 00                    db      0FFh,0FFh, 01h, 00h, 04h, 00h
40E6:269A  FF FF 01 00 05 00                    db      0FFh,0FFh, 01h, 00h, 05h, 00h
40E6:26A0  FF FF 01 00 06 00                    db      0FFh,0FFh, 01h, 00h, 06h, 00h
40E6:26A6  FF FF 01 00 07 00                    db      0FFh,0FFh, 01h, 00h, 07h, 00h
40E6:26AC  FF FF 14 00 06 00                    db      0FFh,0FFh, 14h, 00h, 06h, 00h
40E6:26B2  05 00 04 00 03 00                    db       05h, 00h, 04h, 00h, 03h, 00h
40E6:26B8  02 00 01 00 00 00                    db       02h, 00h, 01h, 00h, 00h, 00h
40E6:26BE  FA FF BC 26 F9 FF                    db      0FAh,0FFh,0BCh, 26h,0F9h,0FFh
40E6:26C4  59 5A FD FF FE FF                    db       59h, 5Ah,0FDh,0FFh,0FEh,0FFh
40E6:26CA  00 00 00 00 FF FF                    db       00h, 00h, 00h, 00h,0FFh,0FFh
40E6:26D0  01 00 01 00 FF FF                    db       01h, 00h, 01h, 00h,0FFh,0FFh
40E6:26D6  01 00 02 00 FF FF                    db       01h, 00h, 02h, 00h,0FFh,0FFh
40E6:26DC  01 00 03 00 FF FF                    db       01h, 00h, 03h, 00h,0FFh,0FFh
40E6:26E2  01 00 04 00 FF FF                    db       01h, 00h, 04h, 00h,0FFh,0FFh
40E6:26E8  01 00 05 00 FF FF                    db       01h, 00h, 05h, 00h,0FFh,0FFh
40E6:26EE  01 00 06 00 FF FF                    db       01h, 00h, 06h, 00h,0FFh,0FFh
40E6:26F4  01 00 07 00 FF FF                    db       01h, 00h, 07h, 00h,0FFh,0FFh
40E6:26FA  14 00 F9 FF 80 5C                    db       14h, 00h,0F9h,0FFh, 80h, 5Ch
40E6:2700  FD FF 02 00 00 00                    db      0FDh,0FFh, 02h, 00h, 00h, 00h
40E6:2706  FC FF F9 FF 62 5A                    db      0FCh,0FFh,0F9h,0FFh, 62h, 5Ah
40E6:270C  FD FF FE FF 00 00                    db      0FDh,0FFh,0FEh,0FFh, 00h, 00h
40E6:2712  00 00 FF FF 01 00                    db       00h, 00h,0FFh,0FFh, 01h, 00h
40E6:2718  01 00 FF FF 01 00                    db       01h, 00h,0FFh,0FFh, 01h, 00h
40E6:271E  02 00 FF FF 01 00                    db       02h, 00h,0FFh,0FFh, 01h, 00h
40E6:2724  03 00 FF FF 01 00                    db       03h, 00h,0FFh,0FFh, 01h, 00h
40E6:272A  04 00 FF FF 01 00                    db       04h, 00h,0FFh,0FFh, 01h, 00h
40E6:2730  05 00 FF FF 01 00                    db       05h, 00h,0FFh,0FFh, 01h, 00h
40E6:2736  06 00 FF FF 01 00                    db       06h, 00h,0FFh,0FFh, 01h, 00h
40E6:273C  07 00 FF FF 14 00                    db       07h, 00h,0FFh,0FFh, 14h, 00h
40E6:2742  F9 FF 67 5D FD FF                    db      0F9h,0FFh, 67h, 5Dh,0FDh,0FFh
40E6:2748  02 00 00 00 FC FF                    db       02h, 00h, 00h, 00h,0FCh,0FFh
40E6:274E  F9 FF F6 59 00 00                    db      0F9h,0FFh,0F6h, 59h, 00h, 00h
40E6:2754  01 00 02 00 03 00                    db       01h, 00h, 02h, 00h, 03h, 00h
40E6:275A  F9 FF FF 59 00 00                    db      0F9h,0FFh,0FFh, 59h, 00h, 00h
40E6:2760  F8 FF 20 00 29 00                    db      0F8h,0FFh, 20h, 00h, 29h, 00h
40E6:2766  01 00 02 00 03 00                    db       01h, 00h, 02h, 00h, 03h, 00h
40E6:276C  F9 FF 08 5A 00 00                    db      0F9h,0FFh, 08h, 5Ah, 00h, 00h
40E6:2772  01 00 02 00 03 00                    db       01h, 00h, 02h, 00h, 03h, 00h
40E6:2778  F9 FF 11 5A 00 00                    db      0F9h,0FFh, 11h, 5Ah, 00h, 00h
40E6:277E  01 00 02 00 03 00                    db       01h, 00h, 02h, 00h, 03h, 00h
40E6:2784  F7 FF 20 00 FC FF                    db      0F7h,0FFh, 20h, 00h,0FCh,0FFh
40E6:278A  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h

                                scripts2_seg    ends



                                ;------------------------------------------------  seg_d   ----

                                seg_d           segment byte public
                                                assume cs:seg_d  , ds:seg_d , ss:stack_seg_k

435F:0000  FF 55 1A                             call    word ptr [di+1Ah]       ;*
435F:0003  56                                   push    si
435F:0004  11 56 08                             adc     [bp+8],dx
435F:0007  56                                   push    si
435F:0008  2C 56                                sub     al,56h                  ; 'V'
435F:000A  35 2356                              xor     ax,2356h
435F:000D  56                                   push    si
435F:000E  EB FF 00 00 EB FF                    db      0EBh,0FFh, 00h, 00h,0EBh,0FFh
435F:0014  01 00 EB FF 02 00                    db       01h, 00h,0EBh,0FFh, 02h, 00h
435F:001A  EB FF 03 00 EB FF                    db      0EBh,0FFh, 03h, 00h,0EBh,0FFh
435F:0020  04 00 EB FF 05 00                    db       04h, 00h,0EBh,0FFh, 05h, 00h
435F:0026  EB FF 06 00 EB FF                    db      0EBh,0FFh, 06h, 00h,0EBh,0FFh
435F:002C  07 00                                db       07h, 00h
435F:002E  08                                   db      8
435F:002F  000B[00]                             db      11 dup (0)
435F:003A  FB FF EF FF FE FF                    db      0FBh,0FFh,0EFh,0FFh,0FEh,0FFh
435F:0040  01 00 00 00 ED FF                    db       01h, 00h, 00h, 00h,0EDh,0FFh
435F:0046  00                                   db       00h
435F:0047  0007[00]                             db      7 dup (0)
435F:004E  01 00                                db      1, 0
435F:0050  000A[00]                             db      10 dup (0)
435F:005A  F2 FF 01 00 02                       db      0F2h,0FFh, 01h, 00h, 02h
435F:005F  000B[00]                             db      11 dup (0)
435F:006A  02 00                                db      2, 0
435F:006C  000A[00]                             db      10 dup (0)
435F:0076  02 00                                db      2, 0
435F:0078  000A[00]                             db      10 dup (0)
435F:0082  02 00                                db      2, 0
435F:0084  000A[00]                             db      10 dup (0)
435F:008E  F2 FF 00 00 03                       db      0F2h,0FFh, 00h, 00h, 03h
435F:0093  000B[00]                             db      11 dup (0)
435F:009E  04 00                                db      4, 0
435F:00A0  000A[00]                             db      10 dup (0)
435F:00AA  05 00 00                             db      5, 0, 0
435F:00AD  0009[00]                             db      9 dup (0)
435F:00B6  FE FF 00 00 EE FF                    db      0FEh,0FFh, 00h, 00h,0EEh,0FFh
435F:00BC  08                                   db       08h
435F:00BD  000B[00]                             db      11 dup (0)
435F:00C8  FB FF EF FF FE FF                    db      0FBh,0FFh,0EFh,0FFh,0FEh,0FFh
435F:00CE  01 00 00 00 ED FF                    db       01h, 00h, 00h, 00h,0EDh,0FFh
435F:00D4  00                                   db       00h
435F:00D5  0007[00]                             db      7 dup (0)
435F:00DC  01 00                                db      1, 0
435F:00DE  000A[00]                             db      10 dup (0)
435F:00E8  F2 FF 01 00 02                       db      0F2h,0FFh, 01h, 00h, 02h
435F:00ED  000B[00]                             db      11 dup (0)
435F:00F8  02 00                                db      2, 0
435F:00FA  000A[00]                             db      10 dup (0)
435F:0104  02 00                                db      2, 0
435F:0106  000A[00]                             db      10 dup (0)
435F:0110  02 00                                db      2, 0
435F:0112  000A[00]                             db      10 dup (0)
435F:011C  F2 FF 00 00 EE FF                    db      0F2h,0FFh, 00h, 00h,0EEh,0FFh
435F:0122  F8 FF 10 03 EF FF                    db      0F8h,0FFh, 10h, 03h,0EFh,0FFh
435F:0128  FE FF 02 00 00 00                    db      0FEh,0FFh, 02h, 00h, 00h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 598

435F:012E  ED FF 00                             db      0EDh,0FFh, 00h
435F:0131  0007[00]                             db      7 dup (0)
435F:0138  F2 FF 02 00 01                       db      0F2h,0FFh, 02h, 00h, 01h
435F:013D  000B[00]                             db      11 dup (0)
435F:0148  02 00                                db      2, 0
435F:014A  000A[00]                             db      10 dup (0)
435F:0154  03 00                                db      3, 0
435F:0156  000A[00]                             db      10 dup (0)
435F:0160  03 00                                db      3, 0
435F:0162  000A[00]                             db      10 dup (0)
435F:016C  03 00                                db      3, 0
435F:016E  000A[00]                             db      10 dup (0)
435F:0178  03 00                                db      3, 0
435F:017A  000A[00]                             db      10 dup (0)
435F:0184  F2 FF 00 00 02                       db      0F2h,0FFh, 00h, 00h, 02h
435F:0189  000B[00]                             db      11 dup (0)
435F:0194  01 00                                db      1, 0
435F:0196  0016[00]                             db      22 dup (0)
435F:01AC  FE FF 00 00 EE FF                    db      0FEh,0FFh, 00h, 00h,0EEh,0FFh
435F:01B2  08                                   db       08h
435F:01B3  000B[00]                             db      11 dup (0)
435F:01BE  FB FF EF FF FE FF                    db      0FBh,0FFh,0EFh,0FFh,0FEh,0FFh
435F:01C4  03 00 00 00 ED FF                    db       03h, 00h, 00h, 00h,0EDh,0FFh
435F:01CA  00                                   db       00h
435F:01CB  0007[00]                             db      7 dup (0)
435F:01D2  F2 FF 03 00 01                       db      0F2h,0FFh, 03h, 00h, 01h
435F:01D7  000B[00]                             db      11 dup (0)
435F:01E2  02 00                                db      2, 0
435F:01E4  000A[00]                             db      10 dup (0)
435F:01EE  03 00                                db      3, 0
435F:01F0  000A[00]                             db      10 dup (0)
435F:01FA  04 00                                db      4, 0
435F:01FC  000A[00]                             db      10 dup (0)
435F:0206  05 00 00                             db      5, 0, 0
435F:0209  0009[00]                             db      9 dup (0)
435F:0212  F2 FF 00 00 06 00                    db      0F2h,0FFh, 00h, 00h, 06h, 00h
435F:0218  00                                   db       00h
435F:0219  0009[00]                             db      9 dup (0)
435F:0222  07                                   db      7
435F:0223  000B[00]                             db      11 dup (0)
435F:022E  FE FF 00 00 EE FF                    db      0FEh,0FFh, 00h, 00h,0EEh,0FFh
435F:0234  08                                   db       08h
435F:0235  000B[00]                             db      11 dup (0)
435F:0240  FB FF EF FF FE FF                    db      0FBh,0FFh,0EFh,0FFh,0FEh,0FFh
435F:0246  03 00 00 00 ED FF                    db       03h, 00h, 00h, 00h,0EDh,0FFh
435F:024C  00                                   db       00h
435F:024D  0007[00]                             db      7 dup (0)
435F:0254  F2 FF 03 00 01                       db      0F2h,0FFh, 03h, 00h, 01h
435F:0259  000B[00]                             db      11 dup (0)
435F:0264  02 00                                db      2, 0
435F:0266  000A[00]                             db      10 dup (0)
435F:0270  03 00                                db      3, 0
435F:0272  000A[00]                             db      10 dup (0)
435F:027C  04 00                                db      4, 0
435F:027E  000A[00]                             db      10 dup (0)
435F:0288  05 00 00                             db      5, 0, 0
435F:028B  0009[00]                             db      9 dup (0)
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 599

435F:0294  F2 FF 00 00 EE FF                    db      0F2h,0FFh, 00h, 00h,0EEh,0FFh
435F:029A  F8 FF 10 03 06 00                    db      0F8h,0FFh, 10h, 03h, 06h, 00h
435F:02A0  00                                   db       00h
435F:02A1  0009[00]                             db      9 dup (0)
435F:02AA  07                                   db      7
435F:02AB  000B[00]                             db      11 dup (0)
435F:02B6  FE FF 00 00 EE FF                    db      0FEh,0FFh, 00h, 00h,0EEh,0FFh
435F:02BC  08                                   db       08h
435F:02BD  000B[00]                             db      11 dup (0)
435F:02C8  FB FF 07 00 FC FF                    db      0FBh,0FFh, 07h, 00h,0FCh,0FFh
435F:02CE  00                                   db       00h
435F:02CF  0007[00]                             db      7 dup (0)
435F:02D6  EF FF 06 00 FC FF                    db      0EFh,0FFh, 06h, 00h,0FCh,0FFh
435F:02DC  00                                   db       00h
435F:02DD  0007[00]                             db      7 dup (0)
435F:02E4  EF FF 05 00 FC FF                    db      0EFh,0FFh, 05h, 00h,0FCh,0FFh
435F:02EA  00                                   db       00h
435F:02EB  0007[00]                             db      7 dup (0)
435F:02F2  EF FF 04 00 FC FF                    db      0EFh,0FFh, 04h, 00h,0FCh,0FFh
435F:02F8  00                                   db       00h
435F:02F9  0007[00]                             db      7 dup (0)
435F:0300  EF FF 08                             db      0EFh,0FFh, 08h
435F:0303  000B[00]                             db      11 dup (0)
435F:030E  FB FF EF FF FE FF                    db      0FBh,0FFh,0EFh,0FFh,0FEh,0FFh
435F:0314  04                                   db       04h
435F:0315  000D[00]                             db      13 dup (0)
435F:0322  01 00                                db      1, 0
435F:0324  000A[00]                             db      10 dup (0)
435F:032E  02 00                                db      2, 0
435F:0330  000A[00]                             db      10 dup (0)
435F:033A  F1 FF 05 00 A0 03                    db      0F1h,0FFh, 05h, 00h,0A0h, 03h
435F:0340  F2 FF 05 00 03                       db      0F2h,0FFh, 05h, 00h, 03h
435F:0345  000B[00]                             db      11 dup (0)
435F:0350  F1 FF 02 00 F6 03                    db      0F1h,0FFh, 02h, 00h,0F6h, 03h
435F:0356  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:035C  06 00 31 00 16 00                    db       06h, 00h, 31h, 00h, 16h, 00h
435F:0362  F0 FF 46 0E 05 00                    db      0F0h,0FFh, 46h, 0Eh, 05h, 00h
435F:0368  00 00 00 00 07 00                    db       00h, 00h, 00h, 00h, 07h, 00h
435F:036E  38 00 16 00 F2 FF                    db       38h, 00h, 16h, 00h,0F2h,0FFh
435F:0374  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
435F:037A  00 00 06 00 32 00                    db       00h, 00h, 06h, 00h, 32h, 00h
435F:0380  17 00 07                             db       17h, 00h, 07h
435F:0383  000B[00]                             db      11 dup (0)
435F:038E  FE FF 00 00 08                       db      0FEh,0FFh, 00h, 00h, 08h
435F:0393  000B[00]                             db      11 dup (0)
435F:039E  FB FF EA FF 2A 00                    db      0FBh,0FFh,0EAh,0FFh, 2Ah, 00h
435F:03A4  02                                   db       02h
435F:03A5  000B[00]                             db      11 dup (0)
435F:03B0  02 00                                db      2, 0
435F:03B2  000A[00]                             db      10 dup (0)
435F:03BC  02 00                                db      2, 0
435F:03BE  000A[00]                             db      10 dup (0)
435F:03C8  F2 FF 00 00 01                       db      0F2h,0FFh, 00h, 00h, 01h
435F:03CD  0017[00]                             db      23 dup (0)
435F:03E4  FE FF 00 00 08                       db      0FEh,0FFh, 00h, 00h, 08h
435F:03E9  000B[00]                             db      11 dup (0)
435F:03F4  FB FF 03                             db      0FBh,0FFh, 03h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 600

435F:03F7  000B[00]                             db      11 dup (0)
435F:0402  03 00                                db      3, 0
435F:0404  000A[00]                             db      10 dup (0)
435F:040E  02 00                                db      2, 0
435F:0410  000A[00]                             db      10 dup (0)
435F:041A  F2 FF 00 00 01                       db      0F2h,0FFh, 00h, 00h, 01h
435F:041F  0017[00]                             db      23 dup (0)
435F:0436  FE FF 00 00 08                       db      0FEh,0FFh, 00h, 00h, 08h
435F:043B  000B[00]                             db      11 dup (0)
435F:0446  FB FF EF FF FE FF                    db      0FBh,0FFh,0EFh,0FFh,0FEh,0FFh
435F:044C  05                                   db       05h
435F:044D  000D[00]                             db      13 dup (0)
435F:045A  01 00 00 00 00 00                    db       01h, 00h, 00h, 00h, 00h, 00h
435F:0460  01 00 F9 FF F3 FF                    db       01h, 00h,0F9h,0FFh,0F3h,0FFh
435F:0466  01 00 00 00 00 00                    db       01h, 00h, 00h, 00h, 00h, 00h
435F:046C  01 00 F9 FF F3 FF                    db       01h, 00h,0F9h,0FFh,0F3h,0FFh
435F:0472  01 00 00 00 00 00                    db       01h, 00h, 00h, 00h, 00h, 00h
435F:0478  01 00 F9 FF F3 FF                    db       01h, 00h,0F9h,0FFh,0F3h,0FFh
435F:047E  01 00 00 00 00 00                    db       01h, 00h, 00h, 00h, 00h, 00h
435F:0484  01 00 F9 FF F3 FF                    db       01h, 00h,0F9h,0FFh,0F3h,0FFh
435F:048A  F2 FF 04 00 02 00                    db      0F2h,0FFh, 04h, 00h, 02h, 00h
435F:0490  00 00 00 00 02 00                    db       00h, 00h, 00h, 00h, 02h, 00h
435F:0496  ED FF F7 FF 03 00                    db      0EDh,0FFh,0F7h,0FFh, 03h, 00h
435F:049C  00 00 00 00 03 00                    db       00h, 00h, 00h, 00h, 03h, 00h
435F:04A2  0D 00 EF FF F1 FF                    db       0Dh, 00h,0EFh,0FFh,0F1h,0FFh
435F:04A8  04 00 4E 05 04 00                    db       04h, 00h, 4Eh, 05h, 04h, 00h
435F:04AE  00 00 00 00 04 00                    db       00h, 00h, 00h, 00h, 04h, 00h
435F:04B4  30 00 0C 00 F1 FF                    db       30h, 00h, 0Ch, 00h,0F1h,0FFh
435F:04BA  01 00 08 05 F0 FF                    db       01h, 00h, 08h, 05h,0F0h,0FFh
435F:04C0  F8 0D 05 00 00 00                    db      0F8h, 0Dh, 05h, 00h, 00h, 00h
435F:04C6  00 00 05 00 30 00                    db       00h, 00h, 05h, 00h, 30h, 00h
435F:04CC  1B 00 F2 FF 00 00                    db       1Bh, 00h,0F2h,0FFh, 00h, 00h
435F:04D2  06 00 00                             db       06h, 00h, 00h
435F:04D5  0009[00]                             db      9 dup (0)
435F:04DE  07                                   db      7
435F:04DF  000B[00]                             db      11 dup (0)
435F:04EA  08 00                                db      8, 0
435F:04EC  000A[00]                             db      10 dup (0)
435F:04F6  FE FF 00 00 08                       db      0FEh,0FFh, 00h, 00h, 08h
435F:04FB  000B[00]                             db      11 dup (0)
435F:0506  FB FF F2 FF 00 00                    db      0FBh,0FFh,0F2h,0FFh, 00h, 00h
435F:050C  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:0512  04 00 30 00 0C 00                    db       04h, 00h, 30h, 00h, 0Ch, 00h
435F:0518  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:051E  04 00 30 00 0C 00                    db       04h, 00h, 30h, 00h, 0Ch, 00h
435F:0524  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:052A  04 00 30 00 0C 00                    db       04h, 00h, 30h, 00h, 0Ch, 00h
435F:0530  08                                   db      8
435F:0531  000B[00]                             db      11 dup (0)
435F:053C  FE FF 00 00 08                       db      0FEh,0FFh, 00h, 00h, 08h
435F:0541  000B[00]                             db      11 dup (0)
435F:054C  FB FF EA FF 2A 00                    db      0FBh,0FFh,0EAh,0FFh, 2Ah, 00h
435F:0552  02                                   db       02h
435F:0553  000B[00]                             db      11 dup (0)
435F:055E  02 00                                db      2, 0
435F:0560  000A[00]                             db      10 dup (0)
435F:056A  02 00                                db      2, 0
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 601

435F:056C  000A[00]                             db      10 dup (0)
435F:0576  F2 FF 00 00 01                       db      0F2h,0FFh, 00h, 00h, 01h
435F:057B  0017[00]                             db      23 dup (0)
435F:0592  FE FF 00 00 08                       db      0FEh,0FFh, 00h, 00h, 08h
435F:0597  000B[00]                             db      11 dup (0)
435F:05A2  FB FF EF FF FE FF                    db      0FBh,0FFh,0EFh,0FFh,0FEh,0FFh
435F:05A8  05                                   db       05h
435F:05A9  000D[00]                             db      13 dup (0)
435F:05B6  01 00 00 00 00 00                    db       01h, 00h, 00h, 00h, 00h, 00h
435F:05BC  01 00 F9 FF F3 FF                    db       01h, 00h,0F9h,0FFh,0F3h,0FFh
435F:05C2  F2 FF 04 00 02 00                    db      0F2h,0FFh, 04h, 00h, 02h, 00h
435F:05C8  00 00 00 00 02 00                    db       00h, 00h, 00h, 00h, 02h, 00h
435F:05CE  ED FF F7 FF 03 00                    db      0EDh,0FFh,0F7h,0FFh, 03h, 00h
435F:05D4  00 00 00 00 03 00                    db       00h, 00h, 00h, 00h, 03h, 00h
435F:05DA  0D 00 EF FF F1 FF                    db       0Dh, 00h,0EFh,0FFh,0F1h,0FFh
435F:05E0  04 00 6E 06 04 00                    db       04h, 00h, 6Eh, 06h, 04h, 00h
435F:05E6  00 00 00 00 04 00                    db       00h, 00h, 00h, 00h, 04h, 00h
435F:05EC  30 00 0C 00 F1 FF                    db       30h, 00h, 0Ch, 00h,0F1h,0FFh
435F:05F2  01 00 40 06 F0 FF                    db       01h, 00h, 40h, 06h,0F0h,0FFh
435F:05F8  F8 0D 05 00 00 00                    db      0F8h, 0Dh, 05h, 00h, 00h, 00h
435F:05FE  00 00 05 00 30 00                    db       00h, 00h, 05h, 00h, 30h, 00h
435F:0604  1B 00 F2 FF 00 00                    db       1Bh, 00h,0F2h,0FFh, 00h, 00h
435F:060A  06 00 00                             db       06h, 00h, 00h
435F:060D  0009[00]                             db      9 dup (0)
435F:0616  07                                   db      7
435F:0617  000B[00]                             db      11 dup (0)
435F:0622  08 00                                db      8, 0
435F:0624  000A[00]                             db      10 dup (0)
435F:062E  FE FF 00 00 08                       db      0FEh,0FFh, 00h, 00h, 08h
435F:0633  000B[00]                             db      11 dup (0)
435F:063E  FB FF F2 FF 00 00                    db      0FBh,0FFh,0F2h,0FFh, 00h, 00h
435F:0644  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:064A  04 00 30 00 0C 00                    db       04h, 00h, 30h, 00h, 0Ch, 00h
435F:0650  08                                   db      8
435F:0651  000B[00]                             db      11 dup (0)
435F:065C  FE FF 00 00 08                       db      0FEh,0FFh, 00h, 00h, 08h
435F:0661  000B[00]                             db      11 dup (0)
435F:066C  FB FF EA FF 2A 00                    db      0FBh,0FFh,0EAh,0FFh, 2Ah, 00h
435F:0672  02 00 00 00 00 00                    db       02h, 00h, 00h, 00h, 00h, 00h
435F:0678  02 00 ED FF F7 FF                    db       02h, 00h,0EDh,0FFh,0F7h,0FFh
435F:067E  F2 FF 00 00 01 00                    db      0F2h,0FFh, 00h, 00h, 01h, 00h
435F:0684  00 00 00 00 01 00                    db       00h, 00h, 00h, 00h, 01h, 00h
435F:068A  F9 FF F3 FF 00                       db      0F9h,0FFh,0F3h,0FFh, 00h
435F:068F  000B[00]                             db      11 dup (0)
435F:069A  FE FF 00 00 08                       db      0FEh,0FFh, 00h, 00h, 08h
435F:069F  000B[00]                             db      11 dup (0)
435F:06AA  FB FF EF FF FE FF                    db      0FBh,0FFh,0EFh,0FFh,0FEh,0FFh
435F:06B0  06 00 00                             db       06h, 00h, 00h
435F:06B3  000B[00]                             db      11 dup (0)
435F:06BE  01 00                                db      1, 0
435F:06C0  000A[00]                             db      10 dup (0)
435F:06CA  02 00                                db      2, 0
435F:06CC  000A[00]                             db      10 dup (0)
435F:06D6  02 00                                db      2, 0
435F:06D8  000A[00]                             db      10 dup (0)
435F:06E2  02 00                                db      2, 0
435F:06E4  000A[00]                             db      10 dup (0)
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 602

435F:06EE  02 00                                db      2, 0
435F:06F0  000A[00]                             db      10 dup (0)
435F:06FA  03 00                                db      3, 0
435F:06FC  000A[00]                             db      10 dup (0)
435F:0706  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:070C  08 00 3C 00 1F 00                    db       08h, 00h, 3Ch, 00h, 1Fh, 00h
435F:0712  F1 FF 02 00 58 07                    db      0F1h,0FFh, 02h, 00h, 58h, 07h
435F:0718  F1 FF 03 00 22 07                    db      0F1h,0FFh, 03h, 00h, 22h, 07h
435F:071E  F0 FF 94 0E 05 00                    db      0F0h,0FFh, 94h, 0Eh, 05h, 00h
435F:0724  00 00 00 00 09 00                    db       00h, 00h, 00h, 00h, 09h, 00h
435F:072A  33 00 0D 00 06 00                    db       33h, 00h, 0Dh, 00h, 06h, 00h
435F:0730  00                                   db       00h
435F:0731  0009[00]                             db      9 dup (0)
435F:073A  07                                   db      7
435F:073B  000B[00]                             db      11 dup (0)
435F:0746  FE FF 00 00 08                       db      0FEh,0FFh, 00h, 00h, 08h
435F:074B  000B[00]                             db      11 dup (0)
435F:0756  FB FF 04 00 00 00                    db      0FBh,0FFh, 04h, 00h, 00h, 00h
435F:075C  00 00 08 00 3C 00                    db       00h, 00h, 08h, 00h, 3Ch, 00h
435F:0762  1F 00 04 00 00 00                    db       1Fh, 00h, 04h, 00h, 00h, 00h
435F:0768  00 00 08 00 3C 00                    db       00h, 00h, 08h, 00h, 3Ch, 00h
435F:076E  1F 00 04 00 00 00                    db       1Fh, 00h, 04h, 00h, 00h, 00h
435F:0774  00 00 08 00 3C 00                    db       00h, 00h, 08h, 00h, 3Ch, 00h
435F:077A  1F 00 07                             db       1Fh, 00h, 07h
435F:077D  000B[00]                             db      11 dup (0)
435F:0788  FE FF 00 00 08                       db      0FEh,0FFh, 00h, 00h, 08h
435F:078D  000B[00]                             db      11 dup (0)
435F:0798  FB FF EF FF FE FF                    db      0FBh,0FFh,0EFh,0FFh,0FEh,0FFh
435F:079E  06 00 00                             db       06h, 00h, 00h
435F:07A1  000B[00]                             db      11 dup (0)
435F:07AC  01 00                                db      1, 0
435F:07AE  000A[00]                             db      10 dup (0)
435F:07B8  02 00                                db      2, 0
435F:07BA  000A[00]                             db      10 dup (0)
435F:07C4  02 00                                db      2, 0
435F:07C6  000A[00]                             db      10 dup (0)
435F:07D0  03 00                                db      3, 0
435F:07D2  000A[00]                             db      10 dup (0)
435F:07DC  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:07E2  08 00 3C 00 1F 00                    db       08h, 00h, 3Ch, 00h, 1Fh, 00h
435F:07E8  F1 FF 02 00 2E 08                    db      0F1h,0FFh, 02h, 00h, 2Eh, 08h
435F:07EE  F1 FF 03 00 F8 07                    db      0F1h,0FFh, 03h, 00h,0F8h, 07h
435F:07F4  F0 FF 94 0E 05 00                    db      0F0h,0FFh, 94h, 0Eh, 05h, 00h
435F:07FA  00 00 00 00 09 00                    db       00h, 00h, 00h, 00h, 09h, 00h
435F:0800  33 00 0D 00 06 00                    db       33h, 00h, 0Dh, 00h, 06h, 00h
435F:0806  00                                   db       00h
435F:0807  0009[00]                             db      9 dup (0)
435F:0810  07                                   db      7
435F:0811  000B[00]                             db      11 dup (0)
435F:081C  FE FF 00 00 08                       db      0FEh,0FFh, 00h, 00h, 08h
435F:0821  000B[00]                             db      11 dup (0)
435F:082C  FB FF 04 00 00 00                    db      0FBh,0FFh, 04h, 00h, 00h, 00h
435F:0832  00 00 08 00 3C 00                    db       00h, 00h, 08h, 00h, 3Ch, 00h
435F:0838  1F 00 07                             db       1Fh, 00h, 07h
435F:083B  000B[00]                             db      11 dup (0)
435F:0846  FE FF 00 00 08                       db      0FEh,0FFh, 00h, 00h, 08h
435F:084B  000B[00]                             db      11 dup (0)
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 603

435F:0856  FB FF EF FF FE FF                    db      0FBh,0FFh,0EFh,0FFh,0FEh,0FFh
435F:085C  06 00 00                             db       06h, 00h, 00h
435F:085F  000B[00]                             db      11 dup (0)
435F:086A  01 00                                db      1, 0
435F:086C  000A[00]                             db      10 dup (0)
435F:0876  02 00                                db      2, 0
435F:0878  000A[00]                             db      10 dup (0)
435F:0882  02 00                                db      2, 0
435F:0884  000A[00]                             db      10 dup (0)
435F:088E  01 00                                db      1, 0
435F:0890  0016[00]                             db      22 dup (0)
435F:08A6  FE FF 00 00 08                       db      0FEh,0FFh, 00h, 00h, 08h
435F:08AB  000B[00]                             db      11 dup (0)
435F:08B6  FB FF 00 00 0E 00                    db      0FBh,0FFh, 00h, 00h, 0Eh, 00h
435F:08BC  3C 00 CA 02 26 01                    db       3Ch, 00h,0CAh, 02h, 26h, 01h
435F:08C2  C0 01 10 03 48 04                    db      0C0h, 01h, 10h, 03h, 48h, 04h
435F:08C8  AC 06 58 08 A4 05                    db      0ACh, 06h, 58h, 08h,0A4h, 05h
435F:08CE  9A 07 42 02 CA 00                    db       9Ah, 07h, 42h, 02h,0CAh, 00h
435F:08D4  01                                   db       01h
435F:08D5  001F[00]                             db      31 dup (0)
435F:08F4  01 00                                db      1, 0
435F:08F6  001E[00]                             db      30 dup (0)
435F:0914  01 00 01 00 00 01                    db      1, 0, 1, 0, 0, 1
435F:091A  00 01 01 00                          db      0, 1, 1, 0
435F:091E  0009[00]                             db      9 dup (0)
435F:0927  0B 00 09 01 00 00                    db       0Bh, 00h, 09h, 01h, 00h, 00h
435F:092D  01 00 00 00 00 00                    db       01h, 00h, 00h, 00h, 00h, 00h
435F:0933  00 01 00 01 00 00                    db       00h, 01h, 00h, 01h, 00h, 00h
435F:0939  0B 00 01 00 01 00                    db       0Bh, 00h, 01h, 00h, 01h, 00h
435F:093F  01 0A 00 01 00 00                    db       01h, 0Ah, 00h, 01h, 00h, 00h
435F:0945  00 00 01 00 00 09                    db       00h, 00h, 01h, 00h, 00h, 09h
435F:094B  01 00 01 01 00 00                    db       01h, 00h, 01h, 01h, 00h, 00h
435F:0951  00 00 00 01 00 00                    db       00h, 00h, 00h, 01h, 00h, 00h
435F:0957  00 00 00 00 01 01                    db       00h, 00h, 00h, 00h, 01h, 01h
435F:095D  00                                   db       00h
435F:095E  0009[00]                             db      9 dup (0)
435F:0967  0A 00 00 09 00 01                    db       0Ah, 00h, 00h, 09h, 00h, 01h
435F:096D  00 01 00 00 00 0B                    db       00h, 01h, 00h, 00h, 00h, 0Bh
435F:0973  00 01 00 00 01 01                    db       00h, 01h, 00h, 00h, 01h, 01h
435F:0979  00 0B 00 00 00 01                    db       00h, 0Bh, 00h, 00h, 00h, 01h
435F:097F  01 00 00 00 00 00                    db       01h, 00h, 00h, 00h, 00h, 00h
435F:0985  00 00 01 06 00 00                    db       00h, 00h, 01h, 06h, 00h, 00h
435F:098B  00 01 00 0A 01 00                    db       00h, 01h, 00h, 0Ah, 01h, 00h
435F:0991  01 00 00 01                          db       01h, 00h, 00h, 01h
435F:0995  0008[00]                             db      8 dup (0)
435F:099D  01 01 01 00 00 00                    db       01h, 01h, 01h, 00h, 00h, 00h
435F:09A3  00 00 0A 00 00 01                    db       00h, 00h, 0Ah, 00h, 00h, 01h
435F:09A9  0B 00 09 01 06 00                    db       0Bh, 00h, 09h, 01h, 06h, 00h
435F:09AF  00 00 00 00 00 01                    db       00h, 00h, 00h, 00h, 00h, 01h
435F:09B5  00 00 00 01 00                       db       00h, 00h, 00h, 01h, 00h
435F:09BA  09                                   db      9
435F:09BB  000B[00]                             db      11 dup (0)
435F:09C6  09 01 01 0A 00 01                    db       09h, 01h, 01h, 0Ah, 00h, 01h
435F:09CC  00 00 00 0B 00 00                    db       00h, 00h, 00h, 0Bh, 00h, 00h
435F:09D2  06 00 01 00 00 01                    db       06h, 00h, 01h, 00h, 00h, 01h
435F:09D8  00 01 01 09 00 00                    db       00h, 01h, 01h, 09h, 00h, 00h
435F:09DE  00 00 01 01 00 06                    db       00h, 00h, 01h, 01h, 00h, 06h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 604

435F:09E4  00 00 0A 00 00 00                    db       00h, 00h, 0Ah, 00h, 00h, 00h
435F:09EA  0B 06 00 09 01 00                    db       0Bh, 06h, 00h, 09h, 01h, 00h
435F:09F0  00 00 00 00 01 00                    db       00h, 00h, 00h, 00h, 01h, 00h
435F:09F6  00 00 0B 00 01 09                    db       00h, 00h, 0Bh, 00h, 01h, 09h
435F:09FC  00 00 00 00 0A 01                    db       00h, 00h, 00h, 00h, 0Ah, 01h
435F:0A02  01 01 00 00 00 00                    db       01h, 01h, 00h, 00h, 00h, 00h
435F:0A08  00 00 01 00 01 09                    db       00h, 00h, 01h, 00h, 01h, 09h
435F:0A0E  01 01 01                             db       01h, 01h, 01h
435F:0A11  0023[00]                             db      35 dup (0)
435F:0A34  FF FF FF 03 FF FF                    db      0FFh,0FFh,0FFh, 03h,0FFh,0FFh
435F:0A3A  00 FF FF FF 00 FF                    db       00h,0FFh,0FFh,0FFh, 00h,0FFh
435F:0A40  00 FF 00 FF FF FF                    db       00h,0FFh, 00h,0FFh,0FFh,0FFh
435F:0A46  FF FF 00 00 FF 03                    db      0FFh,0FFh, 00h, 00h,0FFh, 03h
435F:0A4C  FF 00 03                             db      0FFh, 00h, 03h
435F:0A4F  000B[FF]                             db      11 dup (0FFh)
435F:0A5A  00 FF FF FF 00 FF                    db       00h,0FFh,0FFh,0FFh, 00h,0FFh
435F:0A60  00 FF 00 FF FF FF                    db       00h,0FFh, 00h,0FFh,0FFh,0FFh
435F:0A66  FF FF 00 00 FF FF                    db      0FFh,0FFh, 00h, 00h,0FFh,0FFh
435F:0A6C  FF 00 03 FF                          db      0FFh, 00h, 03h,0FFh
435F:0A70  000A[FF]                             db      10 dup (0FFh)
435F:0A7A  00 FF FF FF 00                       db       00h,0FFh,0FFh,0FFh, 00h
435F:0A7F  0009[FF]                             db      9 dup (0FFh)
435F:0A88  00 00 FF FF FF 00                    db       00h, 00h,0FFh,0FFh,0FFh, 00h
435F:0A8E  03 FF                                db       03h,0FFh
435F:0A90  000A[FF]                             db      10 dup (0FFh)
435F:0A9A  00 FF FF FF FF FF                    db       00h,0FFh,0FFh,0FFh,0FFh,0FFh
435F:0AA0  FF FF 00 FF FF FF                    db      0FFh,0FFh, 00h,0FFh,0FFh,0FFh
435F:0AA6  FF FF 00 00 FF FF                    db      0FFh,0FFh, 00h, 00h,0FFh,0FFh
435F:0AAC  FF FF                                db      0FFh,0FFh
435F:0AAE  0D                                   db      0Dh
435F:0AAF  000B[FF]                             db      11 dup (0FFh)
435F:0ABA  00 FF FF FF 00 FF                    db       00h,0FFh,0FFh,0FFh, 00h,0FFh
435F:0AC0  00 FF 00 FF FF FF                    db       00h,0FFh, 00h,0FFh,0FFh,0FFh
435F:0AC6  FF FF 00 0C FF FF                    db      0FFh,0FFh, 00h, 0Ch,0FFh,0FFh
435F:0ACC  FF 00 03 FF                          db      0FFh, 00h, 03h,0FFh
435F:0AD0  000A[FF]                             db      10 dup (0FFh)
435F:0ADA  03 0C 03 FF 03 FF                    db       03h, 0Ch, 03h,0FFh, 03h,0FFh
435F:0AE0  03 FF 03 FF 03 FF                    db       03h,0FFh, 03h,0FFh, 03h,0FFh
435F:0AE6  03 FF FF FF FF 0D                    db       03h,0FFh,0FFh,0FFh,0FFh, 0Dh
435F:0AEC  FF 00 03 FF                          db      0FFh, 00h, 03h,0FFh
435F:0AF0  000C[FF]                             db      12 dup (0FFh)
435F:0AFC  0C FF 00 FF FF FF                    db       0Ch,0FFh, 00h,0FFh,0FFh,0FFh
435F:0B02  FF FF FF 03 FF FF                    db      0FFh,0FFh,0FFh, 03h,0FFh,0FFh
435F:0B08  FF FF 0D FF FF 00                    db      0FFh,0FFh, 0Dh,0FFh,0FFh, 00h
435F:0B0E  FF FF FF 03                          db      0FFh,0FFh,0FFh, 03h
435F:0B12  000C[FF]                             db      12 dup (0FFh)
435F:0B1E  00 FF                                db       00h,0FFh
435F:0B20  000D[FF]                             db      13 dup (0FFh)
435F:0B2D  00 03                                db      0, 3
435F:0B2F  000B[FF]                             db      11 dup (0FFh)
435F:0B3A  03 FF FF FF FF FF                    db       03h,0FFh,0FFh,0FFh,0FFh,0FFh
435F:0B40  FF FF 00 FF FF 03                    db      0FFh,0FFh, 00h,0FFh,0FFh, 03h
435F:0B46  FF FF FF FF 03 0C                    db      0FFh,0FFh,0FFh,0FFh, 03h, 0Ch
435F:0B4C  FF                                   db      0FFh
435F:0B4D  000E[FF]                             db      14 dup (0FFh)
435F:0B5B  03 FF FF 00 FF 00                    db       03h,0FFh,0FFh, 00h,0FFh, 00h
435F:0B61  FF 00 FF FF FF FF                    db      0FFh, 00h,0FFh,0FFh,0FFh,0FFh
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 605

435F:0B67  FF FF 00 FF FF FF                    db      0FFh,0FFh, 00h,0FFh,0FFh,0FFh
435F:0B6D  00 FF FF FF FF FF                    db       00h,0FFh,0FFh,0FFh,0FFh,0FFh
435F:0B73  FF 00                                db      0FFh, 00h
435F:0B75  0022[00]                             db      34 dup (0)
435F:0B97  09 00 08 00 00 09                    db      9, 0, 8, 0, 0, 9
435F:0B9D  0007[00]                             db      7 dup (0)
435F:0BA4  07 07 07 07 00 00                    db      7, 7, 7, 7, 0, 0
435F:0BAA  09 00 07 00 08 00                    db      9, 0, 7, 0, 8, 0
435F:0BB0  00 00 03 00 06 00                    db      0, 0, 3, 0, 6, 0
435F:0BB6  06 00 06 00 06 00                    db      6, 0, 6, 0, 6, 0
435F:0BBC  06 00 06 00 06 00                    db      6, 0, 6, 0, 6, 0
435F:0BC2  06                                   db      6
435F:0BC3  0011[00]                             db      17 dup (0)
435F:0BD4  09 00 09 00 00 00                    db      9, 0, 9, 0, 0, 0
435F:0BDA  09 00 06 06                          db      9, 0, 6, 6
435F:0BDE  0009[00]                             db      9 dup (0)
435F:0BE7  07 07 0A 0A 0A 0A                    db       07h, 07h, 0Ah, 0Ah, 0Ah, 0Ah
435F:0BED  0007[00]                             db      7 dup (0)
435F:0BF4  0A 0A 0A 0A 0A 07                    db       0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 07h
435F:0BFA  07 07 07                             db       07h, 07h, 07h
435F:0BFD  08 08                                db      8, 8
435F:0BFF  000A[07]                             db      10 dup (7)
435F:0C09  08 08 08 08 07 07                    db       08h, 08h, 08h, 08h, 07h, 07h
435F:0C0F  0A 0A 0A 0A 0A 07                    db       0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 07h
435F:0C15  07 07 07 07 07 07                    db       07h, 07h, 07h, 07h, 07h, 07h
435F:0C1B  00 00 00 00 0B 0B                    db       00h, 00h, 00h, 00h, 0Bh, 0Bh
435F:0C21  00 0B 0B 00 00 0A                    db       00h, 0Bh, 0Bh, 00h, 00h, 0Ah
435F:0C27  0A 0A 0A 00 08 08                    db       0Ah, 0Ah, 0Ah, 00h, 08h, 08h
435F:0C2D  0B 0B 0B 0B 07 08                    db       0Bh, 0Bh, 0Bh, 0Bh, 07h, 08h
435F:0C33  07                                   db       07h
435F:0C34  0009[0B]                             db      9 dup (0Bh)
435F:0C3D  0A 0B 0B 0B 0B 0B                    db       0Ah, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh
435F:0C43  09 0B 0B 0B 0B 0B                    db       09h, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh
435F:0C49  0A 0A 0B 06 06 06                    db       0Ah, 0Ah, 0Bh, 06h, 06h, 06h
435F:0C4F  06 06 06 06 06 06                    db       06h, 06h, 06h, 06h, 06h, 06h
435F:0C55  0A 0B 06 0A 0B 06                    db       0Ah, 0Bh, 06h, 0Ah, 0Bh, 06h
435F:0C5B  0A 0B 06 0A 0B 06                    db       0Ah, 0Bh, 06h, 0Ah, 0Bh, 06h
435F:0C61  0A 0B 0B 00 00 0B                    db       0Ah, 0Bh, 0Bh, 00h, 00h, 0Bh
435F:0C67  0B 0A 0A 0A 0A 0B                    db       0Bh, 0Ah, 0Ah, 0Ah, 0Ah, 0Bh
435F:0C6D  0007[0B]                             db      7 dup (0Bh)
435F:0C74  06 06 0B 06 07 0A                    db       06h, 06h, 0Bh, 06h, 07h, 0Ah
435F:0C7A  0A 0A 0B 0B 0B 08                    db       0Ah, 0Ah, 0Bh, 0Bh, 0Bh, 08h
435F:0C80  07 07 0B 07 0B 06                    db       07h, 07h, 0Bh, 07h, 0Bh, 06h
435F:0C86  0B 06 0B 0A 08 08                    db       0Bh, 06h, 0Bh, 0Ah, 08h, 08h
435F:0C8C  07 07 0A 0A 0A 0A                    db       07h, 07h, 0Ah, 0Ah, 0Ah, 0Ah
435F:0C92  0A 00 06 0B 06 0A                    db       0Ah, 00h, 06h, 0Bh, 06h, 0Ah
435F:0C98  03 00 0A 0A 0A 0A                    db       03h, 00h, 0Ah, 0Ah, 0Ah, 0Ah
435F:0C9E  0B 03 0B 0B 0B 0B                    db       0Bh, 03h, 0Bh, 0Bh, 0Bh, 0Bh
435F:0CA4  0A 0B 0A 06 0B 06                    db       0Ah, 0Bh, 0Ah, 06h, 0Bh, 06h
435F:0CAA  0A 03 00 07 07 07                    db       0Ah, 03h, 00h, 07h, 07h, 07h
435F:0CB0  06 0B 0A 0A 0B 0A                    db       06h, 0Bh, 0Ah, 0Ah, 0Bh, 0Ah
435F:0CB6  0B 00 03 00 0A 0B                    db       0Bh, 00h, 03h, 00h, 0Ah, 0Bh
435F:0CBC  0A 0B 0B 00 07 0B                    db       0Ah, 0Bh, 0Bh, 00h, 07h, 0Bh
435F:0CC2  07 00 00 00 0A 07                    db       07h, 00h, 00h, 00h, 0Ah, 07h
435F:0CC8  0B 07 00 03 03 06                    db       0Bh, 07h, 00h, 03h, 03h, 06h
435F:0CCE  0B 06 03 03                          db       0Bh, 06h, 03h, 03h
435F:0CD2  0022[00]                             db      34 dup (0)
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 606

435F:0CF4  05 00 0C 00 0C 00                    db       05h, 00h, 0Ch, 00h, 0Ch, 00h
435F:0CFA  0A 00 09 00 08 00                    db       0Ah, 00h, 09h, 00h, 08h, 00h
435F:0D00  07 00 07 00 04 00                    db       07h, 00h, 07h, 00h, 04h, 00h
435F:0D06  02 00 01 00 0B 00                    db       02h, 00h, 01h, 00h, 0Bh, 00h
435F:0D0C  02 00 0C 00 04 00                    db       02h, 00h, 0Ch, 00h, 04h, 00h
435F:0D12  0D 00 05 00 00 00                    db       0Dh, 00h, 05h, 00h, 00h, 00h
435F:0D18  00 00 0B 00 02 00                    db       00h, 00h, 0Bh, 00h, 02h, 00h
435F:0D1E  0C 00 04 00 0D 00                    db       0Ch, 00h, 04h, 00h, 0Dh, 00h
435F:0D24  05 00 00 00 00 00                    db       05h, 00h, 00h, 00h, 00h, 00h
435F:0D2A  0B 00 02 00 0C 00                    db       0Bh, 00h, 02h, 00h, 0Ch, 00h
435F:0D30  04 00 0D 00 0C 00                    db       04h, 00h, 0Dh, 00h, 0Ch, 00h
435F:0D36  00 00 00 00 0B 00                    db       00h, 00h, 00h, 00h, 0Bh, 00h
435F:0D3C  02 00 0C 00 04 00                    db       02h, 00h, 0Ch, 00h, 04h, 00h
435F:0D42  0D 00 0C 00 00 00                    db       0Dh, 00h, 0Ch, 00h, 00h, 00h
435F:0D48  00 00 0B 00 02 00                    db       00h, 00h, 0Bh, 00h, 02h, 00h
435F:0D4E  0C 00 04 00 0D 00                    db       0Ch, 00h, 04h, 00h, 0Dh, 00h
435F:0D54  0C 00 00 00 00 00                    db       0Ch, 00h, 00h, 00h, 00h, 00h
435F:0D5A  0B 00 0D 00 0C 00                    db       0Bh, 00h, 0Dh, 00h, 0Ch, 00h
435F:0D60  04 00 0D 00 0C 00                    db       04h, 00h, 0Dh, 00h, 0Ch, 00h
435F:0D66  00 00 00 00 0B 00                    db       00h, 00h, 00h, 00h, 0Bh, 00h
435F:0D6C  0D 00 0C 00 04 00                    db       0Dh, 00h, 0Ch, 00h, 04h, 00h
435F:0D72  0D 00 05 00 00 00                    db       0Dh, 00h, 05h, 00h, 00h, 00h
435F:0D78  00 00 0B 00 0D 00                    db       00h, 00h, 0Bh, 00h, 0Dh, 00h
435F:0D7E  0C 00 04 00 0D 00                    db       0Ch, 00h, 04h, 00h, 0Dh, 00h
435F:0D84  05 00 00 00 00 00                    db       05h, 00h, 00h, 00h, 00h, 00h
435F:0D8A  0B 00 0D 00 0C 00                    db       0Bh, 00h, 0Dh, 00h, 0Ch, 00h
435F:0D90  04 00 0D 00 05 00                    db       04h, 00h, 0Dh, 00h, 05h, 00h
435F:0D96  00 00 00 00 0B 00                    db       00h, 00h, 00h, 00h, 0Bh, 00h
435F:0D9C  02 00 0C 00 04 00                    db       02h, 00h, 0Ch, 00h, 04h, 00h
435F:0DA2  0D 00 05                             db       0Dh, 00h, 05h
435F:0DA5  000F[00]                             db      15 dup (0)
435F:0DB4  44 18 A8 13 2C 13                    db       44h, 18h,0A8h, 13h, 2Ch, 13h
435F:0DBA  90 12 4A 18 44 18                    db       90h, 12h, 4Ah, 18h, 44h, 18h
435F:0DC0  28 15 C8 16 18 14                    db       28h, 15h,0C8h, 16h, 18h, 14h
435F:0DC6  4A 18 FF FF F6 55                    db       4Ah, 18h,0FFh,0FFh,0F6h, 55h
435F:0DCC  00 00 F0 FF 00 00                    db       00h, 00h,0F0h,0FFh, 00h, 00h
435F:0DD2  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:0DD8  EF FF FB FF 00                       db      0EFh,0FFh,0FBh,0FFh, 00h
435F:0DDD  000B[00]                             db      11 dup (0)
435F:0DE8  01 00                                db      1, 0
435F:0DEA  000A[00]                             db      10 dup (0)
435F:0DF4  EF FF FB FF EE FF                    db      0EFh,0FFh,0FBh,0FFh,0EEh,0FFh
435F:0DFA  FF FF 3E 56 F2 FF                    db      0FFh,0FFh, 3Eh, 56h,0F2h,0FFh
435F:0E00  00 00 00 00 06 00                    db       00h, 00h, 00h, 00h, 06h, 00h
435F:0E06  00 00 18                             db       00h, 00h, 18h
435F:0E09  0007[00]                             db      7 dup (0)
435F:0E10  03 00 00 00 18 00                    db       03h, 00h, 00h, 00h, 18h, 00h
435F:0E16  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
435F:0E1C  02 00 00 00 18                       db       02h, 00h, 00h, 00h, 18h
435F:0E21  000B[00]                             db      11 dup (0)
435F:0E2C  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:0E32  FF FF F6 55 EF FF                    db      0FFh,0FFh,0F6h, 55h,0EFh,0FFh
435F:0E38  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
435F:0E3E  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:0E44  FB FF EE FF FF FF                    db      0FBh,0FFh,0EEh,0FFh,0FFh,0FFh
435F:0E4A  3E 56 F2 FF 00 00                    db       3Eh, 56h,0F2h,0FFh, 00h, 00h
435F:0E50  01 00 06 00 00 00                    db       01h, 00h, 06h, 00h, 00h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 607

435F:0E56  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:0E5C  01 00 03 00 00 00                    db       01h, 00h, 03h, 00h, 00h, 00h
435F:0E62  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:0E68  01 00 02 00 00 00                    db       01h, 00h, 02h, 00h, 00h, 00h
435F:0E6E  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:0E74  01 00 00 00 00 00                    db       01h, 00h, 00h, 00h, 00h, 00h
435F:0E7A  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:0E80  FF FF F6 55 EF FF                    db      0FFh,0FFh,0F6h, 55h,0EFh,0FFh
435F:0E86  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
435F:0E8C  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:0E92  FB FF EE FF FF FF                    db      0FBh,0FFh,0EEh,0FFh,0FFh,0FFh
435F:0E98  3E 56 F2 FF 00 00                    db       3Eh, 56h,0F2h,0FFh, 00h, 00h
435F:0E9E  02 00 00 00 00 00                    db       02h, 00h, 00h, 00h, 00h, 00h
435F:0EA4  14 00 F0 FF FF FF                    db       14h, 00h,0F0h,0FFh,0FFh,0FFh
435F:0EAA  03 00 00 00 00 00                    db       03h, 00h, 00h, 00h, 00h, 00h
435F:0EB0  15 00 E2 FF 10 00                    db       15h, 00h,0E2h,0FFh, 10h, 00h
435F:0EB6  EA FF 24 00 04 00                    db      0EAh,0FFh, 24h, 00h, 04h, 00h
435F:0EBC  00 00 00 00 16 00                    db       00h, 00h, 00h, 00h, 16h, 00h
435F:0EC2  E6 FF 16 00 05 00                    db      0E6h,0FFh, 16h, 00h, 05h, 00h
435F:0EC8  00 00 00 00 16 00                    db       00h, 00h, 00h, 00h, 16h, 00h
435F:0ECE  E4 FF 17 00 06 00                    db      0E4h,0FFh, 17h, 00h, 06h, 00h
435F:0ED4  00 00 00 00 17 00                    db       00h, 00h, 00h, 00h, 17h, 00h
435F:0EDA  E9 FF 16 00 06 00                    db      0E9h,0FFh, 16h, 00h, 06h, 00h
435F:0EE0  00 00 00 00 17 00                    db       00h, 00h, 00h, 00h, 17h, 00h
435F:0EE6  E9 FF 16 00 06 00                    db      0E9h,0FFh, 16h, 00h, 06h, 00h
435F:0EEC  00 00 00 00 17 00                    db       00h, 00h, 00h, 00h, 17h, 00h
435F:0EF2  E9 FF 16 00 06 00                    db      0E9h,0FFh, 16h, 00h, 06h, 00h
435F:0EF8  00 00 00 00 17 00                    db       00h, 00h, 00h, 00h, 17h, 00h
435F:0EFE  E9 FF 16 00 07 00                    db      0E9h,0FFh, 16h, 00h, 07h, 00h
435F:0F04  00 00 00 00 15 00                    db       00h, 00h, 00h, 00h, 15h, 00h
435F:0F0A  E9 FF 19 00 07 00                    db      0E9h,0FFh, 19h, 00h, 07h, 00h
435F:0F10  00 00 00 00 15 00                    db       00h, 00h, 00h, 00h, 15h, 00h
435F:0F16  E9 FF 19 00 08 00                    db      0E9h,0FFh, 19h, 00h, 08h, 00h
435F:0F1C  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:0F22  00 00 00 00 08 00                    db       00h, 00h, 00h, 00h, 08h, 00h
435F:0F28  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:0F2E  00 00 00 00 FF FF                    db       00h, 00h, 00h, 00h,0FFh,0FFh
435F:0F34  F6 55 EF FF 00 00                    db      0F6h, 55h,0EFh,0FFh, 00h, 00h
435F:0F3A  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:0F40  00 00 00 00 FB FF                    db       00h, 00h, 00h, 00h,0FBh,0FFh
435F:0F46  EE FF FF FF 3E 56                    db      0EEh,0FFh,0FFh,0FFh, 3Eh, 56h
435F:0F4C  02 00 00 00 00 00                    db       02h, 00h, 00h, 00h, 00h, 00h
435F:0F52  14 00 F0 FF FF FF                    db       14h, 00h,0F0h,0FFh,0FFh,0FFh
435F:0F58  03 00 00 00 00 00                    db       03h, 00h, 00h, 00h, 00h, 00h
435F:0F5E  15 00 E2 FF 10 00                    db       15h, 00h,0E2h,0FFh, 10h, 00h
435F:0F64  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:0F6A  16 00 E6 FF 16 00                    db       16h, 00h,0E6h,0FFh, 16h, 00h
435F:0F70  05 00 00 00 00 00                    db       05h, 00h, 00h, 00h, 00h, 00h
435F:0F76  16 00 E4 FF 17 00                    db       16h, 00h,0E4h,0FFh, 17h, 00h
435F:0F7C  05 00 00 00 00 00                    db       05h, 00h, 00h, 00h, 00h, 00h
435F:0F82  16 00 E4 FF 17 00                    db       16h, 00h,0E4h,0FFh, 17h, 00h
435F:0F88  05 00 00 00 00 00                    db       05h, 00h, 00h, 00h, 00h, 00h
435F:0F8E  16 00 E4 FF 17 00                    db       16h, 00h,0E4h,0FFh, 17h, 00h
435F:0F94  05 00 00 00 00 00                    db       05h, 00h, 00h, 00h, 00h, 00h
435F:0F9A  16 00 E4 FF 17 00                    db       16h, 00h,0E4h,0FFh, 17h, 00h
435F:0FA0  05 00 00 00 00 00                    db       05h, 00h, 00h, 00h, 00h, 00h
435F:0FA6  16 00 E4 FF 17 00                    db       16h, 00h,0E4h,0FFh, 17h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 608

435F:0FAC  05 00 00 00 00 00                    db       05h, 00h, 00h, 00h, 00h, 00h
435F:0FB2  16 00 E4 FF 17 00                    db       16h, 00h,0E4h,0FFh, 17h, 00h
435F:0FB8  05 00 00 00 00 00                    db       05h, 00h, 00h, 00h, 00h, 00h
435F:0FBE  16 00 E4 FF 17 00                    db       16h, 00h,0E4h,0FFh, 17h, 00h
435F:0FC4  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:0FCA  16 00 E6 FF 16 00                    db       16h, 00h,0E6h,0FFh, 16h, 00h
435F:0FD0  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:0FD6  16 00 E6 FF 16 00                    db       16h, 00h,0E6h,0FFh, 16h, 00h
435F:0FDC  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:0FE2  16 00 E6 FF 16 00                    db       16h, 00h,0E6h,0FFh, 16h, 00h
435F:0FE8  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:0FEE  16 00 E6 FF 16 00                    db       16h, 00h,0E6h,0FFh, 16h, 00h
435F:0FF4  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:0FFA  16 00 E6 FF 16 00                    db       16h, 00h,0E6h,0FFh, 16h, 00h
435F:1000  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:1006  16 00 E6 FF 16 00                    db       16h, 00h,0E6h,0FFh, 16h, 00h
435F:100C  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:1012  16 00 E6 FF 16 00                    db       16h, 00h,0E6h,0FFh, 16h, 00h
435F:1018  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:101E  16 00 E6 FF 16 00                    db       16h, 00h,0E6h,0FFh, 16h, 00h
435F:1024  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:102A  16 00 E6 FF 16 00                    db       16h, 00h,0E6h,0FFh, 16h, 00h
435F:1030  05 00 00 00 00 00                    db       05h, 00h, 00h, 00h, 00h, 00h
435F:1036  16 00 E4 FF 17 00                    db       16h, 00h,0E4h,0FFh, 17h, 00h
435F:103C  05 00 00 00 00 00                    db       05h, 00h, 00h, 00h, 00h, 00h
435F:1042  16 00 E4 FF 17 00                    db       16h, 00h,0E4h,0FFh, 17h, 00h
435F:1048  05 00 00 00 00 00                    db       05h, 00h, 00h, 00h, 00h, 00h
435F:104E  16 00 E4 FF 17 00                    db       16h, 00h,0E4h,0FFh, 17h, 00h
435F:1054  05 00 00 00 00 00                    db       05h, 00h, 00h, 00h, 00h, 00h
435F:105A  16 00 E4 FF 17 00                    db       16h, 00h,0E4h,0FFh, 17h, 00h
435F:1060  05 00 00 00 00 00                    db       05h, 00h, 00h, 00h, 00h, 00h
435F:1066  16 00 E4 FF 17 00                    db       16h, 00h,0E4h,0FFh, 17h, 00h
435F:106C  05 00 00 00 00 00                    db       05h, 00h, 00h, 00h, 00h, 00h
435F:1072  16 00 E4 FF 17 00                    db       16h, 00h,0E4h,0FFh, 17h, 00h
435F:1078  05 00 00 00 00 00                    db       05h, 00h, 00h, 00h, 00h, 00h
435F:107E  16 00 E4 FF 17 00                    db       16h, 00h,0E4h,0FFh, 17h, 00h
435F:1084  05 00 00 00 00 00                    db       05h, 00h, 00h, 00h, 00h, 00h
435F:108A  16 00 E4 FF 17 00                    db       16h, 00h,0E4h,0FFh, 17h, 00h
435F:1090  ED FF EE FF FF FF                    db      0EDh,0FFh,0EEh,0FFh,0FFh,0FFh
435F:1096  50 56                                db       50h, 56h
435F:1098  0048[00]                             db      72 dup (0)
435F:10E0  01 00                                db      1, 0
435F:10E2  000A[00]                             db      10 dup (0)
435F:10EC  01 00                                db      1, 0
435F:10EE  000A[00]                             db      10 dup (0)
435F:10F8  01 00                                db      1, 0
435F:10FA  000A[00]                             db      10 dup (0)
435F:1104  01 00                                db      1, 0
435F:1106  000A[00]                             db      10 dup (0)
435F:1110  01 00                                db      1, 0
435F:1112  000A[00]                             db      10 dup (0)
435F:111C  02 00                                db      2, 0
435F:111E  000A[00]                             db      10 dup (0)
435F:1128  03 00                                db      3, 0
435F:112A  000A[00]                             db      10 dup (0)
435F:1134  04 00                                db      4, 0
435F:1136  000A[00]                             db      10 dup (0)
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 609

435F:1140  05 00 00                             db      5, 0, 0
435F:1143  0009[00]                             db      9 dup (0)
435F:114C  06                                   db      6
435F:114D  000B[00]                             db      11 dup (0)
435F:1158  07                                   db      7
435F:1159  000B[00]                             db      11 dup (0)
435F:1164  08 00                                db      8, 0
435F:1166  000A[00]                             db      10 dup (0)
435F:1170  09 00                                db      9, 0
435F:1172  000A[00]                             db      10 dup (0)
435F:117C  0A 00                                db       0Ah, 00h
435F:117E  000A[00]                             db      10 dup (0)
435F:1188  0B 00                                db       0Bh, 00h
435F:118A  000A[00]                             db      10 dup (0)
435F:1194  EC FF 0B                             db      0ECh,0FFh, 0Bh
435F:1197  000B[00]                             db      11 dup (0)
435F:11A2  F8 FF 96 11 EE FF                    db      0F8h,0FFh, 96h, 11h,0EEh,0FFh
435F:11A8  F2 FF 00 00 FF FF                    db      0F2h,0FFh, 00h, 00h,0FFh,0FFh
435F:11AE  47 56 00 00 F8 FF                    db       47h, 56h, 00h, 00h,0F8h,0FFh
435F:11B4  00                                   db       00h
435F:11B5  0009[00]                             db      9 dup (0)
435F:11BE  FC FF 00                             db      0FCh,0FFh, 00h
435F:11C1  0009[00]                             db      9 dup (0)
435F:11CA  FD FF 00                             db      0FDh,0FFh, 00h
435F:11CD  0013[00]                             db      19 dup (0)
435F:11E0  FF FF FF 55 EF FF                    db      0FFh,0FFh,0FFh, 55h,0EFh,0FFh
435F:11E6  08                                   db       08h
435F:11E7  000B[00]                             db      11 dup (0)
435F:11F2  FB FF EE FF F2 FF                    db      0FBh,0FFh,0EEh,0FFh,0F2h,0FFh
435F:11F8  00 00 FF FF 47 56                    db       00h, 00h,0FFh,0FFh, 47h, 56h
435F:11FE  02 00 F8 FF 00                       db       02h, 00h,0F8h,0FFh, 00h
435F:1203  0007[00]                             db      7 dup (0)
435F:120A  02 00 FC FF 00                       db       02h, 00h,0FCh,0FFh, 00h
435F:120F  0007[00]                             db      7 dup (0)
435F:1216  02 00 FD FF 00                       db       02h, 00h,0FDh,0FFh, 00h
435F:121B  0007[00]                             db      7 dup (0)
435F:1222  02 00                                db      2, 0
435F:1224  000A[00]                             db      10 dup (0)
435F:122E  FF FF FF 55 EF FF                    db      0FFh,0FFh,0FFh, 55h,0EFh,0FFh
435F:1234  08                                   db       08h
435F:1235  000B[00]                             db      11 dup (0)
435F:1240  FB FF EE FF F2 FF                    db      0FBh,0FFh,0EEh,0FFh,0F2h,0FFh
435F:1246  00 00 FF FF 47 56                    db       00h, 00h,0FFh,0FFh, 47h, 56h
435F:124C  01 00 F8 FF 00                       db       01h, 00h,0F8h,0FFh, 00h
435F:1251  0007[00]                             db      7 dup (0)
435F:1258  01 00 FC FF 00                       db       01h, 00h,0FCh,0FFh, 00h
435F:125D  0007[00]                             db      7 dup (0)
435F:1264  01 00 FD FF 00                       db       01h, 00h,0FDh,0FFh, 00h
435F:1269  0007[00]                             db      7 dup (0)
435F:1270  01 00                                db      1, 0
435F:1272  000A[00]                             db      10 dup (0)
435F:127C  FF FF FF 55 EF FF                    db      0FFh,0FFh,0FFh, 55h,0EFh,0FFh
435F:1282  08                                   db       08h
435F:1283  000B[00]                             db      11 dup (0)
435F:128E  FB FF EF FF FF FF                    db      0FBh,0FFh,0EFh,0FFh,0FFh,0FFh
435F:1294  ED 55 00 00 0C 00                    db      0EDh, 55h, 00h, 00h, 0Ch, 00h
435F:129A  00 00 18 00 00 00                    db       00h, 00h, 18h, 00h, 00h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 610

435F:12A0  00 00 F6 FF 08 00                    db       00h, 00h,0F6h,0FFh, 08h, 00h
435F:12A6  0C 13 01 00 00 00                    db       0Ch, 13h, 01h, 00h, 00h, 00h
435F:12AC  00 00 11 00 F5 FF                    db       00h, 00h, 11h, 00h,0F5h,0FFh
435F:12B2  EF FF F2 FF 03 00                    db      0EFh,0FFh,0F2h,0FFh, 03h, 00h
435F:12B8  02 00 00 00 FE FF                    db       02h, 00h, 00h, 00h,0FEh,0FFh
435F:12BE  12 00 F5 FF EF FF                    db       12h, 00h,0F5h,0FFh,0EFh,0FFh
435F:12C4  03 00 00 00 FC FF                    db       03h, 00h, 00h, 00h,0FCh,0FFh
435F:12CA  12 00 F4 FF EE FF                    db       12h, 00h,0F4h,0FFh,0EEh,0FFh
435F:12D0  03 00 00 00 00 00                    db       03h, 00h, 00h, 00h, 00h, 00h
435F:12D6  12 00 F4 FF EE FF                    db       12h, 00h,0F4h,0FFh,0EEh,0FFh
435F:12DC  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:12E2  11 00 F5 FF EF FF                    db       11h, 00h,0F5h,0FFh,0EFh,0FFh
435F:12E8  05 00 00 00 00 00                    db       05h, 00h, 00h, 00h, 00h, 00h
435F:12EE  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:12F4  F2 FF 00 00 FF FF                    db      0F2h,0FFh, 00h, 00h,0FFh,0FFh
435F:12FA  F6 55 EE FF 00 00                    db      0F6h, 55h,0EEh,0FFh, 00h, 00h
435F:1300  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:1306  00 00 00 00 FB FF                    db       00h, 00h, 00h, 00h,0FBh,0FFh
435F:130C  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
435F:1312  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:1318  FF FF F6 55 EE FF                    db      0FFh,0FFh,0F6h, 55h,0EEh,0FFh
435F:131E  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
435F:1324  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:132A  FB FF EF FF FF FF                    db      0FBh,0FFh,0EFh,0FFh,0FFh,0FFh
435F:1330  C9 55 00 00 0C 00                    db      0C9h, 55h, 00h, 00h, 0Ch, 00h
435F:1336  00 00 18 00 00 00                    db       00h, 00h, 18h, 00h, 00h, 00h
435F:133C  00 00 01 00 00 00                    db       00h, 00h, 01h, 00h, 00h, 00h
435F:1342  00 00 13 00 F2 FF                    db       00h, 00h, 13h, 00h,0F2h,0FFh
435F:1348  16 00 F2 FF 02 00                    db       16h, 00h,0F2h,0FFh, 02h, 00h
435F:134E  02 00 00 00 00 00                    db       02h, 00h, 00h, 00h, 00h, 00h
435F:1354  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:135A  02 00 00 00 00 00                    db       02h, 00h, 00h, 00h, 00h, 00h
435F:1360  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:1366  02 00 00 00 00 00                    db       02h, 00h, 00h, 00h, 00h, 00h
435F:136C  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:1372  F7 FF 07 00 66 13                    db      0F7h,0FFh, 07h, 00h, 66h, 13h
435F:1378  F2 FF 00 00 01 00                    db      0F2h,0FFh, 00h, 00h, 01h, 00h
435F:137E  00 00 00 00 13 00                    db       00h, 00h, 00h, 00h, 13h, 00h
435F:1384  F2 FF 16 00 00 00                    db      0F2h,0FFh, 16h, 00h, 00h, 00h
435F:138A  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:1390  00 00 00 00 FF FF                    db       00h, 00h, 00h, 00h,0FFh,0FFh
435F:1396  F6 55 EE FF 00 00                    db      0F6h, 55h,0EEh,0FFh, 00h, 00h
435F:139C  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:13A2  00 00 00 00 FB FF                    db       00h, 00h, 00h, 00h,0FBh,0FFh
435F:13A8  EF FF FF FF DB 55                    db      0EFh,0FFh,0FFh,0FFh,0DBh, 55h
435F:13AE  00 00 0C 00 00 00                    db       00h, 00h, 0Ch, 00h, 00h, 00h
435F:13B4  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:13BA  F2 FF 01 00 02 00                    db      0F2h,0FFh, 01h, 00h, 02h, 00h
435F:13C0  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:13C6  00 00 00 00 02 00                    db       00h, 00h, 00h, 00h, 02h, 00h
435F:13CC  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:13D2  00 00 00 00 02 00                    db       00h, 00h, 00h, 00h, 02h, 00h
435F:13D8  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:13DE  00 00 00 00 F7 FF                    db       00h, 00h, 00h, 00h,0F7h,0FFh
435F:13E4  06 00 D6 13 F2 FF                    db       06h, 00h,0D6h, 13h,0F2h,0FFh
435F:13EA  00 00 03 00 00 00                    db       00h, 00h, 03h, 00h, 00h, 00h
435F:13F0  00 00 18 00 00 00                    db       00h, 00h, 18h, 00h, 00h, 00h
435F:13F6  00 00 04 00 00 00                    db       00h, 00h, 04h, 00h, 00h, 00h
435F:13FC  00 00 18 00 00 00                    db       00h, 00h, 18h, 00h, 00h, 00h
435F:1402  00 00 FF FF F6 55                    db       00h, 00h,0FFh,0FFh,0F6h, 55h
435F:1408  EE FF 04 00 00 00                    db      0EEh,0FFh, 04h, 00h, 00h, 00h
435F:140E  00 00 18 00 00 00                    db       00h, 00h, 18h, 00h, 00h, 00h
435F:1414  00 00 FB FF EF FF                    db       00h, 00h,0FBh,0FFh,0EFh,0FFh
435F:141A  FF FF E4 55 00 00                    db      0FFh,0FFh,0E4h, 55h, 00h, 00h
435F:1420  00 00 00 00 0C 00                    db       00h, 00h, 00h, 00h, 0Ch, 00h
435F:1426  18 00 F8 FF F6 FF                    db       18h, 00h,0F8h,0FFh,0F6h,0FFh
435F:142C  0D 00 A8 14 01 00                    db       0Dh, 00h,0A8h, 14h, 01h, 00h
435F:1432  00 00 00 00 0D 00                    db       00h, 00h, 00h, 00h, 0Dh, 00h
435F:1438  16 00 0D 00 02 00                    db       16h, 00h, 0Dh, 00h, 02h, 00h
435F:143E  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:1444  00 00 00 00 F4 FF                    db       00h, 00h, 00h, 00h,0F4h,0FFh
435F:144A  03 00 00 00 00 00                    db       03h, 00h, 00h, 00h, 00h, 00h
435F:1450  0E 00 E3 FF 16 00                    db       0Eh, 00h,0E3h,0FFh, 16h, 00h
435F:1456  F1 FF 03 00 E0 14                    db      0F1h,0FFh, 03h, 00h,0E0h, 14h
435F:145C  F0 FF F4 11 04 00                    db      0F0h,0FFh,0F4h, 11h, 04h, 00h
435F:1462  00 00 00 00 0F 00                    db       00h, 00h, 00h, 00h, 0Fh, 00h
435F:1468  E3 FF 16 00 05 00                    db      0E3h,0FFh, 16h, 00h, 05h, 00h
435F:146E  00 00 00 00 10 00                    db       00h, 00h, 00h, 00h, 10h, 00h
435F:1474  E3 FF 0A 00 06 00                    db      0E3h,0FFh, 0Ah, 00h, 06h, 00h
435F:147A  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:1480  00 00 00 00 07                       db       00h, 00h, 00h, 00h, 07h
435F:1485  0007[00]                             db      7 dup (0)
435F:148C  11 00 F6 FF FF FF                    db       11h, 00h,0F6h,0FFh,0FFh,0FFh
435F:1492  F6 55 04 00 00 00                    db      0F6h, 55h, 04h, 00h, 00h, 00h
435F:1498  00 00 18 00 00 00                    db       00h, 00h, 18h, 00h, 00h, 00h
435F:149E  00 00 F7 FF 0D 00                    db       00h, 00h,0F7h,0FFh, 0Dh, 00h
435F:14A4  94 14 FB FF 01 00                    db       94h, 14h,0FBh,0FFh, 01h, 00h
435F:14AA  00 00 00 00 0D 00                    db       00h, 00h, 00h, 00h, 0Dh, 00h
435F:14B0  16 00 0D 00 F4 FF                    db       16h, 00h, 0Dh, 00h,0F4h,0FFh
435F:14B6  01 00 00 00 00 00                    db       01h, 00h, 00h, 00h, 00h, 00h
435F:14BC  0D 00 16 00                          db       0Dh, 00h, 16h, 00h
435F:14C0  0D                                   db      0Dh
435F:14C1  0007[00]                             db      7 dup (0)
435F:14C8  0C 00 18 00 F8 FF                    db       0Ch, 00h, 18h, 00h,0F8h,0FFh
435F:14CE  FF FF F6 55 04 00                    db      0FFh,0FFh,0F6h, 55h, 04h, 00h
435F:14D4  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:14DA  00 00 00 00 FB FF                    db       00h, 00h, 00h, 00h,0FBh,0FFh
435F:14E0  03 00 00 00 00 00                    db       03h, 00h, 00h, 00h, 00h, 00h
435F:14E6  0E 00 E3 FF 16 00                    db       0Eh, 00h,0E3h,0FFh, 16h, 00h
435F:14EC  03 00 00 00 00 00                    db       03h, 00h, 00h, 00h, 00h, 00h
435F:14F2  0E 00 E3 FF 16 00                    db       0Eh, 00h,0E3h,0FFh, 16h, 00h
435F:14F8  03 00 00 00 00 00                    db       03h, 00h, 00h, 00h, 00h, 00h
435F:14FE  0E 00 E3 FF 16 00                    db       0Eh, 00h,0E3h,0FFh, 16h, 00h
435F:1504  01 00 00 00 00 00                    db       01h, 00h, 00h, 00h, 00h, 00h
435F:150A  0D 00 16 00 0D 00                    db       0Dh, 00h, 16h, 00h, 0Dh, 00h
435F:1510  FF FF F6 55 04 00                    db      0FFh,0FFh,0F6h, 55h, 04h, 00h
435F:1516  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:151C  00 00 00 00 F7 FF                    db       00h, 00h, 00h, 00h,0F7h,0FFh
435F:1522  0D 00 94 14 FB FF                    db       0Dh, 00h, 94h, 14h,0FBh,0FFh
435F:1528  EF FF FF FF D2 55                    db      0EFh,0FFh,0FFh,0FFh,0D2h, 55h
435F:152E  00 00 00 00 00 00                    db       00h, 00h, 00h, 00h, 00h, 00h
435F:1534  01 00 17 00 F8 FF                    db       01h, 00h, 17h, 00h,0F8h,0FFh
435F:153A  01 00 00 00 00 00                    db       01h, 00h, 00h, 00h, 00h, 00h
435F:1540  02 00 16 00 05 00                    db       02h, 00h, 16h, 00h, 05h, 00h
435F:1546  F4 FF F6 FF 0B 00                    db      0F4h,0FFh,0F6h,0FFh, 0Bh, 00h
435F:154C  DE 15 02 00 00 00                    db      0DEh, 15h, 02h, 00h, 00h, 00h
435F:1552  00 00 03 00 17 00                    db       00h, 00h, 03h, 00h, 17h, 00h
435F:1558  F0 FF F2 FF 04 00                    db      0F0h,0FFh,0F2h,0FFh, 04h, 00h
435F:155E  03 00 00 00 00 00                    db       03h, 00h, 00h, 00h, 00h, 00h
435F:1564  04 00 08 00 EE FF                    db       04h, 00h, 08h, 00h,0EEh,0FFh
435F:156A  F1 FF 04 00 6C 16                    db      0F1h,0FFh, 04h, 00h, 6Ch, 16h
435F:1570  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:1576  05 00 F0 FF EF FF                    db       05h, 00h,0F0h,0FFh,0EFh,0FFh
435F:157C  F1 FF 01 00 14 16                    db      0F1h,0FFh, 01h, 00h, 14h, 16h
435F:1582  F2 FF 00 00 F0 FF                    db      0F2h,0FFh, 00h, 00h,0F0h,0FFh
435F:1588  A6 11 05 00 00 00                    db      0A6h, 11h, 05h, 00h, 00h, 00h
435F:158E  00 00 06 00 DF FF                    db       00h, 00h, 06h, 00h,0DFh,0FFh
435F:1594  05 00 06 00 00 00                    db       05h, 00h, 06h, 00h, 00h, 00h
435F:159A  00 00 07 00 DF FF                    db       00h, 00h, 07h, 00h,0DFh,0FFh
435F:15A0  07 00 07 00 00 00                    db       07h, 00h, 07h, 00h, 00h, 00h
435F:15A6  00 00 08 00 EF FF                    db       00h, 00h, 08h, 00h,0EFh,0FFh
435F:15AC  07 00 08 00 00 00                    db       07h, 00h, 08h, 00h, 00h, 00h
435F:15B2  00 00 18 00 00 00                    db       00h, 00h, 18h, 00h, 00h, 00h
435F:15B8  00 00 09 00 00 00                    db       00h, 00h, 09h, 00h, 00h, 00h
435F:15BE  00 00 18 00 00 00                    db       00h, 00h, 18h, 00h, 00h, 00h
435F:15C4  00 00 FF FF F6 55                    db       00h, 00h,0FFh,0FFh,0F6h, 55h
435F:15CA  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:15D0  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:15D6  F7 FF 0B 00 CA 15                    db      0F7h,0FFh, 0Bh, 00h,0CAh, 15h
435F:15DC  FB FF 01 00 00 00                    db      0FBh,0FFh, 01h, 00h, 00h, 00h
435F:15E2  00 00 02 00 16 00                    db       00h, 00h, 02h, 00h, 16h, 00h
435F:15E8  05 00 01 00 00 00                    db       05h, 00h, 01h, 00h, 00h, 00h
435F:15EE  00 00 02 00 16 00                    db       00h, 00h, 02h, 00h, 16h, 00h
435F:15F4  05                                   db       05h
435F:15F5  0007[00]                             db      7 dup (0)
435F:15FC  01 00 17 00 F8 FF                    db       01h, 00h, 17h, 00h,0F8h,0FFh
435F:1602  FF FF F6 55 04 00                    db      0FFh,0FFh,0F6h, 55h, 04h, 00h
435F:1608  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:160E  00 00 00 00 FB FF                    db       00h, 00h, 00h, 00h,0FBh,0FFh
435F:1614  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:161A  05 00 F0 FF EF FF                    db       05h, 00h,0F0h,0FFh,0EFh,0FFh
435F:1620  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:1626  05 00 F0 FF EF FF                    db       05h, 00h,0F0h,0FFh,0EFh,0FFh
435F:162C  F2 FF 00 00 07 00                    db      0F2h,0FFh, 00h, 00h, 07h, 00h
435F:1632  00 00 00 00 08 00                    db       00h, 00h, 00h, 00h, 08h, 00h
435F:1638  EF FF 07 00 08 00                    db      0EFh,0FFh, 07h, 00h, 08h, 00h
435F:163E  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:1644  00 00 00 00 09 00                    db       00h, 00h, 00h, 00h, 09h, 00h
435F:164A  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:1650  00 00 00 00 FF FF                    db       00h, 00h, 00h, 00h,0FFh,0FFh
435F:1656  F6 55 04 00 00 00                    db      0F6h, 55h, 04h, 00h, 00h, 00h
435F:165C  00 00 18 00 00 00                    db       00h, 00h, 18h, 00h, 00h, 00h
435F:1662  00 00 F7 FF 0B 00                    db       00h, 00h,0F7h,0FFh, 0Bh, 00h
435F:1668  CA 15 FB FF EA FF                    db      0CAh, 15h,0FBh,0FFh,0EAh,0FFh
435F:166E  2A 00 03 00 00 00                    db       2Ah, 00h, 03h, 00h, 00h, 00h
435F:1674  00 00 04 00 08 00                    db       00h, 00h, 04h, 00h, 08h, 00h
435F:167A  EE FF 03 00 00 00                    db      0EEh,0FFh, 03h, 00h, 00h, 00h
435F:1680  00 00 04 00 08 00                    db       00h, 00h, 04h, 00h, 08h, 00h
435F:1686  EE FF 03 00 00 00                    db      0EEh,0FFh, 03h, 00h, 00h, 00h
435F:168C  00 00 04 00 08 00                    db       00h, 00h, 04h, 00h, 08h, 00h
435F:1692  EE FF F2 FF 00 00                    db      0EEh,0FFh,0F2h,0FFh, 00h, 00h
435F:1698  02 00 00 00 00 00                    db       02h, 00h, 00h, 00h, 00h, 00h
435F:169E  03 00 17 00 F0 FF                    db       03h, 00h, 17h, 00h,0F0h,0FFh
435F:16A4  01 00 00 00 00 00                    db       01h, 00h, 00h, 00h, 00h, 00h
435F:16AA  02 00 16 00 05 00                    db       02h, 00h, 16h, 00h, 05h, 00h
435F:16B0  FF FF F6 55 04 00                    db      0FFh,0FFh,0F6h, 55h, 04h, 00h
435F:16B6  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:16BC  00 00 00 00 F7 FF                    db       00h, 00h, 00h, 00h,0F7h,0FFh
435F:16C2  0B 00 CA 15 FB FF                    db       0Bh, 00h,0CAh, 15h,0FBh,0FFh
435F:16C8  EF FF FF FF C0 55                    db      0EFh,0FFh,0FFh,0FFh,0C0h, 55h
435F:16CE  01 00 00 00 00 00                    db       01h, 00h, 00h, 00h, 00h, 00h
435F:16D4  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:16DA  F6 FF 0C 00 66 17                    db      0F6h,0FFh, 0Ch, 00h, 66h, 17h
435F:16E0  02 00 00 00 00 00                    db       02h, 00h, 00h, 00h, 00h, 00h
435F:16E6  18 00 01 00 FF FF                    db       18h, 00h, 01h, 00h,0FFh,0FFh
435F:16EC  F4 FF F1 FF 05 00                    db      0F4h,0FFh,0F1h,0FFh, 05h, 00h
435F:16F2  F8 17 F2 FF 05 00                    db      0F8h, 17h,0F2h,0FFh, 05h, 00h
435F:16F8  03 00 00 00 00 00                    db       03h, 00h, 00h, 00h, 00h, 00h
435F:16FE  09 00 F0 FF 05 00                    db       09h, 00h,0F0h,0FFh, 05h, 00h
435F:1704  F1 FF 02 00 9E 17                    db      0F1h,0FFh, 02h, 00h, 9Eh, 17h
435F:170A  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:1710  0A 00 DF FF 05 00                    db       0Ah, 00h,0DFh,0FFh, 05h, 00h
435F:1716  F0 FF 42 12 05 00                    db      0F0h,0FFh, 42h, 12h, 05h, 00h
435F:171C  00 00 00 00 0B 00                    db       00h, 00h, 00h, 00h, 0Bh, 00h
435F:1722  EB FF 05 00 F2 FF                    db      0EBh,0FFh, 05h, 00h,0F2h,0FFh
435F:1728  00 00 06 00 00 00                    db       00h, 00h, 06h, 00h, 00h, 00h
435F:172E  00 00 09 00 F2 FF                    db       00h, 00h, 09h, 00h,0F2h,0FFh
435F:1734  03 00 07 00 00 00                    db       03h, 00h, 07h, 00h, 00h, 00h
435F:173A  00 00 18 00 00 00                    db       00h, 00h, 18h, 00h, 00h, 00h
435F:1740  00 00 08 00 00 00                    db       00h, 00h, 08h, 00h, 00h, 00h
435F:1746  00 00 18 00 00 00                    db       00h, 00h, 18h, 00h, 00h, 00h
435F:174C  00 00 FF FF F6 55                    db       00h, 00h,0FFh,0FFh,0F6h, 55h
435F:1752  04 00 00 00 00 00                    db       04h, 00h, 00h, 00h, 00h, 00h
435F:1758  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:175E  F7 FF 0C 00 52 17                    db      0F7h,0FFh, 0Ch, 00h, 52h, 17h
435F:1764  FB FF 01 00 00 00                    db      0FBh,0FFh, 01h, 00h, 00h, 00h
435F:176A  00 00 18 00 00 00                    db       00h, 00h, 18h, 00h, 00h, 00h
435F:1770  00 00 F4 FF 01 00                    db       00h, 00h,0F4h,0FFh, 01h, 00h
435F:1776  00 00 00 00 18                       db       00h, 00h, 00h, 00h, 18h
435F:177B  000B[00]                             db      11 dup (0)
435F:1786  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:178C  FF FF F6 55 04 00                    db      0FFh,0FFh,0F6h, 55h, 04h, 00h
435F:1792  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:1798  00 00 00 00 FB FF                    db       00h, 00h, 00h, 00h,0FBh,0FFh
435F:179E  03 00 00 00 00 00                    db       03h, 00h, 00h, 00h, 00h, 00h
435F:17A4  09 00 F0 FF 05 00                    db       09h, 00h,0F0h,0FFh, 05h, 00h
435F:17AA  03 00 00 00 00 00                    db       03h, 00h, 00h, 00h, 00h, 00h
435F:17B0  09 00 F0 FF 05 00                    db       09h, 00h,0F0h,0FFh, 05h, 00h
435F:17B6  02 00 00 00 00 00                    db       02h, 00h, 00h, 00h, 00h, 00h
435F:17BC  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:17C2  F2 FF 00 00 F4 FF                    db      0F2h,0FFh, 00h, 00h,0F4h,0FFh
435F:17C8  01 00 00 00 00 00                    db       01h, 00h, 00h, 00h, 00h, 00h
435F:17CE  18                                   db       18h
435F:17CF  000B[00]                             db      11 dup (0)
435F:17DA  18 00 00 00 00 00                    db       18h, 00h, 00h, 00h, 00h, 00h
435F:17E0  FF FF F6 55 04 00                    db      0FFh,0FFh,0F6h, 55h, 04h, 00h
435F:17E6  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:17EC  00 00 00 00 F7 FF                    db       00h, 00h, 00h, 00h,0F7h,0FFh
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 614

435F:17F2  0C 00 52 17 FB FF                    db       0Ch, 00h, 52h, 17h,0FBh,0FFh
435F:17F8  EA FF 2A 00 02 00                    db      0EAh,0FFh, 2Ah, 00h, 02h, 00h
435F:17FE  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:1804  00 00 00 00 02 00                    db       00h, 00h, 00h, 00h, 02h, 00h
435F:180A  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:1810  00 00 00 00 02 00                    db       00h, 00h, 00h, 00h, 02h, 00h
435F:1816  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:181C  00 00 00 00 01 00                    db       00h, 00h, 00h, 00h, 01h, 00h
435F:1822  00 00 00 00 18 00                    db       00h, 00h, 00h, 00h, 18h, 00h
435F:1828  00 00 00 00 FF FF                    db       00h, 00h, 00h, 00h,0FFh,0FFh
435F:182E  F6 55 04 00 00 00                    db      0F6h, 55h, 04h, 00h, 00h, 00h
435F:1834  00 00 18 00 00 00                    db       00h, 00h, 18h, 00h, 00h, 00h
435F:183A  00 00 F7 FF 0C 00                    db       00h, 00h,0F7h,0FFh, 0Ch, 00h
435F:1840  52 17 FB FF FA FF                    db       52h, 17h,0FBh,0FFh,0FAh,0FFh
435F:1846  F8 FF 44 18 F9 FF                    db      0F8h,0FFh, 44h, 18h,0F9h,0FFh
435F:184C  F8 FF 4A 18                          db      0F8h,0FFh, 4Ah, 18h

                                seg_d           ends



                                ;-------------------------------------  ega_talk_frame_seg  ----

                        ega_talk_frame_seg      segment byte public
                                                assume cs:ega_talk_frame_seg, ds:ega_talk_frame_seg, ss:stack_seg_k

44E4:0000  00 FF FF 00 00 FF                    db       00h,0FFh,0FFh, 00h, 00h,0FFh
44E4:0006  FF 00 00 FF FF 00                    db      0FFh, 00h, 00h,0FFh,0FFh, 00h
44E4:000C  00                   data_1404       db      0                       ;  xref 273F:3042
44E4:000D  80 80 80 00 00 00                    db       80h, 80h, 80h, 00h, 00h, 00h
44E4:0013  00 00 01 01 00 3F                    db       00h, 00h, 01h, 01h, 00h, 3Fh
44E4:0019  80 80 BF FF 00 00                    db       80h, 80h,0BFh,0FFh, 00h, 00h
44E4:001F  FF FC 01 01 FC 3F                    db      0FFh,0FCh, 01h, 01h,0FCh, 3Fh
44E4:0025  BF 80 9F FF FF 00                    db      0BFh, 80h, 9Fh,0FFh,0FFh, 00h
44E4:002B  FF FC F9 01 FC                       db      0FFh,0FCh,0F9h, 01h,0FCh
44E4:0030  3F                   data_1405       db      3Fh                     ;  xref 273F:3033
44E4:0031  BF 80 80 FF FF 00                    db      0BFh, 80h, 80h,0FFh,0FFh, 00h
44E4:0037  00 FC FD 01 00 00                    db       00h,0FCh,0FDh, 01h, 00h, 00h
44E4:003D  80 80 80 00 00 00                    db       80h, 80h, 80h, 00h, 00h, 00h
44E4:0043  00 00 01 01 00 00                    db       00h, 00h, 01h, 01h, 00h, 00h
44E4:0049  FF FF FF 00 FF FF                    db      0FFh,0FFh,0FFh, 00h,0FFh,0FFh
44E4:004F  FF 00 FF FF FF 00                    db      0FFh, 00h,0FFh,0FFh,0FFh, 00h
44E4:0055  000B[00]                             db      11 dup (0)

                        ega_talk_frame_seg      ends



                                ;----------------------------------------------------  dialog_segment  ----

                           dialog_segment       segment byte public
                                                assume cs:dialog_segment, ds:dailog_segment, ss:stack_seg_k

44EA:0000  0010[E0]                             db      16 dup (0E0h)
44EA:0010  DE DF                                db      0DEh,0DFh
44EA:0012  000E[E1]                             db      14 dup (0E1h)
44EA:0020  DE DE DF E0 DF                       db      0DEh,0DEh,0DFh,0E0h,0DFh
44EA:0025  000C[DF]                             db      12 dup (0DFh)
44EA:0031  DE DE DF E0 DF                       db      0DEh,0DEh,0DFh,0E0h,0DFh
44EA:0036  000A[E0]                             db      10 dup (0E0h)
44EA:0040  DE DF DE DE DF E0                    db      0DEh,0DFh,0DEh,0DEh,0DFh,0E0h
44EA:0046  DF E0 E1                             db      0DFh,0E0h,0E1h
44EA:0049  0007[E1]                             db      7 dup (0E1h)
44EA:0050  DE DE DF DE DE DF                    db      0DEh,0DEh,0DFh,0DEh,0DEh,0DFh
44EA:0056  E0 DF E0 E1                          db      0E0h,0DFh,0E0h,0E1h
44EA:005A  0007[DF]                             db      7 dup (0DFh)
44EA:0061  DE DE DF DE DE DF                    db      0DEh,0DEh,0DFh,0DEh,0DEh,0DFh
44EA:0067  E0 DF E0 E1 DF DE                    db      0E0h,0DFh,0E0h,0E1h,0DFh,0DEh
44EA:006D  DE DE DE E0 DF DE                    db      0DEh,0DEh,0DEh,0E0h,0DFh,0DEh
44EA:0073  DE DF DE DE DF E0                    db      0DEh,0DFh,0DEh,0DEh,0DFh,0E0h
44EA:0079  DF E0 E1 DF DE DD                    db      0DFh,0E0h,0E1h,0DFh,0DEh,0DDh
44EA:007F  DD DC E1 DF DE DE                    db      0DDh,0DCh,0E1h,0DFh,0DEh,0DEh
44EA:0085  DF DE DE DF E0 DF                    db      0DFh,0DEh,0DEh,0DFh,0E0h,0DFh
44EA:008B  E0 E1 DF DE DD DC                    db      0E0h,0E1h,0DFh,0DEh,0DDh,0DCh
44EA:0091  E0 E1 DF DE DE DF                    db      0E0h,0E1h,0DFh,0DEh,0DEh,0DFh
44EA:0097  DE DE DF E0 DF E0                    db      0DEh,0DEh,0DFh,0E0h,0DFh,0E0h
44EA:009D  E1 DF DE DD DD DC                    db      0E1h,0DFh,0DEh,0DDh,0DDh,0DCh
44EA:00A3  DF E0 E1 DF DE DE                    db      0DFh,0E0h,0E1h,0DFh,0DEh,0DEh
44EA:00A9  DF DE DE DF E0 DF                    db      0DFh,0DEh,0DEh,0DFh,0E0h,0DFh
44EA:00AF  E0 E1 DF DE DD DC                    db      0E0h,0E1h,0DFh,0DEh,0DDh,0DCh
44EA:00B5  DF E0 E1 DF DE DE                    db      0DFh,0E0h,0E1h,0DFh,0DEh,0DEh
44EA:00BB  DF DE DE DF E0 DF                    db      0DFh,0DEh,0DEh,0DFh,0E0h,0DFh
44EA:00C1  E0 E1 DF DE DC E0                    db      0E0h,0E1h,0DFh,0DEh,0DCh,0E0h
44EA:00C7  E0 E0 E1 DF DE DE                    db      0E0h,0E0h,0E1h,0DFh,0DEh,0DEh
44EA:00CD  DF DE DE DF E0 DF                    db      0DFh,0DEh,0DEh,0DFh,0E0h,0DFh
44EA:00D3  E0 E1 DF E0 E1 E1                    db      0E0h,0E1h,0DFh,0E0h,0E1h,0E1h
44EA:00D9  E1 E1 E1 DF DE DE                    db      0E1h,0E1h,0E1h,0DFh,0DEh,0DEh
44EA:00DF  DF DE DE DF E0 DF                    db      0DFh,0DEh,0DEh,0DFh,0E0h,0DFh
44EA:00E5  E0 E0                                db      0E0h,0E0h
44EA:00E7  0008[DF]                             db      8 dup (0DFh)
44EA:00EF  DE DE DF DE DE DF                    db      0DEh,0DEh,0DFh,0DEh,0DEh,0DFh
44EA:00F5  E0 DF DF                             db      0E0h,0DFh,0DFh
44EA:00F8  000B[DE]                             db      11 dup (0DEh)
44EA:0103  DF DE DE DF E0 DF                    db      0DFh,0DEh,0DEh,0DFh,0E0h,0DFh
44EA:0109  000B[DD]                             db      11 dup (0DDh)
44EA:0114  DE DF DE DE DF E0                    db      0DEh,0DFh,0DEh,0DEh,0DFh,0E0h
44EA:011A  DF                                   db      0DFh
44EA:011B  000D[DF]                             db      13 dup (0DFh)
44EA:0128  DE DE DF                             db      0DEh,0DEh,0DFh
44EA:012B  0011[DE]                             db      17 dup (0DEh)
44EA:013C  0011[DD]                             db      17 dup (0DDh)
44EA:014D  DE 00 00                             db      0DEh, 00h, 00h

                           dialog_segment       ends



                                ;---------------------------------------  vga_talk_frame_seg  ----

                         vga_talk_frame_seg     segment byte public
                                                assume cs:talk_frame_seg, ds:talk_frame_seg, ss:stack_seg_k

44FF:0000  E0 E0 E0 E0 E0 DF                    db      0E0h,0E0h,0E0h,0E0h,0E0h,0DFh
44FF:0006  DF E1 E1 E1 E1 DE                    db      0DFh,0E1h,0E1h,0E1h,0E1h,0DEh
44FF:000C  DF E0 DD DF E0 DE                    db      0DFh,0E0h,0DDh,0DFh,0E0h,0DEh
44FF:0012  DF E0 DD DC E0 DF                    db      0DFh,0E0h,0DDh,0DCh,0E0h,0DFh
44FF:0018  DE DF E0 DF E0 DF                    db      0DEh,0DFh,0E0h,0DFh,0E0h,0DFh
44FF:001E  DE DF E0 DF DF DF                    db      0DEh,0DFh,0E0h,0DFh,0DFh,0DFh
44FF:0024  DE DE DD DD DD DD                    db      0DEh,0DEh,0DDh,0DDh,0DDh,0DDh
44FF:002A  DD 00 00 00 00 00                    db      0DDh, 00h, 00h, 00h, 00h, 00h

                         vga_talk_frame_seg     ends



                                ;------------------------------------------------- musical_note_seg -----
                                ; This segment contains the raw data for the display of a 14x14 pixel
                                ; music note

                          musical_note_seg      segment byte public


4502:0000  0008[00]                             db      8 dup (0)
4502:0008  FC FA F9 F9 FC                       db      0FCh,0FAh,0F9h,0F9h,0FCh
4502:000D  0007[00]                             db      7 dup (0)
4502:0014  FC FA F9 F9 FA FA                    db      0FCh,0FAh,0F9h,0F9h,0FAh,0FAh
4502:001A  FC 00 00 00 00 00                    db      0FCh, 00h, 00h, 00h, 00h, 00h
4502:0020  FC FA F9 F9 FA FA                    db      0FCh,0FAh,0F9h,0F9h,0FAh,0FAh
4502:0026  FA FA FC 00 00 00                    db      0FAh,0FAh,0FCh, 00h, 00h, 00h
4502:002C  00 FA F9 F9 FA FA                    db       00h,0FAh,0F9h,0F9h,0FAh,0FAh
4502:0032  FA FB FC FA FC 00                    db      0FAh,0FBh,0FCh,0FAh,0FCh, 00h
4502:0038  00 00 00 F9 FA FA                    db       00h, 00h, 00h,0F9h,0FAh,0FAh
4502:003E  FA FB FC FD FB FA                    db      0FAh,0FBh,0FCh,0FDh,0FBh,0FAh
4502:0044  FC 00 00 00 00 F9                    db      0FCh, 00h, 00h, 00h, 00h,0F9h
4502:004A  FA FB FC FD 00 00                    db      0FAh,0FBh,0FCh,0FDh, 00h, 00h
4502:0050  FA FA FC 00 00 00                    db      0FAh,0FAh,0FCh, 00h, 00h, 00h
4502:0056  00 F9 FA FC 00 00                    db       00h,0F9h,0FAh,0FCh, 00h, 00h
4502:005C  00 00 F9 FA FC 00                    db       00h, 00h,0F9h,0FAh,0FCh, 00h
4502:0062  00 00 00 F9 FA FC                    db       00h, 00h, 00h,0F9h,0FAh,0FCh
4502:0068  00 00 00 00 F9 FA                    db       00h, 00h, 00h, 00h,0F9h,0FAh
4502:006E  FC 00 00 00 00 F9                    db      0FCh, 00h, 00h, 00h, 00h,0F9h
4502:0074  FA FC 00 FB F9 F9                    db      0FAh,0FCh, 00h,0FBh,0F9h,0F9h
4502:007A  FA FA FC 00 00 00                    db      0FAh,0FAh,0FCh, 00h, 00h, 00h
4502:0080  00 F9 FA FC 00 F9                    db       00h,0F9h,0FAh,0FCh, 00h,0F9h
4502:0086  F8 F8 F9 FA FD 00                    db      0F8h,0F8h,0F9h,0FAh,0FDh, 00h
4502:008C  00 00 00 F9 FA FC                    db       00h, 00h, 00h,0F9h,0FAh,0FCh
4502:0092  00 FB F9 F9 FA FC                    db       00h,0FBh,0F9h,0F9h,0FAh,0FCh
4502:0098  00 00 FB F9 F9 FA                    db       00h, 00h,0FBh,0F9h,0F9h,0FAh
4502:009E  FA FC                                db      0FAh,0FCh
4502:00A0  0008[00]                             db      8 dup (0)
4502:00A8  F9 F8 F8 F9 FA FD                    db      0F9h,0F8h,0F8h,0F9h,0FAh,0FDh
4502:00AE  0008[00]                             db      8 dup (0)
4502:00B6  FB F9 F9 FA FC                       db      0FBh,0F9h,0F9h,0FAh,0FCh
4502:00BB  0015[00]                             db      21 dup (0)

                          musical_note_seg      ends



                                ;----------------------------------------------  scripts_seg   ----

                                scripts_seg     segment byte public
                                                assume cs:scripts_seg, ds:scripts_seg, ss:stack_seg_k

450F:0000  23 00 00 21 08 00                    db       23h, 00h, 00h, 21h, 08h, 00h
450F:0006  28 23 01 00 21 08                    db       28h, 23h, 01h, 00h, 21h, 08h
450F:000C  00 28 23 18 00 21                    db       00h, 28h, 23h, 18h, 00h, 21h
450F:0012  08 00 1F 24 00 23                    db       08h, 00h, 1Fh, 24h, 00h, 23h
450F:0018  01 00 0A 2B 0C 00                    db       01h, 00h, 0Ah, 2Bh, 0Ch, 00h
450F:001E  23 17 00 21 08 00                    db       23h, 17h, 00h, 21h, 08h, 00h
450F:0024  23 00 00 21 24 00                    db       23h, 00h, 00h, 21h, 24h, 00h
450F:002A  1F 24 00 23 02 00                    db       1Fh, 24h, 00h, 23h, 02h, 00h
450F:0030  0A 2B 06 00 23 28                    db       0Ah, 2Bh, 06h, 00h, 23h, 28h
450F:0036  00 21 08 00 28 23                    db       00h, 21h, 08h, 00h, 28h, 23h
450F:003C  11 04 27 00 00 23                    db       11h, 04h, 27h, 00h, 00h, 23h
450F:0042  13 00 23 18 04 27                    db       13h, 00h, 23h, 18h, 04h, 27h
450F:0048  01 00 23 13 00 27                    db       01h, 00h, 23h, 13h, 00h, 27h
450F:004E  02 00 28 1F 7A 00                    db       02h, 00h, 28h, 1Fh, 7Ah, 00h
450F:0054  23 00 00 0A 2B 27                    db       23h, 00h, 00h, 0Ah, 2Bh, 27h
450F:005A  00 23 01 00 21 7A                    db       00h, 23h, 01h, 00h, 21h, 7Ah
450F:0060  00 23 00 00 21 26                    db       00h, 23h, 00h, 00h, 21h, 26h
450F:0066  00 23 08 00 27 03                    db       00h, 23h, 08h, 00h, 27h, 03h
450F:006C  00 27 04 00 23 02                    db       00h, 27h, 04h, 00h, 23h, 02h
450F:0072  00 27 05 00 23 F2                    db       00h, 27h, 05h, 00h, 23h,0F2h
450F:0078  03 27 00 00 23 37                    db       03h, 27h, 00h, 00h, 23h, 37h
450F:007E  04 27 00 00 28 1F                    db       04h, 27h, 00h, 00h, 28h, 1Fh
450F:0084  7C 00 23 00 00 0A                    db       7Ch, 00h, 23h, 00h, 00h, 0Ah
450F:008A  2B 8E 00 23 01 00                    db       2Bh, 8Eh, 00h, 23h, 01h, 00h
450F:0090  21 7C 00 23 EA 03                    db       21h, 7Ch, 00h, 23h,0EAh, 03h
450F:0096  27 06 00 23 02 00                    db       27h, 06h, 00h, 23h, 02h, 00h
450F:009C  27 03 00 27 04 00                    db       27h, 03h, 00h, 27h, 04h, 00h
450F:00A2  27 07 00 25 22 01                    db       27h, 07h, 00h, 25h, 22h, 01h
450F:00A8  23 00 00 23 14 00                    db       23h, 00h, 00h, 23h, 14h, 00h
450F:00AE  23 5A 2B 27 08 00                    db       23h, 5Ah, 2Bh, 27h, 08h, 00h
450F:00B4  23 00 00 23 13 00                    db       23h, 00h, 00h, 23h, 13h, 00h
450F:00BA  23 C2 2B 27 08 00                    db       23h,0C2h, 2Bh, 27h, 08h, 00h
450F:00C0  23 19 00 27 09 00                    db       23h, 19h, 00h, 27h, 09h, 00h
450F:00C6  23 01 00 21 26 00                    db       23h, 01h, 00h, 21h, 26h, 00h
450F:00CC  23 01 00 21 56 00                    db       23h, 01h, 00h, 21h, 56h, 00h
450F:00D2  23 01 00 21 58 00                    db       23h, 01h, 00h, 21h, 58h, 00h
450F:00D8  23 01 00 21 6E 00                    db       23h, 01h, 00h, 21h, 6Eh, 00h
450F:00DE  23 02 00 21 32 00                    db       23h, 02h, 00h, 21h, 32h, 00h
450F:00E4  23 2A 00 21 70 00                    db       23h, 2Ah, 00h, 21h, 70h, 00h
450F:00EA  23 E8 03 23 10 27                    db       23h,0E8h, 03h, 23h, 10h, 27h
450F:00F0  27 0A 00 1F 0A 00                    db       27h, 0Ah, 00h, 1Fh, 0Ah, 00h
450F:00F6  23 01 00 0A 2B 1E                    db       23h, 01h, 00h, 0Ah, 2Bh, 1Eh
450F:00FC  00 23 61 01 23 10                    db       00h, 23h, 61h, 01h, 23h, 10h
450F:0102  27 27 0B 00 23 60                    db       27h, 27h, 0Bh, 00h, 23h, 60h
450F:0108  01 23 10 27 27 0C                    db       01h, 23h, 10h, 27h, 27h, 0Ch
450F:010E  00 23 02 00 21 24                    db       00h, 23h, 02h, 00h, 21h, 24h
450F:0114  00 23 01 00 21 8E                    db       00h, 23h, 01h, 00h, 21h, 8Eh
450F:011A  00 23 00 00 27 0D                    db       00h, 23h, 00h, 00h, 27h, 0Dh
450F:0120  00 28 23 EB 03 27                    db       00h, 28h, 23h,0EBh, 03h, 27h
450F:0126  00 00 23 EC 03 27                    db       00h, 00h, 23h,0ECh, 03h, 27h
450F:012C  00 00 23 ED 03 27                    db       00h, 00h, 23h,0EDh, 03h, 27h
450F:0132  00 00 23 EE 03 27                    db       00h, 00h, 23h,0EEh, 03h, 27h
450F:0138  00 00 23 EF 03 27                    db       00h, 00h, 23h,0EFh, 03h, 27h
450F:013E  00 00 23 F0 03 27                    db       00h, 00h, 23h,0F0h, 03h, 27h
450F:0144  00 00 23 F1 03 27                    db       00h, 00h, 23h,0F1h, 03h, 27h
450F:014A  00 00 23 36 04 27                    db       00h, 00h, 23h, 36h, 04h, 27h
450F:0150  00 00 23 15 27 27                    db       00h, 00h, 23h, 15h, 27h, 27h
450F:0156  00 00 23 16 27 27                    db       00h, 00h, 23h, 16h, 27h, 27h
450F:015C  00 00 23 17 27 27                    db       00h, 00h, 23h, 17h, 27h, 27h
450F:0162  00 00 23 18 27 27                    db       00h, 00h, 23h, 18h, 27h, 27h
450F:0168  00 00 23 19 27 27                    db       00h, 00h, 23h, 19h, 27h, 27h
450F:016E  00 00 23 1A 27 27                    db       00h, 00h, 23h, 1Ah, 27h, 27h
450F:0174  00 00 23 20 04 27                    db       00h, 00h, 23h, 20h, 04h, 27h
450F:017A  00 00 23 29 04 27                    db       00h, 00h, 23h, 29h, 04h, 27h
450F:0180  00 00 23 1E 27 27                    db       00h, 00h, 23h, 1Eh, 27h, 27h
450F:0186  00 00 23 1F 27 27                    db       00h, 00h, 23h, 1Fh, 27h, 27h
450F:018C  00 00 23 20 27 27                    db       00h, 00h, 23h, 20h, 27h, 27h
450F:0192  00 00 23 21 27 27                    db       00h, 00h, 23h, 21h, 27h, 27h
450F:0198  00 00 23 22 27 27                    db       00h, 00h, 23h, 22h, 27h, 27h
450F:019E  00 00 23 25 27 27                    db       00h, 00h, 23h, 25h, 27h, 27h
450F:01A4  00 00 23 26 27 27                    db       00h, 00h, 23h, 26h, 27h, 27h
450F:01AA  00 00 28 27 0E 00                    db       00h, 00h, 28h, 27h, 0Eh, 00h
450F:01B0  28 1F 8A 00 23 00                    db       28h, 1Fh, 8Ah, 00h, 23h, 00h
450F:01B6  00 0A 2B 1B 00 23                    db       00h, 0Ah, 2Bh, 1Bh, 00h, 23h
450F:01BC  03 00 27 05 00 27                    db       03h, 00h, 27h, 05h, 00h, 27h
450F:01C2  0F 00 23 01 00 21                    db       0Fh, 00h, 23h, 01h, 00h, 21h
450F:01C8  8A 00 23 01 00 23                    db       8Ah, 00h, 23h, 01h, 00h, 23h
450F:01CE  01 00 23 D7 01 27                    db       01h, 00h, 23h,0D7h, 01h, 27h
450F:01D4  08 00 28 23 9C 0C                    db       08h, 00h, 28h, 23h, 9Ch, 0Ch
450F:01DA  27 10 00 28 1F 8C                    db       27h, 10h, 00h, 28h, 1Fh, 8Ch
450F:01E0  00 23 00 00 0A 2B                    db       00h, 23h, 00h, 00h, 0Ah, 2Bh
450F:01E6  15 00 27 11 00 23                    db       15h, 00h, 27h, 11h, 00h, 23h
450F:01EC  01 00 21 8C 00 23                    db       01h, 00h, 21h, 8Ch, 00h, 23h
450F:01F2  01 00 23 01 00 23                    db       01h, 00h, 23h, 01h, 00h, 23h
450F:01F8  FE 01 27 08 00 28                    db      0FEh, 01h, 27h, 08h, 00h, 28h
450F:01FE  23 16 10 27 10 00                    db       23h, 16h, 10h, 27h, 10h, 00h
450F:0204  28 25 22 01 23 E9                    db       28h, 25h, 22h, 01h, 23h,0E9h
450F:020A  03 27 00 00 1F 4A                    db       03h, 27h, 00h, 00h, 1Fh, 4Ah
450F:0210  00 23 01 00 0A 2B                    db       00h, 23h, 01h, 00h, 0Ah, 2Bh
450F:0216  06 00 23 02 00 21                    db       06h, 00h, 23h, 02h, 00h, 21h
450F:021C  4A 00 28 1F 02 00                    db       4Ah, 00h, 28h, 1Fh, 02h, 00h
450F:0222  23 E8 03 0C 2B 09                    db       23h,0E8h, 03h, 0Ch, 2Bh, 09h
450F:0228  00 23 2A 00 21 08                    db       00h, 23h, 2Ah, 00h, 21h, 08h
450F:022E  00 2D 09 00 23 04                    db       00h, 2Dh, 09h, 00h, 23h, 04h
450F:0234  00 21 0E 00 27 12                    db       00h, 21h, 0Eh, 00h, 27h, 12h
450F:023A  00 28 1F 02 00 23                    db       00h, 28h, 1Fh, 02h, 00h, 23h
450F:0240  E8 03 0C 2B 09 00                    db      0E8h, 03h, 0Ch, 2Bh, 09h, 00h
450F:0246  23 2A 00 21 08 00                    db       23h, 2Ah, 00h, 21h, 08h, 00h
450F:024C  2D 09 00 23 23 00                    db       2Dh, 09h, 00h, 23h, 23h, 00h
450F:0252  21 0E 00 27 12 00                    db       21h, 0Eh, 00h, 27h, 12h, 00h
450F:0258  28 1F 12 00 23 01                    db       28h, 1Fh, 12h, 00h, 23h, 01h
450F:025E  00 0A 2B 22 00 1F                    db       00h, 0Ah, 2Bh, 22h, 00h, 1Fh
450F:0264  02 00 23 E9 03 0C                    db       02h, 00h, 23h,0E9h, 03h, 0Ch
450F:026A  2B 09 00 23 06 00                    db       2Bh, 09h, 00h, 23h, 06h, 00h
450F:0270  21 08 00 2D 0F 00                    db       21h, 08h, 00h, 2Dh, 0Fh, 00h
450F:0276  23 73 01 23 E9 03                    db       23h, 73h, 01h, 23h,0E9h, 03h
450F:027C  27 13 00 23 01 00                    db       27h, 13h, 00h, 23h, 01h, 00h
450F:0282  21 08 00 28 1F 02                    db       21h, 08h, 00h, 28h, 1Fh, 02h
450F:0288  00 23 EA 03 0A 2B                    db       00h, 23h,0EAh, 03h, 0Ah, 2Bh
450F:028E  06 00 23 00 00 21                    db       06h, 00h, 23h, 00h, 00h, 21h
450F:0294  12 00 1F 12 00 23                    db       12h, 00h, 1Fh, 12h, 00h, 23h
450F:029A  01 00 0A 2B 09 00                    db       01h, 00h, 0Ah, 2Bh, 09h, 00h
450F:02A0  23 06 00 21 08 00                    db       23h, 06h, 00h, 21h, 08h, 00h
450F:02A6  2D 0D 00 1F 02 00                    db       2Dh, 0Dh, 00h, 1Fh, 02h, 00h
450F:02AC  23 E8 03 0A 2B 03                    db       23h,0E8h, 03h, 0Ah, 2Bh, 03h
450F:02B2  00 27 14 00 28 1F                    db       00h, 27h, 14h, 00h, 28h, 1Fh
450F:02B8  02 00 23 EA 03 0A                    db       02h, 00h, 23h,0EAh, 03h, 0Ah
450F:02BE  2B 06 00 23 01 00                    db       2Bh, 06h, 00h, 23h, 01h, 00h
450F:02C4  21 12 00 23 15 00                    db       21h, 12h, 00h, 23h, 15h, 00h
450F:02CA  27 15 00 28 23 11                    db       27h, 15h, 00h, 28h, 23h, 11h
450F:02D0  27 27 16 00 1F 0A                    db       27h, 27h, 16h, 00h, 1Fh, 0Ah
450F:02D6  00 23 00 00 0A 2B                    db       00h, 23h, 00h, 00h, 0Ah, 2Bh
450F:02DC  09 00 23 88 00 27                    db       09h, 00h, 23h, 88h, 00h, 27h
450F:02E2  10 00 2D 10 00 1F                    db       10h, 00h, 2Dh, 10h, 00h, 1Fh
450F:02E8  02 00 23 E8 03 0A                    db       02h, 00h, 23h,0E8h, 03h, 0Ah
450F:02EE  2B 06 00 23 87 00                    db       2Bh, 06h, 00h, 23h, 87h, 00h
450F:02F4  27 10 00 28 23 11                    db       27h, 10h, 00h, 28h, 23h, 11h
450F:02FA  27 27 16 00 1F 0A                    db       27h, 27h, 16h, 00h, 1Fh, 0Ah
450F:0300  00 23 00 00 0A 2B                    db       00h, 23h, 00h, 00h, 0Ah, 2Bh
450F:0306  13 00 1F 02 00 23                    db       13h, 00h, 1Fh, 02h, 00h, 23h
450F:030C  E8 03 0A 2B 06 00                    db      0E8h, 03h, 0Ah, 2Bh, 06h, 00h
450F:0312  23 88 00 27 10 00                    db       23h, 88h, 00h, 27h, 10h, 00h
450F:0318  2D 09 00 25 8B 03                    db       2Dh, 09h, 00h, 25h, 8Bh, 03h
450F:031E  23 01 00 21 12 00                    db       23h, 01h, 00h, 21h, 12h, 00h
450F:0324  28 23 11 27 27 16                    db       28h, 23h, 11h, 27h, 27h, 16h
450F:032A  00 1F 0A 00 23 00                    db       00h, 1Fh, 0Ah, 00h, 23h, 00h
450F:0330  00 0A 2B 13 00 1F                    db       00h, 0Ah, 2Bh, 13h, 00h, 1Fh
450F:0336  02 00 23 E8 03 0A                    db       02h, 00h, 23h,0E8h, 03h, 0Ah
450F:033C  2B 06 00 23 88 00                    db       2Bh, 06h, 00h, 23h, 88h, 00h
450F:0342  27 10 00 2D 42 00                    db       27h, 10h, 00h, 2Dh, 42h, 00h
450F:0348  1F 02 00 23 E8 03                    db       1Fh, 02h, 00h, 23h,0E8h, 03h
450F:034E  0A 2B 22 00 1F 12                    db       0Ah, 2Bh, 22h, 00h, 1Fh, 12h
450F:0354  00 23 00 00 0A 2B                    db       00h, 23h, 00h, 00h, 0Ah, 2Bh
450F:035A  09 00 23 6A 01 27                    db       09h, 00h, 23h, 6Ah, 01h, 27h
450F:0360  10 00 2D 0C 00 23                    db       10h, 00h, 2Dh, 0Ch, 00h, 23h
450F:0366  19 00 27 0D 00 23                    db       19h, 00h, 27h, 0Dh, 00h, 23h
450F:036C  69 01 27 10 00 2D                    db       69h, 01h, 27h, 10h, 00h, 2Dh
450F:0372  10 00 1F 12 00 23                    db       10h, 00h, 1Fh, 12h, 00h, 23h
450F:0378  01 00 0A 2B 06 00                    db       01h, 00h, 0Ah, 2Bh, 06h, 00h
450F:037E  23 19 00 27 0D 00                    db       23h, 19h, 00h, 27h, 0Dh, 00h
450F:0384  23 00 00 21 12 00                    db       23h, 00h, 00h, 21h, 12h, 00h
450F:038A  28 1F 02 00 23 E8                    db       28h, 1Fh, 02h, 00h, 23h,0E8h
450F:0390  03 0A 2B 4E 00 27                    db       03h, 0Ah, 2Bh, 4Eh, 00h, 27h
450F:0396  17 00 1F 0A 00 23                    db       17h, 00h, 1Fh, 0Ah, 00h, 23h
450F:039C  00 00 0A 2B 22 00                    db       00h, 00h, 0Ah, 2Bh, 22h, 00h
450F:03A2  1F 12 00 23 00 00                    db       1Fh, 12h, 00h, 23h, 00h, 00h
450F:03A8  0A 2B 0F 00 23 19                    db       0Ah, 2Bh, 0Fh, 00h, 23h, 19h
450F:03AE  00 27 0D 00 23 D2                    db       00h, 27h, 0Dh, 00h, 23h,0D2h
450F:03B4  00 27 10 00 2D 06                    db       00h, 27h, 10h, 00h, 2Dh, 06h
450F:03BA  00 23 68 01 27 10                    db       00h, 23h, 68h, 01h, 27h, 10h
450F:03C0  00 2D 1F 00 1F 12                    db       00h, 2Dh, 1Fh, 00h, 1Fh, 12h
450F:03C6  00 23 00 00 0A 2B                    db       00h, 23h, 00h, 00h, 0Ah, 2Bh
450F:03CC  0F 00 23 19 00 27                    db       0Fh, 00h, 23h, 19h, 00h, 27h
450F:03D2  0D 00 23 43 01 27                    db       0Dh, 00h, 23h, 43h, 01h, 27h
450F:03D8  10 00 2D 06 00 23                    db       10h, 00h, 2Dh, 06h, 00h, 23h
450F:03DE  68 01 27 10 00 28                    db       68h, 01h, 27h, 10h, 00h, 28h
450F:03E4  1F 14 00 23 00 00                    db       1Fh, 14h, 00h, 23h, 00h, 00h
450F:03EA  0A 2B 24 00 23 0F                    db       0Ah, 2Bh, 24h, 00h, 23h, 0Fh
450F:03F0  04 27 06 00 23 38                    db       04h, 27h, 06h, 00h, 23h, 38h
450F:03F6  75 27 06 00 23 0E                    db       75h, 27h, 06h, 00h, 23h, 0Eh
450F:03FC  04 27 00 00 23 01                    db       04h, 27h, 00h, 00h, 23h, 01h
450F:0402  00 21 14 00 23 A8                    db       00h, 21h, 14h, 00h, 23h,0A8h
450F:0408  00 27 10 00 23 01                    db       00h, 27h, 10h, 00h, 23h, 01h
450F:040E  00 21 08 00 28 1F                    db       00h, 21h, 08h, 00h, 28h, 1Fh
450F:0414  02 00 23 E8 03 0A                    db       02h, 00h, 23h,0E8h, 03h, 0Ah
450F:041A  2B 09 00 23 01 10                    db       2Bh, 09h, 00h, 23h, 01h, 10h
450F:0420  27 10 00 2D 09 00                    db       27h, 10h, 00h, 2Dh, 09h, 00h
450F:0426  23 1B 10 1F 02 00                    db       23h, 1Bh, 10h, 1Fh, 02h, 00h
450F:042C  27 13 00 28 1F 02                    db       27h, 13h, 00h, 28h, 1Fh, 02h
450F:0432  00 23 E8 03 0A 2B                    db       00h, 23h,0E8h, 03h, 0Ah, 2Bh
450F:0438  0F 00 23 F7 0F 27                    db       0Fh, 00h, 23h,0F7h, 0Fh, 27h
450F:043E  10 00 23 01 00 21                    db       10h, 00h, 23h, 01h, 00h, 21h
450F:0444  08 00 2D 06 00 23                    db       08h, 00h, 2Dh, 06h, 00h, 23h
450F:044A  11 00 21 08 00 28                    db       11h, 00h, 21h, 08h, 00h, 28h
450F:0450  23 11 00 21 08 00                    db       23h, 11h, 00h, 21h, 08h, 00h
450F:0456  1F 04 00 23 36 27                    db       1Fh, 04h, 00h, 23h, 36h, 27h
450F:045C  0A 2B 3D 00 1F 02                    db       0Ah, 2Bh, 3Dh, 00h, 1Fh, 02h
450F:0462  00 23 E8 03 0A 2B                    db       00h, 23h,0E8h, 03h, 0Ah, 2Bh
450F:0468  06 00 23 E5 0F 27                    db       06h, 00h, 23h,0E5h, 0Fh, 27h
450F:046E  10 00 23 4D 75 27                    db       10h, 00h, 23h, 4Dh, 75h, 27h
450F:0474  06 00 23 E4 0F 23                    db       06h, 00h, 23h,0E4h, 0Fh, 23h
450F:047A  4E 75 27 0B 00 23                    db       4Eh, 75h, 27h, 0Bh, 00h, 23h
450F:0480  39 04 27 00 00 23                    db       39h, 04h, 27h, 00h, 00h, 23h
450F:0486  01 00 21 7E 00 23                    db       01h, 00h, 21h, 7Eh, 00h, 23h
450F:048C  00 00 21 08 00 23                    db       00h, 00h, 21h, 08h, 00h, 23h
450F:0492  00 00 23 5F 00 23                    db       00h, 00h, 23h, 5Fh, 00h, 23h
450F:0498  9E 04 27 08 00 28                    db       9Eh, 04h, 27h, 08h, 00h, 28h
450F:049E  1F 80 00 23 01 00                    db       1Fh, 80h, 00h, 23h, 01h, 00h
450F:04A4  0A 2B 0C 00 23 04                    db       0Ah, 2Bh, 0Ch, 00h, 23h, 04h
450F:04AA  00 23 38 04 27 01                    db       00h, 23h, 38h, 04h, 27h, 01h
450F:04B0  00 2D 09 00 23 05                    db       00h, 2Dh, 09h, 00h, 23h, 05h
450F:04B6  00 23 39 04 27 01                    db       00h, 23h, 39h, 04h, 27h, 01h
450F:04BC  00 23 02 00 21 7E                    db       00h, 23h, 02h, 00h, 21h, 7Eh
450F:04C2  00 23 FB 0F 23 4E                    db       00h, 23h,0FBh, 0Fh, 23h, 4Eh
450F:04C8  75 27 0B 00 23 2D                    db       75h, 27h, 0Bh, 00h, 23h, 2Dh
450F:04CE  00 27 15 00 28 1F                    db       00h, 27h, 15h, 00h, 28h, 1Fh
450F:04D4  9C 00 23 00 00 0A                    db       9Ch, 00h, 23h, 00h, 00h, 0Ah
450F:04DA  2B 0C 00 23 01 00                    db       2Bh, 0Ch, 00h, 23h, 01h, 00h
450F:04E0  23 3C 00 23 EA 04                    db       23h, 3Ch, 00h, 23h,0EAh, 04h
450F:04E6  27 08 00 28 23 0E                    db       27h, 08h, 00h, 28h, 23h, 0Eh
450F:04EC  00 23 53 04 27 01                    db       00h, 23h, 53h, 04h, 27h, 01h
450F:04F2  00 23 01 00 21 9C                    db       00h, 23h, 01h, 00h, 21h, 9Ch
450F:04F8  00 28 23 D6 00 23                    db       00h, 28h, 23h,0D6h, 00h, 23h
450F:04FE  E8 03 27 13 00 28                    db      0E8h, 03h, 27h, 13h, 00h, 28h
450F:0504  1F 02 00 23 E8 03                    db       1Fh, 02h, 00h, 23h,0E8h, 03h
450F:050A  0A 2B 0F 00 23 A9                    db       0Ah, 2Bh, 0Fh, 00h, 23h,0A9h
450F:0510  00 27 10 00 23 01                    db       00h, 27h, 10h, 00h, 23h, 01h
450F:0516  00 21 08 00 2D 03                    db       00h, 21h, 08h, 00h, 2Dh, 03h
450F:051C  00 27 18 00 28 25                    db       00h, 27h, 18h, 00h, 28h, 25h
450F:0522  1F 02 1F 0E 00 23                    db       1Fh, 02h, 1Fh, 0Eh, 00h, 23h
450F:0528  00 00 0C 2B 06 00                    db       00h, 00h, 0Ch, 2Bh, 06h, 00h
450F:052E  23 01 00 21 0E 00                    db       23h, 01h, 00h, 21h, 0Eh, 00h
450F:0534  1F 02 00 23 E9 03                    db       1Fh, 02h, 00h, 23h,0E9h, 03h
450F:053A  0A 2B 16 00 27 17                    db       0Ah, 2Bh, 16h, 00h, 27h, 17h
450F:0540  00 1F 0A 00 23 00                    db       00h, 1Fh, 0Ah, 00h, 23h, 00h
450F:0546  00 0A 2B 09 00 23                    db       00h, 0Ah, 2Bh, 09h, 00h, 23h
450F:054C  9D 00 23 E9 03 27                    db       9Dh, 00h, 23h,0E9h, 03h, 27h
450F:0552  13 00 28 1F 02 00                    db       13h, 00h, 28h, 1Fh, 02h, 00h
450F:0558  23 E9 03 0A 2B 18                    db       23h,0E9h, 03h, 0Ah, 2Bh, 18h
450F:055E  00 23 08 00 23 F3                    db       00h, 23h, 08h, 00h, 23h,0F3h
450F:0564  00 23 0C 01 27 19                    db       00h, 23h, 0Ch, 01h, 27h, 19h
450F:056A  00 27 1A 00 23 14                    db       00h, 27h, 1Ah, 00h, 23h, 14h
450F:0570  27 27 06 00 2D 18                    db       27h, 27h, 06h, 00h, 2Dh, 18h
450F:0576  00 23 00 00 27 05                    db       00h, 23h, 00h, 00h, 27h, 05h
450F:057C  00 23 07 00 23 80                    db       00h, 23h, 07h, 00h, 23h, 80h
450F:0582  00 23 88 00 27 19                    db       00h, 23h, 88h, 00h, 27h, 19h
450F:0588  00 23 01 00 21 98                    db       00h, 23h, 01h, 00h, 21h, 98h
450F:058E  00 28 1F 84 00 23                    db       00h, 28h, 1Fh, 84h, 00h, 23h
450F:0594  00 00 0A 2B 17 00                    db       00h, 00h, 0Ah, 2Bh, 17h, 00h
450F:059A  23 2F 00 23 00 20                    db       23h, 2Fh, 00h, 23h, 00h, 20h
450F:05A0  02 23 9A 01 23 40                    db       02h, 23h, 9Ah, 01h, 23h, 40h
450F:05A6  01 23 08 00 04 27                    db       01h, 23h, 08h, 00h, 04h, 27h
450F:05AC  19 00 2D 14 00 23                    db       19h, 00h, 2Dh, 14h, 00h, 23h
450F:05B2  31 00 23 00 20 02                    db       31h, 00h, 23h, 00h, 20h, 02h
450F:05B8  23 9A 01 23 40 01                    db       23h, 9Ah, 01h, 23h, 40h, 01h
450F:05BE  23 08 00 04 27 19                    db       23h, 08h, 00h, 04h, 27h, 19h
450F:05C4  00 28 1F 02 00 23                    db       00h, 28h, 1Fh, 02h, 00h, 23h
450F:05CA  E8 03 0A 1F 1C 00                    db      0E8h, 03h, 0Ah, 1Fh, 1Ch, 00h
450F:05D0  23 00 00 0A 1A 2B                    db       23h, 00h, 00h, 0Ah, 1Ah, 2Bh
450F:05D6  19 00 1F 20 00 23                    db       19h, 00h, 1Fh, 20h, 00h, 23h
450F:05DC  00 00 0A 2B 0F 00                    db       00h, 00h, 0Ah, 2Bh, 0Fh, 00h
450F:05E2  23 01 00 21 20 00                    db       23h, 01h, 00h, 21h, 20h, 00h
450F:05E8  23 98 00 23 11 04                    db       23h, 98h, 00h, 23h, 11h, 04h
450F:05EE  27 13 00 28 1F 02                    db       27h, 13h, 00h, 28h, 1Fh, 02h
450F:05F4  00 23 E8 03 0A 2B                    db       00h, 23h,0E8h, 03h, 0Ah, 2Bh
450F:05FA  53 00 1F 84 00 23                    db       53h, 00h, 1Fh, 84h, 00h, 23h
450F:0600  00 00 0A 2B 40 00                    db       00h, 00h, 0Ah, 2Bh, 40h, 00h
450F:0606  1F 82 00 23 01 00                    db       1Fh, 82h, 00h, 23h, 01h, 00h
450F:060C  0A 2B 2D 00 23 06                    db       0Ah, 2Bh, 2Dh, 00h, 23h, 06h
450F:0612  00 23 E8 03 27 1B                    db       00h, 23h,0E8h, 03h, 27h, 1Bh
450F:0618  00 23 07 00 23 3A                    db       00h, 23h, 07h, 00h, 23h, 3Ah
450F:061E  04 27 01 00 23 07                    db       04h, 27h, 01h, 00h, 23h, 07h
450F:0624  00 23 3B 04 27 01                    db       00h, 23h, 3Bh, 04h, 27h, 01h
450F:062A  00 23 07 00 23 3C                    db       00h, 23h, 07h, 00h, 23h, 3Ch
450F:0630  04 27 01 00 23 01                    db       04h, 27h, 01h, 00h, 23h, 01h
450F:0636  00 21 84 00 2D 06                    db       00h, 21h, 84h, 00h, 2Dh, 06h
450F:063C  00 23 EC 0F 27 10                    db       00h, 23h,0ECh, 0Fh, 27h, 10h
450F:0642  00 2D 06 00 23 EC                    db       00h, 2Dh, 06h, 00h, 23h,0ECh
450F:0648  0F 27 10 00 2D 09                    db       0Fh, 27h, 10h, 00h, 2Dh, 09h
450F:064E  00 23 EE 0F 1F 02                    db       00h, 23h,0EEh, 0Fh, 1Fh, 02h
450F:0654  00 27 13 00 28 23                    db       00h, 27h, 13h, 00h, 28h, 23h
450F:065A  11 00 21 08 00 1F                    db       11h, 00h, 21h, 08h, 00h, 1Fh
450F:0660  04 00 23 35 27 0A                    db       04h, 00h, 23h, 35h, 27h, 0Ah
450F:0666  2B 25 00 23 01 00                    db       2Bh, 25h, 00h, 23h, 01h, 00h
450F:066C  21 9A 00 23 00 00                    db       21h, 9Ah, 00h, 23h, 00h, 00h
450F:0672  21 08 00 23 35 27                    db       21h, 08h, 00h, 23h, 35h, 27h
450F:0678  27 06 00 1F 02 00                    db       27h, 06h, 00h, 1Fh, 02h, 00h
450F:067E  23 E8 03 0A 2B 09                    db       23h,0E8h, 03h, 0Ah, 2Bh, 09h
450F:0684  00 23 11 10 27 10                    db       00h, 23h, 11h, 10h, 27h, 10h
450F:068A  00 27 1C 00 28 1F                    db       00h, 27h, 1Ch, 00h, 28h, 1Fh
450F:0690  9A 00 23 01 00 0A                    db       9Ah, 00h, 23h, 01h, 00h, 0Ah
450F:0696  2B 3D 00 1F 02 00                    db       2Bh, 3Dh, 00h, 1Fh, 02h, 00h
450F:069C  23 E8 03 0A 2B 0C                    db       23h,0E8h, 03h, 0Ah, 2Bh, 0Ch
450F:06A2  00 23 08 00 23 E8                    db       00h, 23h, 08h, 00h, 23h,0E8h
450F:06A8  03 27 1B 00 2D 09                    db       03h, 27h, 1Bh, 00h, 2Dh, 09h
450F:06AE  00 23 09 00 1F 02                    db       00h, 23h, 09h, 00h, 1Fh, 02h
450F:06B4  00 27 1B 00 23 0A                    db       00h, 27h, 1Bh, 00h, 23h, 0Ah
450F:06BA  00 23 3D 04 27 01                    db       00h, 23h, 3Dh, 04h, 27h, 01h
450F:06C0  00 23 01 00 21 82                    db       00h, 23h, 01h, 00h, 21h, 82h
450F:06C6  00 23 00 00 23 05                    db       00h, 23h, 00h, 00h, 23h, 05h
450F:06CC  00 23 F6 06 27 08                    db       00h, 23h,0F6h, 06h, 27h, 08h
450F:06D2  00 2D 1F 00 1F 02                    db       00h, 2Dh, 1Fh, 00h, 1Fh, 02h
450F:06D8  00 23 E8 03 0A 2B                    db       00h, 23h,0E8h, 03h, 0Ah, 2Bh
450F:06DE  09 00 23 0F 10 27                    db       09h, 00h, 23h, 0Fh, 10h, 27h
450F:06E4  10 00 2D 0C 00 23                    db       10h, 00h, 2Dh, 0Ch, 00h, 23h
450F:06EA  10 10 23 E8 03 23                    db       10h, 10h, 23h,0E8h, 03h, 23h
450F:06F0  F2 03 27 1D 00 28                    db      0F2h, 03h, 27h, 1Dh, 00h, 28h
450F:06F6  23 00 00 21 82 00                    db       23h, 00h, 00h, 21h, 82h, 00h
450F:06FC  28 23 01 00 21 20                    db       28h, 23h, 01h, 00h, 21h, 20h
450F:0702  00 23 92 10 21 08                    db       00h, 23h, 92h, 10h, 21h, 08h
450F:0708  00 28 23 01 00 21                    db       00h, 28h, 23h, 01h, 00h, 21h
450F:070E  20 00 1F 1C 00 23                    db       20h, 00h, 1Fh, 1Ch, 00h, 23h
450F:0714  00 00 0C 2B 09 00                    db       00h, 00h, 0Ch, 2Bh, 09h, 00h
450F:071A  23 11 00 21 08 00                    db       23h, 11h, 00h, 21h, 08h, 00h
450F:0720  2D 89 00 23 01 00                    db       2Dh, 89h, 00h, 23h, 01h, 00h
450F:0726  23 11 04 27 1E 00                    db       23h, 11h, 04h, 27h, 1Eh, 00h
450F:072C  1F 02 00 23 EA 03                    db       1Fh, 02h, 00h, 23h,0EAh, 03h
450F:0732  0A 2B 24 00 23 00                    db       0Ah, 2Bh, 24h, 00h, 23h, 00h
450F:0738  00 23 EA 03 27 1B                    db       00h, 23h,0EAh, 03h, 27h, 1Bh
450F:073E  00 23 97 00 23 11                    db       00h, 23h, 97h, 00h, 23h, 11h
450F:0744  04 23 EA 03 27 1F                    db       04h, 23h,0EAh, 03h, 27h, 1Fh
450F:074A  00 23 96 00 23 EA                    db       00h, 23h, 96h, 00h, 23h,0EAh
450F:0750  03 23 11 04 27 1D                    db       03h, 23h, 11h, 04h, 27h, 1Dh
450F:0756  00 2D 52 00 23 14                    db       00h, 2Dh, 52h, 00h, 23h, 14h
450F:075C  00 23 E8 03 27 1B                    db       00h, 23h,0E8h, 03h, 27h, 1Bh
450F:0762  00 1F 78 00 23 00                    db       00h, 1Fh, 78h, 00h, 23h, 00h
450F:0768  00 0A 2B 09 00 23                    db       00h, 0Ah, 2Bh, 09h, 00h, 23h
450F:076E  ED 0A 23 11 04 27                    db      0EDh, 0Ah, 23h, 11h, 04h, 27h
450F:0774  13 00 1F 78 00 23                    db       13h, 00h, 1Fh, 78h, 00h, 23h
450F:077A  01 00 0A 2B 09 00                    db       01h, 00h, 0Ah, 2Bh, 09h, 00h
450F:0780  23 EE 0A 23 11 04                    db       23h,0EEh, 0Ah, 23h, 11h, 04h
450F:0786  27 13 00 1F 78 00                    db       27h, 13h, 00h, 1Fh, 78h, 00h
450F:078C  23 01 00 02 21 78                    db       23h, 01h, 00h, 02h, 21h, 78h
450F:0792  00 1F 78 00 23 02                    db       00h, 1Fh, 78h, 00h, 23h, 02h
450F:0798  00 0A 2B 0F 00 23                    db       00h, 0Ah, 2Bh, 0Fh, 00h, 23h
450F:079E  02 00 21 1C 00 23                    db       02h, 00h, 21h, 1Ch, 00h, 23h
450F:07A4  F0 0A 23 11 04 27                    db      0F0h, 0Ah, 23h, 11h, 04h, 27h
450F:07AA  0B 00 28 23 11 00                    db       0Bh, 00h, 28h, 23h, 11h, 00h
450F:07B0  21 08 00 1F 04 00                    db       21h, 08h, 00h, 1Fh, 04h, 00h
450F:07B6  23 13 27 0A 2B 3A                    db       23h, 13h, 27h, 0Ah, 2Bh, 3Ah
450F:07BC  00 23 00 00 21 08                    db       00h, 23h, 00h, 00h, 21h, 08h
450F:07C2  00 23 35 75 27 06                    db       00h, 23h, 35h, 75h, 27h, 06h
450F:07C8  00 1F 1C 00 23 00                    db       00h, 1Fh, 1Ch, 00h, 23h, 00h
450F:07CE  00 0A 2B 1E 00 23                    db       00h, 0Ah, 2Bh, 1Eh, 00h, 23h
450F:07D4  01 00 21 1C 00 23                    db       01h, 00h, 21h, 1Ch, 00h, 23h
450F:07DA  1A 00 27 0D 00 23                    db       1Ah, 00h, 27h, 0Dh, 00h, 23h
450F:07E0  03 00 23 11 04 27                    db       03h, 00h, 23h, 11h, 04h, 27h
450F:07E6  1E 00 23 11 04 27                    db       1Eh, 00h, 23h, 11h, 04h, 27h
450F:07EC  20 00 2D 06 00 23                    db       20h, 00h, 2Dh, 06h, 00h, 23h
450F:07F2  6F 01 27 10 00 28                    db       6Fh, 01h, 27h, 10h, 00h, 28h
450F:07F8  23 11 00 21 08 00                    db       23h, 11h, 00h, 21h, 08h, 00h
450F:07FE  1F 04 00 23 10 27                    db       1Fh, 04h, 00h, 23h, 10h, 27h
450F:0804  0A 2B 3B 00 1F 24                    db       0Ah, 2Bh, 3Bh, 00h, 1Fh, 24h
450F:080A  00 23 00 00 0A 2B                    db       00h, 23h, 00h, 00h, 0Ah, 2Bh
450F:0810  2B 00 23 01 00 21                    db       2Bh, 00h, 23h, 01h, 00h, 21h
450F:0816  24 00 23 00 00 21                    db       24h, 00h, 23h, 00h, 00h, 21h
450F:081C  08 00 23 04 00 27                    db       08h, 00h, 23h, 04h, 00h, 27h
450F:0822  0D 00 1F 02 00 23                    db       0Dh, 00h, 1Fh, 02h, 00h, 23h
450F:0828  E8 03 0A 2B 0C 00                    db      0E8h, 03h, 0Ah, 2Bh, 0Ch, 00h
450F:082E  23 ED 00 27 10 00                    db       23h,0EDh, 00h, 27h, 10h, 00h
450F:0834  23 04 00 27 15 00                    db       23h, 04h, 00h, 27h, 15h, 00h
450F:083A  2D 06 00 23 1C 00                    db       2Dh, 06h, 00h, 23h, 1Ch, 00h
450F:0840  21 08 00 28 23 11                    db       21h, 08h, 00h, 28h, 23h, 11h
450F:0846  00 21 08 00 1F 04                    db       00h, 21h, 08h, 00h, 1Fh, 04h
450F:084C  00 23 13 27 0A 2B                    db       00h, 23h, 13h, 27h, 0Ah, 2Bh
450F:0852  2F 00 1F 28 00 23                    db       2Fh, 00h, 1Fh, 28h, 00h, 23h
450F:0858  00 00 0A 2B 25 00                    db       00h, 00h, 0Ah, 2Bh, 25h, 00h
450F:085E  23 01 00 21 28 00                    db       23h, 01h, 00h, 21h, 28h, 00h
450F:0864  23 00 00 21 08 00                    db       23h, 00h, 00h, 21h, 08h, 00h
450F:086A  27 21 00 23 1A 00                    db       27h, 21h, 00h, 23h, 1Ah, 00h
450F:0870  27 0D 00 1F 02 00                    db       27h, 0Dh, 00h, 1Fh, 02h, 00h
450F:0876  23 E8 03 0A 2B 06                    db       23h,0E8h, 03h, 0Ah, 2Bh, 06h
450F:087C  00 23 F0 00 27 10                    db       00h, 23h,0F0h, 00h, 27h, 10h
450F:0882  00 28 23 01 00 21                    db       00h, 28h, 23h, 01h, 00h, 21h
450F:0888  08 00 1F 28 00 23                    db       08h, 00h, 1Fh, 28h, 00h, 23h
450F:088E  00 00 0A 2B 06 00                    db       00h, 00h, 0Ah, 2Bh, 06h, 00h
450F:0894  23 00 00 21 08 00                    db       23h, 00h, 00h, 21h, 08h, 00h
450F:089A  1F 28 00 23 02 00                    db       1Fh, 28h, 00h, 23h, 02h, 00h
450F:08A0  0A 2B 06 00 23 D8                    db       0Ah, 2Bh, 06h, 00h, 23h,0D8h
450F:08A6  00 27 10 00 1F 28                    db       00h, 27h, 10h, 00h, 1Fh, 28h
450F:08AC  00 23 01 00 0A 2B                    db       00h, 23h, 01h, 00h, 0Ah, 2Bh
450F:08B2  15 00 23 0B 01 27                    db       15h, 00h, 23h, 0Bh, 01h, 27h
450F:08B8  10 00 23 01 00 1F                    db       10h, 00h, 23h, 01h, 00h, 1Fh
450F:08BE  02 00 27 22 00 23                    db       02h, 00h, 27h, 22h, 00h, 23h
450F:08C4  02 00 21 28 00 28                    db       02h, 00h, 21h, 28h, 00h, 28h
450F:08CA  27 17 00 1F 0A 00                    db       27h, 17h, 00h, 1Fh, 0Ah, 00h
450F:08D0  23 00 00 0C 2B 0C                    db       23h, 00h, 00h, 0Ch, 2Bh, 0Ch
450F:08D6  00 23 01 00 21 08                    db       00h, 23h, 01h, 00h, 21h, 08h
450F:08DC  00 23 44 01 27 10                    db       00h, 23h, 44h, 01h, 27h, 10h
450F:08E2  00 28 23 1E 00 21                    db       00h, 28h, 23h, 1Eh, 00h, 21h
450F:08E8  08 00 1F 28 00 23                    db       08h, 00h, 1Fh, 28h, 00h, 23h
450F:08EE  00 00 0C 2B 06 00                    db       00h, 00h, 0Ch, 2Bh, 06h, 00h
450F:08F4  23 33 00 21 08 00                    db       23h, 33h, 00h, 21h, 08h, 00h
450F:08FA  28 23 01 00 1F 02                    db       28h, 23h, 01h, 00h, 1Fh, 02h
450F:0900  00 27 1B 00 28 1F                    db       00h, 27h, 1Bh, 00h, 28h, 1Fh
450F:0906  30 00 23 00 00 0A                    db       30h, 00h, 23h, 00h, 00h, 0Ah
450F:090C  2B 09 00 23 06 00                    db       2Bh, 09h, 00h, 23h, 06h, 00h
450F:0912  21 08 00 2D 06 00                    db       21h, 08h, 00h, 2Dh, 06h, 00h
450F:0918  23 3C 75 27 20 00                    db       23h, 3Ch, 75h, 27h, 20h, 00h
450F:091E  28 23 3C 75 27 23                    db       28h, 23h, 3Ch, 75h, 27h, 23h
450F:0924  00 1F 02 00 23 F1                    db       00h, 1Fh, 02h, 00h, 23h,0F1h
450F:092A  03 0A 2B 06 00 23                    db       03h, 0Ah, 2Bh, 06h, 00h, 23h
450F:0930  00 00 21 30 00 28                    db       00h, 00h, 21h, 30h, 00h, 28h
450F:0936  1F 02 00 23 E9 03                    db       1Fh, 02h, 00h, 23h,0E9h, 03h
450F:093C  0A 2B 34 00 23 E9                    db       0Ah, 2Bh, 34h, 00h, 23h,0E9h
450F:0942  03                                   db       03h
450F:0943                       loc_2367:
450F:0943  23 1B                                and     bx,[bp+di]
450F:0945  27                                   daa                             ; Decimal adjust
450F:0946  27                                   daa                             ; Decimal adjust
450F:0947  0A 00                                or      al,[bx+si]
450F:0949  1F                                   pop     ds
450F:094A  0A 00                                or      al,[bx+si]
450F:094C  23 01                                and     ax,[bx+di]
450F:094E  00 0A                                add     [bp+si],cl
450F:0950  2B 12                                sub     dx,[bp+si]
450F:0952  00 23                                add     [bp+di],ah
450F:0954  01 00                                add     [bx+si],ax
450F:0956  21 30                                and     [bx+si],si
450F:0958  00 23                                add     [bp+di],ah
450F:095A  35 1F08                              xor     ax,1F08h
450F:095D  02 00                                add     al,[bx+si]
450F:095F  27                                   daa                             ; Decimal adjust
450F:0960  13 00                                adc     ax,[bx+si]
450F:0962  2D 000C                              sub     ax,0Ch
450F:0965  23 00                                and     ax,[bx+si]
450F:0967  00 1F                                add     [bx],bl
450F:0969  02 00                                add     al,[bx+si]
450F:096B  23 2A                                and     bp,[bp+si]
450F:096D  00 27                                add     [bx],ah
450F:096F  24 00                                and     al,0
450F:0971  2D 000C                              sub     ax,0Ch
450F:0974  23 00                                and     ax,[bx+si]
450F:0976  00 1F                                add     [bx],bl
450F:0978  02 00                                add     al,[bx+si]
450F:097A  23 2A                                and     bp,[bp+si]
450F:097C  00 27                                add     [bx],ah
450F:097E  24 00                                and     al,0
450F:0980  28 23                                sub     [bp+di],ah
450F:0982  11 00                                adc     [bx+si],ax
450F:0984  21 08                                and     [bx+si],cx
450F:0986  00 1F                                add     [bx],bl
450F:0988  04 00                                add     al,0
450F:098A  23 1B                                and     bx,[bp+di]
450F:098C  27                                   daa                             ; Decimal adjust
450F:098D  0A 2B                                or      ch,[bp+di]
450F:098F  35 1F00                              xor     ax,1F00h
450F:0992  02 00                                add     al,[bx+si]
450F:0994  23 E9                                and     bp,cx
450F:0996  03 0A                                add     cx,[bp+si]
450F:0998  2B 15                                sub     dx,[di]
450F:099A  00 23                                add     [bp+di],ah
450F:099C  01 00                                add     [bx+si],ax
450F:099E  21 30                                and     [bx+si],si
450F:09A0  00 23                                add     [bp+di],ah
450F:09A2  00 00                                add     [bx+si],al
450F:09A4  21 08                                and     [bx+si],cx
450F:09A6  00 23                                add     [bp+di],ah
450F:09A8  35 1F08                              xor     ax,1F08h
450F:09AB  02 00                                add     al,[bx+si]
450F:09AD  27                                   daa                             ; Decimal adjust
450F:09AE  13 00                                adc     ax,[bx+si]
450F:09B0  1F                                   pop     ds
450F:09B1  02 00                                add     al,[bx+si]
450F:09B3  23 E8                                and     bp,ax
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 625

450F:09B5  03 0A                                add     cx,[bp+si]
450F:09B7  2B 0C                                sub     cx,[si]
450F:09B9  00 23                                add     [bp+di],ah
450F:09BB  34 08                                xor     al,8
450F:09BD  27                                   daa                             ; Decimal adjust
450F:09BE  10 00                                adc     [bx+si],al
450F:09C0  23 00                                and     ax,[bx+si]
450F:09C2  00 21                                add     [bx+di],ah
450F:09C4  08 00                                or      [bx+si],al
450F:09C6  28 23                                sub     [bp+di],ah
450F:09C8  01 00                                add     [bx+si],ax
450F:09CA  21 08                                and     [bx+si],cx
450F:09CC  00 1F                                add     [bx],bl
450F:09CE  32 00                                xor     al,[bx+si]
450F:09D0  23 01                                and     ax,[bx+di]
450F:09D2  00 0A                                add     [bp+si],cl
450F:09D4  2B 09                                sub     cx,[bx+di]
450F:09D6  00 23                                add     [bp+di],ah
450F:09D8  87 01                                xchg    [bx+di],ax
450F:09DA  27                                   daa                             ; Decimal adjust
450F:09DB  10 00                                adc     [bx+si],al
450F:09DD  2D 003F                              sub     ax,3Fh
450F:09E0  1F                                   pop     ds
450F:09E1  32 00                                xor     al,[bx+si]
450F:09E3  23 02                                and     ax,[bp+si]
450F:09E5  00 0A                                add     [bp+si],cl
450F:09E7  2B 09                                sub     cx,[bx+di]
450F:09E9  00 23                                add     [bp+di],ah
450F:09EB  86 01                                xchg    [bx+di],al
450F:09ED  27                                   daa                             ; Decimal adjust
450F:09EE  10 00                                adc     [bx+si],al
450F:09F0  2D 002C                              sub     ax,2Ch
450F:09F3  1F                                   pop     ds
450F:09F4  32 00                                xor     al,[bx+si]
450F:09F6  23 03                                and     ax,[bp+di]
450F:09F8  00 0A                                add     [bp+si],cl
450F:09FA  2B 09                                sub     cx,[bx+di]
450F:09FC  00 23                                add     [bp+di],ah
450F:09FE  89 01                                mov     [bx+di],ax
450F:0A00  27                                   daa                             ; Decimal adjust
450F:0A01  10 00                                adc     [bx+si],al
450F:0A03  2D 0019                              sub     ax,19h
450F:0A06  1F                                   pop     ds
450F:0A07  32 00                                xor     al,[bx+si]
450F:0A09  23 04                                and     ax,[si]
450F:0A0B  00 0A                                add     [bp+si],cl
450F:0A0D  2B 09                                sub     cx,[bx+di]
450F:0A0F  00 23                                add     [bp+di],ah
450F:0A11  88 01                                mov     [bx+di],al
450F:0A13  27                                   daa                             ; Decimal adjust
450F:0A14  10 00                                adc     [bx+si],al
450F:0A16  2D 0006                              sub     ax,6
450F:0A19  23 00                                and     ax,[bx+si]
450F:0A1B  00 21                                add     [bx+di],ah
450F:0A1D  08 00                                or      [bx+si],al
450F:0A1F  28 1F                                sub     [bx],bl
450F:0A21  34 00                                xor     al,0
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 626

450F:0A23  23 01                                and     ax,[bx+di]
450F:0A25  00 0A                                add     [bp+si],cl
450F:0A27  2B 0C                                sub     cx,[si]
450F:0A29  00 23                                add     [bp+di],ah
450F:0A2B  01 00                                add     [bx+si],ax
450F:0A2D  21 08                                and     [bx+si],cx
450F:0A2F  00 23                                add     [bp+di],ah
450F:0A31  50                                   push    ax
450F:0A32  08 27                                or      [bx],ah
450F:0A34  10 00                                adc     [bx+si],al
450F:0A36  28 23                                sub     [bp+di],ah
450F:0A38  11 00                                adc     [bx+si],ax
450F:0A3A  21 08                                and     [bx+si],cx
450F:0A3C  00 1F                                add     [bx],bl
450F:0A3E  34 00                                xor     al,0
450F:0A40  23 00                                and     ax,[bx+si]
450F:0A42  00 0A                                add     [bp+si],cl
450F:0A44  2B 65 00             ;*              sub     sp,[di+0]
450F:0A44  2B 65 00                             db       2Bh, 65h, 00h
450F:0A47  1F 04 00 23 1C 27                    db       1Fh, 04h, 00h, 23h, 1Ch, 27h
450F:0A4D  0A 2B 5B 00 1F 02                    db       0Ah, 2Bh, 5Bh, 00h, 1Fh, 02h
450F:0A53  00 23 E8 03 0A 2B                    db       00h, 23h,0E8h, 03h, 0Ah, 2Bh
450F:0A59  2D 00 23 01 00 21                    db       2Dh, 00h, 23h, 01h, 00h, 21h
450F:0A5F  34 00 23 00 00 21                    db       34h, 00h, 23h, 00h, 00h, 21h
450F:0A65  08 00 23 51 08 27                    db       08h, 00h, 23h, 51h, 08h, 27h
450F:0A6B  10 00 23 01 00 23                    db       10h, 00h, 23h, 01h, 00h, 23h
450F:0A71  02 00 23 AD 0A 27                    db       02h, 00h, 23h,0ADh, 0Ah, 27h
450F:0A77  08 00 27 25 00 23                    db       08h, 00h, 27h, 25h, 00h, 23h
450F:0A7D  0C 00 23 23 04 27                    db       0Ch, 00h, 23h, 23h, 04h, 27h
450F:0A83  01 00 2D 24 00 23                    db       01h, 00h, 2Dh, 24h, 00h, 23h
450F:0A89  01 00 21 34 00 23                    db       01h, 00h, 21h, 34h, 00h, 23h
450F:0A8F  01 00 23 02 00 23                    db       01h, 00h, 23h, 02h, 00h, 23h
450F:0A95  AD 0A 27 08 00 27                    db      0ADh, 0Ah, 27h, 08h, 00h, 27h
450F:0A9B  25 00 23 0C 00 23                    db       25h, 00h, 23h, 0Ch, 00h, 23h
450F:0AA1  23 04 27 01 00 23                    db       23h, 04h, 27h, 01h, 00h, 23h
450F:0AA7  00 00 21 08 00 28                    db       00h, 00h, 21h, 08h, 00h, 28h
450F:0AAD  23 52 08 23 E9 03                    db       23h, 52h, 08h, 23h,0E9h, 03h
450F:0AB3  27 13 00 28 23 11                    db       27h, 13h, 00h, 28h, 23h, 11h
450F:0AB9  00 21 08 00 1F 04                    db       00h, 21h, 08h, 00h, 1Fh, 04h
450F:0ABF  00 23 1D 27 0A 2B                    db       00h, 23h, 1Dh, 27h, 0Ah, 2Bh
450F:0AC5  3B 00 1F 32 00 23                    db       3Bh, 00h, 1Fh, 32h, 00h, 23h
450F:0ACB  00 00 0A 2B 2B 00                    db       00h, 00h, 0Ah, 2Bh, 2Bh, 00h
450F:0AD1  23 03 00 21 32 00                    db       23h, 03h, 00h, 21h, 32h, 00h
450F:0AD7  23 00 00 21 08 00                    db       23h, 00h, 00h, 21h, 08h, 00h
450F:0ADD  23 04 00 27 0D 00                    db       23h, 04h, 00h, 27h, 0Dh, 00h
450F:0AE3  1F 02 00 23 E8 03                    db       1Fh, 02h, 00h, 23h,0E8h, 03h
450F:0AE9  0A 2B 0C 00 23 AC                    db       0Ah, 2Bh, 0Ch, 00h, 23h,0ACh
450F:0AEF  0C 27 10 00 23 04                    db       0Ch, 27h, 10h, 00h, 23h, 04h
450F:0AF5  00 27 15 00 2D 06                    db       00h, 27h, 15h, 00h, 2Dh, 06h
450F:0AFB  00 23 1C 00 21 08                    db       00h, 23h, 1Ch, 00h, 21h, 08h
450F:0B01  00 28 23 11 00 21                    db       00h, 28h, 23h, 11h, 00h, 21h
450F:0B07  08 00 1F 04 00 23                    db       08h, 00h, 1Fh, 04h, 00h, 23h
450F:0B0D  1D 27 0A 2B 3B 00                    db       1Dh, 27h, 0Ah, 2Bh, 3Bh, 00h
450F:0B13  1F 32 00 23 00 00                    db       1Fh, 32h, 00h, 23h, 00h, 00h
450F:0B19  0A 2B 2B 00 23 04                    db       0Ah, 2Bh, 2Bh, 00h, 23h, 04h
450F:0B1F  00 21 32 00 23 00                    db       00h, 21h, 32h, 00h, 23h, 00h
450F:0B25  00 21 08 00 23 04                    db       00h, 21h, 08h, 00h, 23h, 04h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 627

450F:0B2B  00 27 0D 00 1F 02                    db       00h, 27h, 0Dh, 00h, 1Fh, 02h
450F:0B31  00 23 E8 03 0A 2B                    db       00h, 23h,0E8h, 03h, 0Ah, 2Bh
450F:0B37  0C 00 23 B0 0C 27                    db       0Ch, 00h, 23h,0B0h, 0Ch, 27h
450F:0B3D  10 00 23 04 00 27                    db       10h, 00h, 23h, 04h, 00h, 27h
450F:0B43  15 00 2D 06 00 23                    db       15h, 00h, 2Dh, 06h, 00h, 23h
450F:0B49  1C 00 21 08 00 28                    db       1Ch, 00h, 21h, 08h, 00h, 28h
450F:0B4F  23 11 00 21 08 00                    db       23h, 11h, 00h, 21h, 08h, 00h
450F:0B55  1F 04 00 23 1D 27                    db       1Fh, 04h, 00h, 23h, 1Dh, 27h
450F:0B5B  0A 2B 54 00 1F 36                    db       0Ah, 2Bh, 54h, 00h, 1Fh, 36h
450F:0B61  00 23 01 00 0A 2B                    db       00h, 23h, 01h, 00h, 0Ah, 2Bh
450F:0B67  4A 00 1F 32 00 23                    db       4Ah, 00h, 1Fh, 32h, 00h, 23h
450F:0B6D  00 00 0A 2B 3A 00                    db       00h, 00h, 0Ah, 2Bh, 3Ah, 00h
450F:0B73  23 01 00 21 32 00                    db       23h, 01h, 00h, 21h, 32h, 00h
450F:0B79  23 0B 00 23 23 04                    db       23h, 0Bh, 00h, 23h, 23h, 04h
450F:0B7F  27 01 00 23 00 00                    db       27h, 01h, 00h, 23h, 00h, 00h
450F:0B85  21 08 00 23 00 00                    db       21h, 08h, 00h, 23h, 00h, 00h
450F:0B8B  21 36 00 23 04 00                    db       21h, 36h, 00h, 23h, 04h, 00h
450F:0B91  27 0D 00 1F 02 00                    db       27h, 0Dh, 00h, 1Fh, 02h, 00h
450F:0B97  23 E8 03 0A 2B 0C                    db       23h,0E8h, 03h, 0Ah, 2Bh, 0Ch
450F:0B9D  00 23 53 08 27 10                    db       00h, 23h, 53h, 08h, 27h, 10h
450F:0BA3  00 23 04 00 27 15                    db       00h, 23h, 04h, 00h, 27h, 15h
450F:0BA9  00 2D 06 00 23 1C                    db       00h, 2Dh, 06h, 00h, 23h, 1Ch
450F:0BAF  00 21 08 00 28 23                    db       00h, 21h, 08h, 00h, 28h, 23h
450F:0BB5  18 00 21 08 00 1F                    db       18h, 00h, 21h, 08h, 00h, 1Fh
450F:0BBB  32 00 23 01 00 0A                    db       32h, 00h, 23h, 01h, 00h, 0Ah
450F:0BC1  2B 48 00 23 01 00                    db       2Bh, 48h, 00h, 23h, 01h, 00h
450F:0BC7  21 08 00 1F 02 00                    db       21h, 08h, 00h, 1Fh, 02h, 00h
450F:0BCD  23 E8 03 0A 2B 22                    db       23h,0E8h, 03h, 0Ah, 2Bh, 22h
450F:0BD3  00 1F 38 00 23 00                    db       00h, 1Fh, 38h, 00h, 23h, 00h
450F:0BD9  00 0A 2B 03 00 27                    db       00h, 0Ah, 2Bh, 03h, 00h, 27h
450F:0BDF  26 00 23 02 00 21                    db       26h, 00h, 23h, 02h, 00h, 21h
450F:0BE5  3A 00 23 00 00 21                    db       3Ah, 00h, 23h, 00h, 00h, 21h
450F:0BEB  32 00 23 06 00 21                    db       32h, 00h, 23h, 06h, 00h, 21h
450F:0BF1  26 00 2D 16 00 1F                    db       26h, 00h, 2Dh, 16h, 00h, 1Fh
450F:0BF7  02 00 23 E9 03 0A                    db       02h, 00h, 23h,0E9h, 03h, 0Ah
450F:0BFD  2B 0C 00 23 DB 08                    db       2Bh, 0Ch, 00h, 23h,0DBh, 08h
450F:0C03  23 E8 03 23 E9 03                    db       23h,0E8h, 03h, 23h,0E9h, 03h
450F:0C09  27 1D 00 1F 32 00                    db       27h, 1Dh, 00h, 1Fh, 32h, 00h
450F:0C0F  23 02 00 0A 2B 25                    db       23h, 02h, 00h, 0Ah, 2Bh, 25h
450F:0C15  00 23 01 00 21 08                    db       00h, 23h, 01h, 00h, 21h, 08h
450F:0C1B  00 1F 02 00 23 E8                    db       00h, 1Fh, 02h, 00h, 23h,0E8h
450F:0C21  03 0A 2B 12 00 23                    db       03h, 0Ah, 2Bh, 12h, 00h, 23h
450F:0C27  54 0B 27 10 00 23                    db       54h, 0Bh, 27h, 10h, 00h, 23h
450F:0C2D  55 0B 27 10 00 23                    db       55h, 0Bh, 27h, 10h, 00h, 23h
450F:0C33  82 0C 27 10 00 2D                    db       82h, 0Ch, 27h, 10h, 00h, 2Dh
450F:0C39  7B 00 1F 32 00 23                    db       7Bh, 00h, 1Fh, 32h, 00h, 23h
450F:0C3F  03 00 0A 2B 32 00                    db       03h, 00h, 0Ah, 2Bh, 32h, 00h
450F:0C45  23 01 00 21 08 00                    db       23h, 01h, 00h, 21h, 08h, 00h
450F:0C4B  1F 02 00 23 E8 03                    db       1Fh, 02h, 00h, 23h,0E8h, 03h
450F:0C51  0A 2B 09 00 23 56                    db       0Ah, 2Bh, 09h, 00h, 23h, 56h
450F:0C57  0B 27 10 00 2D 16                    db       0Bh, 27h, 10h, 00h, 2Dh, 16h
450F:0C5D  00 1F 02 00 23 E9                    db       00h, 1Fh, 02h, 00h, 23h,0E9h
450F:0C63  03 0A 2B 0C 00 23                    db       03h, 0Ah, 2Bh, 0Ch, 00h, 23h
450F:0C69  AD 0C 23 E8 03 23                    db      0ADh, 0Ch, 23h,0E8h, 03h, 23h
450F:0C6F  E9 03 27 1D 00 2D                    db      0E9h, 03h, 27h, 1Dh, 00h, 2Dh
450F:0C75  3F 00 1F 32 00 23                    db       3Fh, 00h, 1Fh, 32h, 00h, 23h
450F:0C7B  04 00 0A 2B 35 00                    db       04h, 00h, 0Ah, 2Bh, 35h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 628

450F:0C81  23 01 00 21 08 00                    db       23h, 01h, 00h, 21h, 08h, 00h
450F:0C87  23 00 00 21 32 00                    db       23h, 00h, 00h, 21h, 32h, 00h
450F:0C8D  1F 02 00 23 E8 03                    db       1Fh, 02h, 00h, 23h,0E8h, 03h
450F:0C93  0A 2B 09 00 23 AE                    db       0Ah, 2Bh, 09h, 00h, 23h,0AEh
450F:0C99  0C 27 10 00 2D 16                    db       0Ch, 27h, 10h, 00h, 2Dh, 16h
450F:0C9F  00 1F 02 00 23 E9                    db       00h, 1Fh, 02h, 00h, 23h,0E9h
450F:0CA5  03 0A 2B 0C 00 23                    db       03h, 0Ah, 2Bh, 0Ch, 00h, 23h
450F:0CAB  AF 0C 23 E8 03 23                    db      0AFh, 0Ch, 23h,0E8h, 03h, 23h
450F:0CB1  E9 03 27 1D 00 28                    db      0E9h, 03h, 27h, 1Dh, 00h, 28h
450F:0CB7  27 26 00 23 05 00                    db       27h, 26h, 00h, 23h, 05h, 00h
450F:0CBD  21 26 00 1F 40 00                    db       21h, 26h, 00h, 1Fh, 40h, 00h
450F:0CC3  23 01 00 0A 2B 06                    db       23h, 01h, 00h, 0Ah, 2Bh, 06h
450F:0CC9  00 23 07 00 21 26                    db       00h, 23h, 07h, 00h, 21h, 26h
450F:0CCF  00 28 1F 38 00 23                    db       00h, 28h, 1Fh, 38h, 00h, 23h
450F:0CD5  00 00 0A 2B 15 00                    db       00h, 00h, 0Ah, 2Bh, 15h, 00h
450F:0CDB  23 5B 08 23 27 04                    db       23h, 5Bh, 08h, 23h, 27h, 04h
450F:0CE1  27 13 00 25 13 0D                    db       27h, 13h, 00h, 25h, 13h, 0Dh
450F:0CE7  23 01 00 21 08 00                    db       23h, 01h, 00h, 21h, 08h, 00h
450F:0CED  2D 12 00 23 C6 08                    db       2Dh, 12h, 00h, 23h,0C6h, 08h
450F:0CF3  23 27 04 27 13 00                    db       23h, 27h, 04h, 27h, 13h, 00h
450F:0CF9  23 01 00 23 27 04                    db       23h, 01h, 00h, 23h, 27h, 04h
450F:0CFF  27 1E 00 28 23 01                    db       27h, 1Eh, 00h, 28h, 23h, 01h
450F:0D05  00 23 27 04 27 1E                    db       00h, 23h, 27h, 04h, 27h, 1Eh
450F:0D0B  00 23 00 00 21 42                    db       00h, 23h, 00h, 00h, 21h, 42h
450F:0D11  00 28 1F 42 00 23                    db       00h, 28h, 1Fh, 42h, 00h, 23h
450F:0D17  00 00 0A 2B 1B 00                    db       00h, 00h, 0Ah, 2Bh, 1Bh, 00h
450F:0D1D  23 00 00 23 0F 00                    db       23h, 00h, 00h, 23h, 0Fh, 00h
450F:0D23  23 03 0D 27 08 00                    db       23h, 03h, 0Dh, 27h, 08h, 00h
450F:0D29  23 00 00 23 27 04                    db       23h, 00h, 00h, 23h, 27h, 04h
450F:0D2F  27 1E 00 23 01 00                    db       27h, 1Eh, 00h, 23h, 01h, 00h
450F:0D35  21 42 00 28 1F 02                    db       21h, 42h, 00h, 28h, 1Fh, 02h
450F:0D3B  00 23 E8 03 0A 2B                    db       00h, 23h,0E8h, 03h, 0Ah, 2Bh
450F:0D41  03 00 27 27 00 25                    db       03h, 00h, 27h, 27h, 00h, 25h
450F:0D47  13 0D 23 01 00 21                    db       13h, 0Dh, 23h, 01h, 00h, 21h
450F:0D4D  42 00 28 23 01 00                    db       42h, 00h, 28h, 23h, 01h, 00h
450F:0D53  21 08 00 1F 02 00                    db       21h, 08h, 00h, 1Fh, 02h, 00h
450F:0D59  23 E8 03 0A 2B 09                    db       23h,0E8h, 03h, 0Ah, 2Bh, 09h
450F:0D5F  00 23 75 08 27 10                    db       00h, 23h, 75h, 08h, 27h, 10h
450F:0D65  00 2D 09 00 23 76                    db       00h, 2Dh, 09h, 00h, 23h, 76h
450F:0D6B  08 1F 02 00 27 13                    db       08h, 1Fh, 02h, 00h, 27h, 13h
450F:0D71  00 28 23 44 75 27                    db       00h, 28h, 23h, 44h, 75h, 27h
450F:0D77  20 00 28 23 44 75                    db       20h, 00h, 28h, 23h, 44h, 75h
450F:0D7D  27 23 00 28 1F 02                    db       27h, 23h, 00h, 28h, 1Fh, 02h
450F:0D83  00 23 E8 03 0A 1F                    db       00h, 23h,0E8h, 03h, 0Ah, 1Fh
450F:0D89  26 00 23 08 00 0E                    db       26h, 00h, 23h, 08h, 00h, 0Eh
450F:0D8F  1F 26 00 23 0D 00                    db       1Fh, 26h, 00h, 23h, 0Dh, 00h
450F:0D95  10 1C 1A 2B 06 00                    db       10h, 1Ch, 1Ah, 2Bh, 06h, 00h
450F:0D9B  23 06 00                             db       23h, 06h, 00h
450F:0D9E                       loc_2368:
450F:0D9E  21 08                                and     [bx+si],cx
450F:0DA0  00 1F                                add     [bx],bl
450F:0DA2  02 00                                add     al,[bx+si]
450F:0DA4  23 E9                                and     bp,cx
450F:0DA6  03 0A                                add     cx,[bp+si]
450F:0DA8  1F                                   pop     ds
450F:0DA9  26: 00 23                            add     es:[bp+di],ah
450F:0DAC  08 00                                or      [bx+si],al
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 629

450F:0DAE  0E                                   push    cs
450F:0DAF  1F                                   pop     ds
450F:0DB0  26: 00 23                            add     es:[bp+di],ah
450F:0DB3  0D 1000                              or      ax,1000h
450F:0DB6  1C 1A                                sbb     al,1Ah
450F:0DB8  2B 09                                sub     cx,[bx+di]
450F:0DBA  00 23                                add     [bp+di],ah
450F:0DBC  06                                   push    es
450F:0DBD  00 21                                add     [bx+di],ah
450F:0DBF  08 00                                or      [bx+si],al
450F:0DC1  2D 002C                              sub     ax,2Ch
450F:0DC4  1F                                   pop     ds
450F:0DC5  02 00                                add     al,[bx+si]
450F:0DC7  23 E9                                and     bp,cx
450F:0DC9  03 0A                                add     cx,[bp+si]
450F:0DCB  2B 22                                sub     sp,[bp+si]
450F:0DCD  00 23                                add     [bp+di],ah
450F:0DCF  E9 2303                              jmp     $+2306h
450F:0DD2  1B 27 27 28 00 1F                    db       1Bh, 27h, 27h, 28h, 00h, 1Fh
450F:0DD8  08 00 23 01 00 0A                    db       08h, 00h, 23h, 01h, 00h, 0Ah
450F:0DDE  2B 09 00 23 00 00                    db       2Bh, 09h, 00h, 23h, 00h, 00h
450F:0DE4  21 08 00 2D 06 00                    db       21h, 08h, 00h, 2Dh, 06h, 00h
450F:0DEA  23 06 00 21 08 00                    db       23h, 06h, 00h, 21h, 08h, 00h
450F:0DF0  28 23 0E 09 27 10                    db       28h, 23h, 0Eh, 09h, 27h, 10h
450F:0DF6  00 23 01 00 21 08                    db       00h, 23h, 01h, 00h, 21h, 08h
450F:0DFC  00 28 23 8A 01 27                    db       00h, 28h, 23h, 8Ah, 01h, 27h
450F:0E02  10 00 23 8B 01 27                    db       10h, 00h, 23h, 8Bh, 01h, 27h
450F:0E08  10 00 23 8C 01 27                    db       10h, 00h, 23h, 8Ch, 01h, 27h
450F:0E0E  10 00 23 8D 01 27                    db       10h, 00h, 23h, 8Dh, 01h, 27h
450F:0E14  10 00 23 8E 01 27                    db       10h, 00h, 23h, 8Eh, 01h, 27h
450F:0E1A  10 00 23 8F 01 27                    db       10h, 00h, 23h, 8Fh, 01h, 27h
450F:0E20  10 00 23 01 00 21                    db       10h, 00h, 23h, 01h, 00h, 21h
450F:0E26  96 00 23 01 00 21                    db       96h, 00h, 23h, 01h, 00h, 21h
450F:0E2C  08 00 28 23 01 00                    db       08h, 00h, 28h, 23h, 01h, 00h
450F:0E32  21 08 00 1F 96 00                    db       21h, 08h, 00h, 1Fh, 96h, 00h
450F:0E38  23 00 00 0A 2B 09                    db       23h, 00h, 00h, 0Ah, 2Bh, 09h
450F:0E3E  00 23 55 0C 27 10                    db       00h, 23h, 55h, 0Ch, 27h, 10h
450F:0E44  00 2D 12 00 23 57                    db       00h, 2Dh, 12h, 00h, 23h, 57h
450F:0E4A  0C 27 10 00 23 24                    db       0Ch, 27h, 10h, 00h, 23h, 24h
450F:0E50  04 27 23 00 23 3D                    db       04h, 27h, 23h, 00h, 23h, 3Dh
450F:0E56  75 27 23 00 28 1F                    db       75h, 27h, 23h, 00h, 28h, 1Fh
450F:0E5C  02 00 23 EF 03 0A                    db       02h, 00h, 23h,0EFh, 03h, 0Ah
450F:0E62  2B 09 00 23 00 00                    db       2Bh, 09h, 00h, 23h, 00h, 00h
450F:0E68  21 08 00 2D 22 00                    db       21h, 08h, 00h, 2Dh, 22h, 00h
450F:0E6E  23 22 00 23 EF 03                    db       23h, 22h, 00h, 23h,0EFh, 03h
450F:0E74  27 28 00 1F 08 00                    db       27h, 28h, 00h, 1Fh, 08h, 00h
450F:0E7A  23 01 00 0A 2B 09                    db       23h, 01h, 00h, 0Ah, 2Bh, 09h
450F:0E80  00 23 00 00 21 08                    db       00h, 23h, 00h, 00h, 21h, 08h
450F:0E86  00 2D 06 00 23 06                    db       00h, 2Dh, 06h, 00h, 23h, 06h
450F:0E8C  00 21 08 00 28 1F                    db       00h, 21h, 08h, 00h, 28h, 1Fh
450F:0E92  5E 00 23 00 00 0A                    db       5Eh, 00h, 23h, 00h, 00h, 0Ah
450F:0E98  2B 21 00 23 00 00                    db       2Bh, 21h, 00h, 23h, 00h, 00h
450F:0E9E  23 01 00 23 BD 0E                    db       23h, 01h, 00h, 23h,0BDh, 0Eh
450F:0EA4  27 08 00 23 04 00                    db       27h, 08h, 00h, 23h, 04h, 00h
450F:0EAA  27 03 00 27 29 00                    db       27h, 03h, 00h, 27h, 29h, 00h
450F:0EB0  23 01 00 21 5E 00                    db       23h, 01h, 00h, 21h, 5Eh, 00h
450F:0EB6  23 15 00 21 26 00                    db       23h, 15h, 00h, 21h, 26h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 630

450F:0EBC  28 23 26 00 23 EF                    db       28h, 23h, 26h, 00h, 23h,0EFh
450F:0EC2  03 27 28 00 1F 08                    db       03h, 27h, 28h, 00h, 1Fh, 08h
450F:0EC8  00 23 00 00 0A 2B                    db       00h, 23h, 00h, 00h, 0Ah, 2Bh
450F:0ECE  0F 00 23 00 00 23                    db       0Fh, 00h, 23h, 00h, 00h, 23h
450F:0ED4  02 00 23 BD 0E 27                    db       02h, 00h, 23h,0BDh, 0Eh, 27h
450F:0EDA  08 00 2D 12 00 23                    db       08h, 00h, 2Dh, 12h, 00h, 23h
450F:0EE0  29 27 27 2A 00 23                    db       29h, 27h, 27h, 2Ah, 00h, 23h
450F:0EE6  01 00 21 62 00 23                    db       01h, 00h, 21h, 62h, 00h, 23h
450F:0EEC  01 00 21 64 00 28                    db       01h, 00h, 21h, 64h, 00h, 28h
450F:0EF2  1F 26 00 23 15 00                    db       1Fh, 26h, 00h, 23h, 15h, 00h
450F:0EF8  10 2B 10 00 23 0F                    db       10h, 2Bh, 10h, 00h, 23h, 0Fh
450F:0EFE  00 23 00 40 02 23                    db       00h, 23h, 00h, 40h, 02h, 23h
450F:0F04  F4 00 23 06 01 27                    db      0F4h, 00h, 23h, 06h, 01h, 27h
450F:0F0A  19 00 28 1F 26 00                    db       19h, 00h, 28h, 1Fh, 26h, 00h
450F:0F10  23 15 00 10 2B 1E                    db       23h, 15h, 00h, 10h, 2Bh, 1Eh
450F:0F16  00 23 00 00 23 04                    db       00h, 23h, 00h, 00h, 23h, 04h
450F:0F1C  00 23 36 0F 27 08                    db       00h, 23h, 36h, 0Fh, 27h, 08h
450F:0F22  00 23 02 00 27 03                    db       00h, 23h, 02h, 00h, 27h, 03h
450F:0F28  00 23 01 00 27 05                    db       00h, 23h, 01h, 00h, 27h, 05h
450F:0F2E  00 23 17 00 21 26                    db       00h, 23h, 17h, 00h, 21h, 26h
450F:0F34  00 28 23 0F 00 23                    db       00h, 28h, 23h, 0Fh, 00h, 23h
450F:0F3A  EF 03 27 28 00 1F                    db      0EFh, 03h, 27h, 28h, 00h, 1Fh
450F:0F40  08 00 23 00 00 0A                    db       08h, 00h, 23h, 00h, 00h, 0Ah
450F:0F46  2B 0F 00 23 00 00                    db       2Bh, 0Fh, 00h, 23h, 00h, 00h
450F:0F4C  23 02 00 23 36 0F                    db       23h, 02h, 00h, 23h, 36h, 0Fh
450F:0F52  27 08 00 2D 0C 00                    db       27h, 08h, 00h, 2Dh, 0Ch, 00h
450F:0F58  23 00 00 23 04 00                    db       23h, 00h, 00h, 23h, 04h, 00h
450F:0F5E  23 65 0F 27 08 00                    db       23h, 65h, 0Fh, 27h, 08h, 00h
450F:0F64  28 23 29 27 27 2A                    db       28h, 23h, 29h, 27h, 27h, 2Ah
450F:0F6A  00 27 2B 00 28 1F                    db       00h, 27h, 2Bh, 00h, 28h, 1Fh
450F:0F70  62 00 23 00 00 0A                    db       62h, 00h, 23h, 00h, 00h, 0Ah
450F:0F76  2B 09 00 23 2D 00                    db       2Bh, 09h, 00h, 23h, 2Dh, 00h
450F:0F7C  21 08 00 2D 3C 00                    db       21h, 08h, 00h, 2Dh, 3Ch, 00h
450F:0F82  23 00 00 21 62 00                    db       23h, 00h, 00h, 21h, 62h, 00h
450F:0F88  23 01 00 21 64 00                    db       23h, 01h, 00h, 21h, 64h, 00h
450F:0F8E  23 01 00 21 66 00                    db       23h, 01h, 00h, 21h, 66h, 00h
450F:0F94  23 01 00 21 68 00                    db       23h, 01h, 00h, 21h, 68h, 00h
450F:0F9A  23 00 00 21 6A 00                    db       23h, 00h, 00h, 21h, 6Ah, 00h
450F:0FA0  23 01 00 21 6C 00                    db       23h, 01h, 00h, 21h, 6Ch, 00h
450F:0FA6  23 2C 27 27 2C 00                    db       23h, 2Ch, 27h, 27h, 2Ch, 00h
450F:0FAC  23 2A 27 27 2A 00                    db       23h, 2Ah, 27h, 27h, 2Ah, 00h
450F:0FB2  23 2E 27 27 2A 00                    db       23h, 2Eh, 27h, 27h, 2Ah, 00h
450F:0FB8  23 0D 00 27 0D 00                    db       23h, 0Dh, 00h, 27h, 0Dh, 00h
450F:0FBE  28 1F 62 00 23 01                    db       28h, 1Fh, 62h, 00h, 23h, 01h
450F:0FC4  00 0A 2B 09 00 23                    db       00h, 0Ah, 2Bh, 09h, 00h, 23h
450F:0FCA  2D 00 21 08 00 2D                    db       2Dh, 00h, 21h, 08h, 00h, 2Dh
450F:0FD0  12 00 23 01 00 21                    db       12h, 00h, 23h, 01h, 00h, 21h
450F:0FD6  62 00 23 2C 27 27                    db       62h, 00h, 23h, 2Ch, 27h, 27h
450F:0FDC  2A 00 23 0D 00 27                    db       2Ah, 00h, 23h, 0Dh, 00h, 27h
450F:0FE2  0D 00 28 1F 64 00                    db       0Dh, 00h, 28h, 1Fh, 64h, 00h
450F:0FE8  23 00 00 0A 2B 09                    db       23h, 00h, 00h, 0Ah, 2Bh, 09h
450F:0FEE  00 23 2D 00 21 08                    db       00h, 23h, 2Dh, 00h, 21h, 08h
450F:0FF4  00 2D 3C 00 23 01                    db       00h, 2Dh, 3Ch, 00h, 23h, 01h
450F:0FFA  00 21 62 00 23 00                    db       00h, 21h, 62h, 00h, 23h, 00h
450F:1000  00 21 64 00 23 01                    db       00h, 21h, 64h, 00h, 23h, 01h
450F:1006  00 21 6A 00 23 00                    db       00h, 21h, 6Ah, 00h, 23h, 00h
450F:100C  00 21 6C 00 23 00                    db       00h, 21h, 6Ch, 00h, 23h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 631

450F:1012  00 21 66 00 23 01                    db       00h, 21h, 66h, 00h, 23h, 01h
450F:1018  00 21 68 00 23 2A                    db       00h, 21h, 68h, 00h, 23h, 2Ah
450F:101E  27 27 2C 00 23 2C                    db       27h, 27h, 2Ch, 00h, 23h, 2Ch
450F:1024  27 27 2A 00 23 2E                    db       27h, 27h, 2Ah, 00h, 23h, 2Eh
450F:102A  27 27 2A 00 23 0D                    db       27h, 27h, 2Ah, 00h, 23h, 0Dh
450F:1030  00 27 0D 00 28 1F                    db       00h, 27h, 0Dh, 00h, 28h, 1Fh
450F:1036  64 00 23 01 00 0A                    db       64h, 00h, 23h, 01h, 00h, 0Ah
450F:103C  2B 09 00 23 2D 00                    db       2Bh, 09h, 00h, 23h, 2Dh, 00h
450F:1042  21 08 00 2D 12 00                    db       21h, 08h, 00h, 2Dh, 12h, 00h
450F:1048  23 01 00 21 64 00                    db       23h, 01h, 00h, 21h, 64h, 00h
450F:104E  23 2A 27 27 2A 00                    db       23h, 2Ah, 27h, 27h, 2Ah, 00h
450F:1054  23 0D 00 27 0D 00                    db       23h, 0Dh, 00h, 27h, 0Dh, 00h
450F:105A  28 1F 66 00 23 00                    db       28h, 1Fh, 66h, 00h, 23h, 00h
450F:1060  00 0A 2B 09 00 23                    db       00h, 0Ah, 2Bh, 09h, 00h, 23h
450F:1066  2D 00 21 08 00 2D                    db       2Dh, 00h, 21h, 08h, 00h, 2Dh
450F:106C  3C 00 23 01 00 21                    db       3Ch, 00h, 23h, 01h, 00h, 21h
450F:1072  62 00 23 00 00 21                    db       62h, 00h, 23h, 00h, 00h, 21h
450F:1078  64 00 23 00 00 21                    db       64h, 00h, 23h, 00h, 00h, 21h
450F:107E  66 00 23 01 00 21                    db       66h, 00h, 23h, 01h, 00h, 21h
450F:1084  68 00 23 01 00 21                    db       68h, 00h, 23h, 01h, 00h, 21h
450F:108A  6A 00 23 00 00 21                    db       6Ah, 00h, 23h, 00h, 00h, 21h
450F:1090  6C 00 23 2A 27 27                    db       6Ch, 00h, 23h, 2Ah, 27h, 27h
450F:1096  2C 00 23 2C 27 27                    db       2Ch, 00h, 23h, 2Ch, 27h, 27h
450F:109C  2A 00 23 2E 27 27                    db       2Ah, 00h, 23h, 2Eh, 27h, 27h
450F:10A2  2A 00 23 0D 00 27                    db       2Ah, 00h, 23h, 0Dh, 00h, 27h
450F:10A8  0D 00 28 1F 66 00                    db       0Dh, 00h, 28h, 1Fh, 66h, 00h
450F:10AE  23 01 00 0A 2B 09                    db       23h, 01h, 00h, 0Ah, 2Bh, 09h
450F:10B4  00 23 2D 00 21 08                    db       00h, 23h, 2Dh, 00h, 21h, 08h
450F:10BA  00 2D 12 00 23 01                    db       00h, 2Dh, 12h, 00h, 23h, 01h
450F:10C0  00 21 66 00 23 2A                    db       00h, 21h, 66h, 00h, 23h, 2Ah
450F:10C6  27 27 2A 00 23 0D                    db       27h, 27h, 2Ah, 00h, 23h, 0Dh
450F:10CC  00 27 0D 00 28 1F                    db       00h, 27h, 0Dh, 00h, 28h, 1Fh
450F:10D2  68 00 23 00 00 0A                    db       68h, 00h, 23h, 00h, 00h, 0Ah
450F:10D8  2B 09 00 23 2D 00                    db       2Bh, 09h, 00h, 23h, 2Dh, 00h
450F:10DE  21 08 00 2D 3C 00                    db       21h, 08h, 00h, 2Dh, 3Ch, 00h
450F:10E4  23 01 00 21 62 00                    db       23h, 01h, 00h, 21h, 62h, 00h
450F:10EA  23 01 00 21 64 00                    db       23h, 01h, 00h, 21h, 64h, 00h
450F:10F0  23 01 00 21 66 00                    db       23h, 01h, 00h, 21h, 66h, 00h
450F:10F6  23 00 00 21 68 00                    db       23h, 00h, 00h, 21h, 68h, 00h
450F:10FC  23 01 00 21 6A 00                    db       23h, 01h, 00h, 21h, 6Ah, 00h
450F:1102  23 01 00 21 6C 00                    db       23h, 01h, 00h, 21h, 6Ch, 00h
450F:1108  23 2E 27 27 2C 00                    db       23h, 2Eh, 27h, 27h, 2Ch, 00h
450F:110E  23 2C 27 27 2A 00                    db       23h, 2Ch, 27h, 27h, 2Ah, 00h
450F:1114  23 2A 27 27 2A 00                    db       23h, 2Ah, 27h, 27h, 2Ah, 00h
450F:111A  23 0D 00 27 0D 00                    db       23h, 0Dh, 00h, 27h, 0Dh, 00h
450F:1120  28 1F 68 00 23 01                    db       28h, 1Fh, 68h, 00h, 23h, 01h
450F:1126  00 0A 2B 09 00 23                    db       00h, 0Ah, 2Bh, 09h, 00h, 23h
450F:112C  2D 00 21 08 00 2D                    db       2Dh, 00h, 21h, 08h, 00h, 2Dh
450F:1132  12 00 23 01 00 21                    db       12h, 00h, 23h, 01h, 00h, 21h
450F:1138  68 00 23 2E 27 27                    db       68h, 00h, 23h, 2Eh, 27h, 27h
450F:113E  2A 00 23 0D 00 27                    db       2Ah, 00h, 23h, 0Dh, 00h, 27h
450F:1144  0D 00 28 1F 6A 00                    db       0Dh, 00h, 28h, 1Fh, 6Ah, 00h
450F:114A  23 00 00 0A 2B 09                    db       23h, 00h, 00h, 0Ah, 2Bh, 09h
450F:1150  00 23 2D 00 21 08                    db       00h, 23h, 2Dh, 00h, 21h, 08h
450F:1156  00 2D 3C 00 23 00                    db       00h, 2Dh, 3Ch, 00h, 23h, 00h
450F:115C  00 21 62 00 23 01                    db       00h, 21h, 62h, 00h, 23h, 01h
450F:1162  00 21 64 00 23 01                    db       00h, 21h, 64h, 00h, 23h, 01h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 632

450F:1168  00 21 66 00 23 01                    db       00h, 21h, 66h, 00h, 23h, 01h
450F:116E  00 21 68 00 23 00                    db       00h, 21h, 68h, 00h, 23h, 00h
450F:1174  00 21 6A 00 23 01                    db       00h, 21h, 6Ah, 00h, 23h, 01h
450F:117A  00 21 6C 00 23 2C                    db       00h, 21h, 6Ch, 00h, 23h, 2Ch
450F:1180  27 27 2C 00 23 2A                    db       27h, 27h, 2Ch, 00h, 23h, 2Ah
450F:1186  27 27 2A 00 23 2E                    db       27h, 27h, 2Ah, 00h, 23h, 2Eh
450F:118C  27 27 2A 00 23 0D                    db       27h, 27h, 2Ah, 00h, 23h, 0Dh
450F:1192  00 27 0D 00 28 1F                    db       00h, 27h, 0Dh, 00h, 28h, 1Fh
450F:1198  6A 00 23 01 00 0A                    db       6Ah, 00h, 23h, 01h, 00h, 0Ah
450F:119E  2B 09 00 23 2D 00                    db       2Bh, 09h, 00h, 23h, 2Dh, 00h
450F:11A4  21 08 00 2D 12 00                    db       21h, 08h, 00h, 2Dh, 12h, 00h
450F:11AA  23 01 00 21 6A 00                    db       23h, 01h, 00h, 21h, 6Ah, 00h
450F:11B0  23 2C 27 27 2A 00                    db       23h, 2Ch, 27h, 27h, 2Ah, 00h
450F:11B6  23 0D 00 27 0D 00                    db       23h, 0Dh, 00h, 27h, 0Dh, 00h
450F:11BC  28 1F 6C 00 23 00                    db       28h, 1Fh, 6Ch, 00h, 23h, 00h
450F:11C2  00 0A 2B 09 00 23                    db       00h, 0Ah, 2Bh, 09h, 00h, 23h
450F:11C8  2D 00 21 08 00 2D                    db       2Dh, 00h, 21h, 08h, 00h, 2Dh
450F:11CE  36 00 23 01 00 21                    db       36h, 00h, 23h, 01h, 00h, 21h
450F:11D4  62 00 23 00 00 21                    db       62h, 00h, 23h, 00h, 00h, 21h
450F:11DA  66 00 23 01 00 21                    db       66h, 00h, 23h, 01h, 00h, 21h
450F:11E0  68 00 23 01 00 21                    db       68h, 00h, 23h, 01h, 00h, 21h
450F:11E6  6A 00 23 00 00 21                    db       6Ah, 00h, 23h, 00h, 00h, 21h
450F:11EC  6C 00 23 2A 27 27                    db       6Ch, 00h, 23h, 2Ah, 27h, 27h
450F:11F2  2C 00 23 2C 27 27                    db       2Ch, 00h, 23h, 2Ch, 27h, 27h
450F:11F8  2A 00 23 2E 27 27                    db       2Ah, 00h, 23h, 2Eh, 27h, 27h
450F:11FE  2A 00 23 0D 00 27                    db       2Ah, 00h, 23h, 0Dh, 00h, 27h
450F:1204  0D 00 28 1F 6C 00                    db       0Dh, 00h, 28h, 1Fh, 6Ch, 00h
450F:120A  23 01 00 0A 2B 09                    db       23h, 01h, 00h, 0Ah, 2Bh, 09h
450F:1210  00 23 2D 00 21 08                    db       00h, 23h, 2Dh, 00h, 21h, 08h
450F:1216  00 2D 12 00 23 01                    db       00h, 2Dh, 12h, 00h, 23h, 01h
450F:121C  00 21 6C 00 23 2A                    db       00h, 21h, 6Ch, 00h, 23h, 2Ah
450F:1222  27 27 2A 00 23 0D                    db       27h, 27h, 2Ah, 00h, 23h, 0Dh
450F:1228  00 27 0D 00 28 1F                    db       00h, 27h, 0Dh, 00h, 28h, 1Fh
450F:122E  04 00 23 28 27 0A                    db       04h, 00h, 23h, 28h, 27h, 0Ah
450F:1234  2B 28 00 1F 70 00                    db       2Bh, 28h, 00h, 1Fh, 70h, 00h
450F:123A  23 00 00 0A 2B 06                    db       23h, 00h, 00h, 0Ah, 2Bh, 06h
450F:1240  00 23 01 00 21 72                    db       00h, 23h, 01h, 00h, 21h, 72h
450F:1246  00 27 1C 00 23 28                    db       00h, 27h, 1Ch, 00h, 23h, 28h
450F:124C  27 27 06 00 23 FA                    db       27h, 27h, 06h, 00h, 23h,0FAh
450F:1252  09 27 10 00 23 00                    db       09h, 27h, 10h, 00h, 23h, 00h
450F:1258  00 21 08 00 2D 06                    db       00h, 21h, 08h, 00h, 2Dh, 06h
450F:125E  00 23 11 00 21 08                    db       00h, 23h, 11h, 00h, 21h, 08h
450F:1264  00 28 1F 04 00 23                    db       00h, 28h, 1Fh, 04h, 00h, 23h
450F:126A  13 27 0A 2B 38 00                    db       13h, 27h, 0Ah, 2Bh, 38h, 00h
450F:1270  1F 02 00 23 E8 03                    db       1Fh, 02h, 00h, 23h,0E8h, 03h
450F:1276  0A 2B 06 00 23 5F                    db       0Ah, 2Bh, 06h, 00h, 23h, 5Fh
450F:127C  01 27 10 00 23 0C                    db       01h, 27h, 10h, 00h, 23h, 0Ch
450F:1282  04 27 06 00 23 2B                    db       04h, 27h, 06h, 00h, 23h, 2Bh
450F:1288  01 23 12 04 27 0B                    db       01h, 23h, 12h, 04h, 27h, 0Bh
450F:128E  00 1F 1E 00 23 03                    db       00h, 1Fh, 1Eh, 00h, 23h, 03h
450F:1294  00 0C 2B 0C 00 23                    db       00h, 0Ch, 2Bh, 0Ch, 00h, 23h
450F:129A  67 01 23 E8 03 23                    db       67h, 01h, 23h,0E8h, 03h, 23h
450F:12A0  12 04 27 1D 00 2D                    db       12h, 04h, 27h, 1Dh, 00h, 2Dh
450F:12A6  06 00 23 11 00                       db       06h, 00h, 23h, 11h, 00h
450F:12AB  21 08 00                             db      '!', 8, 0
450F:12AE  28 23 31 75 27 23                    db      '(#1u', 27h, '#', 0
450F:12B4  00
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 633

450F:12B5  28 23 4D 75 27 23                    db      '(#Mu', 27h, '#', 0
450F:12BB  00
450F:12BC  28 23 35 27 27 23                    db      '(#5', 27h, 27h, '#', 0
450F:12C2  00
450F:12C3  28 23 3C 75 27 23                    db      '(#<u', 27h, '#', 0
450F:12C9  00
450F:12CA  28 23 0C                             db      '(#', 0Ch
450F:12CD  04 27 23 00 28 1F                    db       04h, 27h, 23h, 00h, 28h, 1Fh
450F:12D3  24 00 23 01 00 0A                    db       24h, 00h, 23h, 01h, 00h, 0Ah
450F:12D9  2B 0C 00 23 D7 00                    db       2Bh, 0Ch, 00h, 23h,0D7h, 00h
450F:12DF  27 10 00 23 01 00                    db       27h, 10h, 00h, 23h, 01h, 00h
450F:12E5  21 08 00 28 23 70                    db       21h, 08h, 00h, 28h, 23h, 70h
450F:12EB  01 1F 02 00 27 13                    db       01h, 1Fh, 02h, 00h, 27h, 13h
450F:12F1  00 23 01 00 21 16                    db       00h, 23h, 01h, 00h, 21h, 16h
450F:12F7  00 28 23 90 0C 21                    db       00h, 28h, 23h, 90h, 0Ch, 21h
450F:12FD  A0 00 1F 04 00 23                    db      0A0h, 00h, 1Fh, 04h, 00h, 23h
450F:1303  EA 03 0A 2B 06 00                    db      0EAh, 03h, 0Ah, 2Bh, 06h, 00h
450F:1309  23 6F 00 21 A0 00                    db       23h, 6Fh, 00h, 21h,0A0h, 00h
450F:130F  1F 04 00 23 EF 03                    db       1Fh, 04h, 00h, 23h,0EFh, 03h
450F:1315  0A 2B 06 00 23 91                    db       0Ah, 2Bh, 06h, 00h, 23h, 91h
450F:131B  0C 21 A0 00 1F 04                    db       0Ch, 21h,0A0h, 00h, 1Fh, 04h
450F:1321  00 23 F1 03 0A 2B                    db       00h, 23h,0F1h, 03h, 0Ah, 2Bh
450F:1327  06 00 23 92 0C 21                    db       06h, 00h, 23h, 92h, 0Ch, 21h
450F:132D  A0 00 1F 04 00 23                    db      0A0h, 00h, 1Fh, 04h, 00h, 23h
450F:1333  EE 03 0A 1F 04 00                    db      0EEh, 03h, 0Ah, 1Fh, 04h, 00h
450F:1339  23 F0 03 0A 1C 2B                    db       23h,0F0h, 03h, 0Ah, 1Ch, 2Bh
450F:133F  06 00 23 93 0C 21                    db       06h, 00h, 23h, 93h, 0Ch, 21h
450F:1345  A0 00 1F A0 00 1F                    db      0A0h, 00h, 1Fh,0A0h, 00h, 1Fh
450F:134B  04 00 1F 02 00 27                    db       04h, 00h, 1Fh, 02h, 00h, 27h
450F:1351  1F 00 28 23 83 0C                    db       1Fh, 00h, 28h, 23h, 83h, 0Ch
450F:1357  21 A0 00 1F 04 00                    db       21h,0A0h, 00h, 1Fh, 04h, 00h
450F:135D  23 EF 03 0A 2B 06                    db       23h,0EFh, 03h, 0Ah, 2Bh, 06h
450F:1363  00 23 85 0C 21 A0                    db       00h, 23h, 85h, 0Ch, 21h,0A0h
450F:1369  00 1F 04 00 23 F1                    db       00h, 1Fh, 04h, 00h, 23h,0F1h
450F:136F  03 0A 2B 06 00 23                    db       03h, 0Ah, 2Bh, 06h, 00h, 23h
450F:1375  86 0C 21 A0 00 1F                    db       86h, 0Ch, 21h,0A0h, 00h, 1Fh
450F:137B  04 00 23 EE 03 0A                    db       04h, 00h, 23h,0EEh, 03h, 0Ah
450F:1381  1F 04 00 23 F0 03                    db       1Fh, 04h, 00h, 23h,0F0h, 03h
450F:1387  0A 1C 2B 06 00 23                    db       0Ah, 1Ch, 2Bh, 06h, 00h, 23h
450F:138D  84 0C 21 A0 00 1F                    db       84h, 0Ch, 21h,0A0h, 00h, 1Fh
450F:1393  A0 00 1F 04 00 1F                    db      0A0h, 00h, 1Fh, 04h, 00h, 1Fh
450F:1399  02 00 27 1F 00 28                    db       02h, 00h, 27h, 1Fh, 00h, 28h
450F:139F  23 87 0C 21 A0 00                    db       23h, 87h, 0Ch, 21h,0A0h, 00h
450F:13A5  1F 04 00 23 F1 03                    db       1Fh, 04h, 00h, 23h,0F1h, 03h
450F:13AB  0A 2B 06 00 23 89                    db       0Ah, 2Bh, 06h, 00h, 23h, 89h
450F:13B1  0C 21 A0 00 1F 04                    db       0Ch, 21h,0A0h, 00h, 1Fh, 04h
450F:13B7  00 23 EE 03 0A 1F                    db       00h, 23h,0EEh, 03h, 0Ah, 1Fh
450F:13BD  04 00 23 F0 03 0A                    db       04h, 00h, 23h,0F0h, 03h, 0Ah
450F:13C3  1C 2B 06 00 23 88                    db       1Ch, 2Bh, 06h, 00h, 23h, 88h
450F:13C9  0C 21 A0 00 1F A0                    db       0Ch, 21h,0A0h, 00h, 1Fh,0A0h
450F:13CF  00 1F 04 00 1F 02                    db       00h, 1Fh, 04h, 00h, 1Fh, 02h
450F:13D5  00 27 1F 00 28 23                    db       00h, 27h, 1Fh, 00h, 28h, 23h
450F:13DB  8F 0C 21 A0 00 1F                    db       8Fh, 0Ch, 21h,0A0h, 00h, 1Fh
450F:13E1  04 00 23 EF 03 0A                    db       04h, 00h, 23h,0EFh, 03h, 0Ah
450F:13E7  1F 04 00 1C 23 EC                    db       1Fh, 04h, 00h, 1Ch, 23h,0ECh
450F:13ED  03 0A 2B 06 00 23                    db       03h, 0Ah, 2Bh, 06h, 00h, 23h
450F:13F3  8E 0C 21 A0 00 1F                    db       8Eh, 0Ch, 21h,0A0h, 00h, 1Fh
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 634

450F:13F9  04 00 23 F1 03 0A                    db       04h, 00h, 23h,0F1h, 03h, 0Ah
450F:13FF  2B 06 00 23 8D 0C                    db       2Bh, 06h, 00h, 23h, 8Dh, 0Ch
450F:1405  21 A0 00 1F 04 00                    db       21h,0A0h, 00h, 1Fh, 04h, 00h
450F:140B  23 EE 03 0A 1F 04                    db       23h,0EEh, 03h, 0Ah, 1Fh, 04h
450F:1411  00 23 F0 03 0A 1C                    db       00h, 23h,0F0h, 03h, 0Ah, 1Ch
450F:1417  2B 06 00 23 84 0C                    db       2Bh, 06h, 00h, 23h, 84h, 0Ch
450F:141D  21 A0 00 1F A0 00                    db       21h,0A0h, 00h, 1Fh,0A0h, 00h
450F:1423  1F 04 00 1F 02 00                    db       1Fh, 04h, 00h, 1Fh, 02h, 00h
450F:1429  27 1F 00 28 23 8C                    db       27h, 1Fh, 00h, 28h, 23h, 8Ch
450F:142F  0C 21 A0 00 1F 04                    db       0Ch, 21h,0A0h, 00h, 1Fh, 04h
450F:1435  00 23 EC 03 0A 2B                    db       00h, 23h,0ECh, 03h, 0Ah, 2Bh
450F:143B  06 00 23 8A 0C 21                    db       06h, 00h, 23h, 8Ah, 0Ch, 21h
450F:1441  A0 00 1F 04 00 23                    db      0A0h, 00h, 1Fh, 04h, 00h, 23h
450F:1447  E8 03 0A 2B 06 00                    db      0E8h, 03h, 0Ah, 2Bh, 06h, 00h
450F:144D  23 8B 0C 21 A0 00                    db       23h, 8Bh, 0Ch, 21h,0A0h, 00h
450F:1453  1F 04 00 23 F1 03                    db       1Fh, 04h, 00h, 23h,0F1h, 03h
450F:1459  0A 2B 06 00 23 8D                    db       0Ah, 2Bh, 06h, 00h, 23h, 8Dh
450F:145F  0C 21 A0 00 1F 04                    db       0Ch, 21h,0A0h, 00h, 1Fh, 04h
450F:1465  00 23 EE 03 0A 1F                    db       00h, 23h,0EEh, 03h, 0Ah, 1Fh
450F:146B  04 00 23 F0 03 0A                    db       04h, 00h, 23h,0F0h, 03h, 0Ah
450F:1471  1C 2B 06 00 23 84                    db       1Ch, 2Bh, 06h, 00h, 23h, 84h
450F:1477  0C 21 A0 00 1F A0                    db       0Ch, 21h,0A0h, 00h, 1Fh,0A0h
450F:147D  00 1F 04 00 1F 02                    db       00h, 1Fh, 04h, 00h, 1Fh, 02h
450F:1483  00 27 1F 00 28 23                    db       00h, 27h, 1Fh, 00h, 28h, 23h
450F:1489  F6 0F 21 A0 00 1F                    db      0F6h, 0Fh, 21h,0A0h, 00h, 1Fh
450F:148F  04 00 23 E8 03 0A                    db       04h, 00h, 23h,0E8h, 03h, 0Ah
450F:1495  2B 06 00 23 F4 0F                    db       2Bh, 06h, 00h, 23h,0F4h, 0Fh
450F:149B  21 A0 00 1F A0 00                    db       21h,0A0h, 00h, 1Fh,0A0h, 00h
450F:14A1  1F 04 00 1F 02 00                    db       1Fh, 04h, 00h, 1Fh, 02h, 00h
450F:14A7  27 1F 00 28 1F 04                    db       27h, 1Fh, 00h, 28h, 1Fh, 04h
450F:14AD  00 23 F2 03 0A 2B                    db       00h, 23h,0F2h, 03h, 0Ah, 2Bh
450F:14B3  0C 00 23 F5 0F 1F                    db       0Ch, 00h, 23h,0F5h, 0Fh, 1Fh
450F:14B9  04 00 1F 02 00 27                    db       04h, 00h, 1Fh, 02h, 00h, 27h
450F:14BF  1F 00 28 1F 04 00                    db       1Fh, 00h, 28h, 1Fh, 04h, 00h
450F:14C5  23 E8 03 0C 2B 0C                    db       23h,0E8h, 03h, 0Ch, 2Bh, 0Ch
450F:14CB  00 23 6E 00 1F 04                    db       00h, 23h, 6Eh, 00h, 1Fh, 04h
450F:14D1  00 1F 02 00 27 1F                    db       00h, 1Fh, 02h, 00h, 27h, 1Fh
450F:14D7  00 28 1F 26 00 23                    db       00h, 28h, 1Fh, 26h, 00h, 23h
450F:14DD  06 00 0A 1F 04 00                    db       06h, 00h, 0Ah, 1Fh, 04h, 00h
450F:14E3  23 E8 03 0A 1A 2B                    db       23h,0E8h, 03h, 0Ah, 1Ah, 2Bh
450F:14E9  0F 00 23 B7 0C 1F                    db       0Fh, 00h, 23h,0B7h, 0Ch, 1Fh
450F:14EF  04 00 1F 02 00 27                    db       04h, 00h, 1Fh, 02h, 00h, 27h
450F:14F5  1F 00 2D 0C 00 23                    db       1Fh, 00h, 2Dh, 0Ch, 00h, 23h
450F:14FB  95 0C 1F 04 00 1F                    db       95h, 0Ch, 1Fh, 04h, 00h, 1Fh
450F:1501  02 00 27 1F 00 28                    db       02h, 00h, 27h, 1Fh, 00h, 28h
450F:1507  28 23 3D 01 1F 04                    db       28h, 23h, 3Dh, 01h, 1Fh, 04h
450F:150D  00 1F 02 00 27 1F                    db       00h, 1Fh, 02h, 00h, 27h, 1Fh
450F:1513  00 28 1F 26 00 23                    db       00h, 28h, 1Fh, 26h, 00h, 23h
450F:1519  18 00 0E 1F 26 00                    db       18h, 00h, 0Eh, 1Fh, 26h, 00h
450F:151F  23 06 00 0C 1A 2B                    db       23h, 06h, 00h, 0Ch, 1Ah, 2Bh
450F:1525  15 00 23 01 00 21                    db       15h, 00h, 23h, 01h, 00h, 21h
450F:152B  08 00 23 A0 0A 1F                    db       08h, 00h, 23h,0A0h, 0Ah, 1Fh
450F:1531  04 00 1F 02 00 27                    db       04h, 00h, 1Fh, 02h, 00h, 27h
450F:1537  1D 00 2D 06 00 1F                    db       1Dh, 00h, 2Dh, 06h, 00h, 1Fh
450F:153D  02 00 27 2D 00 28                    db       02h, 00h, 27h, 2Dh, 00h, 28h
450F:1543  1F 14 00 23 00 00                    db       1Fh, 14h, 00h, 23h, 00h, 00h
450F:1549  0C 2B 06 00 23 01                    db       0Ch, 2Bh, 06h, 00h, 23h, 01h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 635

450F:154F  00 21 08 00 28 1F                    db       00h, 21h, 08h, 00h, 28h, 1Fh
450F:1555  02 00 27 2D 00 28                    db       02h, 00h, 27h, 2Dh, 00h, 28h
450F:155B  1F 26 00 23 13 00                    db       1Fh, 26h, 00h, 23h, 13h, 00h
450F:1561  0A 2B 0F 00 23 AB                    db       0Ah, 2Bh, 0Fh, 00h, 23h,0ABh
450F:1567  09 1F 04 00 23 EC                    db       09h, 1Fh, 04h, 00h, 23h,0ECh
450F:156D  03 27 1D 00 2D 06                    db       03h, 27h, 1Dh, 00h, 2Dh, 06h
450F:1573  00 1F 02 00 27 2D                    db       00h, 1Fh, 02h, 00h, 27h, 2Dh
450F:1579  00 28 27 2E 00 1F                    db       00h, 28h, 27h, 2Eh, 00h, 1Fh
450F:157F  26 00 23 01 00 0A                    db       26h, 00h, 23h, 01h, 00h, 0Ah
450F:1585  2B 0F 00 23 D1 0F                    db       2Bh, 0Fh, 00h, 23h,0D1h, 0Fh
450F:158B  1F 04 00 23 F2 03                    db       1Fh, 04h, 00h, 23h,0F2h, 03h
450F:1591  27 1D 00 2D 10 00                    db       27h, 1Dh, 00h, 2Dh, 10h, 00h
450F:1597  1F 26 00 23 04 00                    db       1Fh, 26h, 00h, 23h, 04h, 00h
450F:159D  0C 2B 06 00 1F 02                    db       0Ch, 2Bh, 06h, 00h, 1Fh, 02h
450F:15A3  00 27 2D 00 28 1F                    db       00h, 27h, 2Dh, 00h, 28h, 1Fh
450F:15A9  00 00 23 24 00 0A                    db       00h, 00h, 23h, 24h, 00h, 0Ah
450F:15AF  2B 09 00 1F 02 00                    db       2Bh, 09h, 00h, 1Fh, 02h, 00h
450F:15B5  27 2D 00 2D 06 00                    db       27h, 2Dh, 00h, 2Dh, 06h, 00h
450F:15BB  23 01 00 21 08 00                    db       23h, 01h, 00h, 21h, 08h, 00h
450F:15C1  28 1F 18 00 23 01                    db       28h, 1Fh, 18h, 00h, 23h, 01h
450F:15C7  00 02 21 18 00 23                    db       00h, 02h, 21h, 18h, 00h, 23h
450F:15CD  01 00 21 08 00 1F                    db       01h, 00h, 21h, 08h, 00h, 1Fh
450F:15D3  18 00 23 01 00 0A                    db       18h, 00h, 23h, 01h, 00h, 0Ah
450F:15D9  2B 0F 00 23 8D 00                    db       2Bh, 0Fh, 00h, 23h, 8Dh, 00h
450F:15DF  1F 04 00 1F 02 00                    db       1Fh, 04h, 00h, 1Fh, 02h, 00h
450F:15E5  27 1D 00 2D 16 00                    db       27h, 1Dh, 00h, 2Dh, 16h, 00h
450F:15EB  1F 18 00 23 02 00                    db       1Fh, 18h, 00h, 23h, 02h, 00h
450F:15F1  0A 2B 0C 00 23 8E                    db       0Ah, 2Bh, 0Ch, 00h, 23h, 8Eh
450F:15F7  00 1F 04 00 1F 02                    db       00h, 1Fh, 04h, 00h, 1Fh, 02h
450F:15FD  00 27 1D 00 28 23                    db       00h, 27h, 1Dh, 00h, 28h, 23h
450F:1603  DE 0F 1F 04 00 1F                    db      0DEh, 0Fh, 1Fh, 04h, 00h, 1Fh
450F:1609  02 00 27 1D 00 23                    db       02h, 00h, 27h, 1Dh, 00h, 23h
450F:160F  01 00 21 08 00 28                    db       01h, 00h, 21h, 08h, 00h, 28h
450F:1615  1F 04 00 23 E8 03                    db       1Fh, 04h, 00h, 23h,0E8h, 03h
450F:161B  0A 2B 25 00 1F 26                    db       0Ah, 2Bh, 25h, 00h, 1Fh, 26h
450F:1621  00 23 06 00 0A 2B                    db       00h, 23h, 06h, 00h, 0Ah, 2Bh
450F:1627  1B 00 23 01 00 21                    db       1Bh, 00h, 23h, 01h, 00h, 21h
450F:162D  08 00 23 E8 03 1F                    db       08h, 00h, 23h,0E8h, 03h, 1Fh
450F:1633  02 00 23 2C 00 27                    db       02h, 00h, 23h, 2Ch, 00h, 27h
450F:1639  2F 00 23 ED 03 23                    db       2Fh, 00h, 23h,0EDh, 03h, 23h
450F:163F  05 00 27 30 00 1F                    db       05h, 00h, 27h, 30h, 00h, 1Fh
450F:1645  08 00 23 00 00 0A                    db       08h, 00h, 23h, 00h, 00h, 0Ah
450F:164B  2B 06 00 1F 02 00                    db       2Bh, 06h, 00h, 1Fh, 02h, 00h
450F:1651  27 2D 00 28 1F 4A                    db       27h, 2Dh, 00h, 28h, 1Fh, 4Ah
450F:1657  00 23 01 00 0C 2B                    db       00h, 23h, 01h, 00h, 0Ch, 2Bh
450F:165D  31 00 1F 26 00 23                    db       31h, 00h, 1Fh, 26h, 00h, 23h
450F:1663  06 00 0A 2B 1E 00                    db       06h, 00h, 0Ah, 2Bh, 1Eh, 00h
450F:1669  23 01 00 21 08 00                    db       23h, 01h, 00h, 21h, 08h, 00h
450F:166F  23 E8 03 1F 02 00                    db       23h,0E8h, 03h, 1Fh, 02h, 00h
450F:1675  23 2C 00 27 2F 00                    db       23h, 2Ch, 00h, 27h, 2Fh, 00h
450F:167B  23 E9 03 23 04 00                    db       23h,0E9h, 03h, 23h, 04h, 00h
450F:1681  27 30 00 2D 06 00                    db       27h, 30h, 00h, 2Dh, 06h, 00h
450F:1687  1F 02 00 27 2D 00                    db       1Fh, 02h, 00h, 27h, 2Dh, 00h
450F:168D  2D 06 00 23 01 00                    db       2Dh, 06h, 00h, 23h, 01h, 00h
450F:1693  21 08 00 28 1F 26                    db       21h, 08h, 00h, 28h, 1Fh, 26h
450F:1699  00 23 06 00 0A 2B                    db       00h, 23h, 06h, 00h, 0Ah, 2Bh
450F:169F  09 00 23 04 00 23                    db       09h, 00h, 23h, 04h, 00h, 23h
450F:16A5  E9 03 27 31 00 28                    db      0E9h, 03h, 27h, 31h, 00h, 28h
450F:16AB  1F 04 00 23 31 27                    db       1Fh, 04h, 00h, 23h, 31h, 27h
450F:16B1  0A 2B 15 00 23 11                    db       0Ah, 2Bh, 15h, 00h, 23h, 11h
450F:16B7  0C 1F 02 00 1F 06                    db       0Ch, 1Fh, 02h, 00h, 1Fh, 06h
450F:16BD  00 27 1D 00 23 01                    db       00h, 27h, 1Dh, 00h, 23h, 01h
450F:16C3  00 21 08 00 2D 06                    db       00h, 21h, 08h, 00h, 2Dh, 06h
450F:16C9  00 23 24 00 21 08                    db       00h, 23h, 24h, 00h, 21h, 08h
450F:16CF  00 28 1F 04 00 23                    db       00h, 28h, 1Fh, 04h, 00h, 23h
450F:16D5  30 27 0A 2B 15 00                    db       30h, 27h, 0Ah, 2Bh, 15h, 00h
450F:16DB  23 9E 0C 1F 02 00                    db       23h, 9Eh, 0Ch, 1Fh, 02h, 00h
450F:16E1  1F 06 00 27 1D 00                    db       1Fh, 06h, 00h, 27h, 1Dh, 00h
450F:16E7  23 01 00 21 08 00                    db       23h, 01h, 00h, 21h, 08h, 00h
450F:16ED  2D 06 00 23 24 00                    db       2Dh, 06h, 00h, 23h, 24h, 00h
450F:16F3  21 08 00 28 1F 26                    db       21h, 08h, 00h, 28h, 1Fh, 26h
450F:16F9  00 23 06 00 0A 2B                    db       00h, 23h, 06h, 00h, 0Ah, 2Bh
450F:16FF  09 00 23 31 00 21                    db       09h, 00h, 23h, 31h, 00h, 21h
450F:1705  08 00 2D 3E 00 1F                    db       08h, 00h, 2Dh, 3Eh, 00h, 1Fh
450F:170B  04 00 23 31 27 0A                    db       04h, 00h, 23h, 31h, 27h, 0Ah
450F:1711  2B 15 00 23 53 0B                    db       2Bh, 15h, 00h, 23h, 53h, 0Bh
450F:1717  1F 02 00 1F 06 00                    db       1Fh, 02h, 00h, 1Fh, 06h, 00h
450F:171D  27 1D 00 23 01 00                    db       27h, 1Dh, 00h, 23h, 01h, 00h
450F:1723  21 08 00 2D 1F 00                    db       21h, 08h, 00h, 2Dh, 1Fh, 00h
450F:1729  1F 02 00 23 E8 03                    db       1Fh, 02h, 00h, 23h,0E8h, 03h
450F:172F  0A 2B 0F 00 23 03                    db       0Ah, 2Bh, 0Fh, 00h, 23h, 03h
450F:1735  00 21 0C 00 23 E7                    db       00h, 21h, 0Ch, 00h, 23h,0E7h
450F:173B  03 21 08 00 2D 06                    db       03h, 21h, 08h, 00h, 2Dh, 06h
450F:1741  00 23 24 00 21 08                    db       00h, 23h, 24h, 00h, 21h, 08h
450F:1747  00 28 1F 04 00 23                    db       00h, 28h, 1Fh, 04h, 00h, 23h
450F:174D  31 27 0A 2B 2E 00                    db       31h, 27h, 0Ah, 2Bh, 2Eh, 00h
450F:1753  1F 02 00 23 E8 03                    db       1Fh, 02h, 00h, 23h,0E8h, 03h
450F:1759  0A 2B 0F 00 23 00                    db       0Ah, 2Bh, 0Fh, 00h, 23h, 00h
450F:175F  00 21 0C 00 23 E7                    db       00h, 21h, 0Ch, 00h, 23h,0E7h
450F:1765  03 21 08 00 2D 12                    db       03h, 21h, 08h, 00h, 2Dh, 12h
450F:176B  00 23 43 0B 1F 02                    db       00h, 23h, 43h, 0Bh, 1Fh, 02h
450F:1771  00 23 29 04 27 1D                    db       00h, 23h, 29h, 04h, 27h, 1Dh
450F:1777  00 23 01 00 21 08                    db       00h, 23h, 01h, 00h, 21h, 08h
450F:177D  00 2D 06 00 23 24                    db       00h, 2Dh, 06h, 00h, 23h, 24h
450F:1783  00 21 08 00 28 23                    db       00h, 21h, 08h, 00h, 28h, 23h
450F:1789  24 00 21 08 00 1F                    db       24h, 00h, 21h, 08h, 00h, 1Fh
450F:178F  06 00 23 27 04 0A                    db       06h, 00h, 23h, 27h, 04h, 0Ah
450F:1795  1F 06 00 23 F1 03                    db       1Fh, 06h, 00h, 23h,0F1h, 03h
450F:179B  0A 1C 1F 06 00 23                    db       0Ah, 1Ch, 1Fh, 06h, 00h, 23h
450F:17A1  EC 03 0A 1C 1F 06                    db      0ECh, 03h, 0Ah, 1Ch, 1Fh, 06h
450F:17A7  00 23 36 04 0A 1C                    db       00h, 23h, 36h, 04h, 0Ah, 1Ch
450F:17AD  1F 06 00 23 20 04                    db       1Fh, 06h, 00h, 23h, 20h, 04h
450F:17B3  0A 1C 1F 06 00 23                    db       0Ah, 1Ch, 1Fh, 06h, 00h, 23h
450F:17B9  1F 04 0A 1C 1F 06                    db       1Fh, 04h, 0Ah, 1Ch, 1Fh, 06h
450F:17BF  00 23 EB 03 0A 1C                    db       00h, 23h,0EBh, 03h, 0Ah, 1Ch
450F:17C5  2B 10 00 1F 26 00                    db       2Bh, 10h, 00h, 1Fh, 26h, 00h
450F:17CB  23 06 00 0A 2B 06                    db       23h, 06h, 00h, 0Ah, 2Bh, 06h
450F:17D1  00 23 31 00 21 08                    db       00h, 23h, 31h, 00h, 21h, 08h
450F:17D7  00 28 23 24 00 21                    db       00h, 28h, 23h, 24h, 00h, 21h
450F:17DD  08 00 1F 26 00 23                    db       08h, 00h, 1Fh, 26h, 00h, 23h
450F:17E3  06 00 0A 2B 09 00                    db       06h, 00h, 0Ah, 2Bh, 09h, 00h
450F:17E9  23 31 00 21 08 00                    db       23h, 31h, 00h, 21h, 08h, 00h
450F:17EF  2D 40 00 1F 04 00                    db       2Dh, 40h, 00h, 1Fh, 04h, 00h
450F:17F5  23 1D 27 0A 1F 32                    db       23h, 1Dh, 27h, 0Ah, 1Fh, 32h
450F:17FB  00 23 02 00 0A 1A                    db       00h, 23h, 02h, 00h, 0Ah, 1Ah
450F:1801  2B 2E 00 23 01 00                    db       2Bh, 2Eh, 00h, 23h, 01h, 00h
450F:1807  21 08 00 23 90 0B                    db       21h, 08h, 00h, 23h, 90h, 0Bh
450F:180D  1F 02 00 23 EB 03                    db       1Fh, 02h, 00h, 23h,0EBh, 03h
450F:1813  27 1D 00 23 00 00                    db       27h, 1Dh, 00h, 23h, 00h, 00h
450F:1819  21 32 00 1F 02 00                    db       21h, 32h, 00h, 1Fh, 02h, 00h
450F:181F  23 E8 03 0A 2B 0C                    db       23h,0E8h, 03h, 0Ah, 2Bh, 0Ch
450F:1825  00 23 02 00 21 0C                    db       00h, 23h, 02h, 00h, 21h, 0Ch
450F:182B  00 23 E7 03 21 08                    db       00h, 23h,0E7h, 03h, 21h, 08h
450F:1831  00 28 1F 04 00 23                    db       00h, 28h, 1Fh, 04h, 00h, 23h
450F:1837  1D 27 0A 1F 32 00                    db       1Dh, 27h, 0Ah, 1Fh, 32h, 00h
450F:183D  23 02 00 0A 1A 2B                    db       23h, 02h, 00h, 0Ah, 1Ah, 2Bh
450F:1843  0F 00 23 E7 03 21                    db       0Fh, 00h, 23h,0E7h, 03h, 21h
450F:1849  08 00 23 04 00 21                    db       08h, 00h, 23h, 04h, 00h, 21h
450F:184F  0C 00 2D 4A 00 1F                    db       0Ch, 00h, 2Dh, 4Ah, 00h, 1Fh
450F:1855  04 00 23 38 27 0A                    db       04h, 00h, 23h, 38h, 27h, 0Ah
450F:185B  2B 15 00 23 76 01                    db       2Bh, 15h, 00h, 23h, 76h, 01h
450F:1861  1F                                   db       1Fh
450F:1862                       loc_2370:
450F:1862  02 00                                add     al,[bx+si]
450F:1864  23 E9                                and     bp,cx
450F:1866  03 27                                add     sp,[bx]
450F:1868  1D 2300                              sbb     ax,2300h
450F:186B  01 00                                add     [bx+si],ax
450F:186D  21 08                                and     [bx+si],cx
450F:186F  00 2D                                add     [di],ch
450F:1871  2B 00                                sub     ax,[bx+si]
450F:1873  1F                                   pop     ds
450F:1874  04 00                                add     al,0
450F:1876  23 37                                and     si,[bx]
450F:1878  27                                   daa                             ; Decimal adjust
450F:1879  0A 2B                                or      ch,[bp+di]
450F:187B  15 2300                              adc     ax,2300h
450F:187E  78 01                                js      loc_2371                ; Jump if sign=1
450F:1880  1F                                   pop     ds
450F:1881                       loc_2371:                                       ;  xref 450F:187E
450F:1881  02 00                                add     al,[bx+si]
450F:1883  23 E9                                and     bp,cx
450F:1885  03 27                                add     sp,[bx]
450F:1887  1D 2300                              sbb     ax,2300h
450F:188A  01 00                                add     [bx+si],ax
450F:188C  21 08                                and     [bx+si],cx
450F:188E  00 2D                                add     [di],ch
450F:1890  0C 00                                or      al,0
450F:1892  1F                                   pop     ds
450F:1893  02 00                                add     al,[bx+si]
450F:1895  1F                                   pop     ds
450F:1896  06                                   push    es
450F:1897  00 23                                add     [bp+di],ah
450F:1899  24 00                                and     al,0
450F:189B  27                                   daa                             ; Decimal adjust
450F:189C  2F                                   das                             ; Decimal adjust
450F:189D  00 28                                add     [bx+si],ch
450F:189F  23 24                                and     sp,[si]
450F:18A1  00 21                                add     [bx+di],ah
450F:18A3  08 00                                or      [bx+si],al
450F:18A5  1F                                   pop     ds
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 638

450F:18A6  26: 00 23                            add     es:[bp+di],ah
450F:18A9  06                                   push    es
450F:18AA  00 0A                                add     [bp+si],cl
450F:18AC  2B 09                                sub     cx,[bx+di]
450F:18AE  00 23                                add     [bp+di],ah
450F:18B0  31 00                                xor     [bx+si],ax
450F:18B2  21 08                                and     [bx+si],cx
450F:18B4  00 2D                                add     [di],ch
450F:18B6  4D                                   dec     bp
450F:18B7  00 1F                                add     [bx],bl
450F:18B9  04 00                                add     al,0
450F:18BB  23 30                                and     si,[bx+si]
450F:18BD  27                                   daa                             ; Decimal adjust
450F:18BE  0A 2B                                or      ch,[bp+di]
450F:18C0  43                                   inc     bx
450F:18C1  00 1F                                add     [bx],bl
450F:18C3  02 00                                add     al,[bx+si]
450F:18C5  23 E8                                and     bp,ax
450F:18C7  03 0A                                add     cx,[bp+si]
450F:18C9  2B 27                                sub     sp,[bx]
450F:18CB  00 23                                add     [bp+di],ah
450F:18CD  E7 03                                out     3,ax                    ; port 3, DMA-1 bas&cnt ch 1
450F:18CF  21 08                                and     [bx+si],cx
450F:18D1  00 23                                add     [bp+di],ah
450F:18D3  08 00                                or      [bx+si],al
450F:18D5  1F                                   pop     ds
450F:18D6  02 00                                add     al,[bx+si]
450F:18D8  27                                   daa                             ; Decimal adjust
450F:18D9  22 00                                and     al,[bx+si]
450F:18DB  23 31                                and     si,[bx+di]
450F:18DD  27                                   daa                             ; Decimal adjust
450F:18DE  27                                   daa                             ; Decimal adjust
450F:18DF  32 00                                xor     al,[bx+si]
450F:18E1  27                                   daa                             ; Decimal adjust
450F:18E2  1C 00                                sbb     al,0
450F:18E4  23 30                                and     si,[bx+si]
450F:18E6  27                                   daa                             ; Decimal adjust
450F:18E7  27                                   daa                             ; Decimal adjust
450F:18E8  06                                   push    es
450F:18E9  00 23                                add     [bp+di],ah
450F:18EB  05 2100                              add     ax,2100h
450F:18EE  0C 00                                or      al,0
450F:18F0  2D 0012                              sub     ax,12h
450F:18F3  23 01                                and     ax,[bx+di]
450F:18F5  00 21                                add     [bx+di],ah
450F:18F7  08 00                                or      [bx+si],al
450F:18F9  23 FC                                and     di,sp
450F:18FB  0B 1F                                or      bx,[bx]
450F:18FD  02 00                                add     al,[bx+si]
450F:18FF  23 36 2704                           and     si,data_1430            ; (450F:2704=28h)
450F:1903  1D 2800                              sbb     ax,2800h
450F:1906  23 46 0B                             and     ax,[bp+0Bh]
450F:1909  27                                   daa                             ; Decimal adjust
450F:190A  10 00                                adc     [bx+si],al
450F:190C  23 92 2110                           and     dx,[bp+si+2110h]
450F:1910  08 00                                or      [bx+si],al
450F:1912  28 23                                sub     [bp+di],ah
450F:1914  01 00                                add     [bx+si],ax
450F:1916  21 08                                and     [bx+si],cx
450F:1918  00 1F                                add     [bx],bl
450F:191A  04 00                                add     al,0
450F:191C  23 23                                and     sp,[bp+di]
450F:191E  27                                   daa                             ; Decimal adjust
450F:191F  0C 2B                                or      al,2Bh                  ; '+'
450F:1921  79 00                                jns     $+2                     ; delay for I/O
450F:1923  1F                                   pop     ds
450F:1924  04 00                                add     al,0
450F:1926  23 1D                                and     bx,[di]
450F:1928  27                                   daa                             ; Decimal adjust
450F:1929  0A 2B                                or      ch,[bp+di]
450F:192B  60 00 1F 32 00 23                    db       60h, 00h, 1Fh, 32h, 00h, 23h
450F:1931  03 00 0A 2B 15 00                    db       03h, 00h, 0Ah, 2Bh, 15h, 00h
450F:1937  23 B4 0C 1F 02 00                    db       23h,0B4h, 0Ch, 1Fh, 02h, 00h
450F:193D  1F 06 00 27 1D 00                    db       1Fh, 06h, 00h, 27h, 1Dh, 00h
450F:1943  23 00 00 21 32 00                    db       23h, 00h, 00h, 21h, 32h, 00h
450F:1949  2D 3E 00 1F 32 00                    db       2Dh, 3Eh, 00h, 1Fh, 32h, 00h
450F:194F  23 04 00 0A 2B 0F                    db       23h, 04h, 00h, 0Ah, 2Bh, 0Fh
450F:1955  00 23 B5 0C 1F 02                    db       00h, 23h,0B5h, 0Ch, 1Fh, 02h
450F:195B  00 1F 06 00 27 1D                    db       00h, 1Fh, 06h, 00h, 27h, 1Dh
450F:1961  00 2D 25 00 1F 32                    db       00h, 2Dh, 25h, 00h, 1Fh, 32h
450F:1967  00 23 00 00 0C 2B                    db       00h, 23h, 00h, 00h, 0Ch, 2Bh
450F:196D  0F 00 23 B6 0C 1F                    db       0Fh, 00h, 23h,0B6h, 0Ch, 1Fh
450F:1973  02 00 1F 06 00 27                    db       02h, 00h, 1Fh, 06h, 00h, 27h
450F:1979  1D 00 2D 0C 00 1F                    db       1Dh, 00h, 2Dh, 0Ch, 00h, 1Fh
450F:197F  02 00 1F 06 00 23                    db       02h, 00h, 1Fh, 06h, 00h, 23h
450F:1985  24 00 27 2F 00 2D                    db       24h, 00h, 27h, 2Fh, 00h, 2Dh
450F:198B  0C 00 1F 02 00 1F                    db       0Ch, 00h, 1Fh, 02h, 00h, 1Fh
450F:1991  06 00 23 24 00 27                    db       06h, 00h, 23h, 24h, 00h, 27h
450F:1997  2F 00 2D 5A 00 1F                    db       2Fh, 00h, 2Dh, 5Ah, 00h, 1Fh
450F:199D  02 00 23 E8 03 0A                    db       02h, 00h, 23h,0E8h, 03h, 0Ah
450F:19A3  2B 0F 00 23 01 00                    db       2Bh, 0Fh, 00h, 23h, 01h, 00h
450F:19A9  23 03 00 23 8C 1A                    db       23h, 03h, 00h, 23h, 8Ch, 1Ah
450F:19AF  27 08 00 2D 41 00                    db       27h, 08h, 00h, 2Dh, 41h, 00h
450F:19B5  1F 48 00 23 00 00                    db       1Fh, 48h, 00h, 23h, 00h, 00h
450F:19BB  0A 2B 21 00 23 0A                    db       0Ah, 2Bh, 21h, 00h, 23h, 0Ah
450F:19C1  09 1F 02 00 1F 06                    db       09h, 1Fh, 02h, 00h, 1Fh, 06h
450F:19C7  00 27 1D 00 23 00                    db       00h, 27h, 1Dh, 00h, 23h, 00h
450F:19CD  00 21 08 00 23 0B                    db       00h, 21h, 08h, 00h, 23h, 0Bh
450F:19D3  00 21 26 00 23 01                    db       00h, 21h, 26h, 00h, 23h, 01h
450F:19D9  00 21 48 00 2D 16                    db       00h, 21h, 48h, 00h, 2Dh, 16h
450F:19DF  00 1F 48 00 23 01                    db       00h, 1Fh, 48h, 00h, 23h, 01h
450F:19E5  00 0A 2B 0C 00 1F                    db       00h, 0Ah, 2Bh, 0Ch, 00h, 1Fh
450F:19EB  02 00 1F 06 00 23                    db       02h, 00h, 1Fh, 06h, 00h, 23h
450F:19F1  24 00 27 2F 00 28                    db       24h, 00h, 27h, 2Fh, 00h, 28h
450F:19F7  23 01 00 21 08 00                    db       23h, 01h, 00h, 21h, 08h, 00h
450F:19FD  1F 04 00 23 23 27                    db       1Fh, 04h, 00h, 23h, 23h, 27h
450F:1A03  0C 2B 0F 00 1F 02                    db       0Ch, 2Bh, 0Fh, 00h, 1Fh, 02h
450F:1A09  00 1F 06 00 23 24                    db       00h, 1Fh, 06h, 00h, 23h, 24h
450F:1A0F  00 27 2F 00 2D 24                    db       00h, 27h, 2Fh, 00h, 2Dh, 24h
450F:1A15  00 23 32 09 1F 02                    db       00h, 23h, 32h, 09h, 1Fh, 02h
450F:1A1B  00 1F 06 00 27 1D                    db       00h, 1Fh, 06h, 00h, 27h, 1Dh
450F:1A21  00 23 00 00 21 08                    db       00h, 23h, 00h, 00h, 21h, 08h
450F:1A27  00 23 0C 00 21 26                    db       00h, 23h, 0Ch, 00h, 21h, 26h
450F:1A2D  00 23 01 00 23 08                    db       00h, 23h, 01h, 00h, 23h, 08h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 640

450F:1A33  00 23 7F 1A 27 08                    db       00h, 23h, 7Fh, 1Ah, 27h, 08h
450F:1A39  00 28 23 01 00 21                    db       00h, 28h, 23h, 01h, 00h, 21h
450F:1A3F  08 00 1F 04 00 23                    db       08h, 00h, 1Fh, 04h, 00h, 23h
450F:1A45  23 27 0C 2B 0F 00                    db       23h, 27h, 0Ch, 2Bh, 0Fh, 00h
450F:1A4B  1F 02 00 1F 06 00                    db       1Fh, 02h, 00h, 1Fh, 06h, 00h
450F:1A51  23 24 00 27 2F 00                    db       23h, 24h, 00h, 27h, 2Fh, 00h
450F:1A57  2D 24 00 23 3C 09                    db       2Dh, 24h, 00h, 23h, 3Ch, 09h
450F:1A5D  1F 02 00 1F 06 00                    db       1Fh, 02h, 00h, 1Fh, 06h, 00h
450F:1A63  27 1D 00 23 00 00                    db       27h, 1Dh, 00h, 23h, 00h, 00h
450F:1A69  21 08 00 23 0C 00                    db       21h, 08h, 00h, 23h, 0Ch, 00h
450F:1A6F  21 26 00 23 01 00                    db       21h, 26h, 00h, 23h, 01h, 00h
450F:1A75  23 08 00 23 7F 1A                    db       23h, 08h, 00h, 23h, 7Fh, 1Ah
450F:1A7B  27 08 00 28 23 33                    db       27h, 08h, 00h, 28h, 23h, 33h
450F:1A81  09 27 10 00 23 27                    db       09h, 27h, 10h, 00h, 23h, 27h
450F:1A87  27 27 32 00 28 23                    db       27h, 27h, 32h, 00h, 28h, 23h
450F:1A8D  F7 08 27 10 00 28                    db      0F7h, 08h, 27h, 10h, 00h, 28h
450F:1A93  1F 1C 00 23 02 00                    db       1Fh, 1Ch, 00h, 23h, 02h, 00h
450F:1A99  0A 2B 12 00 23 01                    db       0Ah, 2Bh, 12h, 00h, 23h, 01h
450F:1A9F  00 21 08 00 23 01                    db       00h, 21h, 08h, 00h, 23h, 01h
450F:1AA5  00 23 02 00 23 B0                    db       00h, 23h, 02h, 00h, 23h,0B0h
450F:1AAB  1A 27 08 00 28 23                    db       1Ah, 27h, 08h, 00h, 28h, 23h
450F:1AB1  EF 0A 27 10 00 28                    db      0EFh, 0Ah, 27h, 10h, 00h, 28h
450F:1AB7  1F 1E 00 23 03 00                    db       1Fh, 1Eh, 00h, 23h, 03h, 00h
450F:1ABD  0A 2B 12 00 23 01                    db       0Ah, 2Bh, 12h, 00h, 23h, 01h
450F:1AC3  00 21 08 00 23 01                    db       00h, 21h, 08h, 00h, 23h, 01h
450F:1AC9  00 23 02 00 23 85                    db       00h, 23h, 02h, 00h, 23h, 85h
450F:1ACF  1B 27 08 00 28 23                    db       1Bh, 27h, 08h, 00h, 28h, 23h
450F:1AD5  01 00 21 08 00 1F                    db       01h, 00h, 21h, 08h, 00h, 1Fh
450F:1ADB  1E 00 23 03 00 0C                    db       1Eh, 00h, 23h, 03h, 00h, 0Ch
450F:1AE1  2B 83 00 23 01 00                    db       2Bh, 83h, 00h, 23h, 01h, 00h
450F:1AE7  23 12 04 27 1E 00                    db       23h, 12h, 04h, 27h, 1Eh, 00h
450F:1AED  1F 04 00 23 10 27                    db       1Fh, 04h, 00h, 23h, 10h, 27h
450F:1AF3  0A 2B 61 00 1F 24                    db       0Ah, 2Bh, 61h, 00h, 1Fh, 24h
450F:1AF9  00 23 01 00 0A 2B                    db       00h, 23h, 01h, 00h, 0Ah, 2Bh
450F:1AFF  34 00 23 01 00 21                    db       34h, 00h, 23h, 01h, 00h, 21h
450F:1B05  1E 00 23 00 00 21                    db       1Eh, 00h, 23h, 00h, 00h, 21h
450F:1B0B  24 00 1F 02 00 23                    db       24h, 00h, 1Fh, 02h, 00h, 23h
450F:1B11  E8 03 0A 2B 0F 00                    db      0E8h, 03h, 0Ah, 2Bh, 0Fh, 00h
450F:1B17  23 01 00 21 0C 00                    db       23h, 01h, 00h, 21h, 0Ch, 00h
450F:1B1D  23 E7 03 21 08 00                    db       23h,0E7h, 03h, 21h, 08h, 00h
450F:1B23  2D 0C 00 23 FA 00                    db       2Dh, 0Ch, 00h, 23h,0FAh, 00h
450F:1B29  1F 02 00 23 12 04                    db       1Fh, 02h, 00h, 23h, 12h, 04h
450F:1B2F  27 1D 00 2D 20 00                    db       27h, 1Dh, 00h, 2Dh, 20h, 00h
450F:1B35  1F 24 00 23 00 00                    db       1Fh, 24h, 00h, 23h, 00h, 00h
450F:1B3B  0A 2B 16 00 1F 02                    db       0Ah, 2Bh, 16h, 00h, 1Fh, 02h
450F:1B41  00 23 E8 03 0A 2B                    db       00h, 23h,0E8h, 03h, 0Ah, 2Bh
450F:1B47  0C 00 23 01 00 23                    db       0Ch, 00h, 23h, 01h, 00h, 23h
450F:1B4D  02 00 23 7E 1B 27                    db       02h, 00h, 23h, 7Eh, 1Bh, 27h
450F:1B53  08 00 2D 0C 00 23                    db       08h, 00h, 2Dh, 0Ch, 00h, 23h
450F:1B59  FD 00 23 E8 03 23                    db      0FDh, 00h, 23h,0E8h, 03h, 23h
450F:1B5F  12 04 27 1D 00 2D                    db       12h, 04h, 27h, 1Dh, 00h, 2Dh
450F:1B65  16 00 1F 02 00 23                    db       16h, 00h, 1Fh, 02h, 00h, 23h
450F:1B6B  E8 03 0A 2B 0C 00                    db      0E8h, 03h, 0Ah, 2Bh, 0Ch, 00h
450F:1B71  23 01 00 23 03 00                    db       23h, 01h, 00h, 23h, 03h, 00h
450F:1B77  23 85 1B 27 08 00                    db       23h, 85h, 1Bh, 27h, 08h, 00h
450F:1B7D  28 23 F8 00 27 10                    db       28h, 23h,0F8h, 00h, 27h, 10h
450F:1B83  00 28 23 03 01 27                    db       00h, 28h, 23h, 03h, 01h, 27h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 641

450F:1B89  10 00 28 1F 06 00                    db       10h, 00h, 28h, 1Fh, 06h, 00h
450F:1B8F  1F 04 00 27 0A 00                    db       1Fh, 04h, 00h, 27h, 0Ah, 00h
450F:1B95  1F 0A 00 23 00 00                    db       1Fh, 0Ah, 00h, 23h, 00h, 00h
450F:1B9B  0A 2B 06 00 23 0A                    db       0Ah, 2Bh, 06h, 00h, 23h, 0Ah
450F:1BA1  00 21 08 00 1F 06                    db       00h, 21h, 08h, 00h, 1Fh, 06h
450F:1BA7  00 23 27 04 0A 1F                    db       00h, 23h, 27h, 04h, 0Ah, 1Fh
450F:1BAD  06 00 23 36 04 0A                    db       06h, 00h, 23h, 36h, 04h, 0Ah
450F:1BB3  1C 1F 06 00 23 20                    db       1Ch, 1Fh, 06h, 00h, 23h, 20h
450F:1BB9  04 0A 1C 2B 10 00                    db       04h, 0Ah, 1Ch, 2Bh, 10h, 00h
450F:1BBF  1F 26 00 23 06 00                    db       1Fh, 26h, 00h, 23h, 06h, 00h
450F:1BC5  0A 2B 06 00 23 32                    db       0Ah, 2Bh, 06h, 00h, 23h, 32h
450F:1BCB  00 21 08 00 28 1F                    db       00h, 21h, 08h, 00h, 28h, 1Fh
450F:1BD1  04 00 23 32 27 0A                    db       04h, 00h, 23h, 32h, 27h, 0Ah
450F:1BD7  2B 15 00 23 75 0B                    db       2Bh, 15h, 00h, 23h, 75h, 0Bh
450F:1BDD  1F 02 00 23 1F 04                    db       1Fh, 02h, 00h, 23h, 1Fh, 04h
450F:1BE3  27 1D 00 23 01 00                    db       27h, 1Dh, 00h, 23h, 01h, 00h
450F:1BE9  21 08 00 2D 06 00                    db       21h, 08h, 00h, 2Dh, 06h, 00h
450F:1BEF  23 0A 00 21 08 00                    db       23h, 0Ah, 00h, 21h, 08h, 00h
450F:1BF5  28 23 24 00 21 08                    db       28h, 23h, 24h, 00h, 21h, 08h
450F:1BFB  00 1F 26 00 23 06                    db       00h, 1Fh, 26h, 00h, 23h, 06h
450F:1C01  00 0A 2B 09 00 23                    db       00h, 0Ah, 2Bh, 09h, 00h, 23h
450F:1C07  31 00 21 08 00 2D                    db       31h, 00h, 21h, 08h, 00h, 2Dh
450F:1C0D  22 00 1F 04 00 23                    db       22h, 00h, 1Fh, 04h, 00h, 23h
450F:1C13  34 27 0A 2B 18 00                    db       34h, 27h, 0Ah, 2Bh, 18h, 00h
450F:1C19  23 76 0B 1F 02 00                    db       23h, 76h, 0Bh, 1Fh, 02h, 00h
450F:1C1F  23 1F 04 27 1D 00                    db       23h, 1Fh, 04h, 27h, 1Dh, 00h
450F:1C25  23 32 27 27 23 00                    db       23h, 32h, 27h, 27h, 23h, 00h
450F:1C2B  23 01 00 21 08 00                    db       23h, 01h, 00h, 21h, 08h, 00h
450F:1C31  28 1F 06 00 1F 04                    db       28h, 1Fh, 06h, 00h, 1Fh, 04h
450F:1C37  00 27 0A 00 1F 0A                    db       00h, 27h, 0Ah, 00h, 1Fh, 0Ah
450F:1C3D  00 23 00 00 0A 2B                    db       00h, 23h, 00h, 00h, 0Ah, 2Bh
450F:1C43  09 00 23 0A 00 21                    db       09h, 00h, 23h, 0Ah, 00h, 21h
450F:1C49  08 00 2D 4E 00 1F                    db       08h, 00h, 2Dh, 4Eh, 00h, 1Fh
450F:1C4F  04 00 23 10 27 0A                    db       04h, 00h, 23h, 10h, 27h, 0Ah
450F:1C55  2B 44 00 1F 26 00                    db       2Bh, 44h, 00h, 1Fh, 26h, 00h
450F:1C5B  23 00 00 10 2B 3A                    db       23h, 00h, 00h, 10h, 2Bh, 3Ah
450F:1C61  00 1F 8E 00 23 00                    db       00h, 1Fh, 8Eh, 00h, 23h, 00h
450F:1C67  00 0A 2B 30 00 23                    db       00h, 0Ah, 2Bh, 30h, 00h, 23h
450F:1C6D  01 00 23 02 00 23                    db       01h, 00h, 23h, 02h, 00h, 23h
450F:1C73  9D 1C 27 08 00 23                    db       9Dh, 1Ch, 27h, 08h, 00h, 23h
450F:1C79  6C 0B 23 E8 03 23                    db       6Ch, 0Bh, 23h,0E8h, 03h, 23h
450F:1C7F  E9 03 27 1D 00 23                    db      0E9h, 03h, 27h, 1Dh, 00h, 23h
450F:1C85  01 00 21 08 00 23                    db       01h, 00h, 21h, 08h, 00h, 23h
450F:1C8B  10 27 27 32 00 23                    db       10h, 27h, 27h, 32h, 00h, 23h
450F:1C91  02 00 21 24 00 23                    db       02h, 00h, 21h, 24h, 00h, 23h
450F:1C97  01 00 21 8E 00 28                    db       01h, 00h, 21h, 8Eh, 00h, 28h
450F:1C9D  23 61 01 23 10 27                    db       23h, 61h, 01h, 23h, 10h, 27h
450F:1CA3  27 0B 00 23 60 01                    db       27h, 0Bh, 00h, 23h, 60h, 01h
450F:1CA9  23 10 27 27 0C 00                    db       23h, 10h, 27h, 27h, 0Ch, 00h
450F:1CAF  28 23 7D 00 1F 02                    db       28h, 23h, 7Dh, 00h, 1Fh, 02h
450F:1CB5  00 1F 04 00 27 1D                    db       00h, 1Fh, 04h, 00h, 27h, 1Dh
450F:1CBB  00 28 23 EF 0F 1F                    db       00h, 28h, 23h,0EFh, 0Fh, 1Fh
450F:1CC1  02 00 1F 04 00 27                    db       02h, 00h, 1Fh, 04h, 00h, 27h
450F:1CC7  1D 00 28 1F 88 00                    db       1Dh, 00h, 28h, 1Fh, 88h, 00h
450F:1CCD  21 A0 00 1F A0 00                    db       21h,0A0h, 00h, 1Fh,0A0h, 00h
450F:1CD3  23 A0 0C 02 21 A0                    db       23h,0A0h, 0Ch, 02h, 21h,0A0h
450F:1CD9  00 1F 88 00 23 01                    db       00h, 1Fh, 88h, 00h, 23h, 01h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 642

450F:1CDF  00 02 21 88 00 1F                    db       00h, 02h, 21h, 88h, 00h, 1Fh
450F:1CE5  88 00 23 06 00 0A                    db       88h, 00h, 23h, 06h, 00h, 0Ah
450F:1CEB  2B 06 00 23 00 00                    db       2Bh, 06h, 00h, 23h, 00h, 00h
450F:1CF1  21 88 00 1F A0 00                    db       21h, 88h, 00h, 1Fh,0A0h, 00h
450F:1CF7  1F 02 00 1F 04 00                    db       1Fh, 02h, 00h, 1Fh, 04h, 00h
450F:1CFD  27 1D 00 28 23 01                    db       27h, 1Dh, 00h, 28h, 23h, 01h
450F:1D03  00 1F 02 00 27 31                    db       00h, 1Fh, 02h, 00h, 27h, 31h
450F:1D09  00 28 1F 14 00 23                    db       00h, 28h, 1Fh, 14h, 00h, 23h
450F:1D0F  01 00 0A 2B 1B 00                    db       01h, 00h, 0Ah, 2Bh, 1Bh, 00h
450F:1D15  23 02 00 21 14 00                    db       23h, 02h, 00h, 21h, 14h, 00h
450F:1D1B  23 02 00 1F 02 00                    db       23h, 02h, 00h, 1Fh, 02h, 00h
450F:1D21  27 31 00 23 77 00                    db       27h, 31h, 00h, 23h, 77h, 00h
450F:1D27  23 0F 04 1F 02 00                    db       23h, 0Fh, 04h, 1Fh, 02h, 00h
450F:1D2D  27 1F 00 28 23 01                    db       27h, 1Fh, 00h, 28h, 23h, 01h
450F:1D33  00 23 E8 03 27 28                    db       00h, 23h,0E8h, 03h, 27h, 28h
450F:1D39  00 1F 08 00 23 00                    db       00h, 1Fh, 08h, 00h, 23h, 00h
450F:1D3F  00 0A 2B 13 00 1F                    db       00h, 0Ah, 2Bh, 13h, 00h, 1Fh
450F:1D45  12 00 23 00 00 0A                    db       12h, 00h, 23h, 00h, 00h, 0Ah
450F:1D4B  2B 09 00 23 03 00                    db       2Bh, 09h, 00h, 23h, 03h, 00h
450F:1D51  1F 02 00 27 31 00                    db       1Fh, 02h, 00h, 27h, 31h, 00h
450F:1D57  28 23 01 00 23 E8                    db       28h, 23h, 01h, 00h, 23h,0E8h
450F:1D5D  03 27 28 00 1F 08                    db       03h, 27h, 28h, 00h, 1Fh, 08h
450F:1D63  00 23 00 00 0A 2B                    db       00h, 23h, 00h, 00h, 0Ah, 2Bh
450F:1D69  15 00 23 03 00 1F                    db       15h, 00h, 23h, 03h, 00h, 1Fh
450F:1D6F  02 00 27 31 00 23                    db       02h, 00h, 27h, 31h, 00h, 23h
450F:1D75  01 00 21 14 00 23                    db       01h, 00h, 21h, 14h, 00h, 23h
450F:1D7B  01 00 21 16 00 28                    db       01h, 00h, 21h, 16h, 00h, 28h
450F:1D81  23 01 00 23 E8 03                    db       23h, 01h, 00h, 23h,0E8h, 03h
450F:1D87  27 33 00 28 23 01                    db       27h, 33h, 00h, 28h, 23h, 01h
450F:1D8D  00 21 08 00 23 01                    db       00h, 21h, 08h, 00h, 23h, 01h
450F:1D93  00 23 E8 03 27 33                    db       00h, 23h,0E8h, 03h, 27h, 33h
450F:1D99  00 23 01 00 21 2C                    db       00h, 23h, 01h, 00h, 21h, 2Ch
450F:1D9F  00 1F 26 00 23 06                    db       00h, 1Fh, 26h, 00h, 23h, 06h
450F:1DA5  00 0A 2B 0F 00 23                    db       00h, 0Ah, 2Bh, 0Fh, 00h, 23h
450F:1DAB  C4 0C 23 E8 03 23                    db      0C4h, 0Ch, 23h,0E8h, 03h, 23h
450F:1DB1  21 04 27 1D 00 2D                    db       21h, 04h, 27h, 1Dh, 00h, 2Dh
450F:1DB7  0C 00 23 7A 08 23                    db       0Ch, 00h, 23h, 7Ah, 08h, 23h
450F:1DBD  E8 03 23 21 04 27                    db      0E8h, 03h, 23h, 21h, 04h, 27h
450F:1DC3  1D 00 28 23 18 08                    db       1Dh, 00h, 28h, 23h, 18h, 08h
450F:1DC9  27 10 00 28 27 34                    db       27h, 10h, 00h, 28h, 27h, 34h
450F:1DCF  00 28 1F 26 00 23                    db       00h, 28h, 1Fh, 26h, 00h, 23h
450F:1DD5  17 00 0C 2B 06 00                    db       17h, 00h, 0Ch, 2Bh, 06h, 00h
450F:1DDB  23 01 00 21 08 00                    db       23h, 01h, 00h, 21h, 08h, 00h
450F:1DE1  28 23 23 00 23 E8                    db       28h, 23h, 23h, 00h, 23h,0E8h
450F:1DE7  03 27 28 00 1F 08                    db       03h, 27h, 28h, 00h, 1Fh, 08h
450F:1DED  00 23 00 00 0A 2B                    db       00h, 23h, 00h, 00h, 0Ah, 2Bh
450F:1DF3  09 00 23 23 00 23                    db       09h, 00h, 23h, 23h, 00h, 23h
450F:1DF9  EC 03 27 28 00 28                    db      0ECh, 03h, 27h, 28h, 00h, 28h
450F:1DFF  23 03 00 23 37 04                    db       23h, 03h, 00h, 23h, 37h, 04h
450F:1E05  27 01 00 23 03 00                    db       27h, 01h, 00h, 23h, 03h, 00h
450F:1E0B  21 26 00 23 01 00                    db       21h, 26h, 00h, 23h, 01h, 00h
450F:1E11  21 86 00 28 1F 02                    db       21h, 86h, 00h, 28h, 1Fh, 02h
450F:1E17  00 23 E8 03 0A 2B                    db       00h, 23h,0E8h, 03h, 0Ah, 2Bh
450F:1E1D  22 00 1F 86 00 23                    db       22h, 00h, 1Fh, 86h, 00h, 23h
450F:1E23  00 00 0A 2B 18 00                    db       00h, 00h, 0Ah, 2Bh, 18h, 00h
450F:1E29  25 FF 1D 23 ED 0F                    db       25h,0FFh, 1Dh, 23h,0EDh, 0Fh
450F:1E2F  23 E8 03 23 37 04                    db       23h,0E8h, 03h, 23h, 37h, 04h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 643

450F:1E35  27 1D 00 23 F3 03                    db       27h, 1Dh, 00h, 23h,0F3h, 03h
450F:1E3B  23 0D 00 27 31 00                    db       23h, 0Dh, 00h, 27h, 31h, 00h
450F:1E41  28 1F 02 00 27 35                    db       28h, 1Fh, 02h, 00h, 27h, 35h
450F:1E47  00 28 1F 7E 00 23                    db       00h, 28h, 1Fh, 7Eh, 00h, 23h
450F:1E4D  01 00 0A 2B 18 00                    db       01h, 00h, 0Ah, 2Bh, 18h, 00h
450F:1E53  1F 02 00 27 06 00                    db       1Fh, 02h, 00h, 27h, 06h, 00h
450F:1E59  23 39 04 27 06 00                    db       23h, 39h, 04h, 27h, 06h, 00h
450F:1E5F  23 38 04 27 00 00                    db       23h, 38h, 04h, 27h, 00h, 00h
450F:1E65  23 01 00 21 80 00                    db       23h, 01h, 00h, 21h, 80h, 00h
450F:1E6B  28 1F 4A 00 23 01                    db       28h, 1Fh, 4Ah, 00h, 23h, 01h
450F:1E71  00 0A 2B 06 00 1F                    db       00h, 0Ah, 2Bh, 06h, 00h, 1Fh
450F:1E77  4A 00 21 08 00 28                    db       4Ah, 00h, 21h, 08h, 00h, 28h
450F:1E7D  23 17 27 27 16 00                    db       23h, 17h, 27h, 27h, 16h, 00h
450F:1E83  1F 0A 00 21 08 00                    db       1Fh, 0Ah, 00h, 21h, 08h, 00h
450F:1E89  28 23 1E 00 23 E8                    db       28h, 23h, 1Eh, 00h, 23h,0E8h
450F:1E8F  03 27 28 00 1F 08                    db       03h, 27h, 28h, 00h, 1Fh, 08h
450F:1E95  00 23 01 00 0A 2B                    db       00h, 23h, 01h, 00h, 0Ah, 2Bh
450F:1E9B  3D 00 1F 26 00 23                    db       3Dh, 00h, 1Fh, 26h, 00h, 23h
450F:1EA1  06 00 0C 2B 1E 00                    db       06h, 00h, 0Ch, 2Bh, 1Eh, 00h
450F:1EA7  27 36 00 23 0E 00                    db       27h, 36h, 00h, 23h, 0Eh, 00h
450F:1EAD  1F 02 00 27 31 00                    db       1Fh, 02h, 00h, 27h, 31h, 00h
450F:1EB3  23 02 00 21 16 00                    db       23h, 02h, 00h, 21h, 16h, 00h
450F:1EB9  23 8E 0B 1F 02 00                    db       23h, 8Eh, 0Bh, 1Fh, 02h, 00h
450F:1EBF  27 13 00 2D 12 00                    db       27h, 13h, 00h, 2Dh, 12h, 00h
450F:1EC5  23 A6 0C 1F 02 00                    db       23h,0A6h, 0Ch, 1Fh, 02h, 00h
450F:1ECB  27 13 00 23 19 00                    db       27h, 13h, 00h, 23h, 19h, 00h
450F:1ED1  1F 02 00 27 31 00                    db       1Fh, 02h, 00h, 27h, 31h, 00h
450F:1ED7  2D 09 00 23 50 0B                    db       2Dh, 09h, 00h, 23h, 50h, 0Bh
450F:1EDD  1F 02 00 27 13 00                    db       1Fh, 02h, 00h, 27h, 13h, 00h
450F:1EE3  28 1F 30 00 21 08                    db       28h, 1Fh, 30h, 00h, 21h, 08h
450F:1EE9  00 23 8F 0B 1F 02                    db       00h, 23h, 8Fh, 0Bh, 1Fh, 02h
450F:1EEF  00 27 13 00 28 1F                    db       00h, 27h, 13h, 00h, 28h, 1Fh
450F:1EF5  90 00 23 01 00 02                    db       90h, 00h, 23h, 01h, 00h, 02h
450F:1EFB  21 90 00 1F 90 00                    db       21h, 90h, 00h, 1Fh, 90h, 00h
450F:1F01  23 03 00 0A 2B 06                    db       23h, 03h, 00h, 0Ah, 2Bh, 06h
450F:1F07  00 23 00 00 21 90                    db       00h, 23h, 00h, 00h, 21h, 90h
450F:1F0D  00 23 0F 00 1F 90                    db       00h, 23h, 0Fh, 00h, 1Fh, 90h
450F:1F13  00 02 23 F1 03 27                    db       00h, 02h, 23h,0F1h, 03h, 27h
450F:1F19  31 00 28 1F 9E 00                    db       31h, 00h, 28h, 1Fh, 9Eh, 00h
450F:1F1F  23 01 00 02 21 9E                    db       23h, 01h, 00h, 02h, 21h, 9Eh
450F:1F25  00 1F 9E 00 23 03                    db       00h, 1Fh, 9Eh, 00h, 23h, 03h
450F:1F2B  00 0A 2B 06 00 23                    db       00h, 0Ah, 2Bh, 06h, 00h, 23h
450F:1F31  00 00 21 9E 00 23                    db       00h, 00h, 21h, 9Eh, 00h, 23h
450F:1F37  1B 00 1F 9E 00 02                    db       1Bh, 00h, 1Fh, 9Eh, 00h, 02h
450F:1F3D  23 EB 03 27 31 00                    db       23h,0EBh, 03h, 27h, 31h, 00h
450F:1F43  28 1F 92 00 23 01                    db       28h, 1Fh, 92h, 00h, 23h, 01h
450F:1F49  00 02 21 92 00 1F                    db       00h, 02h, 21h, 92h, 00h, 1Fh
450F:1F4F  92 00 23 03 00 0A                    db       92h, 00h, 23h, 03h, 00h, 0Ah
450F:1F55  2B 06 00 23 00 00                    db       2Bh, 06h, 00h, 23h, 00h, 00h
450F:1F5B  21 92 00 23 14 00                    db       21h, 92h, 00h, 23h, 14h, 00h
450F:1F61  1F 92 00 02 23 EC                    db       1Fh, 92h, 00h, 02h, 23h,0ECh
450F:1F67  03 27 31 00 28 1F                    db       03h, 27h, 31h, 00h, 28h, 1Fh
450F:1F6D  26 00 23 14 00 10                    db       26h, 00h, 23h, 14h, 00h, 10h
450F:1F73  2B 09 00 23 1E 00                    db       2Bh, 09h, 00h, 23h, 1Eh, 00h
450F:1F79  23 EC 03 27 31 00                    db       23h,0ECh, 03h, 27h, 31h, 00h
450F:1F7F  28 1F 26 00 23 07                    db       28h, 1Fh, 26h, 00h, 23h, 07h
450F:1F85  00 0A 2B 09 00 23                    db       00h, 0Ah, 2Bh, 09h, 00h, 23h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 644

450F:1F8B  1F 00 23 ED 03 27                    db       1Fh, 00h, 23h,0EDh, 03h, 27h
450F:1F91  31 00 28 1F 26 00                    db       31h, 00h, 28h, 1Fh, 26h, 00h
450F:1F97  23 0A 00 0A 2B 09                    db       23h, 0Ah, 00h, 0Ah, 2Bh, 09h
450F:1F9D  00 23 20 00 23 ED                    db       00h, 23h, 20h, 00h, 23h,0EDh
450F:1FA3  03 27 31 00 28 1F                    db       03h, 27h, 31h, 00h, 28h, 1Fh
450F:1FA9  1A 00 23 01 00 0A                    db       1Ah, 00h, 23h, 01h, 00h, 0Ah
450F:1FAF  2B 09 00 23 00 00                    db       2Bh, 09h, 00h, 23h, 00h, 00h
450F:1FB5  21 08 00 2D 06 00                    db       21h, 08h, 00h, 2Dh, 06h, 00h
450F:1FBB  23 92 10 21 08 00                    db       23h, 92h, 10h, 21h, 08h, 00h
450F:1FC1  28 23 01 00 21 1A                    db       28h, 23h, 01h, 00h, 21h, 1Ah
450F:1FC7  00 23 92 10 21 08                    db       00h, 23h, 92h, 10h, 21h, 08h
450F:1FCD  00 28 1F 1E 00 23                    db       00h, 28h, 1Fh, 1Eh, 00h, 23h
450F:1FD3  00 00 0A 2B 09 00                    db       00h, 00h, 0Ah, 2Bh, 09h, 00h
450F:1FD9  23 92 10 21 08 00                    db       23h, 92h, 10h, 21h, 08h, 00h
450F:1FDF  2D 06 00 23 01 00                    db       2Dh, 06h, 00h, 23h, 01h, 00h
450F:1FE5  21 08 00 28 23 14                    db       21h, 08h, 00h, 28h, 23h, 14h
450F:1FEB  27 27 23 00 23 02                    db       27h, 27h, 23h, 00h, 23h, 02h
450F:1FF1  01 27 10 00 23 03                    db       01h, 27h, 10h, 00h, 23h, 03h
450F:1FF7  01 23 12 04 27 0B                    db       01h, 23h, 12h, 04h, 27h, 0Bh
450F:1FFD  00 23 03 00 21 1E                    db       00h, 23h, 03h, 00h, 21h, 1Eh
450F:2003  00 23 92 10 21 08                    db       00h, 23h, 92h, 10h, 21h, 08h
450F:2009  00 28 23 92 10 21                    db       00h, 28h, 23h, 92h, 10h, 21h
450F:200F  08 00 23 3F 01 23                    db       08h, 00h, 23h, 3Fh, 01h, 23h
450F:2015  12 04 27 0C 00 28                    db       12h, 04h, 27h, 0Ch, 00h, 28h
450F:201B  23 D6 07 21 08 00                    db       23h,0D6h, 07h, 21h, 08h, 00h
450F:2021  23 D4 07 23 EC 03                    db       23h,0D4h, 07h, 23h,0ECh, 03h
450F:2027  27 0C 00 28 1F 26                    db       27h, 0Ch, 00h, 28h, 1Fh, 26h
450F:202D  00 23 01 00 0A 2B                    db       00h, 23h, 01h, 00h, 0Ah, 2Bh
450F:2033  06 00 23 01 00 21                    db       06h, 00h, 23h, 01h, 00h, 21h
450F:2039  08 00 28 1F 26 00                    db       08h, 00h, 28h, 1Fh, 26h, 00h
450F:203F  23 02 00 0A 2B 06                    db       23h, 02h, 00h, 0Ah, 2Bh, 06h
450F:2045  00 23 01 00 21 08                    db       00h, 23h, 01h, 00h, 21h, 08h
450F:204B  00 28 23 EE 07 21                    db       00h, 28h, 23h,0EEh, 07h, 21h
450F:2051  08 00 23 4C 01 23                    db       08h, 00h, 23h, 4Ch, 01h, 23h
450F:2057  EB 03 27 0C 00 28                    db      0EBh, 03h, 27h, 0Ch, 00h, 28h
450F:205D  23 01 00 21 08 00                    db       23h, 01h, 00h, 21h, 08h, 00h
450F:2063  1F 00 00 23 1C 00                    db       1Fh, 00h, 00h, 23h, 1Ch, 00h
450F:2069  0A 2B 06 00 23 02                    db       0Ah, 2Bh, 06h, 00h, 23h, 02h
450F:206F  00 21 08 00 1F 00                    db       00h, 21h, 08h, 00h, 1Fh, 00h
450F:2075  00 23 1D 00 0A 2B                    db       00h, 23h, 1Dh, 00h, 0Ah, 2Bh
450F:207B  06 00 23 02 00 21                    db       06h, 00h, 23h, 02h, 00h, 21h
450F:2081  08 00 1F 08 00 23                    db       08h, 00h, 1Fh, 08h, 00h, 23h
450F:2087  01 00 0A 2B 09 00                    db       01h, 00h, 0Ah, 2Bh, 09h, 00h
450F:208D  23 1A 00 23 EB 03                    db       23h, 1Ah, 00h, 23h,0EBh, 03h
450F:2093  27 31 00 28 23 03                    db       27h, 31h, 00h, 28h, 23h, 03h
450F:2099  00 21 08 00 1F 00                    db       00h, 21h, 08h, 00h, 1Fh, 00h
450F:209F  00 23 1C 00 0A 2B                    db       00h, 23h, 1Ch, 00h, 0Ah, 2Bh
450F:20A5  06 00 23 04 00 21                    db       06h, 00h, 23h, 04h, 00h, 21h
450F:20AB  08 00 1F 00 00 23                    db       08h, 00h, 1Fh, 00h, 00h, 23h
450F:20B1  1D 00 0A 2B 06 00                    db       1Dh, 00h, 0Ah, 2Bh, 06h, 00h
450F:20B7  23 04 00 21 08 00                    db       23h, 04h, 00h, 21h, 08h, 00h
450F:20BD  28 23 02 00 21 26                    db       28h, 23h, 02h, 00h, 21h, 26h
450F:20C3  00 23 92 10 21 08                    db       00h, 23h, 92h, 10h, 21h, 08h
450F:20C9  00 28 23 01 08 21                    db       00h, 28h, 23h, 01h, 08h, 21h
450F:20CF  08 00 1F 2A 00 23                    db       08h, 00h, 1Fh, 2Ah, 00h, 23h
450F:20D5  00 00 0A 2B 06 00                    db       00h, 00h, 0Ah, 2Bh, 06h, 00h
450F:20DB  23 FF 07 21 08 00                    db       23h,0FFh, 07h, 21h, 08h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 645

450F:20E1  28 23 04 00 21 26                    db       28h, 23h, 04h, 00h, 21h, 26h
450F:20E7  00 23 92 10 21 08                    db       00h, 23h, 92h, 10h, 21h, 08h
450F:20ED  00 28 23 13 08 23                    db       00h, 28h, 23h, 13h, 08h, 23h
450F:20F3  21 04 27 0C 00 23                    db       21h, 04h, 27h, 0Ch, 00h, 23h
450F:20F9  0A 08 21 08 00                       db       0Ah, 08h, 21h, 08h, 00h
450F:20FE  28 23                                db       28h, 23h
450F:2100  0000                 data_1426       dw      0
450F:2102  23 01 00 23 12 21                    db       23h, 01h, 00h, 23h, 12h, 21h
450F:2108  0827                 data_1427       dw      827h                    ; Data table (indexed access)
450F:210A  00 23 92 10 21 08                    db       00h, 23h, 92h, 10h, 21h, 08h
450F:2110  00 28 23 C3 08 23                    db       00h, 28h, 23h,0C3h, 08h, 23h
450F:2116  29 04 27 13 00 28                    db       29h, 04h, 27h, 13h, 00h, 28h
450F:211C  1F 2C 00 23 00 00                    db       1Fh, 2Ch, 00h, 23h, 00h, 00h
450F:2122  0C 2B 0F 00 23 02                    db       0Ch, 2Bh, 0Fh, 00h, 23h, 02h
450F:2128  00 21 08 00 23 03                    db       00h, 21h, 08h, 00h, 23h, 03h
450F:212E  00 21 26 00 2D 06                    db       00h, 21h, 26h, 00h, 2Dh, 06h
450F:2134  00 23 92 10 21 08                    db       00h, 23h, 92h, 10h, 21h, 08h
450F:213A  00 28 23 92 10 21                    db       00h, 28h, 23h, 92h, 10h, 21h
450F:2140  08 00 23 18 08 27                    db       08h, 00h, 23h, 18h, 08h, 27h
450F:2146  10 00 28 23 47 01                    db       10h, 00h, 28h, 23h, 47h, 01h
450F:214C  23 22 04 27 0C 00                    db       23h, 22h, 04h, 27h, 0Ch, 00h
450F:2152  23 1F 08 21 08 00                    db       23h, 1Fh, 08h, 21h, 08h, 00h
450F:2158  28 23 28 08 27 10                    db       28h, 23h, 28h, 08h, 27h, 10h
450F:215E  00 23 05 00 21 26                    db       00h, 23h, 05h, 00h, 21h, 26h
450F:2164  00 23 1B 27 27 32                    db       00h, 23h, 1Bh, 27h, 27h, 32h
450F:216A  00 23 92 10 21 08                    db       00h, 23h, 92h, 10h, 21h, 08h
450F:2170  00 28 23 45 01 23                    db       00h, 28h, 23h, 45h, 01h, 23h
450F:2176  22 04 27 0C 00 23                    db       22h, 04h, 27h, 0Ch, 00h, 23h
450F:217C  92 10 21 08 00 28                    db       92h, 10h, 21h, 08h, 00h, 28h
450F:2182  27 37 00 23 01 00                    db       27h, 37h, 00h, 23h, 01h, 00h
450F:2188  23 26 04 27 1E 00                    db       23h, 26h, 04h, 27h, 1Eh, 00h
450F:218E  23 01 00 23 28 04                    db       23h, 01h, 00h, 23h, 28h, 04h
450F:2194  27 1E 00 23 01 00                    db       27h, 1Eh, 00h, 23h, 01h, 00h
450F:219A  21 40 00 23 92 10                    db       21h, 40h, 00h, 23h, 92h, 10h
450F:21A0  21 08 00 28 23 94                    db       21h, 08h, 00h, 28h, 23h, 94h
450F:21A6  08 23 20 04 27 0C                    db       08h, 23h, 20h, 04h, 27h, 0Ch
450F:21AC  00 23 8F 08 21 08                    db       00h, 23h, 8Fh, 08h, 21h, 08h
450F:21B2  00 28 23 01 00 21                    db       00h, 28h, 23h, 01h, 00h, 21h
450F:21B8  3E 00 27 38 00 23                    db       3Eh, 00h, 27h, 38h, 00h, 23h
450F:21BE  95 08 21 08 00 23                    db       95h, 08h, 21h, 08h, 00h, 23h
450F:21C4  00 00 23 32 00 23                    db       00h, 00h, 23h, 32h, 00h, 23h
450F:21CA  D9 21 27 08 00 23                    db      0D9h, 21h, 27h, 08h, 00h, 23h
450F:21D0  01 00 23 E8 03 27                    db       01h, 00h, 23h,0E8h, 03h, 27h
450F:21D6  33 00 28 23 00 00                    db       33h, 00h, 28h, 23h, 00h, 00h
450F:21DC  21 3E 00 28 1F 3E                    db       21h, 3Eh, 00h, 28h, 1Fh, 3Eh
450F:21E2  00 23 00 00 0C 2B                    db       00h, 23h, 00h, 00h, 0Ch, 2Bh
450F:21E8  06 00 23 92 10 21                    db       06h, 00h, 23h, 92h, 10h, 21h
450F:21EE  08 00 28 1F 3E 00                    db       08h, 00h, 28h, 1Fh, 3Eh, 00h
450F:21F4  23 00 00 0A 2B 06                    db       23h, 00h, 00h, 0Ah, 2Bh, 06h
450F:21FA  00 23 91 08 21 08                    db       00h, 23h, 91h, 08h, 21h, 08h
450F:2200  00 28 23 92 10 21                    db       00h, 28h, 23h, 92h, 10h, 21h
450F:2206  08 00 27 39 00 1F                    db       08h, 00h, 27h, 39h, 00h, 1Fh
450F:220C  0A 00 23 00 00 0A                    db       0Ah, 00h, 23h, 00h, 00h, 0Ah
450F:2212  2B 06 00 23 01 00                    db       2Bh, 06h, 00h, 23h, 01h, 00h
450F:2218  21 08 00 28 23 1D                    db       21h, 08h, 00h, 28h, 23h, 1Dh
450F:221E  00 23 EB 03 27 28                    db       00h, 23h,0EBh, 03h, 27h, 28h
450F:2224  00 1F 08 00 23 00                    db       00h, 1Fh, 08h, 00h, 23h, 00h
450F:222A  00 0A 2B 09 00 23                    db       00h, 0Ah, 2Bh, 09h, 00h, 23h
450F:2230  93 08 21 08 00 2D                    db       93h, 08h, 21h, 08h, 00h, 2Dh
450F:2236  06 00 23 92 08 21                    db       06h, 00h, 23h, 92h, 08h, 21h
450F:223C  08 00 28 23 A7 08                    db       08h, 00h, 28h, 23h,0A7h, 08h
450F:2242  23 1F 04 27 0C 00                    db       23h, 1Fh, 04h, 27h, 0Ch, 00h
450F:2248  23 A8 08 21 08 00                    db       23h,0A8h, 08h, 21h, 08h, 00h
450F:224E  28 23 1C 00 23 EB                    db       28h, 23h, 1Ch, 00h, 23h,0EBh
450F:2254  03 27 28 00 1F 08                    db       03h, 27h, 28h, 00h, 1Fh, 08h
450F:225A  00 23 00 00 0A 2B                    db       00h, 23h, 00h, 00h, 0Ah, 2Bh
450F:2260  09 00 23 A9 08 21                    db       09h, 00h, 23h,0A9h, 08h, 21h
450F:2266  08 00 2D 06 00 23                    db       08h, 00h, 2Dh, 06h, 00h, 23h
450F:226C  AA 08 21 08 00 28                    db      0AAh, 08h, 21h, 08h, 00h, 28h
450F:2272  23 B6 08 27 10 00                    db       23h,0B6h, 08h, 27h, 10h, 00h
450F:2278  23 08 00 21 26 00                    db       23h, 08h, 00h, 21h, 26h, 00h
450F:227E  23 01 00 21 08 00                    db       23h, 01h, 00h, 21h, 08h, 00h
450F:2284  28 23 BB 08 23 29                    db       28h, 23h,0BBh, 08h, 23h, 29h
450F:228A  04 27 0C 00 23 BC                    db       04h, 27h, 0Ch, 00h, 23h,0BCh
450F:2290  08 21 08 00 28 27                    db       08h, 21h, 08h, 00h, 28h, 27h
450F:2296  38 00 23 01 00 23                    db       38h, 00h, 23h, 01h, 00h, 23h
450F:229C  E8 03 27 33 00 23                    db      0E8h, 03h, 27h, 33h, 00h, 23h
450F:22A2  95 08 21 08 00 28                    db       95h, 08h, 21h, 08h, 00h, 28h
450F:22A8  23 DA 08 27 10 00                    db       23h,0DAh, 08h, 27h, 10h, 00h
450F:22AE  23 92 10 21 08 00                    db       23h, 92h, 10h, 21h, 08h, 00h
450F:22B4  28 23 4F 01 23 ED                    db       28h, 23h, 4Fh, 01h, 23h,0EDh
450F:22BA  03 27 0C 00 23 DD                    db       03h, 27h, 0Ch, 00h, 23h,0DDh
450F:22C0  08 21 08 00 28 23                    db       08h, 21h, 08h, 00h, 28h, 23h
450F:22C6  EB 08 21 08 00 1F                    db      0EBh, 08h, 21h, 08h, 00h, 1Fh
450F:22CC  44 00 23 01                          db       44h, 00h, 23h, 01h
450F:22D0                       loc_2372:
450F:22D0  00 0A                                add     [bp+si],cl
450F:22D2  2B 06 2300                           sub     ax,word ptr ds:[2300h]  ; (450F:2300=26h)
450F:22D6  EC                                   in      al,dx                   ; port 0FFD0h ??I/O Non-standard
450F:22D7  08 21                                or      [bx+di],ah
450F:22D9  08 00                                or      [bx+si],al
450F:22DB  1F                                   pop     ds
450F:22DC  44                                   inc     sp
450F:22DD  00 23                                add     [bp+di],ah
450F:22DF  01 00                                add     [bx+si],ax
450F:22E1  10 2B                                adc     [bp+di],ch
450F:22E3  06                                   push    es
450F:22E4  00 23                                add     [bp+di],ah
450F:22E6  ED                                   in      ax,dx                   ; port 0FFD0h ??I/O Non-standard
450F:22E7  08 21                                or      [bx+di],ah
450F:22E9  08 00                                or      [bx+si],al
450F:22EB  1F                                   pop     ds
450F:22EC  44                                   inc     sp
450F:22ED  00 23                                add     [bp+di],ah
450F:22EF  01 00                                add     [bx+si],ax
450F:22F1  02 21                                add     ah,[bx+di]
450F:22F3  44                                   inc     sp
450F:22F4  00 28                                add     [bx+si],ch
450F:22F6  23 92 2110                           and     dx,[bp+si+2110h]
450F:22FA  08 00                                or      [bx+si],al
450F:22FC  23 0A                                and     cx,[bp+si]
450F:22FE  00 21                                add     [bx+di],ah
450F:2300  26: 00 23                            add     es:[bp+di],ah
450F:2303  F0> 08 27                                       lock or      [bx],ah
450F:2306  10 00                                adc     [bx+si],al
450F:2308  23 23                                and     sp,[bp+di]
450F:230A  27                                   daa                             ; Decimal adjust
450F:230B  27                                   daa                             ; Decimal adjust
450F:230C  32 00                                xor     al,[bx+si]
450F:230E  28 23                                sub     [bp+di],ah
450F:2310  F9                                   stc                             ; Set carry flag
450F:2311  08 21                                or      [bx+di],ah
450F:2313  08 00                                or      [bx+si],al
450F:2315  1F                                   pop     ds
450F:2316  08 00                                or      [bx+si],al
450F:2318  1F                                   pop     ds
450F:2319  46                                   inc     si
450F:231A  00 02                                add     [bp+si],al
450F:231C  21 08                                and     [bx+si],cx
450F:231E  00 1F                                add     [bx],bl
450F:2320  46                                   inc     si
450F:2321  00 23                                add     [bp+di],ah
450F:2323  04 00                                add     al,0
450F:2325  0E                                   push    cs
450F:2326  2B 0A                                sub     cx,[bp+si]
450F:2328  00 1F                                add     [bx],bl
450F:232A  46                                   inc     si
450F:232B  00 23                                add     [bp+di],ah
450F:232D  01 00                                add     [bx+si],ax
450F:232F  02 21                                add     ah,[bx+di]
450F:2331  46                                   inc     si
450F:2332  00 28                                add     [bx+si],ch
450F:2334  1F                                   pop     ds
450F:2335  46                                   inc     si
450F:2336  00 23                                add     [bp+di],ah
450F:2338  03 00                                add     ax,[bx+si]
450F:233A  0A 2B                                or      ch,[bp+di]
450F:233C  0C 00                                or      al,0
450F:233E  23 00                                and     ax,[bx+si]
450F:2340  00 23                                add     [bp+di],ah
450F:2342  01 00                                add     [bx+si],ax
450F:2344  23 51 23                             and     dx,[bx+di+23h]
450F:2347  27                                   daa                             ; Decimal adjust
450F:2348  08 00                                or      [bx+si],al
450F:234A  23 92 2110                           and     dx,[bp+si+2110h]
450F:234E  08 00                                or      [bx+si],al
450F:2350  28 23                                sub     [bp+di],ah
450F:2352  FE 08                                dec     byte ptr [bx+si]
450F:2354  23 29                                and     bp,[bx+di]
450F:2356  04 27                                add     al,27h                  ; '''
450F:2358  13 00                                adc     ax,[bx+si]
450F:235A  28 27                                sub     [bx],ah
450F:235C  3A 00                                cmp     al,[bx+si]
450F:235E  1F                                   pop     ds
450F:235F  08 00                                or      [bx+si],al
450F:2361  1F                                   pop     ds
450F:2362  48                                   dec     ax
450F:2363  00 04                                add     [si],al
450F:2365  21 08                                and     [bx+si],cx
450F:2367  00 28                                add     [bx+si],ch
450F:2369  27                                   daa                             ; Decimal adjust
450F:236A  3A 00                                cmp     al,[bx+si]
450F:236C  28 27                                sub     [bx],ah
450F:236E  3A 00                                cmp     al,[bx+si]
450F:2370  1F                                   pop     ds
450F:2371  08 00                                or      [bx+si],al
450F:2373  23 01                                and     ax,[bx+di]
450F:2375  00 0A                                add     [bp+si],cl
450F:2377  2B 09                                sub     cx,[bx+di]
450F:2379  00 23                                add     [bp+di],ah
450F:237B  00 00                                add     [bx+si],al
450F:237D  21 08                                and     [bx+si],cx
450F:237F  00 2D                                add     [di],ch
450F:2381  10 00                                adc     [bx+si],al
450F:2383  1F                                   pop     ds
450F:2384  08 00                                or      [bx+si],al
450F:2386  23 00                                and     ax,[bx+si]
450F:2388  00 0A                                add     [bp+si],cl
450F:238A  2B 06 2300                           sub     ax,ds:data_33e          ; (0000:2300=1226h)
450F:238E  01 00                                add     [bx+si],ax
450F:2390  21 08                                and     [bx+si],cx
450F:2392  00 28                                add     [bx+si],ch
450F:2394  23 21                                and     sp,[bx+di]
450F:2396  09 27                                or      [bx],sp
450F:2398  10 00                                adc     [bx+si],al
450F:239A  23 23                                and     sp,[bp+di]
450F:239C  27                                   daa                             ; Decimal adjust
450F:239D  27                                   daa                             ; Decimal adjust
450F:239E  32 00                                xor     al,[bx+si]
450F:23A0  23 92 2110                           and     dx,[bp+si+2110h]
450F:23A4  08 00                                or      [bx+si],al
450F:23A6  23 01                                and     ax,[bx+di]
450F:23A8  00 21                                add     [bx+di],ah
450F:23AA  4A                                   dec     dx
450F:23AB  00 23                                add     [bp+di],ah
450F:23AD  0A 00                                or      al,[bx+si]
450F:23AF  21 26 2300                           and     ds:data_33e,sp          ; (0000:2300=1226h)
450F:23B3  01 00                                add     [bx+si],ax
450F:23B5  21 48 00             ;*              and     [bx+si+0],cx
450F:23B5  21 48 00                             db       21h, 48h, 00h
450F:23B8  28 23 00 00 23 E9                    db       28h, 23h, 00h, 00h, 23h,0E9h
450F:23BE  03 23 0D 00 27 24                    db       03h, 23h, 0Dh, 00h, 27h, 24h
450F:23C4  00 23 92 10 21 08                    db       00h, 23h, 92h, 10h, 21h, 08h
450F:23CA  00 28 23 FC 08 21                    db       00h, 28h, 23h,0FCh, 08h, 21h
450F:23D0  08 00 28 1F 00 00                    db       08h, 00h, 28h, 1Fh, 00h, 00h
450F:23D6  23 E9 03 27 28 00                    db       23h,0E9h, 03h, 27h, 28h, 00h
450F:23DC  1F 08 00 23 01 00                    db       1Fh, 08h, 00h, 23h, 01h, 00h
450F:23E2  0A 2B 09 00 23 92                    db       0Ah, 2Bh, 09h, 00h, 23h, 92h
450F:23E8  10 21 08 00 2D 0C                    db       10h, 21h, 08h, 00h, 2Dh, 0Ch
450F:23EE  00 23 0B 00 21 08                    db       00h, 23h, 0Bh, 00h, 21h, 08h
450F:23F4  00 23 01 00 21 4C                    db       00h, 23h, 01h, 00h, 21h, 4Ch
450F:23FA  00 28                                db       00h, 28h

450F:23FC  23 01 00 21      startup_sequence    db       23h, 01h, 00h, 21h
450F:2400  12 00 23 E8 03 27                    db       12h, 00h, 23h,0E8h, 03h, 27h
450F:2406  00 00 23 EA 03 27                    db       00h, 00h, 23h,0EAh, 03h, 27h
450F:240C  00 00 23 12 27 27                    db       00h, 00h, 23h, 12h, 27h, 27h
450F:2412  00 00 23 14 27 27                    db       00h, 00h, 23h, 14h, 27h, 27h
450F:2418  00 00 23 00 00 23                    db       00h, 00h, 23h, 00h, 00h, 23h
450F:241E  14 00 23 C7 2A 27                    db       14h, 00h, 23h,0C7h, 2Ah, 27h
450F:2424  08 00 23 6B 04 27                    db       08h, 00h, 23h, 6Bh, 04h, 27h
450F:242A  00 00 28 23 92 10                    db       00h, 00h, 28h, 23h, 92h, 10h
450F:2430  21 08 00 1F 4C 00                    db       21h, 08h, 00h, 1Fh, 4Ch, 00h
450F:2436  23 01 00 0A 2B 22                    db       23h, 01h, 00h, 0Ah, 2Bh, 22h
450F:243C  00 1F 00 00 23 E9                    db       00h, 1Fh, 00h, 00h, 23h,0E9h
450F:2442  03 27 28 00 1F 08                    db       03h, 27h, 28h, 00h, 1Fh, 08h
450F:2448  00 23 01 00 0A 2B                    db       00h, 23h, 01h, 00h, 0Ah, 2Bh
450F:244E  09 00 23 0D 00 21                    db       09h, 00h, 23h, 0Dh, 00h, 21h
450F:2454  08 00 2D 06 00 23                    db       08h, 00h, 2Dh, 06h, 00h, 23h
450F:245A  0C 00 21 08 00 28                    db       0Ch, 00h, 21h, 08h, 00h, 28h
450F:2460  23 0F 09 23 EE 03                    db       23h, 0Fh, 09h, 23h,0EEh, 03h
450F:2466  27 0C 00 23 28 09                    db       27h, 0Ch, 00h, 23h, 28h, 09h
450F:246C  21 08 00 28 1F 26                    db       21h, 08h, 00h, 28h, 1Fh, 26h
450F:2472  00 23 0B 00 0A 2B                    db       00h, 23h, 0Bh, 00h, 0Ah, 2Bh
450F:2478  0C 00 23 2D 09 27                    db       0Ch, 00h, 23h, 2Dh, 09h, 27h
450F:247E  10 00 23 01 00 21                    db       10h, 00h, 23h, 01h, 00h, 21h
450F:2484  4E 00 23 92 10 21                    db       4Eh, 00h, 23h, 92h, 10h, 21h
450F:248A  08 00 28 1F 4E 00                    db       08h, 00h, 28h, 1Fh, 4Eh, 00h
450F:2490  21 08 00 28 23 34                    db       21h, 08h, 00h, 28h, 23h, 34h
450F:2496  09 23 F0 03 27 0C                    db       09h, 23h,0F0h, 03h, 27h, 0Ch
450F:249C  00 23 35 09 21 08                    db       00h, 23h, 35h, 09h, 21h, 08h
450F:24A2  00 28 23 92 10 21                    db       00h, 28h, 23h, 92h, 10h, 21h
450F:24A8  08 00 1F 50 00 23                    db       08h, 00h, 1Fh, 50h, 00h, 23h
450F:24AE  01 00 0A 2B 06 00                    db       01h, 00h, 0Ah, 2Bh, 06h, 00h
450F:24B4  23 01 00 21 08 00                    db       23h, 01h, 00h, 21h, 08h, 00h
450F:24BA  28 23 92 10 21 08                    db       28h, 23h, 92h, 10h, 21h, 08h
450F:24C0  00 23 01 00 21 50                    db       00h, 23h, 01h, 00h, 21h, 50h
450F:24C6  00 28 23 92 10 21                    db       00h, 28h, 23h, 92h, 10h, 21h
450F:24CC  08 00 1F 52 00 23                    db       08h, 00h, 1Fh, 52h, 00h, 23h
450F:24D2  01 00 0A 2B 06 00                    db       01h, 00h, 0Ah, 2Bh, 06h, 00h
450F:24D8  23 05 00 21 08 00                    db       23h, 05h, 00h, 21h, 08h, 00h
450F:24DE  28 23 92 10 21 08                    db       28h, 23h, 92h, 10h, 21h, 08h
450F:24E4  00 23 01 00 21 52                    db       00h, 23h, 01h, 00h, 21h, 52h
450F:24EA  00 28 23 55 09 23                    db       00h, 28h, 23h, 55h, 09h, 23h
450F:24F0  2B 04 27 0C 00 23                    db       2Bh, 04h, 27h, 0Ch, 00h, 23h
450F:24F6  58 09 21 08 00 28                    db       58h, 09h, 21h, 08h, 00h, 28h
450F:24FC  23 00 00 21 56 00                    db       23h, 00h, 00h, 21h, 56h, 00h
450F:2502  23 92 10 21 08 00                    db       23h, 92h, 10h, 21h, 08h, 00h
450F:2508  28 23 00 00 21 58                    db       28h, 23h, 00h, 00h, 21h, 58h
450F:250E  00 23 92 10 21 08                    db       00h, 23h, 92h, 10h, 21h, 08h
450F:2514  00 28 1F 56 00 21                    db       00h, 28h, 1Fh, 56h, 00h, 21h
450F:251A  08 00 28 1F 58 00                    db       08h, 00h, 28h, 1Fh, 58h, 00h
450F:2520  21 08 00 28 23 0E                    db       21h, 08h, 00h, 28h, 23h, 0Eh
450F:2526  00 21 26 00 1F 70                    db       00h, 21h, 26h, 00h, 1Fh, 70h
450F:252C  00 23 02 00 0A 2B                    db       00h, 23h, 02h, 00h, 0Ah, 2Bh
450F:2532  21 00 23 01 00 21                    db       21h, 00h, 23h, 01h, 00h, 21h
450F:2538  5A 00 23 0D 00 23                    db       5Ah, 00h, 23h, 0Dh, 00h, 23h
450F:253E  EF 03 27 01 00 23                    db      0EFh, 03h, 27h, 01h, 00h, 23h
450F:2544  00 00 23 28 00 23                    db       00h, 00h, 23h, 28h, 00h, 23h
450F:254A  80 26 27 08 00 23                    db       80h, 26h, 27h, 08h, 00h, 23h
450F:2550  92 10 21 08 00 1F                    db       92h, 10h, 21h, 08h, 00h, 1Fh
450F:2556  70 00 23 01 00 0A                    db       70h, 00h, 23h, 01h, 00h, 0Ah
450F:255C  2B 0C 00 23 0A 00                    db       2Bh, 0Ch, 00h, 23h, 0Ah, 00h
450F:2562  21 08 00 23 33 27                    db       21h, 08h, 00h, 23h, 33h, 27h
450F:2568  27 23 00 1F 70 00                    db       27h, 23h, 00h, 1Fh, 70h, 00h
450F:256E  23 00 00 0A 2B 0C                    db       23h, 00h, 00h, 0Ah, 2Bh, 0Ch
450F:2574  00 23 32 27 27 23                    db       00h, 23h, 32h, 27h, 27h, 23h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 650

450F:257A  00 23 09 00 21 08                    db       00h, 23h, 09h, 00h, 21h, 08h
450F:2580  00 28 23 00 00 21                    db       00h, 28h, 23h, 00h, 00h, 21h
450F:2586  70 00 23 92 10 21                    db       70h, 00h, 23h, 92h, 10h, 21h
450F:258C  08 00 28 23 01 00                    db       08h, 00h, 28h, 23h, 01h, 00h
450F:2592  21 70 00 23 92 10                    db       21h, 70h, 00h, 23h, 92h, 10h
450F:2598  21 08 00 28 23 02                    db       21h, 08h, 00h, 28h, 23h, 02h
450F:259E  00 21 70 00 23 92                    db       00h, 21h, 70h, 00h, 23h, 92h
450F:25A4  10 21 08 00 28 1F                    db       10h, 21h, 08h, 00h, 28h, 1Fh
450F:25AA  5A 00 23 00 00 0A                    db       5Ah, 00h, 23h, 00h, 00h, 0Ah
450F:25B0  2B 06 00 23 01 00                    db       2Bh, 06h, 00h, 23h, 01h, 00h
450F:25B6  21 08 00 28 1F 5A                    db       21h, 08h, 00h, 28h, 1Fh, 5Ah
450F:25BC  00 23 00 00 0C 2B                    db       00h, 23h, 00h, 00h, 0Ch, 2Bh
450F:25C2  06 00 23 01 00 21                    db       06h, 00h, 23h, 01h, 00h, 21h
450F:25C8  08 00 28 23 24 00                    db       08h, 00h, 28h, 23h, 24h, 00h
450F:25CE  21 08 00 1F 02 00                    db       21h, 08h, 00h, 1Fh, 02h, 00h
450F:25D4  23 E9 03 0A 2B 06                    db       23h,0E9h, 03h, 0Ah, 2Bh, 06h
450F:25DA  00 23 34 00 21 08                    db       00h, 23h, 34h, 00h, 21h, 08h
450F:25E0  00 1F 70 00 23 01                    db       00h, 1Fh, 70h, 00h, 23h, 01h
450F:25E6  00 0A 2B 37 00 1F                    db       00h, 0Ah, 2Bh, 37h, 00h, 1Fh
450F:25EC  04 00 23 33 27 0A                    db       04h, 00h, 23h, 33h, 27h, 0Ah
450F:25F2  2B 2D 00 23 00 00                    db       2Bh, 2Dh, 00h, 23h, 00h, 00h
450F:25F8  21 08 00 23 01 00                    db       21h, 08h, 00h, 23h, 01h, 00h
450F:25FE  21 5A 00 23 0D 00                    db       21h, 5Ah, 00h, 23h, 0Dh, 00h
450F:2604  23 EF 03 27 01 00                    db       23h,0EFh, 03h, 27h, 01h, 00h
450F:260A  23 00 00 23 28 00                    db       23h, 00h, 00h, 23h, 28h, 00h
450F:2610  23 80 26 27 08 00                    db       23h, 80h, 26h, 27h, 08h, 00h
450F:2616  23 6A 0B 1F 02 00                    db       23h, 6Ah, 0Bh, 1Fh, 02h, 00h
450F:261C  23 EF 03 27 1D 00                    db       23h,0EFh, 03h, 27h, 1Dh, 00h
450F:2622  1F 70 00 23 00 00                    db       1Fh, 70h, 00h, 23h, 00h, 00h
450F:2628  0A 2B 37 00 1F 04                    db       0Ah, 2Bh, 37h, 00h, 1Fh, 04h
450F:262E  00 23 32 27 0A 2B                    db       00h, 23h, 32h, 27h, 0Ah, 2Bh
450F:2634  2D 00 23 00 00 21                    db       2Dh, 00h, 23h, 00h, 00h, 21h
450F:263A  08 00 23 01 00 21                    db       08h, 00h, 23h, 01h, 00h, 21h
450F:2640  5A 00 23 00 00 23                    db       5Ah, 00h, 23h, 00h, 00h, 23h
450F:2646  28 00 23 80 26 27                    db       28h, 00h, 23h, 80h, 26h, 27h
450F:264C  08 00 23 0D 00 23                    db       08h, 00h, 23h, 0Dh, 00h, 23h
450F:2652  EF 03 27 01 00 23                    db      0EFh, 03h, 27h, 01h, 00h, 23h
450F:2658  69 0B 1F 02 00 23                    db       69h, 0Bh, 1Fh, 02h, 00h, 23h
450F:265E  EF 03 27 1D 00 1F                    db      0EFh, 03h, 27h, 1Dh, 00h, 1Fh
450F:2664  04 00 23 34 27 0A                    db       04h, 00h, 23h, 34h, 27h, 0Ah
450F:266A  2B 12 00 23 01 00                    db       2Bh, 12h, 00h, 23h, 01h, 00h
450F:2670  21 08 00 23 73 0B                    db       21h, 08h, 00h, 23h, 73h, 0Bh
450F:2676  1F 02 00 23 EF 03                    db       1Fh, 02h, 00h, 23h,0EFh, 03h
450F:267C  27 1D 00 28 23 02                    db       27h, 1Dh, 00h, 28h, 23h, 02h
450F:2682  00 21 5A 00 28 23                    db       00h, 21h, 5Ah, 00h, 28h, 23h
450F:2688  92 10 21 08 00 1F                    db       92h, 10h, 21h, 08h, 00h, 1Fh
450F:268E  5A 00 23 02 00 0A                    db       5Ah, 00h, 23h, 02h, 00h, 0Ah
450F:2694  2B 06 00 23 01 00                    db       2Bh, 06h, 00h, 23h, 01h, 00h
450F:269A  21 08 00 28 23 28                    db       21h, 08h, 00h, 28h, 23h, 28h
450F:26A0  27 27 32 00 23 92                    db       27h, 27h, 32h, 00h, 23h, 92h
450F:26A6  10 21 08 00 23 03                    db       10h, 21h, 08h, 00h, 23h, 03h
450F:26AC  00 21 5A 00 23 0F                    db       00h, 21h, 5Ah, 00h, 23h, 0Fh
450F:26B2  00 21 26 00 28 23                    db       00h, 21h, 26h, 00h, 28h, 23h
450F:26B8  92 10 21 08 00 27                    db       92h, 10h, 21h, 08h, 00h, 27h
450F:26BE  3B 00 28 23 10 00                    db       3Bh, 00h, 28h, 23h, 10h, 00h
450F:26C4  21 26 00 23 92 10                    db       21h, 26h, 00h, 23h, 92h, 10h
450F:26CA  21 08 00 28 23 11                    db       21h, 08h, 00h, 28h, 23h, 11h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 651

450F:26D0  00 21 26 00 27 3C                    db       00h, 21h, 26h, 00h, 27h, 3Ch
450F:26D6  00 23 06 00 23 EF                    db       00h, 23h, 06h, 00h, 23h,0EFh
450F:26DC  03 27 31 00 23 92                    db       03h, 27h, 31h, 00h, 23h, 92h
450F:26E2  10 21 08 00 28 23                    db       10h, 21h, 08h, 00h, 28h, 23h
450F:26E8  12 00 21 26 00 23                    db       12h, 00h, 21h, 26h, 00h, 23h
450F:26EE  08 00 23 EC 03 27                    db       08h, 00h, 23h,0ECh, 03h, 27h
450F:26F4  31 00 23 92 10 21                    db       31h, 00h, 23h, 92h, 10h, 21h
450F:26FA  08 00 28 23 0F 00                    db       08h, 00h, 28h, 23h, 0Fh, 00h
450F:2700  EF23                 data_1429       dw      0EF23h                  ; Data table (indexed access)
450F:2702  03 27                                db       03h, 27h
450F:2704  0028                 data_1430       dw      28h                     ;  xref 450F:18FF
450F:2706  1F 08 00 23 00 00                    db       1Fh, 08h, 00h, 23h, 00h, 00h
450F:270C  0A 2B                                db       0Ah, 2Bh
450F:270E  0006                 data_1431       dw      6                       ; Data table (indexed access)
450F:2710  23 92 10 21 08 00                    db       23h, 92h, 10h, 21h, 08h, 00h
450F:2716  28 23 0F 00 23 EC                    db       28h, 23h, 0Fh, 00h, 23h,0ECh
450F:271C  03 27 28 00 1F 08                    db       03h, 27h, 28h, 00h, 1Fh, 08h
450F:2722  00 23 00 00 0A 2B                    db       00h, 23h, 00h, 00h, 0Ah, 2Bh
450F:2728  06 00 23 92 10 21                    db       06h, 00h, 23h, 92h, 10h, 21h
450F:272E  08 00 28 23 10 00                    db       08h, 00h, 28h, 23h, 10h, 00h
450F:2734  21 26 00 28 23 1E                    db       21h, 26h, 00h, 28h, 23h, 1Eh
450F:273A  27 27 2C 00 23 00                    db       27h, 27h, 2Ch, 00h, 23h, 00h
450F:2740  00 23 1E 00 23 60                    db       00h, 23h, 1Eh, 00h, 23h, 60h
450F:2746  27 27 08 00 23 07                    db       27h, 27h, 08h, 00h, 23h, 07h
450F:274C  00 23 EF 03 27 31                    db       00h, 23h,0EFh, 03h, 27h, 31h
450F:2752  00 23 13 00 21 26                    db       00h, 23h, 13h, 00h, 21h, 26h
450F:2758  00 23 92 10 21 08                    db       00h, 23h, 92h, 10h, 21h, 08h
450F:275E  00 28 23 26 00 23                    db       00h, 28h, 23h, 26h, 00h, 23h
450F:2764  EF 03 27 28 00 1F                    db      0EFh, 03h, 27h, 28h, 00h, 1Fh
450F:276A  08 00 23 00 00 0A                    db       08h, 00h, 23h, 00h, 00h, 0Ah
450F:2770  2B 0F 00 23 00 00                    db       2Bh, 0Fh, 00h, 23h, 00h, 00h
450F:2776  23 0A 00 23 60 27                    db       23h, 0Ah, 00h, 23h, 60h, 27h
450F:277C  27 08 00 2D 1C 00                    db       27h, 08h, 00h, 2Dh, 1Ch, 00h
450F:2782  1F 26 00 23 15 00                    db       1Fh, 26h, 00h, 23h, 15h, 00h
450F:2788  0C 2B 12 00 23 1E                    db       0Ch, 2Bh, 12h, 00h, 23h, 1Eh
450F:278E  27 27 2A 00 23 00                    db       27h, 27h, 2Ah, 00h, 23h, 00h
450F:2794  00 23 02 00 23 9F                    db       00h, 23h, 02h, 00h, 23h, 9Fh
450F:279A  27 27 08 00 28 23                    db       27h, 27h, 08h, 00h, 28h, 23h
450F:27A0  C5 09 27 10 00 23                    db      0C5h, 09h, 27h, 10h, 00h, 23h
450F:27A6  C6 09 27 10 00 23                    db      0C6h, 09h, 27h, 10h, 00h, 23h
450F:27AC  C7 09 27 10 00 27                    db      0C7h, 09h, 27h, 10h, 00h, 27h
450F:27B2  3D 00 28 1F 40 00                    db       3Dh, 00h, 28h, 1Fh, 40h, 00h
450F:27B8  21 08 00 1F 08 00                    db       21h, 08h, 00h, 1Fh, 08h, 00h
450F:27BE  23 00 00 0A 2B 09                    db       23h, 00h, 00h, 0Ah, 2Bh, 09h
450F:27C4  00 23 01 00 21 08                    db       00h, 23h, 01h, 00h, 21h, 08h
450F:27CA  00 2D 06 00 23 00                    db       00h, 2Dh, 06h, 00h, 23h, 00h
450F:27D0  00 21 08 00 28 1F                    db       00h, 21h, 08h, 00h, 28h, 1Fh
450F:27D6  40 00 21 08 00 28                    db       40h, 00h, 21h, 08h, 00h, 28h
450F:27DC  1F 5C 00 21 08 00                    db       1Fh, 5Ch, 00h, 21h, 08h, 00h
450F:27E2  1F 08 00 23 00 00                    db       1Fh, 08h, 00h, 23h, 00h, 00h
450F:27E8  0A 2B 06 00 23 92                    db       0Ah, 2Bh, 06h, 00h, 23h, 92h
450F:27EE  10 21 08 00 28 23                    db       10h, 21h, 08h, 00h, 28h, 23h
450F:27F4  00 00 23 07 00 23                    db       00h, 00h, 23h, 07h, 00h, 23h
450F:27FA  1E 28 27 08 00 23                    db       1Eh, 28h, 27h, 08h, 00h, 23h
450F:2800  00 00 23 01 00 23                    db       00h, 00h, 23h, 01h, 00h, 23h
450F:2806  31 28 27 08 00 23                    db       31h, 28h, 27h, 08h, 00h, 23h
450F:280C  01 00 21 5C 00 23                    db       01h, 00h, 21h, 5Ch, 00h, 23h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 652

450F:2812  10 00 21 26 00 23                    db       10h, 00h, 21h, 26h, 00h, 23h
450F:2818  92 10 21 08 00 28                    db       92h, 10h, 21h, 08h, 00h, 28h
450F:281E  23 C4 09 23 EC 03                    db       23h,0C4h, 09h, 23h,0ECh, 03h
450F:2824  27 13 00 23 09 00                    db       27h, 13h, 00h, 23h, 09h, 00h
450F:282A  23 EC 03 27 31 00                    db       23h,0ECh, 03h, 27h, 31h, 00h
450F:2830  28 23 C3 09 23 2C                    db       28h, 23h,0C3h, 09h, 23h, 2Ch
450F:2836  04 27 13 00 28 23                    db       04h, 27h, 13h, 00h, 28h, 23h
450F:283C  00 00 23 01 00 23                    db       00h, 00h, 23h, 01h, 00h, 23h
450F:2842  4E 28 27 08 00 23                    db       4Eh, 28h, 27h, 08h, 00h, 23h
450F:2848  92 10 21 08 00 28                    db       92h, 10h, 21h, 08h, 00h, 28h
450F:284E  23 EA 09 23 21 04                    db       23h,0EAh, 09h, 23h, 21h, 04h
450F:2854  27 13 00 28 23 92                    db       27h, 13h, 00h, 28h, 23h, 92h
450F:285A  10 21 08 00 23 30                    db       10h, 21h, 08h, 00h, 23h, 30h
450F:2860  27 27 32 00 23 F3                    db       27h, 27h, 32h, 00h, 23h,0F3h
450F:2866  09 27 10 00 23 00                    db       09h, 27h, 10h, 00h, 23h, 00h
450F:286C  00 21 6E 00 28 1F                    db       00h, 21h, 6Eh, 00h, 28h, 1Fh
450F:2872  6E 00 21 08 00 28                    db       6Eh, 00h, 21h, 08h, 00h, 28h
450F:2878  1F 72 00 23 00 00                    db       1Fh, 72h, 00h, 23h, 00h, 00h
450F:287E  0A 2B 15 00 23 92                    db       0Ah, 2Bh, 15h, 00h, 23h, 92h
450F:2884  10 21 08 00 23 00                    db       10h, 21h, 08h, 00h, 23h, 00h
450F:288A  00 23 03 00 23 9E                    db       00h, 23h, 03h, 00h, 23h, 9Eh
450F:2890  28 27 08 00 2D 06                    db       28h, 27h, 08h, 00h, 2Dh, 06h
450F:2896  00 23 01 00 21 08                    db       00h, 23h, 01h, 00h, 21h, 08h
450F:289C  00 28 23 35 04 27                    db       00h, 28h, 23h, 35h, 04h, 27h
450F:28A2  3E 00 28 23 29 27                    db       3Eh, 00h, 28h, 23h, 29h, 27h
450F:28A8  27 2C 00 23 02 00                    db       27h, 2Ch, 00h, 23h, 02h, 00h
450F:28AE  23 34 04 27 01 00                    db       23h, 34h, 04h, 27h, 01h, 00h
450F:28B4  23 37 27 27 32 00                    db       23h, 37h, 27h, 27h, 32h, 00h
450F:28BA  23 16 00 21 26 00                    db       23h, 16h, 00h, 21h, 26h, 00h
450F:28C0  23 92 10 21 08 00                    db       23h, 92h, 10h, 21h, 08h, 00h
450F:28C6  28 1F 74 00 23 00                    db       28h, 1Fh, 74h, 00h, 23h, 00h
450F:28CC  00 0A 2B 09 00 23                    db       00h, 0Ah, 2Bh, 09h, 00h, 23h
450F:28D2  92 10 21 08 00 2D                    db       92h, 10h, 21h, 08h, 00h, 2Dh
450F:28D8  06 00 23 03 00 21                    db       06h, 00h, 23h, 03h, 00h, 21h
450F:28DE  08 00 28 23 82 0A                    db       08h, 00h, 28h, 23h, 82h, 0Ah
450F:28E4  23 36 04 27 0C 00                    db       23h, 36h, 04h, 27h, 0Ch, 00h
450F:28EA  23 92 10 21 08 00                    db       23h, 92h, 10h, 21h, 08h, 00h
450F:28F0  28 23 19 00 21 26                    db       28h, 23h, 19h, 00h, 21h, 26h
450F:28F6  00 23 92 10 21 08                    db       00h, 23h, 92h, 10h, 21h, 08h
450F:28FC  00 28 23 00 00 23                    db       00h, 28h, 23h, 00h, 00h, 23h
450F:2902  02 00 23 11 29 27                    db       02h, 00h, 23h, 11h, 29h, 27h
450F:2908  08 00 23 92 10 21                    db       08h, 00h, 23h, 92h, 10h, 21h
450F:290E  08 00 28 23 E8 03                    db       08h, 00h, 28h, 23h,0E8h, 03h
450F:2914  21 02 00 23 2A 00                    db       21h, 02h, 00h, 23h, 2Ah, 00h
450F:291A  23 00 40 02 23 E7                    db       23h, 00h, 40h, 02h, 23h,0E7h
450F:2920  00 23 1C 01 27 19                    db       00h, 23h, 1Ch, 01h, 27h, 19h
450F:2926  00 23 02 00 21 98                    db       00h, 23h, 02h, 00h, 21h, 98h
450F:292C  00 28 23 92 10 21                    db       00h, 28h, 23h, 92h, 10h, 21h
450F:2932  08 00 23 00 00 23                    db       08h, 00h, 23h, 00h, 00h, 23h
450F:2938  02 00 23 41 29 27                    db       02h, 00h, 23h, 41h, 29h, 27h
450F:293E  08 00 28 23 E2 0A                    db       08h, 00h, 28h, 23h,0E2h, 0Ah
450F:2944  23 21 04 23 29 04                    db       23h, 21h, 04h, 23h, 29h, 04h
450F:294A  27 1D 00 28 1F 4A                    db       27h, 1Dh, 00h, 28h, 1Fh, 4Ah
450F:2950  00 21 08 00 28 23                    db       00h, 21h, 08h, 00h, 28h, 23h
450F:2956  46 0B 27 10 00 23                    db       46h, 0Bh, 27h, 10h, 00h, 23h
450F:295C  92 10 21 08 00 28                    db       92h, 10h, 21h, 08h, 00h, 28h
450F:2962  23 4C 0B 27 10 00                    db       23h, 4Ch, 0Bh, 27h, 10h, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 653

450F:2968  23 31 27 27 32 00                    db       23h, 31h, 27h, 27h, 32h, 00h
450F:296E  23 05 00 23 E8 03                    db       23h, 05h, 00h, 23h,0E8h, 03h
450F:2974  27 22 00 23 92 10                    db       27h, 22h, 00h, 23h, 92h, 10h
450F:297A  21 08 00 28 27 1C                    db       21h, 08h, 00h, 28h, 27h, 1Ch
450F:2980  00 23 42 0B 27 10                    db       00h, 23h, 42h, 0Bh, 27h, 10h
450F:2986  00 23 31 27 27 06                    db       00h, 23h, 31h, 27h, 27h, 06h
450F:298C  00 23 1D 27 27 32                    db       00h, 23h, 1Dh, 27h, 27h, 32h
450F:2992  00 23 92 10 21 08                    db       00h, 23h, 92h, 10h, 21h, 08h
450F:2998  00 28 23 A3 0F 23                    db       00h, 28h, 23h,0A3h, 0Fh, 23h
450F:299E  F2 03 27 0C 00 23                    db      0F2h, 03h, 27h, 0Ch, 00h, 23h
450F:29A4  92 10 21 08 00 28                    db       92h, 10h, 21h, 08h, 00h, 28h
450F:29AA  23 01 00 21 26 00                    db       23h, 01h, 00h, 21h, 26h, 00h
450F:29B0  23 0A 00 23 F2 03                    db       23h, 0Ah, 00h, 23h,0F2h, 03h
450F:29B6  27 31 00 23 92 10                    db       27h, 31h, 00h, 23h, 92h, 10h
450F:29BC  21 08 00 28 23 01                    db       21h, 08h, 00h, 28h, 23h, 01h
450F:29C2  00 21 26 00 23 0B                    db       00h, 21h, 26h, 00h, 23h, 0Bh
450F:29C8  00 23 F2 03 27 31                    db       00h, 23h,0F2h, 03h, 27h, 31h
450F:29CE  00 23 92 10 21 08                    db       00h, 23h, 92h, 10h, 21h, 08h
450F:29D4  00 28 23 01 00 21                    db       00h, 28h, 23h, 01h, 00h, 21h
450F:29DA  26 00 23 0C 00 23                    db       26h, 00h, 23h, 0Ch, 00h, 23h
450F:29E0  F2 03 27 31 00 23                    db      0F2h, 03h, 27h, 31h, 00h, 23h
450F:29E6  92 10 21 08 00 28                    db       92h, 10h, 21h, 08h, 00h, 28h
450F:29EC  23 0A 00 23 F2 03                    db       23h, 0Ah, 00h, 23h,0F2h, 03h
450F:29F2  27 31 00 23 04 00                    db       27h, 31h, 00h, 23h, 04h, 00h
450F:29F8  21 26 00 23 92 10                    db       21h, 26h, 00h, 23h, 92h, 10h
450F:29FE  21 08 00 28 1F 7E                    db       21h, 08h, 00h, 28h, 1Fh, 7Eh
450F:2A04  00 21 08 00 28 23                    db       00h, 21h, 08h, 00h, 28h, 23h
450F:2A0A  05 00 21 26 00 23                    db       05h, 00h, 21h, 26h, 00h, 23h
450F:2A10  00 10 23 F2 03 27                    db       00h, 10h, 23h,0F2h, 03h, 27h
450F:2A16  3F 00 23 92 10 21                    db       3Fh, 00h, 23h, 92h, 10h, 21h
450F:2A1C  08 00 28 23 03 00                    db       08h, 00h, 28h, 23h, 03h, 00h
450F:2A22  23 37 04 27 01 00                    db       23h, 37h, 04h, 27h, 01h, 00h
450F:2A28  23 92 10 21 08 00                    db       23h, 92h, 10h, 21h, 08h, 00h
450F:2A2E  28 23 71 0B 27 10                    db       28h, 23h, 71h, 0Bh, 27h, 10h
450F:2A34  00 23 34 27 27 32                    db       00h, 23h, 34h, 27h, 27h, 32h
450F:2A3A  00 23 92                             db       00h, 23h, 92h
450F:2A3D                       loc_2373:
450F:2A3D  10 21                                adc     [bx+di],ah
450F:2A3F  08 00                                or      [bx+si],al
450F:2A41  28 23                                sub     [bp+di],ah
450F:2A43  0D 2100                              or      ax,2100h
450F:2A46  26: 00 23                            add     es:[bp+di],ah
450F:2A49  92                                   xchg    dx,ax
450F:2A4A  10 21                                adc     [bx+di],ah
450F:2A4C  08 00                                or      [bx+si],al
450F:2A4E  28 1F                                sub     [bx],bl
450F:2A50  4A                                   dec     dx
450F:2A51  00 23                                add     [bp+di],ah
450F:2A53  02 00                                add     al,[bx+si]
450F:2A55  0A 2B                                or      ch,[bp+di]
450F:2A57  06                                   push    es
450F:2A58  00 23                                add     [bp+di],ah
450F:2A5A  01 00                                add     [bx+si],ax
450F:2A5C  21 08                                and     [bx+si],cx
450F:2A5E  00 28                                add     [bx+si],ch
450F:2A60  23 91 270B                           and     dx,ds:data_36e[bx+di]   ; (0000:270B=113h)
450F:2A64  10 00                                adc     [bx+si],al
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 654

450F:2A66  23 92 270B                           and     dx,[bp+si+270Bh]
450F:2A6A  10 00                                adc     [bx+si],al
450F:2A6C  23 92 2110                           and     dx,[bp+si+2110h]
450F:2A70  08 00                                or      [bx+si],al
450F:2A72  28 23                                sub     [bp+di],ah
450F:2A74  92                                   xchg    dx,ax
450F:2A75  10 21                                adc     [bx+di],ah
450F:2A77  08 00                                or      [bx+si],al
450F:2A79  23 4D 01                             and     cx,[di+1]
450F:2A7C  23 42 04                             and     ax,[bp+si+4]
450F:2A7F  27                                   daa                             ; Decimal adjust
450F:2A80  0C 00                                or      al,0
450F:2A82  28 23                                sub     [bp+di],ah
450F:2A84  24 27                                and     al,27h                  ; '''
450F:2A86  27                                   daa                             ; Decimal adjust
450F:2A87  32 00                                xor     al,[bx+si]
450F:2A89  23 4C 0C                             and     cx,[si+0Ch]
450F:2A8C  27                                   daa                             ; Decimal adjust
450F:2A8D  10 00                                adc     [bx+si],al
450F:2A8F  23 92 2110                           and     dx,[bp+si+2110h]
450F:2A93  08 00                                or      [bx+si],al
450F:2A95  28 23                                sub     [bp+di],ah
450F:2A97  92                                   xchg    dx,ax
450F:2A98  10 21                                adc     [bx+di],ah
450F:2A9A  08 00                                or      [bx+si],al
450F:2A9C  23 56 0C                             and     dx,[bp+0Ch]
450F:2A9F  27                                   daa                             ; Decimal adjust
450F:2AA0  10 00                                adc     [bx+si],al
450F:2AA2  23 01                                and     ax,[bx+di]
450F:2AA4  00 21                                add     [bx+di],ah
450F:2AA6  94                                   xchg    sp,ax
450F:2AA7  00 28                                add     [bx+si],ch
450F:2AA9  23 71 01                             and     si,[bx+di+1]
450F:2AAC  23 27                                and     sp,[bx]
450F:2AAE  04 27                                add     al,27h                  ; '''
450F:2AB0  0C 00                                or      al,0
450F:2AB2  23 92 2110                           and     dx,[bp+si+2110h]
450F:2AB6  08 00                                or      [bx+si],al
450F:2AB8  28 23                                sub     [bp+di],ah
450F:2ABA  01 00                                add     [bx+si],ax
450F:2ABC  21 A2 2800                           and     [bp+si+2800h],sp
450F:2AC0  23 00                                and     ax,[bx+si]
450F:2AC2  00 21                                add     [bx+di],ah
450F:2AC4  A2 2800                              mov     ds:data_37e,al          ; (0000:2800=12h)
450F:2AC7  1F                                   pop     ds
450F:2AC8  A4                                   movsb                           ; Mov [si] to es:[di]
450F:2AC9  00 23                                add     [bp+di],ah
450F:2ACB  00 00                                add     [bx+si],al
450F:2ACD  0A 2B                                or      ch,[bp+di]
450F:2ACF  18 00                                sbb     [bx+si],al
450F:2AD1  23 2C                                and     bp,[si]
450F:2AD3  00 23                                add     [bp+di],ah
450F:2AD5  32 00                                xor     al,[bx+si]
450F:2AD7  27                                   daa                             ; Decimal adjust
450F:2AD8  40                                   inc     ax
450F:2AD9  00 1F                                add     [bx],bl
450F:2ADB  0A 00                                or      al,[bx+si]
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 655

450F:2ADD  27                                   daa                             ; Decimal adjust
450F:2ADE  0D 2300                              or      ax,2300h
450F:2AE1  0C 00                                or      al,0
450F:2AE3  21 A6 2D00                           and     [bp+2D00h],sp
450F:2AE7  3C 00                                cmp     al,0
450F:2AE9  1F                                   pop     ds
450F:2AEA  A4                                   movsb                           ; Mov [si] to es:[di]
450F:2AEB  00 23                                add     [bp+di],ah
450F:2AED  01 00                                add     [bx+si],ax
450F:2AEF  0A 2B                                or      ch,[bp+di]
450F:2AF1  09 00                                or      [bx+si],ax
450F:2AF3  23 01                                and     ax,[bx+di]
450F:2AF5  00 27                                add     [bx],ah
450F:2AF7  0D 2D00                              or      ax,2D00h
450F:2AFA  29 00                                sub     [bx+si],ax
450F:2AFC  1F                                   pop     ds
450F:2AFD  A4                                   movsb                           ; Mov [si] to es:[di]
450F:2AFE  00 23                                add     [bp+di],ah
450F:2B00  02 00                                add     al,[bx+si]
450F:2B02  0A 2B                                or      ch,[bp+di]
450F:2B04  09 00                                or      [bx+si],ax
450F:2B06  23 0B                                and     cx,[bp+di]
450F:2B08  00 27                                add     [bx],ah
450F:2B0A  0D 2D00                              or      ax,2D00h
450F:2B0D  16                                   push    ss
450F:2B0E  00 1F                                add     [bx],bl
450F:2B10  A4                                   movsb                           ; Mov [si] to es:[di]
450F:2B11  00 23                                add     [bp+di],ah
450F:2B13  03 00                                add     ax,[bx+si]
450F:2B15  0A 2B                                or      ch,[bp+di]
450F:2B17  0C 00                                or      al,0
450F:2B19  23 21                                and     sp,[bx+di]
450F:2B1B  00 27                                add     [bx],ah
450F:2B1D  0D 2300                              or      ax,2300h
450F:2B20  0C 00                                or      al,0
450F:2B22  21 A6 1F00                           and     [bp+1F00h],sp
450F:2B26  A6                                   cmpsb                           ; Cmp [si] to es:[di]
450F:2B27  00 23                                add     [bp+di],ah
450F:2B29  0C 00                                or      al,0
450F:2B2B  0E                                   push    cs
450F:2B2C  2B 0F                                sub     cx,[bx]
450F:2B2E  00 23                                add     [bp+di],ah
450F:2B30  00 00                                add     [bx+si],al
450F:2B32  23 03                                and     ax,[bp+di]
450F:2B34  00 23                                add     [bp+di],ah
450F:2B36  C7 2A 27 08 00 2D                    db      0C7h, 2Ah, 27h, 08h, 00h, 2Dh
450F:2B3C  1B 00 23 00 00 21                    db       1Bh, 00h, 23h, 00h, 00h, 21h
450F:2B42  A6 00 23 3C 00 23                    db      0A6h, 00h, 23h, 3Ch, 00h, 23h
450F:2B48  C8 00 27 40 00 23                    db      0C8h, 00h, 27h, 40h, 00h, 23h
450F:2B4E  00 00 1F 0A 00 23                    db       00h, 00h, 1Fh, 0Ah, 00h, 23h
450F:2B54  C7 2A 27 08 00 28                    db      0C7h, 2Ah, 27h, 08h, 00h, 28h
450F:2B5A  1F A4 00 23 01 00                    db       1Fh,0A4h, 00h, 23h, 01h, 00h
450F:2B60  0A 2B 06 00 23 03                    db       0Ah, 2Bh, 06h, 00h, 23h, 03h
450F:2B66  00 27 02 00 1F A8                    db       00h, 27h, 02h, 00h, 1Fh,0A8h
450F:2B6C  00 23 01 00 02 21                    db       00h, 23h, 01h, 00h, 02h, 21h
450F:2B72  A8 00 1F A8 00 23                    db      0A8h, 00h, 1Fh,0A8h, 00h, 23h
450F:2B78  04 00 0A 2B 0F 00                    db       04h, 00h, 0Ah, 2Bh, 0Fh, 00h
           nlure.lst                           Sourcer v6.09   17-Nov- 5   5:53 pm   Page 656

450F:2B7E  23 00 00 23 02 00                    db       23h, 00h, 00h, 23h, 02h, 00h
450F:2B84  23 5A 2B 27 08 00                    db       23h, 5Ah, 2Bh, 27h, 08h, 00h
450F:2B8A  2D 34 00 1F A8 00                    db       2Dh, 34h, 00h, 1Fh,0A8h, 00h
450F:2B90  23 07 00 0E 2B 0F                    db       23h, 07h, 00h, 0Eh, 2Bh, 0Fh
450F:2B96  00 23 00 00 23 01                    db       00h, 23h, 00h, 00h, 23h, 01h
450F:2B9C  00 23 5A 2B 27 08                    db       00h, 23h, 5Ah, 2Bh, 27h, 08h
450F:2BA2  00 2D 1B 00 23 00                    db       00h, 2Dh, 1Bh, 00h, 23h, 00h
450F:2BA8  00 21 A8 00 23 3C                    db       00h, 21h,0A8h, 00h, 23h, 3Ch
450F:2BAE  00 23 C8 00 27 40                    db       00h, 23h,0C8h, 00h, 27h, 40h
450F:2BB4  00 23 00 00 1F 0A                    db       00h, 23h, 00h, 00h, 1Fh, 0Ah
450F:2BBA  00 23 5A 2B 27 08                    db       00h, 23h, 5Ah, 2Bh, 27h, 08h
450F:2BC0  00 28 1F A4 00 23                    db       00h, 28h, 1Fh,0A4h, 00h, 23h
450F:2BC6  01 00 0A 2B 06 00                    db       01h, 00h, 0Ah, 2Bh, 06h, 00h
450F:2BCC  23 18 00 27 02 00                    db       23h, 18h, 00h, 27h, 02h, 00h
450F:2BD2  23 14 00 23 96 00                    db       23h, 14h, 00h, 23h, 96h, 00h
450F:2BD8  27 40 00 23 00 00                    db       27h, 40h, 00h, 23h, 00h, 00h
450F:2BDE  1F 0A 00 23 C2 2B                    db       1Fh, 0Ah, 00h, 23h,0C2h, 2Bh
450F:2BE4  27 08 00 28 27 41                    db       27h, 08h, 00h, 28h, 27h, 41h
450F:2BEA  00 28 23 12 00 27                    db       00h, 28h, 23h, 12h, 00h, 27h
450F:2BF0  0D 00 28 23 15 00                    db       0Dh, 00h, 28h, 23h, 15h, 00h
450F:2BF6  27 0D 00 28 23 0C                    db       27h, 0Dh, 00h, 28h, 23h, 0Ch
450F:2BFC  00 27 0D 00 28 23                    db       00h, 27h, 0Dh, 00h, 28h, 23h
450F:2C02  0C 00 27 0D 00 28                    db       0Ch, 00h, 27h, 0Dh, 00h, 28h
450F:2C08  23 15 00 27 0D 00                    db       23h, 15h, 00h, 27h, 0Dh, 00h
450F:2C0E  28 23 0F 00 27 0D                    db       28h, 23h, 0Fh, 00h, 27h, 0Dh
450F:2C14  00 28 23 0E 00 27                    db       00h, 28h, 23h, 0Eh, 00h, 27h
450F:2C1A  0D 00 28 23 15 00                    db       0Dh, 00h, 28h, 23h, 15h, 00h
450F:2C20  27 42 00 1F 0A 00                    db       27h, 42h, 00h, 1Fh, 0Ah, 00h
450F:2C26  21 08 00 1F 08 00                    db       21h, 08h, 00h, 1Fh, 08h, 00h
450F:2C2C  23 00 00 0A 2B 06                    db       23h, 00h, 00h, 0Ah, 2Bh, 06h
450F:2C32  00 23 19 00 27 0D                    db       00h, 23h, 19h, 00h, 27h, 0Dh
450F:2C38  00 28 23 19 00 27                    db       00h, 28h, 23h, 19h, 00h, 27h
450F:2C3E  0D 00 28 23 04 00                    db       0Dh, 00h, 28h, 23h, 04h, 00h
450F:2C44  27 0D 00                             db       27h, 0Dh, 00h
450F:2C47                       loc_2374:
450F:2C47  23 16 2701                           and     dx,ds:data_35e          ; (0000:2701=2EE4h)
450F:2C4B  10 00                                adc     [bx+si],al
450F:2C4D  23 01                                and     ax,[bx+di]
450F:2C4F  00 21                                add     [bx+di],ah
450F:2C51  08 00                                or      [bx+si],al
450F:2C53  28 00                                sub     [bx+si],al
450F:2C55  000B[00]                             db      11 dup (0)

                                scripts_seg     ends



                                ;--------------------------------------------------  messages_seg ----------

                                messages_seg    segment byte public
                                                assume cs:messages_seg, ds:messages_seg, ss:stack_seg_k

47D5:0000  E8                   data_1437       db      0E8h                    ;  xref 273F:63CC
47D5:0001  03 5C 00 E9 03 EE                    db       03h, 5Ch, 00h,0E9h, 03h,0EEh
47D5:0007  00 11 04 EE 00 EA                    db       00h, 11h, 04h,0EEh, 00h,0EAh
47D5:000D  03 A0 01 12 04 EE                    db       03h,0A0h, 01h, 12h, 04h,0EEh
47D5:0013  00 EB 03 B6 01 F2                    db       00h,0EBh, 03h,0B6h, 01h,0F2h
47D5:0019  03 E8 01 EC 03 F2                    db       03h,0E8h, 01h,0ECh, 03h,0F2h
47D5:001F  03 ED 03 12 03 F1                    db       03h,0EDh, 03h, 12h, 03h,0F1h
47D5:0025  03 DC 02 EE 03 76                    db       03h,0DCh, 02h,0EEh, 03h, 76h
47D5:002B  03 F0 03 44 03 EF                    db       03h,0F0h, 03h, 44h, 03h,0EFh
47D5:0031  03 A8 03 29 04 46                    db       03h,0A8h, 03h, 29h, 04h, 46h
47D5:0037  04 20 04 60 04 1F                    db       04h, 20h, 04h, 60h, 04h, 1Fh
47D5:003D  04 40 02 21 04 5E                    db       04h, 40h, 02h, 21h, 04h, 5Eh
47D5:0043  02 2B 04 78 02 36                    db       02h, 2Bh, 04h, 78h, 02h, 36h
47D5:0049  04 B6 02 22 04 2C                    db       04h,0B6h, 02h, 22h, 04h, 2Ch
47D5:004F  04 27 04 12 02 42                    db       04h, 27h, 04h, 12h, 02h, 42h
47D5:0055  04 92 02 34 04 AC                    db       04h, 92h, 02h, 34h, 04h,0ACh
47D5:005B  02 80 00 00 00 A1                    db       02h, 80h, 00h, 00h, 00h,0A1h
47D5:0061  80 0B 00 EC 80 10                    db       80h, 0Bh, 00h,0ECh, 80h, 10h
47D5:0067  00 68 80 11 00 0F                    db       00h, 68h, 80h, 11h, 00h, 0Fh
47D5:006D  8A 2D 00 08 81 12                    db       8Ah, 2Dh, 00h, 08h, 81h, 12h
47D5:0073  00 1E 81 19 00 1F                    db       00h, 1Eh, 81h, 19h, 00h, 1Fh
47D5:0079  81 1A 00 82 80 02                    db       81h, 1Ah, 00h, 82h, 80h, 02h
47D5:007F  00 89 80 06 00 83                    db       00h, 89h, 80h, 06h, 00h, 83h
47D5:0085  80 03 00 88 80 04                    db       80h, 03h, 00h, 88h, 80h, 04h
47D5:008B  00 A4 80 33 00 75                    db       00h,0A4h, 80h, 33h, 00h, 75h
47D5:0091  00 05 00 9E 00 07                    db       00h, 05h, 00h, 9Eh, 00h, 07h
47D5:0097  00 9F 00 08 00 A0                    db       00h, 9Fh, 00h, 08h, 00h,0A0h
47D5:009D  00 09 00 76 00 0D                    db       00h, 09h, 00h, 76h, 00h, 0Dh
47D5:00A3  00 00 00 0E 00 09                    db       00h, 00h, 00h, 0Eh, 00h, 09h
47D5:00A9  81 13 00 0A 81 14                    db       81h, 13h, 00h, 0Ah, 81h, 14h
47D5:00AF  00 18 81 16 00 14                    db       00h, 18h, 81h, 16h, 00h, 14h
47D5:00B5  81 17 00 13 81 18                    db       81h, 17h, 00h, 13h, 81h, 18h
47D5:00BB  00 15 88 28 00 16                    db       00h, 15h, 88h, 28h, 00h, 16h
47D5:00C1  81 1B 00 26 81 1C                    db       81h, 1Bh, 00h, 26h, 81h, 1Ch
47D5:00C7  00 2D 81 1D 00 2E                    db       00h, 2Dh, 81h, 1Dh, 00h, 2Eh
47D5:00CD  81 1E 00 2F 81 1F                    db       81h, 1Eh, 00h, 2Fh, 81h, 1Fh
47D5:00D3  00 73 80 21 00 37                    db       00h, 73h, 80h, 21h, 00h, 37h
47D5:00D9  81 23 00 B1 8C 2F                    db       81h, 23h, 00h,0B1h, 8Ch, 2Fh
47D5:00DF  00 00 00 29 00 4A                    db       00h, 00h, 00h, 29h, 00h, 4Ah
47D5:00E5  81 2A 00 6D 81 2E                    db       81h, 2Ah, 00h, 6Dh, 81h, 2Eh
47D5:00EB  00 FF FF 80 00 00                    db       00h,0FFh,0FFh, 80h, 00h, 00h
47D5:00F1  00 A1 00 0B 00 EC                    db       00h,0A1h, 00h, 0Bh, 00h,0ECh
47D5:00F7  00 10 00 08 01 12                    db       00h, 10h, 00h, 08h, 01h, 12h
47D5:00FD  00 20 01 19 00 20                    db       00h, 20h, 01h, 19h, 00h, 20h
47D5:0103  01 1A 00 6A 00 0F                    db       01h, 1Ah, 00h, 6Ah, 00h, 0Fh
47D5:0109  00 76 00 0D 00 82                    db       00h, 76h, 00h, 0Dh, 00h, 82h
47D5:010F  00 02 00 83 00 03                    db       00h, 02h, 00h, 83h, 00h, 03h
47D5:0115  00 88 00 04 00 A4                    db       00h, 88h, 00h, 04h, 00h,0A4h
47D5:011B  00 33 00 72 01 06                    db       00h, 33h, 00h, 72h, 01h, 06h
47D5:0121  00 75 00 05 00 9E                    db       00h, 75h, 00h, 05h, 00h, 9Eh
47D5:0127  00 07 00 9F 00 08                    db       00h, 07h, 00h, 9Fh, 00h, 08h
47D5:012D  00 A0 00 09 00 7E                    db       00h,0A0h, 00h, 09h, 00h, 7Eh
47D5:0133  00 0A 00 7F 00 20                    db       00h, 0Ah, 00h, 7Fh, 00h, 20h
47D5:0139  00 7B 00 24 00 76                    db       00h, 7Bh, 00h, 24h, 00h, 76h
47D5:013F  00 01 00 76 00 0C                    db       00h, 01h, 00h, 76h, 00h, 0Ch
47D5:0145  00 76 00 2B 00 00                    db       00h, 76h, 00h, 2Bh, 00h, 00h
47D5:014B  00 0E 00 E9 08 2C                    db       00h, 0Eh, 00h,0E9h, 08h, 2Ch
47D5:0151  00 68 00 11 00 18                    db       00h, 68h, 00h, 11h, 00h, 18h
47D5:0157  01 16 00 17 01 17                    db       01h, 16h, 00h, 17h, 01h, 17h
47D5:015D  00 76 00 18 00 76                    db       00h, 76h, 00h, 18h, 00h, 76h
47D5:0163  00 1C 00 14 08 28                    db       00h, 1Ch, 00h, 14h, 08h, 28h
47D5:0169  00 74 00 22 00 20                    db       00h, 74h, 00h, 22h, 00h, 20h
47D5:016F  01 23 00 76 00 2F                    db       01h, 23h, 00h, 76h, 00h, 2Fh
47D5:0175  00 C8 08 29 00 77                    db       00h,0C8h, 08h, 29h, 00h, 77h
47D5:017B  01 2A 00 20 01 1B                    db       01h, 2Ah, 00h, 20h, 01h, 1Bh
47D5:0181  00 20 01 1D 00 76                    db       00h, 20h, 01h, 1Dh, 00h, 76h
47D5:0187  00 1E 00 76 00 1F                    db       00h, 1Eh, 00h, 76h, 00h, 1Fh
47D5:018D  00 20 01 21 00 68                    db       00h, 20h, 01h, 21h, 00h, 68h
47D5:0193  00 13 00 34 01 14                    db       00h, 13h, 00h, 34h, 01h, 14h
47D5:0199  00 6E 01 2E 00 FF                    db       00h, 6Eh, 01h, 2Eh, 00h,0FFh
47D5:019F  FF 76 00 02 00 76                    db      0FFh, 76h, 00h, 02h, 00h, 76h
47D5:01A5  00 06 00 76 00 0D                    db       00h, 06h, 00h, 76h, 00h, 0Dh
47D5:01AB  00 9B 00 0C 00 76                    db       00h, 9Bh, 00h, 0Ch, 00h, 76h
47D5:01B1  00 2B 00 FF FF 82                    db       00h, 2Bh, 00h,0FFh,0FFh, 82h
47D5:01B7  00 02 00 76 00 0D                    db       00h, 02h, 00h, 76h, 00h, 0Dh
47D5:01BD  00 00 00 03 00 00                    db       00h, 00h, 00h, 03h, 00h, 00h
47D5:01C3  00 04 00 AE 0B 0A                    db       00h, 04h, 00h,0AEh, 0Bh, 0Ah
47D5:01C9  00 C0 0B 24 00 C3                    db       00h,0C0h, 0Bh, 24h, 00h,0C3h
47D5:01CF  0C 31 00 76 00 01                    db       0Ch, 31h, 00h, 76h, 00h, 01h
47D5:01D5  00 76 00 0C 00 76                    db       00h, 76h, 00h, 0Ch, 00h, 76h
47D5:01DB  00 2B 00 D3 08 29                    db       00h, 2Bh, 00h,0D3h, 08h, 29h
47D5:01E1  00 C3 0C 30 00 FF                    db       00h,0C3h, 0Ch, 30h, 00h,0FFh
47D5:01E7  FF 76 00 00 00 76                    db      0FFh, 76h, 00h, 00h, 00h, 76h
47D5:01ED  00 11 00 76 00 0D                    db       00h, 11h, 00h, 76h, 00h, 0Dh
47D5:01F3  00 91 01 0A 00 90                    db       00h, 91h, 01h, 0Ah, 00h, 90h
47D5:01F9  01 24 00 1C 10 20                    db       01h, 24h, 00h, 1Ch, 10h, 20h
47D5:01FF  00 76 00 01 00 76                    db       00h, 76h, 00h, 01h, 00h, 76h
47D5:0205  00 0C 00 76 00 2B                    db       00h, 0Ch, 00h, 76h, 00h, 2Bh
47D5:020B  00 92 01 29 00 FF                    db       00h, 92h, 01h, 29h, 00h,0FFh
47D5:0211  FF 76 00 01 00 82                    db      0FFh, 76h, 00h, 01h, 00h, 82h
47D5:0217  00 02 00 B6 0B 0A                    db       00h, 02h, 00h,0B6h, 0Bh, 0Ah
47D5:021D  00 BA 0C 32 00 C7                    db       00h,0BAh, 0Ch, 32h, 00h,0C7h
47D5:0223  0B 24 00 BD 0C 31                    db       0Bh, 24h, 00h,0BDh, 0Ch, 31h
47D5:0229  00 76 00 0C 00 76                    db       00h, 76h, 00h, 0Ch, 00h, 76h
47D5:022F  00 2B 00 76 00 0D                    db       00h, 2Bh, 00h, 76h, 00h, 0Dh
47D5:0235  00 8B 08 29 00 C5                    db       00h, 8Bh, 08h, 29h, 00h,0C5h
47D5:023B  0C 30 00 FF FF B3                    db       0Ch, 30h, 00h,0FFh,0FFh,0B3h
47D5:0241  0B 0A 00 C5 0B 24                    db       0Bh, 0Ah, 00h,0C5h, 0Bh, 24h
47D5:0247  00 C2 0C 31 00 76                    db       00h,0C2h, 0Ch, 31h, 00h, 76h
47D5:024D  00 0C 00 76 00 2B                    db       00h, 0Ch, 00h, 76h, 00h, 2Bh
47D5:0253  00 C5 08 29 00 C5                    db       00h,0C5h, 08h, 29h, 00h,0C5h
47D5:0259  08 30 00 FF FF 76                    db       08h, 30h, 00h,0FFh,0FFh, 76h
47D5:025F  00 0C 00 76 00 2B                    db       00h, 0Ch, 00h, 76h, 00h, 2Bh
47D5:0265  00 7A 08 29 00 01                    db       00h, 7Ah, 08h, 29h, 00h, 01h
47D5:026B  09 24 00 B1 0B 0A                    db       09h, 24h, 00h,0B1h, 0Bh, 0Ah
47D5:0271  00 C3 0B 24 00 FF                    db       00h,0C3h, 0Bh, 24h, 00h,0FFh
47D5:0277  FF B5 0B 0A 00 76                    db      0FFh,0B5h, 0Bh, 0Ah, 00h, 76h
47D5:027D  00 0C 00 76 00 2B                    db       00h, 0Ch, 00h, 76h, 00h, 2Bh
47D5:0283  00 57 09 29 00 57                    db       00h, 57h, 09h, 29h, 00h, 57h
47D5:0289  09 30 00 4F 0B 24                    db       09h, 30h, 00h, 4Fh, 0Bh, 24h
47D5:028F  00 FF FF 0B 0C 0A                    db       00h,0FFh,0FFh, 0Bh, 0Ch, 0Ah
47D5:0295  00 76 00 0C 00 76                    db       00h, 76h, 00h, 0Ch, 00h, 76h
47D5:029B  00 2B 00 0E 0C 29                    db       00h, 2Bh, 00h, 0Eh, 0Ch, 29h
47D5:02A1  00 C6 0C 30 00 0C                    db       00h,0C6h, 0Ch, 30h, 00h, 0Ch
47D5:02A7  0C 24 00 FF FF 76                    db       0Ch, 24h, 00h,0FFh,0FFh, 76h
47D5:02AD  00 0C 00 76 00 2B                    db       00h, 0Ch, 00h, 76h, 00h, 2Bh
47D5:02B3  00 FF FF 76 00 0C                    db       00h,0FFh,0FFh, 76h, 00h, 0Ch
47D5:02B9  00 76 00 2B 00 35                    db       00h, 76h, 00h, 2Bh, 00h, 35h
47D5:02BF  0B 29 00 01 09 24                    db       0Bh, 29h, 00h, 01h, 09h, 24h
47D5:02C5  00 A9 0B 0A 00 BB                    db       00h,0A9h, 0Bh, 0Ah, 00h,0BBh
47D5:02CB  0C 32 00 B9 0B 24                    db       0Ch, 32h, 00h,0B9h, 0Bh, 24h
47D5:02D1  00 C0 0C 31 00 C0                    db       00h,0C0h, 0Ch, 31h, 00h,0C0h
47D5:02D7  0C 30 00 FF FF B7                    db       0Ch, 30h, 00h,0FFh,0FFh,0B7h
47D5:02DD  0B 0A 00 C8 0B 24                    db       0Bh, 0Ah, 00h,0C8h, 0Bh, 24h
47D5:02E3  00 BE 0C 31 00 76                    db       00h,0BEh, 0Ch, 31h, 00h, 76h
47D5:02E9  00 0C 00 76 00 2B                    db       00h, 0Ch, 00h, 76h, 00h, 2Bh
47D5:02EF  00 76 00 01 00 82                    db       00h, 76h, 00h, 01h, 00h, 82h
47D5:02F5  00 02 00 00 00 03                    db       00h, 02h, 00h, 00h, 00h, 03h
47D5:02FB  00 00 00 04 00 76                    db       00h, 00h, 00h, 04h, 00h, 76h
47D5:0301  00 0D 00 E9 0B 29                    db       00h, 0Dh, 00h,0E9h, 0Bh, 29h
47D5:0307  00 C7 0C 30 00 E8                    db       00h,0C7h, 0Ch, 30h, 00h,0E8h
47D5:030D  08 2C 00 FF FF AF                    db       08h, 2Ch, 00h,0FFh,0FFh,0AFh
47D5:0313  0B 0A 00 C1 0B 24                    db       0Bh, 0Ah, 00h,0C1h, 0Bh, 24h
47D5:0319  00 76 00 0C 00 76                    db       00h, 76h, 00h, 0Ch, 00h, 76h
47D5:031F  00 2B 00 76 00 01                    db       00h, 2Bh, 00h, 76h, 00h, 01h
47D5:0325  00 82 00 02 00 00                    db       00h, 82h, 00h, 02h, 00h, 00h
47D5:032B  00 03 00 00 00 04                    db       00h, 03h, 00h, 00h, 00h, 04h
47D5:0331  00 76 00 0D 00 16                    db       00h, 76h, 00h, 0Dh, 00h, 16h
47D5:0337  0B 29 00 16 0B 30                    db       0Bh, 29h, 00h, 16h, 0Bh, 30h
47D5:033D  00 E8 08 2C 00 FF                    db       00h,0E8h, 08h, 2Ch, 00h,0FFh
47D5:0343  FF B4 0B 0A 00 C6                    db      0FFh,0B4h, 0Bh, 0Ah, 00h,0C6h
47D5:0349  0B 24 00 76 00 0C                    db       0Bh, 24h, 00h, 76h, 00h, 0Ch
47D5:034F  00 76 00 2B 00 76                    db       00h, 76h, 00h, 2Bh, 00h, 76h
47D5:0355  00 01 00 82 00 02                    db       00h, 01h, 00h, 82h, 00h, 02h
47D5:035B  00 00 00 03 00 00                    db       00h, 00h, 00h, 03h, 00h, 00h
47D5:0361  00 04 00 76 00 0D                    db       00h, 04h, 00h, 76h, 00h, 0Dh
47D5:0367  00 E8 0B 29 00 CA                    db       00h,0E8h, 0Bh, 29h, 00h,0CAh
47D5:036D  0C 30 00 E8 08 2C                    db       0Ch, 30h, 00h,0E8h, 08h, 2Ch
47D5:0373  00 FF FF B8 0B 0A                    db       00h,0FFh,0FFh,0B8h, 0Bh, 0Ah
47D5:0379  00 C9 0B 24 00 76                    db       00h,0C9h, 0Bh, 24h, 00h, 76h
47D5:037F  00 0C 00 76 00 2B                    db       00h, 0Ch, 00h, 76h, 00h, 2Bh
47D5:0385  00 76 00 01 00 82                    db       00h, 76h, 00h, 01h, 00h, 82h
47D5:038B  00 02 00 00 00 03                    db       00h, 02h, 00h, 00h, 00h, 03h
47D5:0391  00 00 00 04 00 76                    db       00h, 00h, 00h, 04h, 00h, 76h
47D5:0397  00 0D 00 EA 0B 29                    db       00h, 0Dh, 00h,0EAh, 0Bh, 29h
47D5:039D  00 EA 0B 30 00 E8                    db       00h,0EAh, 0Bh, 30h, 00h,0E8h
47D5:03A3  08 2C 00 FF FF AB                    db       08h, 2Ch, 00h,0FFh,0FFh,0ABh
47D5:03A9  0B 0A 00 BB 0B 24                    db       0Bh, 0Ah, 00h,0BBh, 0Bh, 24h
47D5:03AF  00 0E 0A 2D 00 76                    db       00h, 0Eh, 0Ah, 2Dh, 00h, 76h
47D5:03B5  00 0C 00 76 00 2B                    db       00h, 0Ch, 00h, 76h, 00h, 2Bh
47D5:03BB  00 76 00 01 00 82                    db       00h, 76h, 00h, 01h, 00h, 82h
47D5:03C1  00 02 00 00 00 03                    db       00h, 02h, 00h, 00h, 00h, 03h
47D5:03C7  00 00 00 04 00 76                    db       00h, 00h, 00h, 04h, 00h, 76h
47D5:03CD  00 06 00 76 00 0D                    db       00h, 06h, 00h, 76h, 00h, 0Dh
47D5:03D3  00 76 09 29 00 76                    db       00h, 76h, 09h, 29h, 00h, 76h
47D5:03D9  09 30 00 E8 08 2C                    db       09h, 30h, 00h,0E8h, 08h, 2Ch
47D5:03DF  00 80 00 00 00 A1                    db       00h, 80h, 00h, 00h, 00h,0A1h
47D5:03E5  00 0B 00 9D 0C 10                    db       00h, 0Bh, 00h, 9Dh, 0Ch, 10h
47D5:03EB  00 CB 0C 34 00 FF                    db       00h,0CBh, 0Ch, 34h, 00h,0FFh
47D5:03F1  FF AD 0B 0A 00 BD                    db      0FFh,0ADh, 0Bh, 0Ah, 00h,0BDh
47D5:03F7  0B 24 00 BF 0C 31                    db       0Bh, 24h, 00h,0BFh, 0Ch, 31h
47D5:03FD  00 76 00 0C 00 76                    db       00h, 76h, 00h, 0Ch, 00h, 76h
47D5:0403  00 2B 00 76 00 01                    db       00h, 2Bh, 00h, 76h, 00h, 01h
47D5:0409  00 82 00 02 00 00                    db       00h, 82h, 00h, 02h, 00h, 00h
47D5:040F  00 03 00 00 00 04                    db       00h, 03h, 00h, 00h, 00h, 04h
47D5:0415  00 76 00 0D 00 71                    db       00h, 76h, 00h, 0Dh, 00h, 71h
47D5:041B  09 29 00 BF 0C 30                    db       09h, 29h, 00h,0BFh, 0Ch, 30h
47D5:0421  00 E8 08 2C 00 75                    db       00h,0E8h, 08h, 2Ch, 00h, 75h
47D5:0427  00 05 00 FF FF AC                    db       00h, 05h, 00h,0FFh,0FFh,0ACh
47D5:042D  0B 0A 00 BC 0B 24                    db       0Bh, 0Ah, 00h,0BCh, 0Bh, 24h
47D5:0433  00 76 00 0C 00 76                    db       00h, 76h, 00h, 0Ch, 00h, 76h
47D5:0439  00 2B 00 D5 08 29                    db       00h, 2Bh, 00h,0D5h, 08h, 29h
47D5:043F  00 D5 08 30 00 FF                    db       00h,0D5h, 08h, 30h, 00h,0FFh
47D5:0445  FF B2 0B 0A 00 C4                    db      0FFh,0B2h, 0Bh, 0Ah, 00h,0C4h
47D5:044B  0B 24 00 76 00 0C                    db       0Bh, 24h, 00h, 76h, 00h, 0Ch
47D5:0451  00 76 00 2B 00 D2                    db       00h, 76h, 00h, 2Bh, 00h,0D2h
47D5:0457  08 29 00 C8 0C 30                    db       08h, 29h, 00h,0C8h, 0Ch, 30h
47D5:045D  00 FF FF AA 0B 0A                    db       00h,0FFh,0FFh,0AAh, 0Bh, 0Ah
47D5:0463  00 BC 0C 32 00 BA                    db       00h,0BCh, 0Ch, 32h, 00h,0BAh
47D5:0469  0B 24 00 C1 0C 31                    db       0Bh, 24h, 00h,0C1h, 0Ch, 31h
47D5:046F  00 76 00 0C 00 76                    db       00h, 76h, 00h, 0Ch, 00h, 76h
47D5:0475  00 2B 00 D7 08 29                    db       00h, 2Bh, 00h,0D7h, 08h, 29h
47D5:047B  00 C9 0C 30 00 FF                    db       00h,0C9h, 0Ch, 30h, 00h,0FFh
47D5:0481  FF 00                                db      0FFh, 00h
47D5:0483  000D[00]                             db      13 dup (0)

                                messages_seg    ends



                                ;------------------------------------------------------  stack_seg_k   ----

                                stack_seg_k     segment word stack 'STACK'

481E:0000  03E8[00]                             db      1000 dup (0)
481E:03E8  33 33                                db       33h, 33h
481E:03EA  0190[00]                             db      400 dup (0)
481E:057A  55 55                                db       55h, 55h
481E:057C  0190[00]                             db      400 dup (0)

                                stack_seg_k     ends



                                                end     start

                                �������������������� CROSS REFERENCE - KEY ENTRY POINTS �������������������

                                    seg:off    type                label
                                   ---- ----   ----   --------------------------------
                                   273F:0000   far    start
                                   273F:0944   far    critical_handler
                                   273F:48C6   far    timer_handler
                                   273F:94DB   far    keyboard_handler

                                 ������������������ Interrupt Usage Synopsis ������������������

                                        Interrupt 10h : Video display   ah=functn xxh
                                        Interrupt 10h :  ah=00h  set display mode in al
                                        Interrupt 10h :  ah=05h  set display page al
                                        Interrupt 10h :  ah=0Fh  get state, al=mode, bh=page
                                        Interrupt 10h :  ax=1002h  set palette regs from es:dx
                                        Interrupt 10h :  ax=1012h  set cx color registers from
                                        Interrupt 10h :  ah=12h  EGA/VGA special, bl=function
                                        Interrupt 10h :  ax=1A00h  get display type in bx
                                        Interrupt 11h : Put equipment bits in ax
                                        Interrupt 21h : DOS Services  ah=function xxh
                                        Interrupt 21h :  ah=06h  special char i/o, dl=subfunc
                                        Interrupt 21h :  ah=09h  display char string at ds:dx
                                        Interrupt 21h :  ah=0Eh  set default drive dl  (0=a:)
                                        Interrupt 21h :  ah=19h  get default drive al  (0=a:)
                                        Interrupt 21h :  ah=25h  set intrpt vector al to ds:dx
                                        Interrupt 21h :  ah=30h  get DOS version number ax
                                        Interrupt 21h :  ax=3300h  get ctrl-break flag in dl
                                        Interrupt 21h :  ax=3301h  set ctrl-break flag dl=off/on
                                        Interrupt 21h :  ah=35h  get intrpt vector al in es:bx
                                        Interrupt 21h :  ah=3Ch  create/truncate file @ ds:dx
                                        Interrupt 21h :  ah=3Dh  open file, al=mode,name@ds:dx
                                        Interrupt 21h :  ah=3Eh  close file, bx=file handle
                                        Interrupt 21h :  ah=3Fh  read file, bx=file handle
                                        Interrupt 21h :  ah=40h  write file  bx=file handle
                                        Interrupt 21h :  ah=42h  move file ptr, bx=file handle
                                        Interrupt 21h :  ah=48h  allocate memory, bx=bytes/16
                                        Interrupt 21h :  ah=4Ah  change memory allocation
                                        Interrupt 21h :  ah=4Ch  terminate with al=return code
                                        Interrupt 21h :  ah=62h  get Program Segment Prefix bx
                                        Interrupt 33h : Mouse driver    ax=func xxxxh
                                        Interrupt 33h :  ax=0000h  installed?, ax=0 no, =-1 yes
                                        Interrupt 33h :  ax=0003h  get position, cx=horz,dx=vert
                                        Interrupt 33h :  ax=0004h  set position, cx=horz,dx=vert
                                        Interrupt 33h :  ax=0007h  set horz range, cx=min,dx=max
                                        Interrupt 33h :  ax=0008h  set vert range, cx=min,dx=max
                                        Interrupt 33h :  ax=000Bh  read motion counters, cx & dx
                                        Interrupt 33h :  ax=000Ch  set user handler at es:dx

                                 ������������������ I/O Port Usage Synopsis  ������������������

                                        Port 0     : DMA-1 bas&add ch 0
                                        Port 3     : DMA-1 bas&cnt ch 1
                                        Port 20h   : 8259-1 int command
                                        Port 20h   :  al = 20h, end of interrupt
                                        Port 40h   : 8253 timer 0 clock
                                        Port 42h   : 8253 timer 2 spkr
                                        Port 43h   : 8253 timer control
                                        Port 82h   : DMA page reg ch 3
                                        Port 3C4h  : EGA sequencr index
                                        Port 3C4h  :  al = 2, map mask register
                                        Port 3C8h  : VGA pel address
                                        Port 3C9h  : VGA pel data reg
                                        Port 3CEh  : EGA graphic index
                                        Port 3CEh  :  al = 3, data rotate
                                        Port 3CEh  :  al = 4, read map select
                                        Port 3CEh  :  al = 5, mode
                                        Port 3CEh  :  al = 7, ignore color bits
                                        Port 3CEh  :  al = 8, data bit mask
                                        Port 3DAh  : CGA/EGA vid status
                                           29 Ocurrences of non-standard I/O ports used (search for ??).