From 9117c930b56ca5d4b1afd56fc537287760db420c Mon Sep 17 00:00:00 2001 From: Richard Burgess <> Date: Thu, 9 Feb 1995 11:16:52 +0000 Subject: [PATCH] autocommit for file dated 1995-02-09 11:16:52 --- ossource/uasm.asm | 1721 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1721 insertions(+) create mode 100644 ossource/uasm.asm diff --git a/ossource/uasm.asm b/ossource/uasm.asm new file mode 100644 index 0000000..5e750e5 --- /dev/null +++ b/ossource/uasm.asm @@ -0,0 +1,1721 @@ + +.DATA +_opmap1 DD OFFSET L_lit+0,OFFSET L_lit+12,OFFSET L_lit+24 + DD OFFSET L_lit+36,OFFSET L_lit+48,OFFSET L_lit+59 + DD OFFSET L_lit+72,OFFSET L_lit+80,OFFSET L_lit+87 + DD OFFSET L_lit+98,OFFSET L_lit+109,OFFSET L_lit+120 + DD OFFSET L_lit+131,OFFSET L_lit+141,OFFSET L_lit+153 + DD OFFSET L_lit+161,OFFSET L_lit+165,OFFSET L_lit+177 + DD OFFSET L_lit+189,OFFSET L_lit+201,OFFSET L_lit+213 + DD OFFSET L_lit+224,OFFSET L_lit+237,OFFSET L_lit+245 + DD OFFSET L_lit+252,OFFSET L_lit+264,OFFSET L_lit+276 + DD OFFSET L_lit+288,OFFSET L_lit+300,OFFSET L_lit+311 + DD OFFSET L_lit+324,OFFSET L_lit+332,OFFSET L_lit+339 + DD OFFSET L_lit+351,OFFSET L_lit+363,OFFSET L_lit+375 + DD OFFSET L_lit+387,OFFSET L_lit+398,OFFSET L_lit+411 + DD OFFSET L_lit+415,OFFSET L_lit+419,OFFSET L_lit+431 + DD OFFSET L_lit+443,OFFSET L_lit+455,OFFSET L_lit+467 + DD OFFSET L_lit+478,OFFSET L_lit+491,OFFSET L_lit+495 + DD OFFSET L_lit+499,OFFSET L_lit+511,OFFSET L_lit+523 + DD OFFSET L_lit+535,OFFSET L_lit+547,OFFSET L_lit+558 + DD OFFSET L_lit+571,OFFSET L_lit+575,OFFSET L_lit+579 + DD OFFSET L_lit+591,OFFSET L_lit+603,OFFSET L_lit+615 + DD OFFSET L_lit+627,OFFSET L_lit+638,OFFSET L_lit+651 + DD OFFSET L_lit+655,OFFSET L_lit+659,OFFSET L_lit+668 + DD OFFSET L_lit+677,OFFSET L_lit+686,OFFSET L_lit+695 + DD OFFSET L_lit+704,OFFSET L_lit+713,OFFSET L_lit+722 + DD OFFSET L_lit+731,OFFSET L_lit+740,OFFSET L_lit+749 + DD OFFSET L_lit+758,OFFSET L_lit+767,OFFSET L_lit+776 + DD OFFSET L_lit+785,OFFSET L_lit+794,OFFSET L_lit+803 + DD OFFSET L_lit+813,OFFSET L_lit+823,OFFSET L_lit+833 + DD OFFSET L_lit+843,OFFSET L_lit+853,OFFSET L_lit+863 + DD OFFSET L_lit+873,OFFSET L_lit+883,OFFSET L_lit+892 + DD OFFSET L_lit+901,OFFSET L_lit+910,OFFSET L_lit+919 + DD OFFSET L_lit+928,OFFSET L_lit+937,OFFSET L_lit+946 + DD OFFSET L_lit+955,OFFSET L_lit+961,OFFSET L_lit+966 + DD OFFSET L_lit+980,OFFSET L_lit+993,OFFSET L_lit+997 + DD OFFSET L_lit+1001,OFFSET L_lit+1005,OFFSET L_lit+1009 + DD OFFSET L_lit+1018,OFFSET L_lit+1035,OFFSET L_lit+1044 + DD OFFSET L_lit+1061,OFFSET L_lit+1073,OFFSET L_lit+1087 + DD OFFSET L_lit+1100,OFFSET L_lit+1115,OFFSET L_lit+1122 + DD OFFSET L_lit+1130,OFFSET L_lit+1138,OFFSET L_lit+1145 + DD OFFSET L_lit+1152,OFFSET L_lit+1160,OFFSET L_lit+1168 + DD OFFSET L_lit+1177,OFFSET L_lit+1184,OFFSET L_lit+1192 + DD OFFSET L_lit+1200,OFFSET L_lit+1208,OFFSET L_lit+1215 + DD OFFSET L_lit+1223,OFFSET L_lit+1231,OFFSET L_lit+1238 + DD OFFSET L_lit+1250,OFFSET L_lit+1262,OFFSET L_lit+1273 + DD OFFSET L_lit+1285,OFFSET L_lit+1298,OFFSET L_lit+1311 + DD OFFSET L_lit+1324,OFFSET L_lit+1337,OFFSET L_lit+1349 + DD OFFSET L_lit+1361,OFFSET L_lit+1373,OFFSET L_lit+1385 + DD OFFSET L_lit+1397,OFFSET L_lit+1409,OFFSET L_lit+1421 + DD OFFSET L_lit+1429,OFFSET L_lit+1433,OFFSET L_lit+1448 + DD OFFSET L_lit+1463,OFFSET L_lit+1478,OFFSET L_lit+1493 + DD OFFSET L_lit+1508,OFFSET L_lit+1523,OFFSET L_lit+1538 + DD OFFSET L_lit+1542,OFFSET L_lit+1546,OFFSET L_lit+1555 + DD OFFSET L_lit+1561,OFFSET L_lit+1574,OFFSET L_lit+1586 + DD OFFSET L_lit+1591,OFFSET L_lit+1596,OFFSET L_lit+1607 + DD OFFSET L_lit+1620,OFFSET L_lit+1631,OFFSET L_lit+1644 + DD OFFSET L_lit+1658,OFFSET L_lit+1674,OFFSET L_lit+1688 + DD OFFSET L_lit+1704,OFFSET L_lit+1716,OFFSET L_lit+1730 + DD OFFSET L_lit+1743,OFFSET L_lit+1760,OFFSET L_lit+1773 + DD OFFSET L_lit+1790,OFFSET L_lit+1803,OFFSET L_lit+1820 + DD OFFSET L_lit+1831,OFFSET L_lit+1842,OFFSET L_lit+1853 + DD OFFSET L_lit+1864,OFFSET L_lit+1875,OFFSET L_lit+1886 + DD OFFSET L_lit+1897,OFFSET L_lit+1908,OFFSET L_lit+1921 + DD OFFSET L_lit+1934,OFFSET L_lit+1947,OFFSET L_lit+1960 + DD OFFSET L_lit+1973,OFFSET L_lit+1986,OFFSET L_lit+1999 + DD OFFSET L_lit+2012,OFFSET L_lit+2024,OFFSET L_lit+2036 + DD OFFSET L_lit+2044,OFFSET L_lit+2048,OFFSET L_lit+2060 + DD OFFSET L_lit+2072,OFFSET L_lit+2084,OFFSET L_lit+2096 + DD OFFSET L_lit+2110,OFFSET L_lit+2116,OFFSET L_lit+2125 + DD OFFSET L_lit+2130,OFFSET L_lit+2136,OFFSET L_lit+2144 + DD OFFSET L_lit+2149,OFFSET L_lit+2154,OFFSET L_lit+2164 + DD OFFSET L_lit+2174,OFFSET L_lit+2185,OFFSET L_lit+2196 + DD OFFSET L_lit+2200,0,OFFSET L_lit+2204,OFFSET L_lit+2209 + DD OFFSET L_lit+2213,OFFSET L_lit+2217,OFFSET L_lit+2221 + DD OFFSET L_lit+2225,OFFSET L_lit+2229,OFFSET L_lit+2233 + DD OFFSET L_lit+2237,OFFSET L_lit+2241,OFFSET L_lit+2252 + DD OFFSET L_lit+2262,OFFSET L_lit+2271,OFFSET L_lit+2280 + DD OFFSET L_lit+2290,OFFSET L_lit+2302,OFFSET L_lit+2313 + DD OFFSET L_lit+2326,OFFSET L_lit+2335,OFFSET L_lit+2343 + DD OFFSET L_lit+2351,OFFSET L_lit+2359,OFFSET L_lit+2368 + DD OFFSET L_lit+2379,OFFSET L_lit+2389,OFFSET L_lit+2401 + DD 0,OFFSET L_lit+2409,OFFSET L_lit+2418,OFFSET L_lit+2428 + DD OFFSET L_lit+2432,OFFSET L_lit+2436,OFFSET L_lit+2440 + DD OFFSET L_lit+2444,OFFSET L_lit+2448,OFFSET L_lit+2452 + DD OFFSET L_lit+2456,OFFSET L_lit+2460,OFFSET L_lit+2464 + DD OFFSET L_lit+2468,OFFSET L_lit+2472 +PUBLIC _SecOp00 DD OFFSET L_lit+2476,OFFSET L_lit+2480,OFFSET L_lit+2484 + DD OFFSET L_lit+2496,0,0,OFFSET L_lit+2508,0 + DD 0,0,0,0,0,0,0,0 +_SecOp20 DD OFFSET L_lit+2513,OFFSET L_lit+2525,OFFSET L_lit+2537 + DD OFFSET L_lit+2549,OFFSET L_lit+2561,0,OFFSET L_lit+2573 + DD 0,0,0,0,0,0,0,0,0 +_SecOp80 DD OFFSET L_lit+2585,OFFSET L_lit+2592,OFFSET L_lit+2600 + DD OFFSET L_lit+2607,OFFSET L_lit+2615,OFFSET L_lit+2622 + DD OFFSET L_lit+2630,OFFSET L_lit+2638,OFFSET L_lit+2647 + DD OFFSET L_lit+2654,OFFSET L_lit+2662,OFFSET L_lit+2670 + DD OFFSET L_lit+2678,OFFSET L_lit+2685,OFFSET L_lit+2693 + DD OFFSET L_lit+2701,OFFSET L_lit+2708,OFFSET L_lit+2717 + DD OFFSET L_lit+2727,OFFSET L_lit+2737,OFFSET L_lit+2746 + DD OFFSET L_lit+2755,OFFSET L_lit+2765,OFFSET L_lit+2775 + DD OFFSET L_lit+2786,OFFSET L_lit+2795,OFFSET L_lit+2805 + DD OFFSET L_lit+2814,OFFSET L_lit+2824,OFFSET L_lit+2833 + DD OFFSET L_lit+2843,OFFSET L_lit+2853,OFFSET L_lit+2862 + DD OFFSET L_lit+2870,0,OFFSET L_lit+2877,OFFSET L_lit+2888 + DD OFFSET L_lit+2905,0,0,OFFSET L_lit+2921,OFFSET L_lit+2929 + DD 0,OFFSET L_lit+2936,OFFSET L_lit+2948,OFFSET L_lit+2965 + DD 0,OFFSET L_lit+2981,0,0,OFFSET L_lit+2994 + DD OFFSET L_lit+3002,OFFSET L_lit+3014,OFFSET L_lit+3022 + DD OFFSET L_lit+3030,OFFSET L_lit+3044,0,0,OFFSET L_lit+3058 + DD OFFSET L_lit+3070,OFFSET L_lit+3082,OFFSET L_lit+3094 + DD OFFSET L_lit+3105,OFFSET L_lit+3119 +_groups DD OFFSET L_lit+3133,OFFSET L_lit+3146,OFFSET L_lit+3160 + DD OFFSET L_lit+3168,OFFSET L_lit+3176,OFFSET L_lit+3189 + DD OFFSET L_lit+3203,OFFSET L_lit+3216,OFFSET L_lit+3230 + DD OFFSET L_lit+3234,OFFSET L_lit+3237,OFFSET L_lit+3241 + DD OFFSET L_lit+3245,OFFSET L_lit+3249,OFFSET L_lit+3253 + DD OFFSET L_lit+3257,OFFSET L_lit+3261,OFFSET L_lit+3265 + DD OFFSET L_lit+3269,OFFSET L_lit+3273,OFFSET L_lit+3277 + DD OFFSET L_lit+3281,OFFSET L_lit+3285,OFFSET L_lit+3289 + DD OFFSET L_lit+3293,OFFSET L_lit+3306,OFFSET L_lit+3320 + DD OFFSET L_lit+3328,OFFSET L_lit+3336,OFFSET L_lit+3347 + DD OFFSET L_lit+3359,OFFSET L_lit+3370,OFFSET L_lit+3382 + DD OFFSET L_lit+3390,0,0,0,0,0,0,OFFSET L_lit+3398 + DD OFFSET L_lit+3406,OFFSET L_lit+3414,OFFSET L_lit+3423 + DD OFFSET L_lit+3432,OFFSET L_lit+3440,OFFSET L_lit+3448 + DD 0,OFFSET L_lit+3457,OFFSET L_lit+3466,OFFSET L_lit+3474 + DD OFFSET L_lit+3483,OFFSET L_lit+3491,OFFSET L_lit+3500 + DD 0,0,OFFSET L_lit+3509,OFFSET L_lit+3518,OFFSET L_lit+3527 + DD OFFSET L_lit+3536,OFFSET L_lit+3545,0,OFFSET L_lit+3554 + DD 0,0,0,0,0,OFFSET L_lit+3563,OFFSET L_lit+3566 + DD OFFSET L_lit+3570,OFFSET L_lit+3574 +_seg_names DD OFFSET L_lit+3578,OFFSET L_lit+3581,OFFSET L_lit+3584 + DD OFFSET L_lit+3587,OFFSET L_lit+3590,OFFSET L_lit+3593 +_breg_names DD OFFSET L_lit+3596,OFFSET L_lit+3599,OFFSET L_lit+3602 + DD OFFSET L_lit+3605,OFFSET L_lit+3608,OFFSET L_lit+3611 + DD OFFSET L_lit+3614,OFFSET L_lit+3617 +_wreg_names DD OFFSET L_lit+3620,OFFSET L_lit+3623,OFFSET L_lit+3626 + DD OFFSET L_lit+3629,OFFSET L_lit+3632,OFFSET L_lit+3635 + DD OFFSET L_lit+3638,OFFSET L_lit+3641 +_dreg_names DD OFFSET L_lit+3644,OFFSET L_lit+3648,OFFSET L_lit+3652 + DD OFFSET L_lit+3656,OFFSET L_lit+3660,OFFSET L_lit+3664 + DD OFFSET L_lit+3668,OFFSET L_lit+3672 +L_lit DB 65,68,68,32,126,69,98,44,126,71,98,0,65,68,68,32 + DB 126,69,118,44,126,71,118,0,65,68,68,32,126,71,98,44 + DB 126,69,98,0,65,68,68,32,126,71,118,44,126,69,118,0 + DB 65,68,68,32,65,76,44,126,73,98,0,65,68,68,32,126 + DB 101,65,88,44,126,73,118,0,80,85,83,72,32,69,83,0 + DB 80,79,80,32,69,83,0,79,82,32,126,69,98,44,126,71 + DB 98,0,79,82,32,126,69,118,44,126,71,118,0,79,82,32 + DB 126,71,98,44,126,69,98,0,79,82,32,126,71,118,44,126 + DB 69,118,0,79,82,32,65,76,44,126,73,98,0,79,82,32 + DB 126,101,65,88,44,126,73,118,0,80,85,83,72,32,67,83 + DB 0,126,50,32,0,65,68,67,32,126,69,98,44,126,71,98 + DB 0,65,68,67,32,126,69,118,44,126,71,118,0,65,68,67 + DB 32,126,71,98,44,126,69,98,0,65,68,67,32,126,71,118 + DB 44,126,69,118,0,65,68,67,32,65,76,44,126,73,98,0 + DB 65,68,67,32,126,101,65,88,44,126,73,118,0,80,85,83 + DB 72,32,83,83,0,80,79,80,32,83,83,0,83,66,66,32 + DB 126,69,98,44,126,71,98,0,83,66,66,32,126,69,118,44 + DB 126,71,118,0,83,66,66,32,126,71,98,44,126,69,98,0 + DB 83,66,66,32,126,71,118,44,126,69,118,0,83,66,66,32 + DB 65,76,44,126,73,98,0,83,66,66,32,126,101,65,88,44 + DB 126,73,118,0,80,85,83,72,32,68,83,0,80,79,80,32 + DB 68,83,0,65,78,68,32,126,69,98,44,126,71,98,0,65 + DB 78,68,32,126,69,118,44,126,71,118,0,65,78,68,32,126 + DB 71,98,44,126,69,98,0,65,78,68,32,126,71,118,44,126 + DB 69,118,0,65,78,68,32,65,76,44,126,73,98,0,65,78 + DB 68,32,126,101,65,88,44,126,73,118,0,126,112,69,0,68 + DB 65,65,0,83,85,66,32,126,69,98,44,126,71,98,0,83 + DB 85,66,32,126,69,118,44,126,71,118,0,83,85,66,32,126 + DB 71,98,44,126,69,98,0,83,85,66,32,126,71,118,44,126 + DB 69,118,0,83,85,66,32,65,76,44,126,73,98,0,83,85 + DB 66,32,126,101,65,88,44,126,73,118,0,126,112,67,0,68 + DB 65,83,0,88,79,82,32,126,69,98,44,126,71,98,0,88 + DB 79,82,32,126,69,118,44,126,71,118,0,88,79,82,32,126 + DB 71,98,44,126,69,98,0,88,79,82,32,126,71,118,44,126 + DB 69,118,0,88,79,82,32,65,76,44,126,73,98,0,88,79 + DB 82,32,126,101,65,88,44,126,73,118,0,126,112,83,0,65 + DB 65,65,0,67,77,80,32,126,69,98,44,126,71,98,0,67 + DB 77,80,32,126,69,118,44,126,71,118,0,67,77,80,32,126 + DB 71,98,44,126,69,98,0,67,77,80,32,126,71,118,44,126 + DB 69,118,0,67,77,80,32,65,76,44,126,73,98,0,67,77 + DB 80,32,126,101,65,88,44,126,73,118,0,126,112,68,0,65 + DB 65,83,0,73,78,67,32,126,101,65,88,0,73,78,67,32 + DB 126,101,67,88,0,73,78,67,32,126,101,68,88,0,73,78 + DB 67,32,126,101,66,88,0,73,78,67,32,126,101,83,80,0 + DB 73,78,67,32,126,101,66,80,0,73,78,67,32,126,101,83 + DB 73,0,73,78,67,32,126,101,68,73,0,68,69,67,32,126 + DB 101,65,88,0,68,69,67,32,126,101,67,88,0,68,69,67 + DB 32,126,101,68,88,0,68,69,67,32,126,101,66,88,0,68 + DB 69,67,32,126,101,83,80,0,68,69,67,32,126,101,66,80 + DB 0,68,69,67,32,126,101,83,73,0,68,69,67,32,126,101 + DB 68,73,0,80,85,83,72,32,126,101,65,88,0,80,85,83 + DB 72,32,126,101,67,88,0,80,85,83,72,32,126,101,68,88 + DB 0,80,85,83,72,32,126,101,66,88,0,80,85,83,72,32 + DB 126,101,83,80,0,80,85,83,72,32,126,101,66,80,0,80 + DB 85,83,72,32,126,101,83,73,0,80,85,83,72,32,126,101 + DB 68,73,0,80,79,80,32,126,101,65,88,0,80,79,80,32 + DB 126,101,67,88,0,80,79,80,32,126,101,68,88,0,80,79 + DB 80,32,126,101,66,88,0,80,79,80,32,126,101,83,80,0 + DB 80,79,80,32,126,101,66,80,0,80,79,80,32,126,101,83 + DB 73,0,80,79,80,32,126,101,68,73,0,80,85,83,72,65 + DB 0,80,79,80,65,0,66,79,85,78,68,32,126,71,118,44 + DB 126,77,97,0,65,82,80,76,32,126,69,119,44,126,82,119 + DB 0,126,112,70,0,126,112,71,0,126,115,111,0,126,115,97 + DB 0,80,85,83,72,32,126,73,118,0,73,77,85,76,32,126 + DB 71,118,61,126,69,118,42,126,73,118,0,80,85,83,72,32 + DB 126,73,98,0,73,77,85,76,32,126,71,118,61,126,69,118 + DB 42,126,73,98,0,73,78,83,66,32,126,89,98,44,68,88 + DB 0,73,78,83,126,101,119,32,126,89,118,44,68,88,0,79 + DB 85,84,83,66,32,68,88,44,126,88,98,0,79,85,84,83 + DB 126,101,119,32,68,88,44,126,88,118,0,74,79,32,126,74 + DB 98,0,74,78,79,32,126,74,98,0,74,78,67,32,126,74 + DB 98,0,74,67,32,126,74,98,0,74,90,32,126,74,98,0 + DB 74,78,90,32,126,74,98,0,74,66,69,32,126,74,98,0 + DB 74,78,66,69,32,126,74,98,0,74,83,32,126,74,98,0 + DB 74,78,83,32,126,74,98,0,74,80,69,32,126,74,98,0 + DB 74,80,79,32,126,74,98,0,74,76,32,126,74,98,0,74 + DB 71,69,32,126,74,98,0,74,76,69,32,126,74,98,0,74 + DB 71,32,126,74,98,0,126,103,49,32,126,69,98,44,126,73 + DB 98,0,126,103,49,32,126,69,118,44,126,73,118,0,77,79 + DB 86,32,65,76,44,126,73,98,0,126,103,49,32,126,69,118 + DB 44,126,73,98,0,84,69,83,84,32,126,69,98,44,126,71 + DB 98,0,84,69,83,84,32,126,69,118,44,126,71,118,0,88 + DB 67,72,71,32,126,69,98,44,126,71,98,0,88,67,72,71 + DB 32,126,69,118,44,126,71,118,0,77,79,86,32,126,69,98 + DB 44,126,71,98,0,77,79,86,32,126,69,118,44,126,71,118 + DB 0,77,79,86,32,126,71,98,44,126,69,98,0,77,79,86 + DB 32,126,71,118,44,126,69,118,0,77,79,86,32,126,69,119 + DB 44,126,83,119,0,76,69,65,32,126,71,118,44,126,77,32 + DB 0,77,79,86,32,126,83,119,44,126,69,119,0,80,79,80 + DB 32,126,69,118,0,78,79,80,0,88,67,72,71,32,126,101 + DB 65,88,44,126,101,67,88,0,88,67,72,71,32,126,101,65 + DB 88,44,126,101,68,88,0,88,67,72,71,32,126,101,65,88 + DB 44,126,101,66,88,0,88,67,72,71,32,126,101,65,88,44 + DB 126,101,83,80,0,88,67,72,71,32,126,101,65,88,44,126 + DB 101,66,80,0,88,67,72,71,32,126,101,65,88,44,126,101 + DB 83,73,0,88,67,72,71,32,126,101,65,88,44,126,101,68 + DB 73,0,67,66,87,0,67,68,87,0,67,65,76,76,32,126 + DB 65,112,0,70,87,65,73,84,0,80,85,83,72,32,126,101 + DB 102,108,97,103,115,0,80,79,80,32,126,101,102,108,97,103 + DB 115,0,83,65,72,70,0,76,65,72,70,0,77,79,86,32 + DB 65,76,44,126,79,118,0,77,79,86,32,126,101,65,88,44 + DB 126,79,118,0,77,79,86,32,126,79,118,44,97,108,0,77 + DB 79,86,32,126,79,118,44,126,101,65,88,0,77,79,86,83 + DB 66,32,126,88,98,44,126,89,98,0,77,79,86,83,126,101 + DB 119,32,126,88,118,44,126,89,118,0,67,77,80,83,66,32 + DB 126,88,98,44,126,89,98,0,67,77,80,83,126,101,119,32 + DB 126,88,118,44,126,89,118,0,84,69,83,84,32,65,76,44 + DB 126,73,98,0,84,69,83,84,32,126,101,65,88,44,126,73 + DB 118,0,83,84,79,83,66,32,126,89,98,44,65,76,0,83 + DB 84,79,83,126,101,119,32,126,89,118,44,126,101,65,88,0 + DB 76,79,68,83,66,32,65,76,44,126,88,98,0,76,79,68 + DB 83,126,101,119,32,126,101,65,88,44,126,88,118,0,83,67 + DB 65,83,66,32,65,76,44,126,88,98,0,83,67,65,83,126 + DB 101,119,32,126,101,65,88,44,126,88,118,0,77,79,86,32 + DB 65,76,44,126,73,98,0,77,79,86,32,67,76,44,126,73 + DB 98,0,77,79,86,32,68,76,44,126,73,98,0,77,79,86 + DB 32,66,76,44,126,73,98,0,77,79,86,32,65,72,44,126 + DB 73,98,0,77,79,86,32,67,72,44,126,73,98,0,77,79 + DB 86,32,68,72,44,126,73,98,0,77,79,86,32,66,72,44 + DB 126,73,98,0,77,79,86,32,126,101,65,88,44,126,73,118 + DB 0,77,79,86,32,126,101,67,88,44,126,73,118,0,77,79 + DB 86,32,126,101,68,88,44,126,73,118,0,77,79,86,32,126 + DB 101,66,88,44,126,73,118,0,77,79,86,32,126,101,83,80 + DB 44,126,73,118,0,77,79,86,32,126,101,66,80,44,126,73 + DB 118,0,77,79,86,32,126,101,83,73,44,126,73,118,0,77 + DB 79,86,32,126,101,68,73,44,126,73,118,0,126,103,50,32 + DB 126,69,98,44,126,73,98,0,126,103,50,32,126,69,118,44 + DB 126,73,98,0,82,69,84,32,126,73,119,0,82,69,84,0 + DB 76,69,83,32,126,71,118,44,126,77,112,0,76,68,83,32 + DB 126,71,118,44,126,77,112,0,77,79,86,32,126,69,98,44 + DB 126,73,98,0,77,79,86,32,126,69,118,44,126,73,118,0 + DB 69,78,84,69,82,32,126,73,119,44,126,73,98,0,76,69 + DB 65,86,69,0,82,69,84,70,32,126,73,119,0,114,101,116 + DB 102,0,73,78,84,32,51,0,73,78,84,32,126,73,98,0 + DB 73,78,84,79,0,73,82,69,84,0,126,103,50,32,126,69 + DB 98,44,49,0,126,103,50,32,126,69,118,44,49,0,126,103 + DB 50,32,126,69,98,44,99,108,0,126,103,50,32,126,69,118 + DB 44,99,108,0,65,65,77,0,65,65,68,0,88,76,65,84 + DB 0,126,102,48,0,126,102,49,0,126,102,50,0,126,102,51 + DB 0,126,102,52,0,126,102,53,0,126,102,54,0,126,102,55 + DB 0,76,79,79,80,78,69,32,126,74,98,0,76,79,79,80 + DB 69,32,126,74,98,0,76,79,79,80,32,126,74,98,0,74 + DB 67,88,90,32,126,74,98,0,73,78,32,65,76,44,126,73 + DB 98,0,73,78,32,126,101,65,88,44,126,73,98,0,79,85 + DB 84,32,126,73,98,44,65,76,0,79,85,84,32,126,73,98 + DB 44,126,101,65,88,0,67,65,76,76,32,126,74,118,0,74 + DB 77,80,32,126,74,118,0,74,77,80,32,126,65,112,0,74 + DB 77,80,32,126,74,98,0,73,78,32,65,76,44,68,88,0 + DB 73,78,32,126,101,65,88,44,68,88,0,79,85,84,32,68 + DB 88,44,65,76,0,79,85,84,32,68,88,44,126,101,65,88 + DB 0,76,79,67,75,126,112,32,0,82,69,80,78,69,126,112 + DB 32,0,82,69,80,40,101,41,126,112,32,0,72,76,84,0 + DB 67,77,67,0,126,103,51,0,126,103,48,0,67,76,67,0 + DB 83,84,67,0,67,76,73,0,83,84,73,0,67,76,68,0 + DB 83,84,68,0,126,103,52,0,126,103,53,0,126,103,54,0 + DB 126,103,55,0,76,65,82,32,126,71,118,44,126,69,119,0 + DB 76,83,76,32,126,71,118,44,126,69,119,0,67,76,84,83 + DB 0,77,79,86,32,126,82,100,44,126,67,100,0,77,79,86 + DB 32,126,82,100,44,126,68,100,0,77,79,86,32,126,67,100 + DB 44,126,82,100,0,77,79,86,32,126,68,100,44,126,82,100 + DB 0,77,79,86,32,126,82,100,44,126,84,100,0,77,79,86 + DB 32,126,84,100,44,126,82,100,0,74,79,32,126,74,118,0 + DB 74,78,79,32,126,74,118,0,74,67,32,126,74,118,0,74 + DB 78,67,32,126,74,118,0,74,90,32,126,74,118,0,74,78 + DB 90,32,126,74,118,0,74,66,69,32,126,74,118,0,74,78 + DB 66,69,32,126,74,118,0,74,83,32,126,74,118,0,74,78 + DB 83,32,126,74,118,0,74,80,69,32,126,74,118,0,74,80 + DB 79,32,126,74,118,0,74,76,32,126,74,118,0,74,71,69 + DB 32,126,74,118,0,74,76,69,32,126,74,118,0,74,71,32 + DB 126,74,118,0,83,69,84,79,32,126,69,98,0,83,69,84 + DB 78,79,32,126,69,98,0,83,69,84,78,67,32,126,69,98 + DB 0,83,69,84,67,32,126,69,98,0,83,69,84,90,32,126 + DB 69,98,0,83,69,84,78,90,32,126,69,98,0,83,69,84 + DB 66,69,32,126,69,98,0,83,69,84,78,66,69,32,126,69 + DB 98,0,83,69,84,83,32,126,69,98,0,83,69,84,78,83 + DB 32,126,69,98,0,83,69,84,80,32,126,69,98,0,83,69 + DB 84,78,80,32,126,69,98,0,83,69,84,76,32,126,69,98 + DB 0,83,69,84,71,69,32,126,69,98,0,83,69,84,76,69 + DB 32,126,69,98,0,83,69,84,71,32,126,69,98,0,80,85 + DB 83,72,32,70,83,0,80,79,80,32,70,83,0,66,84,32 + DB 126,69,118,44,126,71,118,0,83,72,76,68,32,126,69,118 + DB 44,126,71,118,44,126,73,98,0,83,72,76,68,32,126,69 + DB 118,44,126,71,118,44,99,108,0,80,85,83,72,32,71,83 + DB 0,80,79,80,32,71,83,0,66,84,83,32,126,69,118,44 + DB 126,71,118,0,83,72,82,68,32,126,69,118,44,126,71,118 + DB 44,126,73,98,0,83,72,82,68,32,126,69,118,44,126,71 + DB 118,44,99,108,0,73,77,85,76,32,126,71,118,44,126,69 + DB 118,0,76,83,83,32,126,77,112,0,66,84,82,32,126,69 + DB 118,44,126,71,118,0,76,70,83,32,126,77,112,0,76,71 + DB 83,32,126,77,112,0,77,79,86,90,88,32,126,71,118,44 + DB 126,69,98,0,77,79,86,90,88,32,126,71,118,44,126,69 + DB 119,0,126,103,56,32,126,69,118,44,126,73,98,0,66,84 + DB 67,32,126,69,118,44,126,71,118,0,66,83,70,32,126,71 + DB 118,44,126,69,118,0,66,83,82,126,71,118,44,126,69,118 + DB 0,77,79,86,83,88,32,126,71,118,44,126,69,98,0,77 + DB 79,86,83,88,32,126,71,118,44,126,69,119,0,84,69,83 + DB 84,32,126,69,118,44,126,73,118,0,84,69,83,84,32,126 + DB 69,118,44,126,73,118,44,0,78,79,84,32,126,69,118,0 + DB 78,69,71,32,126,69,118,0,77,85,76,32,126,101,65,88 + DB 44,126,69,118,0,73,77,85,76,32,126,101,65,88,44,126 + DB 69,118,0,68,73,86,32,126,101,65,88,44,126,69,118,0 + DB 73,68,73,86,32,126,101,65,88,44,126,69,118,0,65,68 + DB 68,0,79,82,0,65,68,67,0,83,66,66,0,65,78,68 + DB 0,83,85,66,0,88,79,82,0,67,77,80,0,82,79,76 + DB 0,82,79,82,0,82,67,76,0,82,67,82,0,83,72,76 + DB 0,83,72,82,0,83,72,76,0,83,65,82,0,84,69,83 + DB 84,32,126,69,98,44,126,73,98,0,84,69,83,84,32,126 + DB 69,98,44,126,73,98,44,0,78,79,84,32,126,69,98,0 + DB 78,69,71,32,126,69,98,0,77,85,76,32,65,76,44,126 + DB 69,98,0,73,77,85,76,32,65,76,44,126,69,98,0,68 + DB 73,86,32,65,76,44,126,69,98,0,73,68,73,86,32,65 + DB 76,44,126,69,98,0,73,78,67,32,126,69,98,0,68,69 + DB 67,32,126,69,98,0,73,78,67,32,126,69,118,0,68,69 + DB 67,32,126,69,118,0,67,65,76,76,32,126,69,118,0,67 + DB 65,76,76,32,126,69,112,0,74,77,80,32,126,69,118,0 + DB 74,77,80,32,126,69,112,0,80,85,83,72,32,126,69,118 + DB 0,83,76,68,84,32,126,69,119,0,83,84,82,32,126,69 + DB 119,0,76,76,68,84,32,126,69,119,0,76,84,82,32,126 + DB 69,119,0,86,69,82,82,32,126,69,119,0,86,69,82,87 + DB 32,126,69,119,0,83,71,68,84,32,126,77,115,0,83,73 + DB 68,84,32,126,77,115,0,76,71,68,84,32,126,77,115,0 + DB 76,73,68,84,32,126,77,115,0,83,77,83,87,32,126,69 + DB 119,0,76,77,83,87,32,126,69,119,0,66,84,0,66,84 + DB 83,0,66,84,82,0,66,84,67,0,69,83,0,67,83,0 + DB 83,83,0,68,83,0,70,83,0,71,83,0,65,76,0,67 + DB 76,0,68,76,0,66,76,0,65,72,0,67,72,0,68,72 + DB 0,66,72,0,65,88,0,67,88,0,68,88,0,66,88,0 + DB 83,80,0,66,80,0,83,73,0,68,73,0,69,65,88,0 + DB 69,67,88,0,69,68,88,0,69,66,88,0,69,83,80,0 + DB 69,66,80,0,69,83,73,0,69,68,73,0,37,48,50,120 + DB 37,48,50,120,0,43,0,37,48,50,120,0,37,48,50,120 + DB 37,48,50,120,0,37,48,50,120,37,48,50,120,37,48,50 + DB 120,37,48,50,120,0,115,116,40,37,100,41,0,69,0,37 + DB 115,0,37,115,0,67,82,37,100,0,68,82,37,100,0,37 + DB 120,0,126,112,58,91,0,93,0,37,115,0,84,82,37,100 + DB 0,68,83,58,91,69,83,73,93,0,69,83,58,91,69,68 + DB 73,93,0,60,98,111,103,117,115,62,0,68,0,69,0,37 + DB 99,0,37,99,0,60,70,108,111,97,116,32,79,112,62,0 + DB 37,99,83,58,0,60,105,110,118,97,108,105,100,62,0,32 + DB 0,37,99,0,126,112,58,91,69,65,88,0,126,112,58,91 + DB 69,67,88,0,126,112,58,91,69,68,88,0,126,112,58,91 + DB 69,66,88,0,126,112,58,91,69,83,80,0,126,112,58,91 + DB 0,126,112,58,91,69,66,80,0,126,112,58,91,69,83,73 + DB 0,126,112,58,91,69,68,73,0,43,69,65,88,0,43,69 + DB 67,88,0,43,69,68,88,0,43,69,66,88,0,43,69,66 + DB 80,0,43,69,83,73,0,43,69,68,73,0,42,50,0,42 + DB 52,0,42,56,0,126,112,58,91,0,93,0,126,112,58,91 + DB 0,69,65,88,0,69,67,88,0,69,68,88,0,69,66,88 + DB 0,69,66,80,0,69,83,73,0,69,68,73,0,43,0,93 + DB 0,37,48,56,120,32,32,32,0,13,10,0 +_addrIn DD 0h +_prefix DW 0h +_modrmv DB 0h +_fmodrmv DB 0h +_sibv DB 0h +_fsibv DB 0h +_opsize DW 0h + + +.CODE +EXTRN _xprintf: NEAR +_getbyte: + PUSH EBP + MOV EBP,ESP + SUB ESP,1 + MOV EAX, _addrIn + MOV AL, CS:[EAX] + MOV [EBP-1], AL + INC _addrIn + MOV EAX,_addrIn + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-1] + MOV ESP,EBP + POP EBP + RETN +_modrm: + PUSH EBP + MOV EBP,ESP + MOVSX EAX,_fmodrmv + AND EAX,EAX + JNZ L_2 + CALL _getbyte + MOV _modrmv, AL + MOV EAX,1 + MOV _fmodrmv, AL +L_2: + XOR EAX,EAX + MOV AL,_modrmv + POP EBP + RETN +_sib: + PUSH EBP + MOV EBP,ESP + MOVSX EAX,_fsibv + AND EAX,EAX + JNZ L_4 + CALL _getbyte + MOV _sibv, AL + MOV EAX,1 + MOV _fsibv, AL +L_4: + XOR EAX,EAX + MOV AL,_sibv + POP EBP + RETN +_bytes: + PUSH EBP + MOV EBP,ESP + MOVSX EAX,BYTE PTR [EBP+8] + JMP L_7 +L_8: + MOV EAX,1 + JMP L_9 +L_10: + MOV EAX,2 + JMP L_9 +L_11: + MOV EAX,4 + JMP L_9 +L_12: + MOVSX EAX,_opsize + CMP EAX,32 + SETE AL + AND AL,AL + JZ L_13 + MOV EAX,4 + JMP L_9 +L_13: + MOV EAX,2 + JMP L_9 +L_14: + JMP L_6 +L_7: + CMP EAX,118 + JE L_12 + CMP EAX,100 + JE L_11 + CMP EAX,119 + JE L_10 + CMP EAX,98 + JE L_8 +L_6: + XOR EAX,EAX +L_9: + POP EBP + RETN 4 +_ohex: + PUSH EBP + MOV EBP,ESP + SUB ESP,12 + XOR EAX,EAX + MOV WORD PTR [EBP-2], AX + XOR EAX,EAX + MOV WORD PTR [EBP-4], AX + MOVSX EAX,BYTE PTR [EBP+20] + JMP L_16 +L_17: + JMP L_15 +L_18: + MOV EAX,1 + MOV WORD PTR [EBP-2], AX + JMP L_15 +L_19: + MOV EAX,2 + MOV WORD PTR [EBP-2], AX + JMP L_15 +L_20: + MOV EAX,4 + MOV WORD PTR [EBP-2], AX + JMP L_15 +L_21: + MOV EAX,6 + MOV WORD PTR [EBP-2], AX + JMP L_15 +L_22: +L_23: + MOVSX EAX,WORD PTR [EBP+8] + CMP EAX,32 + SETE AL + AND AL,AL + JZ L_24 + MOV EAX,4 + MOV WORD PTR [EBP-2], AX + JMP L_25 +L_24: + MOV EAX,2 + MOV WORD PTR [EBP-2], AX +L_25: + JMP L_15 +L_26: + MOVSX EAX,WORD PTR [EBP+8] + CMP EAX,32 + SETE AL + AND AL,AL + JZ L_27 + MOV EAX,6 + MOV WORD PTR [EBP-2], AX + JMP L_28 +L_27: + MOV EAX,4 + MOV WORD PTR [EBP-2], AX +L_28: + MOV EAX,1 + MOV WORD PTR [EBP-4], AX + JMP L_15 +L_16: + CMP EAX,112 + JE L_26 + CMP EAX,118 + JE L_23 + CMP EAX,99 + JE L_22 + CMP EAX,115 + JE L_21 + CMP EAX,100 + JE L_20 + CMP EAX,119 + JE L_19 + CMP EAX,98 + JE L_18 + CMP EAX,97 + JE L_17 +L_15: + XOR EAX,EAX + MOV WORD PTR [EBP-6], AX +L_29: + MOVSX EAX,WORD PTR [EBP-6] + MOVSX ECX,WORD PTR [EBP-2] + CMP EAX,ECX + SETL AL + AND AL,AL + JZ L_30 + JMP SHORT L_31 +L_32: + MOVSX EAX,WORD PTR [EBP-6] + INC WORD PTR [EBP-6] + JMP SHORT L_29 +L_31: + MOVSX EAX,WORD PTR [EBP-6] + LEA ESI,BYTE PTR [EBP-12] + ADD ESI,EAX + MOV EBX,ESI + PUSH EBX + CALL _getbyte + POP EDX + MOV BYTE PTR [EDX], AL + JMP L_32 +L_30: +L_33: + MOVSX EAX,WORD PTR [EBP-6] + MOVSX ECX,WORD PTR [EBP+16] + CMP EAX,ECX + SETL AL + AND AL,AL + JZ L_34 + JMP SHORT L_35 +L_36: + MOVSX EAX,WORD PTR [EBP-6] + INC WORD PTR [EBP-6] + JMP SHORT L_33 +L_35: + MOVSX EAX,WORD PTR [EBP-6] + LEA ESI,BYTE PTR [EBP-12] + ADD ESI,EAX + MOVSX EAX,WORD PTR [EBP-6] + MOV ECX,1 + SUB EAX,ECX + MOV EBX,ESI + LEA ESI,BYTE PTR [EBP-12] + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + MOV ECX,128 + AND EAX,ECX + JZ SHORT L_38 + MOV EAX,255 + JMP SHORT L_37 +L_38: + XOR EAX,EAX +L_37: + MOV BYTE PTR [EBX], AL + JMP L_36 +L_34: + MOVSX EAX,WORD PTR [EBP-4] + AND EAX,EAX + JZ L_39 + PUSH OFFSET L_lit+3676 + MOVSX EAX,WORD PTR [EBP-2] + MOV ECX,1 + SUB EAX,ECX + LEA ESI,BYTE PTR [EBP-12] + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + PUSH EAX + MOVSX EAX,WORD PTR [EBP-2] + MOV ECX,2 + SUB EAX,ECX + LEA ESI,BYTE PTR [EBP-12] + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + PUSH EAX + MOV EDI, 8 + CALL _xprintf + ADD ESP,12 + MOVSX EAX,WORD PTR [EBP-2] + MOV ECX,2 + SUB EAX,ECX + MOV WORD PTR [EBP-2], AX +L_39: + MOVSX EAX,WORD PTR [EBP+16] + MOVSX ECX,WORD PTR [EBP-2] + CMP EAX,ECX + SETG AL + AND AL,AL + JZ L_40 + MOVSX EAX,WORD PTR [EBP+12] + AND EAX,EAX + JNZ L_41 + PUSH OFFSET L_lit+3685 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 +L_41: + MOV EAX,4 + MOV WORD PTR [EBP-2], AX +L_40: + MOVSX EAX,WORD PTR [EBP-2] + JMP L_43 +L_44: + PUSH OFFSET L_lit+3687 + LEA ESI,BYTE PTR [EBP-12] + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + PUSH EAX + MOV EDI, 4 + CALL _xprintf + ADD ESP,8 + JMP L_42 +L_45: + PUSH OFFSET L_lit+3692 + MOV EAX,1 + LEA ESI,BYTE PTR [EBP-12] + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + PUSH EAX + LEA ESI,BYTE PTR [EBP-12] + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + PUSH EAX + MOV EDI, 8 + CALL _xprintf + ADD ESP,12 + JMP L_42 +L_46: + PUSH OFFSET L_lit+3701 + MOV EAX,3 + LEA ESI,BYTE PTR [EBP-12] + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + PUSH EAX + MOV EAX,2 + LEA ESI,BYTE PTR [EBP-12] + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + PUSH EAX + MOV EAX,1 + LEA ESI,BYTE PTR [EBP-12] + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + PUSH EAX + LEA ESI,BYTE PTR [EBP-12] + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + PUSH EAX + MOV EDI, 16 + CALL _xprintf + ADD ESP,20 + JMP L_42 +L_43: + CMP EAX,4 + JE L_46 + CMP EAX,2 + JE L_45 + CMP EAX,1 + JE L_44 +L_42: + MOV ESP,EBP + POP EBP + RETN 16 +_reg_name: + PUSH EBP + MOV EBP,ESP + MOVSX EAX,BYTE PTR [EBP+8] + CMP EAX,70 + SETE AL + AND AL,AL + JZ L_47 + PUSH OFFSET L_lit+3718 + XOR EAX,EAX + MOV AL,BYTE PTR [EBP+12] + PUSH EAX + MOV EDI, 4 + CALL _xprintf + ADD ESP,8 + JMP L_48 +L_47: + MOVSX EAX,BYTE PTR [EBP+8] + CMP EAX,118 + SETE AL + AND AL,AL + JZ L_49 + MOVSX EAX,_opsize + CMP EAX,32 + SETE AL + AND AL,AL +L_49: + JNZ L_50 + MOVSX EAX,BYTE PTR [EBP+8] + CMP EAX,100 + SETE AL + AND AL,AL +L_50: + JZ L_51 + PUSH OFFSET L_lit+3725 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 +L_51: + MOVSX EAX,BYTE PTR [EBP+8] + CMP EAX,98 + SETE AL + AND AL,AL + JZ L_52 + PUSH OFFSET L_lit+3727 + XOR EAX,EAX + MOV AL,BYTE PTR [EBP+12] + SHL EAX,2 + MOV ESI,OFFSET _breg_names + ADD ESI,EAX + PUSH DWORD PTR [ESI] + MOV EDI, 4 + CALL _xprintf + ADD ESP,8 + JMP L_53 +L_52: + PUSH OFFSET L_lit+3730 + XOR EAX,EAX + MOV AL,BYTE PTR [EBP+12] + SHL EAX,2 + MOV ESI,OFFSET _wreg_names + ADD ESI,EAX + PUSH DWORD PTR [ESI] + MOV EDI, 4 + CALL _xprintf + ADD ESP,8 +L_53: +L_48: + POP EBP + RETN 8 +_escape: + PUSH EBP + MOV EBP,ESP + SUB ESP,12 + MOVSX EAX,BYTE PTR [EBP+12] + JMP L_55 +L_56: + MOVSX EAX,BYTE PTR [EBP+8] + PUSH EAX + PUSH 4 + XOR EAX,EAX + PUSH EAX + PUSH 32 + CALL _ohex + JMP L_54 +L_57: + PUSH OFFSET L_lit+3733 + CALL _modrm + MOV ECX,3 + SHR AL,CL + MOV ECX,7 + AND EAX,ECX + PUSH EAX + MOV EDI, 4 + CALL _xprintf + ADD ESP,8 + JMP L_54 +L_58: + PUSH OFFSET L_lit+3738 + CALL _modrm + PUSH EAX + MOV EDI, 4 + CALL _xprintf + ADD ESP,8 + JMP L_54 +L_59: + MOVSX EAX,BYTE PTR [EBP+8] + PUSH EAX + CALL _do_modrm + JMP L_54 +L_60: + MOVSX EAX,BYTE PTR [EBP+8] + CMP EAX,70 + SETE AL + AND AL,AL + JZ L_61 + CALL _modrm + MOV ECX,7 + AND EAX,ECX + PUSH EAX + MOVSX EAX,BYTE PTR [EBP+8] + PUSH EAX + CALL _reg_name + JMP L_62 +L_61: + CALL _modrm + MOV ECX,3 + SHR AL,CL + MOV ECX,7 + AND EAX,ECX + PUSH EAX + MOVSX EAX,BYTE PTR [EBP+8] + PUSH EAX + CALL _reg_name +L_62: + JMP L_54 +L_63: + MOVSX EAX,BYTE PTR [EBP+8] + PUSH EAX + XOR EAX,EAX + PUSH EAX + XOR EAX,EAX + PUSH EAX + MOVSX EAX,_opsize + PUSH EAX + CALL _ohex + JMP L_54 +L_64: + MOVSX EAX,BYTE PTR [EBP+8] + PUSH EAX + CALL _bytes + JMP L_66 +L_67: + CALL _getbyte + MOV BYTE PTR [EBP-10], AL + MOVSX EAX,BYTE PTR [EBP-10] + MOV DWORD PTR [EBP-8], EAX + JMP L_65 +L_68: + CALL _getbyte + MOV BYTE PTR [EBP-10], AL + CALL _getbyte + MOV ECX,8 + SHL EAX,CL + AND EAX,0FFh + MOV WORD PTR [EBP-12], AX + MOVSX EAX,WORD PTR [EBP-12] + MOVSX ECX,BYTE PTR [EBP-10] + ADD EAX,ECX + MOV DWORD PTR [EBP-8], EAX + JMP L_65 +L_69: + CALL _getbyte + MOV DWORD PTR [EBP-8], EAX + CALL _getbyte + MOV ECX,8 + SHL EAX,CL + AND EAX,0FFh + OR EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [EBP-8], EAX + CALL _getbyte + MOV ECX,16 + SHL EAX,CL + AND EAX,0FFh + OR EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [EBP-8], EAX + CALL _getbyte + MOV ECX,24 + SHL EAX,CL + AND EAX,0FFh + OR EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [EBP-8], EAX + JMP L_65 +L_66: + CMP EAX,4 + JE L_69 + CMP EAX,2 + JE L_68 + CMP EAX,1 + JE L_67 +L_65: + MOV EAX,_addrIn + ADD EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [EBP-4], EAX + PUSH OFFSET L_lit+3743 + PUSH DWORD PTR [EBP-4] + MOV EDI, 4 + CALL _xprintf + ADD ESP,8 + JMP L_54 +L_70: + MOVSX EAX,BYTE PTR [EBP+8] + PUSH EAX + CALL _do_modrm + JMP L_54 +L_71: + PUSH OFFSET L_lit+3746 + CALL _decode + MOVSX EAX,BYTE PTR [EBP+8] + PUSH EAX + PUSH 4 + XOR EAX,EAX + PUSH EAX + PUSH 32 + CALL _ohex + PUSH OFFSET L_lit+3751 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_54 +L_72: + MOVSX EAX,BYTE PTR [EBP+8] + PUSH EAX + CALL _do_modrm + JMP L_54 +L_73: + PUSH OFFSET L_lit+3753 + CALL _modrm + MOV ECX,3 + SHR AL,CL + MOV ECX,7 + AND EAX,ECX + SHL EAX,2 + MOV ESI,OFFSET _seg_names + ADD ESI,EAX + PUSH DWORD PTR [ESI] + MOV EDI, 4 + CALL _xprintf + ADD ESP,8 + JMP L_54 +L_74: + PUSH OFFSET L_lit+3756 + CALL _modrm + PUSH EAX + MOV EDI, 4 + CALL _xprintf + ADD ESP,8 + JMP L_54 +L_75: + PUSH OFFSET L_lit+3761 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_54 +L_76: + PUSH OFFSET L_lit+3770 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_54 +L_77: + CALL _getbyte + MOV BYTE PTR [EBP-9], AL + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-9] + CMP EAX,16 + SETB AL + AND AL,AL + JZ L_78 + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-9] + SHL EAX,2 + MOV ESI,OFFSET _SecOp00 + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL _decode + JMP L_79 +L_78: + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-9] + CMP EAX,31 + SETA AL + AND AL,AL + JZ L_80 + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-9] + CMP EAX,48 + SETB AL + AND AL,AL +L_80: + JZ L_81 + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-9] + MOV ECX,32 + SUB EAX,ECX + SHL EAX,2 + MOV ESI,OFFSET _SecOp20 + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL _decode + JMP L_82 +L_81: + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-9] + CMP EAX,127 + SETA AL + AND AL,AL + JZ L_83 + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-9] + CMP EAX,192 + SETB AL + AND AL,AL +L_83: + JZ L_84 + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-9] + MOV ECX,128 + SUB EAX,ECX + SHL EAX,2 + MOV ESI,OFFSET _SecOp80 + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL _decode + JMP L_85 +L_84: + PUSH OFFSET L_lit+3779 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 +L_85: +L_82: +L_79: + JMP L_54 +L_86: + MOVSX EAX,_opsize + CMP EAX,32 + SETE AL + AND AL,AL + JZ L_87 + MOVSX EAX,BYTE PTR [EBP+8] + CMP EAX,119 + SETE AL + AND AL,AL + JZ L_88 + PUSH OFFSET L_lit+3787 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_89 +L_88: + PUSH OFFSET L_lit+3789 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + PUSH OFFSET L_lit+3791 + MOVSX EAX,BYTE PTR [EBP+8] + PUSH EAX + MOV EDI, 4 + CALL _xprintf + ADD ESP,8 +L_89: + JMP L_90 +L_87: + PUSH OFFSET L_lit+3794 + MOVSX EAX,BYTE PTR [EBP+8] + PUSH EAX + MOV EDI, 4 + CALL _xprintf + ADD ESP,8 +L_90: + JMP L_54 +L_91: + PUSH OFFSET L_lit+3797 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_54 +L_92: + MOVSX EAX,BYTE PTR [EBP+8] + MOV ECX,48 + SUB EAX,ECX + SHL EAX,5 + MOV EBX,EAX + PUSH EBX + CALL _modrm + MOV ECX,3 + SHR AL,CL + MOV ECX,7 + AND EAX,ECX + SHL EAX,2 + POP EDX + MOV ECX,EDX + ADD EAX,ECX + MOV ESI,OFFSET _groups + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL _decode + JMP L_54 +L_93: + MOVSX EAX,BYTE PTR [EBP+8] + JMP L_95 +L_96: +L_97: +L_98: +L_99: +L_100: +L_101: + MOVSX EAX,BYTE PTR [EBP+8] + MOV _prefix, AX + CALL _getbyte + SHL EAX,2 + MOV ESI,OFFSET _opmap1 + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL _decode + JMP L_94 +L_102: + MOVSX EAX,_prefix + AND EAX,EAX + JZ L_103 + PUSH OFFSET L_lit+3808 + MOVSX EAX,_prefix + PUSH EAX + MOV EDI, 4 + CALL _xprintf + ADD ESP,8 +L_103: + JMP L_94 +L_104: + CALL _getbyte + SHL EAX,2 + MOV ESI,OFFSET _opmap1 + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL _decode + JMP L_94 +L_95: + CMP EAX,32 + JE L_104 + CMP EAX,58 + JE L_102 + CMP EAX,83 + JE L_101 + CMP EAX,71 + JE L_100 + CMP EAX,70 + JE L_99 + CMP EAX,69 + JE L_98 + CMP EAX,68 + JE L_97 + CMP EAX,67 + JE L_96 +L_94: + JMP L_54 +L_105: + MOVSX EAX,BYTE PTR [EBP+8] + CMP EAX,111 + SETE AL + AND AL,AL + JZ L_106 + MOV EAX,48 + MOVSX ECX,_opsize + SUB EAX,ECX + MOV _opsize, AX + CALL _getbyte + SHL EAX,2 + MOV ESI,OFFSET _opmap1 + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL _decode +L_106: + JMP L_54 +L_55: + CMP EAX,115 + JE L_105 + CMP EAX,112 + JE L_93 + CMP EAX,103 + JE L_92 + CMP EAX,102 + JE L_91 + CMP EAX,101 + JE L_86 + CMP EAX,50 + JE L_77 + CMP EAX,89 + JE L_76 + CMP EAX,88 + JE L_75 + CMP EAX,84 + JE L_74 + CMP EAX,83 + JE L_73 + CMP EAX,82 + JE L_72 + CMP EAX,79 + JE L_71 + CMP EAX,77 + JE L_70 + CMP EAX,74 + JE L_64 + CMP EAX,73 + JE L_63 + CMP EAX,71 + JE L_60 + CMP EAX,69 + JE L_59 + CMP EAX,68 + JE L_58 + CMP EAX,67 + JE L_57 + CMP EAX,65 + JE L_56 +L_54: + MOV ESP,EBP + POP EBP + RETN 8 +_decode: + PUSH EBP + MOV EBP,ESP + SUB ESP,1 + MOV EAX,DWORD PTR [EBP+8] + CMP EAX,0 + SETE AL + AND AL,AL + JZ L_107 + PUSH OFFSET L_lit+3813 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 +L_107: +L_108: + MOV ESI,DWORD PTR [EBP+8] + INC DWORD PTR [EBP+8] + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBP-1], AL + XOR ECX,ECX + CMP EAX,ECX + SETNE AL + AND AL,AL + JZ L_109 + MOVSX EAX,BYTE PTR [EBP-1] + CMP EAX,126 + SETE AL + AND AL,AL + JZ L_110 + MOV ESI,DWORD PTR [EBP+8] + INC DWORD PTR [EBP+8] + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBP-1], AL + MOVSX EAX,BYTE PTR [EBP-1] + PUSH EAX + MOV ESI,DWORD PTR [EBP+8] + INC DWORD PTR [EBP+8] + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _escape + JMP L_111 +L_110: + MOVSX EAX,BYTE PTR [EBP-1] + CMP EAX,32 + SETE AL + AND AL,AL + JZ L_112 + PUSH OFFSET L_lit+3823 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_113 +L_112: + PUSH OFFSET L_lit+3825 + MOVSX EAX,BYTE PTR [EBP-1] + PUSH EAX + MOV EDI, 4 + CALL _xprintf + ADD ESP,8 +L_113: +L_111: + JMP L_108 +L_109: + MOV ESP,EBP + POP EBP + RETN 4 +_do_sib: + PUSH EBP + MOV EBP,ESP + SUB ESP,6 + CALL _sib + MOV ECX,6 + SHR AL,CL + MOV ECX,7 + AND EAX,ECX + MOV WORD PTR [EBP-2], AX + CALL _sib + MOV ECX,3 + SHR AL,CL + MOV ECX,7 + AND EAX,ECX + MOV WORD PTR [EBP-4], AX + CALL _sib + MOV ECX,7 + AND EAX,ECX + MOV WORD PTR [EBP-6], AX + MOVSX EAX,WORD PTR [EBP-6] + JMP L_115 +L_116: + PUSH OFFSET L_lit+3828 + CALL _decode + JMP L_114 +L_117: + PUSH OFFSET L_lit+3836 + CALL _decode + JMP L_114 +L_118: + PUSH OFFSET L_lit+3844 + CALL _decode + JMP L_114 +L_119: + PUSH OFFSET L_lit+3852 + CALL _decode + JMP L_114 +L_120: + PUSH OFFSET L_lit+3860 + CALL _decode + JMP L_114 +L_121: + MOVSX EAX,WORD PTR [EBP+8] + XOR ECX,ECX + CMP EAX,ECX + SETE AL + AND AL,AL + JZ L_122 + PUSH OFFSET L_lit+3868 + CALL _decode + PUSH 100 + PUSH 4 + XOR EAX,EAX + PUSH EAX + PUSH 32 + CALL _ohex + JMP L_123 +L_122: + PUSH OFFSET L_lit+3873 + CALL _decode +L_123: + JMP L_114 +L_124: + PUSH OFFSET L_lit+3881 + CALL _decode + JMP L_114 +L_125: + PUSH OFFSET L_lit+3889 + CALL _decode + JMP L_114 +L_115: + CMP EAX,7 + JE L_125 + CMP EAX,6 + JE L_124 + CMP EAX,5 + JE L_121 + CMP EAX,4 + JE L_120 + CMP EAX,3 + JE L_119 + CMP EAX,2 + JE L_118 + CMP EAX,1 + JE L_117 + CMP EAX,0 + JE L_116 +L_114: + MOVSX EAX,WORD PTR [EBP-4] + JMP L_127 +L_128: + PUSH OFFSET L_lit+3897 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_126 +L_129: + PUSH OFFSET L_lit+3902 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_126 +L_130: + PUSH OFFSET L_lit+3907 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_126 +L_131: + PUSH OFFSET L_lit+3912 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_126 +L_132: + JMP L_126 +L_133: + PUSH OFFSET L_lit+3917 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_126 +L_134: + PUSH OFFSET L_lit+3922 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_126 +L_135: + PUSH OFFSET L_lit+3927 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_126 +L_127: + CMP EAX,7 + JE L_135 + CMP EAX,6 + JE L_134 + CMP EAX,5 + JE L_133 + CMP EAX,4 + JE L_132 + CMP EAX,3 + JE L_131 + CMP EAX,2 + JE L_130 + CMP EAX,1 + JE L_129 + CMP EAX,0 + JE L_128 +L_126: + MOVSX EAX,WORD PTR [EBP-4] + CMP EAX,4 + SETNE AL + AND AL,AL + JZ L_136 + MOVSX EAX,WORD PTR [EBP-2] + JMP L_138 +L_139: + JMP L_137 +L_140: + PUSH OFFSET L_lit+3932 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_137 +L_141: + PUSH OFFSET L_lit+3935 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_137 +L_142: + PUSH OFFSET L_lit+3938 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_137 +L_138: + CMP EAX,3 + JE L_142 + CMP EAX,2 + JE L_141 + CMP EAX,1 + JE L_140 + CMP EAX,0 + JE L_139 +L_137: +L_136: + MOV ESP,EBP + POP EBP + RETN 4 +_do_modrm: + PUSH EBP + MOV EBP,ESP + SUB ESP,4 + CALL _modrm + MOV ECX,6 + SHR AL,CL + MOV ECX,7 + AND EAX,ECX + MOV WORD PTR [EBP-2], AX + CALL _modrm + MOV ECX,7 + AND EAX,ECX + MOV WORD PTR [EBP-4], AX + MOVSX EAX,WORD PTR [EBP-2] + CMP EAX,3 + SETE AL + AND AL,AL + JZ L_143 + MOVSX EAX,WORD PTR [EBP-4] + PUSH EAX + MOVSX EAX,BYTE PTR [EBP+8] + PUSH EAX + CALL _reg_name + JMP L_144 +L_143: + MOVSX EAX,WORD PTR [EBP-2] + XOR ECX,ECX + CMP EAX,ECX + SETE AL + AND AL,AL + JZ L_145 + MOVSX EAX,WORD PTR [EBP-4] + CMP EAX,5 + SETE AL + AND AL,AL +L_145: + JZ L_146 + PUSH OFFSET L_lit+3941 + CALL _decode + PUSH 100 + PUSH 4 + XOR EAX,EAX + PUSH EAX + PUSH 32 + CALL _ohex + PUSH OFFSET L_lit+3946 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_144 +L_146: + MOVSX EAX,WORD PTR [EBP-4] + CMP EAX,4 + SETNE AL + AND AL,AL + JZ L_147 + PUSH OFFSET L_lit+3948 + CALL _decode +L_147: + MOVSX EAX,WORD PTR [EBP-4] + JMP L_149 +L_150: + PUSH OFFSET L_lit+3953 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_148 +L_151: + PUSH OFFSET L_lit+3957 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_148 +L_152: + PUSH OFFSET L_lit+3961 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_148 +L_153: + PUSH OFFSET L_lit+3965 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_148 +L_154: + MOVSX EAX,WORD PTR [EBP-2] + PUSH EAX + CALL _do_sib + JMP L_148 +L_155: + PUSH OFFSET L_lit+3969 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_148 +L_156: + PUSH OFFSET L_lit+3973 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_148 +L_157: + PUSH OFFSET L_lit+3977 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + JMP L_148 +L_149: + CMP EAX,7 + JE L_157 + CMP EAX,6 + JE L_156 + CMP EAX,5 + JE L_155 + CMP EAX,4 + JE L_154 + CMP EAX,3 + JE L_153 + CMP EAX,2 + JE L_152 + CMP EAX,1 + JE L_151 + CMP EAX,0 + JE L_150 +L_148: + MOVSX EAX,WORD PTR [EBP-2] + JMP L_159 +L_160: + PUSH 98 + PUSH 4 + XOR EAX,EAX + PUSH EAX + PUSH 32 + CALL _ohex + JMP L_158 +L_161: + PUSH OFFSET L_lit+3981 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + PUSH 118 + PUSH 4 + XOR EAX,EAX + PUSH EAX + PUSH 32 + CALL _ohex + JMP L_158 +L_159: + CMP EAX,2 + JE L_161 + CMP EAX,1 + JE L_160 +L_158: + PUSH OFFSET L_lit+3983 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 +L_144: + MOV ESP,EBP + POP EBP + RETN 4 +PUBLIC _disassemble: + PUSH EBP + MOV EBP,ESP + XOR EAX,EAX + MOV _prefix, AX + XOR EAX,EAX + MOV _fmodrmv, AL + XOR EAX,EAX + MOV _fsibv, AL + MOV EAX,32 + MOV _opsize, AX + MOV EAX,DWORD PTR [EBP+8] + MOV _addrIn, EAX + PUSH OFFSET L_lit+3985 + PUSH _addrIn + MOV EDI, 4 + CALL _xprintf + ADD ESP,8 + CALL _getbyte + SHL EAX,2 + MOV ESI,OFFSET _opmap1 + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL _decode + PUSH OFFSET L_lit+3993 + MOV EDI, 0 + CALL _xprintf + ADD ESP,4 + MOV EAX,_addrIn + POP EBP + RETN 4 -- 2.40.0