type
  TOldHead = array[0..$32] of byte;
  TCode2   = array[1..2]   of byte;
  TCode3   = array[1..3]   of byte;
  TCode4   = array[1..4]   of byte;
  TCode5   = array[1..5]   of byte;
  TCode8   = array[1..8]   of byte;
  TCode10  = array[1..10]  of byte;
  TCode18  = array[1..18]  of byte;
  TCode19  = array[1..19]  of byte;

  POldCode = ^TOldCode;
  TOldCode = record
    Code01 : TOldHead; Adr001 : word;
    Code02 : TCode5;   Adr002 : word;
    Code03 : TCode8;   Adr003 : word;
    Code04 : TCode2;   Adr004 : word;
    Code05 : TCode10;  Adr005 : word;
    Code06 : TCode2;   Adr006 : word;
    Code07 : TCode10;  Adr007 : word;
    Code08 : TCode2;   Adr008 : word;
    Code09 : TCode10;  Adr009 : word;
    Code10 : TCode2;   Adr010 : word;
    Code11 : TCode10;  Adr011 : word;
    Code12 : TCode2;   Adr012 : word;
    Code13 : TCode10;  Adr013 : word;
    Code14 : TCode2;   Adr014 : word;
    Code15 : TCode10;  Adr015 : word;
    Code16 : TCode2;   Adr016 : word;
    Code17 : TCode10;  Adr017 : word;
    Code18 : TCode2;   Adr018 : word;
    Code19 : TCode10;  Adr019 : word;
    Code20 : TCode2;   Adr020 : word;
    Code21 : TCode18;  Adr021 : word;
    Code22 : TCode5;   Adr022 : word;
    Code23 : TCode18;  Adr023 : word;
    Code24 : TCode5;   Adr024 : word;
    Code25 : TCode18;  Adr025 : word;
    Code26 : TCode5;   Adr026 : word;
    Code27 : TCode18;  Adr027 : word;
    Code28 : TCode4;   Adr028 : word;
    Code29 : TCode18;  Adr029 : word;
    Code30 : TCode5;   Adr030 : word;
    Code31 : TCode18;  Adr031 : word;
    Code32 : TCode5;   Adr032 : word;
    Code33 : TCode3;   RetBef : byte;
  end;

  TCode54  = array[1..54]  of byte;
  TCode7   = array[1..7]   of byte;

  TNewCode = record
    Code01 : TCode54; Adr001 : word;
    Code02 : TCode2;  Adr002 : word;
    Code03 : TCode8;  Adr003 : word;
    Code04 : TCode2;  Adr004 : word;
    Code05 : TCode7;  Adr005 : word;
    Code06 : TCode2;  Adr006 : word;
    Code07 : TCode7;  Adr007 : word;
    Code08 : TCode2;  Adr008 : word;
    Code09 : TCode7;  Adr009 : word;
    Code10 : TCode2;  Adr010 : word;
    Code11 : TCode7;  Adr011 : word;
    Code12 : TCode2;  Adr012 : word;
    Code13 : TCode7;  Adr013 : word;
    Code14 : TCode2;  Adr014 : word;
    Code15 : TCode7;  Adr015 : word;
    Code16 : TCode2;  Adr016 : word;
    Code17 : TCode7;  Adr017 : word;
    Code18 : TCode2;  Adr018 : word;
    Code19 : TCode7;  Adr019 : word;
    Code20 : TCode2;  Adr020 : word;
    Code21 : TCode10; Adr021 : word;
    Code22 : TCode2;  Adr022 : word;
    Code23 : TCode7;  Adr023 : word;
    Code24 : TCode2;  Adr024 : word;
    Code25 : TCode10; Adr025 : word;
    Code26 : TCode2;  Adr026 : word;
    Code27 : TCode7;  Adr027 : word;
    Code28 : TCode2;  Adr028 : word;
    Code29 : TCode10; Adr029 : word;
    Code30 : TCode2;  Adr030 : word;
    Code31 : TCode10; Adr031 : word;
    Code32 : TCode2;  Adr032 : word;
    Code33 : TCode4;
    {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
    MulFnc : array[1..9]  of byte;
    DivFnc : array[1..34] of byte;
    {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
    Code34 : TCode5;  FName  : array[0..10] of char;
    Code35 : TCode19; RetBef : byte;
    Filler : array[1..16] of byte;
  end;

const
  ChkStr  : string[14] = 'ExEpAtChEr4ExPrO60/80';
  OldCode : TOldCode = (Code01:($06,$b8,$00,$00,$8e,$c0,$33,$c9,$33,$d2,$26,
                                $a1,$6c,$04,$26,$8b,$1e,$6c,$04,$3b,$c3,$74,
                                $f7,$26,$a1,$6c,$04,$3b,$c3,$75,$08,$41,$74,
                                $02,$eb,$f3,$42,$eb,$f0,$8b,$c1,$40,$83,$d2,
                                $00,$bb,$36,$00,$f7,$f3,$a3);
                        Adr001:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code02:($ba,$00,$00,$89,$16);
                        Adr002:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code03:($50,$52,$bb,$32,$00,$f7,$e3,$a3);
                        Adr003:$0000;
                        Code04:($89,$16);
                        Adr004:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code05:($5a,$58,$50,$52,$bb,$28,$00,$f7,$e3,$a3);
                        Adr005:$0000;
                        Code06:($89,$16);
                        Adr006:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code07:($5a,$58,$50,$52,$bb,$1e,$00,$f7,$e3,$a3);
                        Adr007:$0000;
                        Code08:($89,$16);
                        Adr008:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code09:($5a,$58,$50,$52,$bb,$14,$00,$f7,$e3,$a3);
                        Adr009:$0000;
                        Code10:($89,$16);
                        Adr010:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code11:($5a,$58,$50,$52,$bb,$0a,$00,$f7,$e3,$a3);
                        Adr011:$0000;
                        Code12:($89,$16);
                        Adr012:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code13:($5a,$58,$50,$52,$bb,$05,$00,$f7,$e3,$a3);
                        Adr013:$0000;
                        Code14:($89,$16);
                        Adr014:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code15:($5a,$58,$50,$52,$bb,$04,$00,$f7,$e3,$a3);
                        Adr015:$0000;
                        Code16:($89,$16);
                        Adr016:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code17:($5a,$58,$50,$52,$bb,$03,$00,$f7,$e3,$a3);
                        Adr017:$0000;
                        Code18:($89,$16);
                        Adr018:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code19:($5a,$58,$50,$52,$bb,$02,$00,$f7,$e3,$a3);
                        Adr019:$0000;
                        Code20:($89,$16);
                        Adr020:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code21:($5a,$58,$50,$52,$bb,$02,$00,$f7,$f3,$83,
                                $e8,$05,$73,$03,$b8,$00,$00,$a3);
                        Adr021:$0000;
                        Code22:($ba,$00,$00,$89,$16);
                        Adr022:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code23:($5a,$58,$50,$52,$bb,$05,$00,$f7,$f3,$83,
                                $e8,$05,$73,$03,$b8,$00,$00,$a3);
                        Adr023:$0000;
                        Code24:($ba,$00,$00,$89,$16);
                        Adr024:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code25:($5a,$58,$50,$52,$bb,$0a,$00,$f7,$f3,$83,
                                $e8,$07,$73,$03,$b8,$00,$00,$a3);
                        Adr025:$0000;
                        Code26:($ba,$00,$00,$89,$16);
                        Adr026:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code27:($5a,$58,$50,$52,$bb,$14,$00,$f7,$f3,$83,
                                $e8,$07,$73,$03,$b8,$00,$00,$a3);
                        Adr027:$0000;
                        Code28:($ba,$00,$00,$a3);
                        Adr028:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code29:($5a,$58,$50,$52,$bb,$32,$00,$f7,$f3,$83,
                                $e8,$08,$73,$03,$b8,$00,$00,$a3);
                        Adr029:$0000;
                        Code30:($ba,$00,$00,$89,$16);
                        Adr030:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code31:($5a,$58,$50,$52,$bb,$64,$00,$f7,$f3,$83,
                                $e8,$06,$73,$03,$b8,$00,$00,$a3);
                        Adr031:$0000;
                        Code32:($ba,$00,$00,$89,$16);
                        Adr032:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code33:($5a,$58,$07);
                        RetBef:$cb
                       );

  NewCode : TNewCode = (Code01:($06,$33,$c0,$8b,$d0,$8e,$c0,$26,$8b,$1e,$6c,
                                $04,$26,$8b,$0e,$6c,$04,$3b,$cb,$74,$f7,$26,
                                $8b,$1e,$6c,$04,$3b,$d9,$75,$06,$40,$75,$f4,
                                $42,$eb,$f1,$33,$db,$40,$13,$d3,$b9,$36,$00,
                                $93,$92,$f7,$f1,$93,$f7,$f1,$8b,$d3,$a3);
                        Adr001:$0000;
                        Code02:($89,$16);
                        Adr002:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code03:($50,$52,$bb,$32,$00,$f7,$e3,$a3);
                        Adr003:$0000;
                        Code04:($89,$16);
                        Adr004:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code05:($bb,$28,$00,$e8,$c0,$00,$a3);
                        Adr005:$0000;
                        Code06:($89,$16);
                        Adr006:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code07:($bb,$1e,$00,$e8,$b3,$00,$a3);
                        Adr007:$0000;
                        Code08:($89,$16);
                        Adr008:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code09:($bb,$14,$00,$e8,$a6,$00,$a3);
                        Adr009:$0000;
                        Code10:($89,$16);
                        Adr010:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code11:($bb,$0a,$00,$e8,$99,$00,$a3);
                        Adr011:$0000;
                        Code12:($89,$16);
                        Adr012:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code13:($bb,$05,$00,$e8,$8c,$00,$a3);
                        Adr013:$0000;
                        Code14:($89,$16);
                        Adr014:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code15:($bb,$04,$00,$e8,$7f,$00,$a3);
                        Adr015:$0000;
                        Code16:($89,$16);
                        Adr016:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code17:($bb,$03,$00,$e8,$72,$00,$a3);
                        Adr017:$0000;
                        Code18:($89,$16);
                        Adr018:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code19:($bb,$02,$00,$e8,$65,$00,$a3);
                        Adr019:$0000;
                        Code20:($89,$16);
                        Adr020:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code21:($bb,$02,$00,$b9,$05,$00,$e8,$5e,$00,$a3);
                        Adr021:$0000;
                        Code22:($89,$16);
                        Adr022:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code23:($bb,$05,$00,$e8,$51,$00,$a3);
                        Adr023:$0000;
                        Code24:($89,$16);
                        Adr024:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code25:($bb,$0a,$00,$b9,$07,$00,$e8,$41,$00,$a3);
                        Adr025:$0000;
                        Code26:($89,$16);
                        Adr026:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code27:($bb,$14,$00,$e8,$34,$00,$a3);
                        Adr027:$0000;
                        Code28:($89,$16);
                        Adr028:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code29:($bb,$32,$00,$b9,$08,$00,$e8,$24,$00,$a3);
                        Adr029:$0000;
                        Code30:($89,$16);
                        Adr030:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code31:($bb,$64,$00,$b9,$06,$00,$e8,$14,$00,$a3);
                        Adr031:$0000;
                        Code32:($89,$16);
                        Adr032:$0000;
                        {תתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתתת}
                        Code33:($53,$1e,$eb,$2b);
                        MulFnc:($59,$5a,$58,$50,$52,$f7,$e3,$ff,$e1);
                        DivFnc:($56,$55,$8b,$ec,$8b,$56,$06,$8b,$46,$08,
                                $33,$f6,$96,$92,$f7,$f3,$96,$f7,$f3,
                                $8b,$d6,$2b,$c1,$73,$06,$0b,$d2,$75,$02,
                                $33,$c0,$5d,$5e,$c3);
                        Code34:($0e,$1f,$e8,$0b,$00);
                        FName:('\','\','.','\','E','X','P','R','O',#0,#0);
                        Code35:($5a,$b8,$00,$3d,$cd,$21,$72,$06,$8b,$d8,
                                $b4,$3e,$cd,$21,$1f,$5b,$5a,$58,$07);
                        RetBef:$cb;
                        Filler:($cc,$cc,$cc,$cc,$cc,$cc,$cc,$cc,$cc,$cc,
                                $cc,$cc,$cc,$cc,$cc,$cc)
                       );
