/*======== Code section prepared by EXEC-2-C code restoration utility =======*/
/****************************************************************************/
far main()
/****************************************************************************/
{
proc_3();
*(Word * )0x45C = es;
DirFlg = DOWN;
ah = 0x30; /*PCH : RM_Table_init*/
geninterrupt(0x21); /* DOS func ( ah ) = 30h */
/* Get DOS version number */
/* Output: AL/AH-major/minor ver number */
/****************************************************************************/
far pseudo_proc_0()
/****************************************************************************/
{
/****************************************************************************/
near proc_2()
/****************************************************************************/
{
dl = *bx;
if(dl != 0)
goto label_18;
}
/****************************************************************************/
near proc_3()
/****************************************************************************/
{
ah = 0x30; /*PCH : RM_Table_init*/
geninterrupt(0x21); /* DOS func ( ah ) = 30h */
/* Get DOS version number */
/* Output: AL/AH-major/minor ver number */
/****************************************************************************/
near proc_4()
/****************************************************************************/
{
al=inportb(dx);
dx = *( Word *)&bp[4];
geninterrupt(0x21); /* DOS func ( ah ) = 4Ch */
/* Terminate process */
/* Input: AL-ret code */
}
/****************************************************************************/
far pseudo_proc_1()
/****************************************************************************/
{
label_21:
push(bp);
bp = sp;
cx = *( Word *)&bp[8];
dx = *( Word *)&bp[6];
label_22:
bx = *( Word *)&bp[4];
geninterrupt(0x21); /* DOS func ( ah ) = 4Ch */
/* Terminate process */
/* Input: AL-ret code */
}
/****************************************************************************/
near proc_5()
/****************************************************************************/
{
ah = 0x3E; /*PCH : RM_Table_init*/
goto label_22;
label_23:
}
/****************************************************************************/
far pseudo_proc_2()
/****************************************************************************/
{
/****************************************************************************/
near proc_6(char arg0, char far *arg1)
/****************************************************************************/
{
push(ds);
al = arg0;
ds = FP_SEG(arg1),
dx = FP_OFF(arg1);
ah = 0x25; /*PCH : RM_Table_init*/
geninterrupt(0x21); /* DOS func ( ah ) = 25h */
/* Set interrupt vector */
/* Input: AL-intrpt number */
/* DS:DX-intrpt handler */
ds = pop();
}
/****************************************************************************/
far pseudo_proc_3()
/****************************************************************************/
{
label_32:
DirFlg = DOWN;
push(di);
di = *( Word *)&bp[4];
al = bp[6];
cx = *( Word *)&bp[8];
while( cx-- ) {
*MK_FP( es , DirFlg ? di++ : di--) = al;
};
}
/****************************************************************************/
near proc_7()
/****************************************************************************/
{
;
}
/****************************************************************************/
near proc_8(int arg0)
/****************************************************************************/
{
/****************************************************************************/
far pseudo_proc_4()
/****************************************************************************/
{
label_33:
do {
ax = *( Word *)&bp[0xFFFA];
ax = ax + 8;
di = ax;
bx = *( Word *)&bp[0xFFFA];
ax = *( Word *)&bx[8];
*( Word *)&bp[0xFFFA] = ax;
ax = *( Word *)&bp[0xFFF8];
--*( Word *)&bp[0xFFF8];
} while(ax);
if(*( Word *)di == 0)
goto label_0;
bx = *( Word *)di;
/****************************************************************************/
near proc_11()
/****************************************************************************/
{
(*(FNC)label_0)();
*(Word * )0x1242 = ax;
es = FP_SEG(*(Dword *)0x8B66),
ax = FP_OFF(*(Dword *)0x8B66);
++si;
al = al + 0x66;
if((unsigned)ax >= (unsigned)*(Word * )0x1236)
goto label_0;
}
/****************************************************************************/
near proc_12()
/****************************************************************************/
{
/****************************************************************************/
far pseudo_proc_6()
/****************************************************************************/
{
*(Word * )0x2644 = &label_178;
push(es);
ds = pop();
}
/****************************************************************************/
near proc_13()
/****************************************************************************/
{
;
}
/****************************************************************************/
near proc_14()
/****************************************************************************/
{
/****************************************************************************/
near proc_15()
/****************************************************************************/
{
label_75:
do {
al = ((Byte *)&var1_333)[si];
ah = 0; /*PCH : RM_Table_init*/
label_76:
do {
*( Word *)&bp[0xFFFC] = *( Word *)&bp[0xFFFC] + 4;
es = FP_SEG(*( Dword *)&bp[0xFFFC]),
bx = FP_OFF(*( Dword *)&bp[0xFFFC]);
ax = *( Word *)MK_FP(es , bx + 2);
dx = *( Word *)MK_FP(es , bx);
if(ax != var1_250a)
goto label_77;
if(dx != var1_2508)
goto label_77;
++cx;
} while(cx < 8);
al = ((Byte *)&var1_333)[si];
ah = 0; /*PCH : RM_Table_init*/
goto label_78;
/****************************************************************************/
far pseudo_proc_7()
/****************************************************************************/
{
label_89:
do {
es = FP_SEG(*( Dword *)&bp[0xFFFC]),
bx = FP_OFF(*( Dword *)&bp[0xFFFC]);
*( Word *)MK_FP(es , bx + 2) = var1_250a;
*( Word *)MK_FP(es , bx) = var1_2508;
*( Word *)&bp[0xFFFC] = *( Word *)&bp[0xFFFC] + 4;
++cx;
} while(cx < 8);
enable();
}
/****************************************************************************/
far pseudo_proc_8()
/****************************************************************************/
{
label_95:
if((unsigned)dl >= (unsigned)var1_330) {
dl==var1_331;
if(CarryFlg || ZerroFlg) {
al = dl;
al = al - var1_330;
al = al + 8;
var1_250c = al;
}
}
else {
if(dl == 0x1C)
var1_250c = 0x10;
else {
if(dl == 0x23) {
var1_250c = 0x11;
}
var1_250c = 0xFF;
}
}
al = dl;
bp = pop();
ah = 0; /*PCH : RM_Table_init*/
return;
do {
cx = 0;
/****************************************************************************/
near proc_18(int arg0)
/****************************************************************************/
{
cx = arg0;
ax = cx;
label_108:
bx = var1_122c; /*PCH : RM_Table_init*/
if(*( Word *)&bx[0x48] == dx)
*( Word *)&bx[0x48] = 0;
bx = var1_122c; /*PCH : RM_Table_init*/
if(*( Word *)&bx[0x58] == dx)
*( Word *)&bx[0x58] = 0;
bx = var1_122c; /*PCH : RM_Table_init*/
if(*( Word *)&bx[0x5C] == dx)
*( Word *)&bx[0x5C] = 0;
}
/****************************************************************************/
far pseudo_proc_9()
/****************************************************************************/
{
push(es);
do {
ax = *( Word *)bx;
if(ax == *( Word *)&bp[0xFFFE])
goto label_114;
} while(bx = bx + 2, --cx != 0);
goto label_171;
label_114:
goto_near *( Word *)&bx[0x6C];
al ^= 0xC1;
proc_49();
++si;
DirFlg = DOWN;
si = 0x10; /*PCH : RM_Table_init*/
goto label_118;
*( Word *)&bx[0x34] = 0;
*( Word *)&bx[0x2C] = 0x1000;
bx = var1_122c; /*PCH : RM_Table_init*/
goto label_172;
label_163:
sp = sp + 8;
goto label_172;
}
/****************************************************************************/
near proc_19()
/****************************************************************************/
{
bp[0x8B01] ^= 0x1E;
al = al - 0x12;
ax = *( Word *)&bx[0x34];
/****************************************************************************/
far pseudo_proc_10()
/****************************************************************************/
{
/****************************************************************************/
near proc_21()
/****************************************************************************/
{
push(bx);
push(ds);
ax = 0;
ds = ax;
--ax;
es = ax;
bx = 0;
ax = *( Word *)bx;
dx = ax;
ax = ~ax;
xchg(ax, *( Word *)MK_FP(es , bx + 0x10));
xchg(cx, *( Word *)bx);
dx==cx;
*( Word *)MK_FP(es , bx + 0x10) = ax;
*( Word *)bx = dx;
ds = pop();
bx = pop();
}
/****************************************************************************/
near proc_22()
/****************************************************************************/
{
/****************************************************************************/
near proc_23()
/****************************************************************************/
{
/****************************************************************************/
near proc_24()
/****************************************************************************/
{
var1_292a = 0x48;
bx[di] = bx[di] - ch;
*(Word *)var1_2926 = ax;
label_190:
if(si < 0x400)
goto label_0;
do
label_193:
while(si);
ax = 0;
}
/****************************************************************************/
near proc_25()
/****************************************************************************/
{
++di;
if( ! (*( Word *)&bp[si] = *( Word *)&bp[si] + ax))
goto label_0;
do
ax = *( Word *)&bp[0xFFFA];
label_196:
while(*( Word *)&bp[0xFFFA] < 0x400);
}
/****************************************************************************/
near proc_26()
/****************************************************************************/
{
es = FP_SEG(*( Dword *)&bp[0xFFFC]),
bx = FP_OFF(*( Dword *)&bp[0xFFFC]);
ax = *( Word *)MK_FP(es , bx);
ax &= 0x60;
*( Word *)&bp[0xFFEE] = ax;
si = pop();
*MK_FP( es , DirFlg ? di++ : di-- ) == al;
ax = ax + *( Word *)&bp[di];
asm esc /* fetch data for coprocessor */;
}
/****************************************************************************/
near proc_27()
/****************************************************************************/
{
label_209:
es = FP_SEG(*( Dword *)&bp[0xFFFA]),
bx = FP_OFF(*( Dword *)&bp[0xFFFA]);
*( Word *)MK_FP(es , bx) &= - 0x401;
}
/****************************************************************************/
near proc_28()
/****************************************************************************/
{
/****************************************************************************/
near proc_29()
/****************************************************************************/
{
label_213:
*( Word *)&bp[0xFFFC] |= 0x10;
ax = *( Word *)&bp[0xFFFE];
ax &= 0x60;
*( Word *)&bp[0xFFFC] |= ax;
goto label_215;
label_214:
es = FP_SEG(*( Dword *)&bp[0xFFF8]),
bx = FP_OFF(*( Dword *)&bp[0xFFF8]);
*( Word *)MK_FP(es , bx) &= - 3;
if(bp[0xFFFC] & 0x10) {
es = FP_SEG(*( Dword *)&bp[0xFFF8]),
bx = FP_OFF(*( Dword *)&bp[0xFFF8]);
*( Word *)MK_FP(es , bx) &= - 0x61;
ax = *( Word *)&bp[0xFFFC];
ax &= 0x60;
bx = *( Word *)&bp[0xFFF8];
*( Word *)MK_FP(es , bx) |= ax;
}
label_215:
bp[0xFF81] = bp[0xFF81] + ah;
++si;
al |= 0;
bx[si] += (al + CarryFlg );
bp[0xFF8B] = bp[0xFF8B] + ah;
++si;
al = al + 0x66;
if((unsigned)ax <= (unsigned)*( Word *)&bp[8])
goto label_0;
}
/****************************************************************************/
near proc_30()
/****************************************************************************/
{
/****************************************************************************/
near proc_32()
/****************************************************************************/
{
/****************************************************************************/
far pseudo_proc_11()
/****************************************************************************/
{
/****************************************************************************/
near proc_33()
/****************************************************************************/
{
/****************************************************************************/
near proc_34()
/****************************************************************************/
{
proc_27();
ax = *(Word * )0x3E2F; /*PCH : RM_Table_init*/
label_243:
}
/****************************************************************************/
near proc_35()
/****************************************************************************/
{
label_244:
push(bp);
bp = sp;
dx = *( Word *)&bp[4];
bp = pop();
label_245:
(*(FAR_FNC)0x3E50)();
}
/****************************************************************************/
near proc_38()
/****************************************************************************/
{
/****************************************************************************/
near proc_39()
/****************************************************************************/
{
/****************************************************************************/
far pseudo_proc_12()
/****************************************************************************/
{
label_246:
}
/****************************************************************************/
near proc_40(char far *arg0, int arg1)
/****************************************************************************/
{
register char *reg1 ;
register char *reg2 ;
/****************************************************************************/
near proc_41()
/****************************************************************************/
{
;
}
/****************************************************************************/
near proc_42()
/****************************************************************************/
{
/****************************************************************************/
near proc_43(int arg0, int arg1)
/****************************************************************************/
{