*** EVOL-1 - Polymorphic Encryption Module by MnemoniX - v1.00 1995 ***

About:
       This module, when attached to any virus, will render the virus
       more difficult to scan for. This module is for experienced
       programmers only, and not for many of the clueless schmoes on
       the fringe of the virus world.

       The module will encrypt any code it is given with a unique key
       and create a self-decrypting module that contains this code.
       The decryption routine for this module will vary wildly from
       specimen to specimen.

       The module should generally work with any virus if used properly,
       but you may have to modify the virus to better accommodate for it.

       Version 1.00 of the module is 2051 bytes long.

       This module will probably not function properly on an 8088. In these
       days when the 8088 is considered only slightly above a slide rule in
       terms of technology, I do not deem this a grave problem.

Usage:
       At the beginning of your virus, include the line:

               extern _EVOL:near

       Before calling module, set up registers with the following
       parameters:

              DS:SI - offset of code to encrypt
              ES:DI - address to store encrypted module
                      (decryption module will be about 80-300 bytes long)
              CX - size of code
              DX - offset where code will be run from
              BL - special wildcard mutation function
                      0 - none
                      1 - wildcard mutation

       Then include the line:

               call    _EVOL

       On return, CX will hold the size of the encrypted program, and
       DS:DX will point to it in memory.

       You should leave enough workspace in memory for your virus code, the
       EVOL-1 module code (2051 bytes), and at least 350 or so bytes for a
       decryption routine.

Wildcard mutation:

       Wildcard mutation is a special feature I included in this module
       which allows for more variety in the code produced. When this
       function is on, EVOL-1 will sometimes produce random code which
       sometimes will do nothing, and other times could crash the program.
       This function can be powerful, and can make for even less scannable
       variants of the virus, but be aware if you turn it on that some of
       the code produced may be worthless. Wildcard mutation is turned on
       by making BL equal to 1 when EVOL-1 is called.

Disclaimer:

       You used it, I didn't, and hence I, MnemoniX, the omnipotent omni-
       scient Virus God, the writer of this program, am not responsible for
       any damage that this program may do to you. Although I don't possibly
       see how it could do any on its own. Oh well ... just be warned.

                                       MnemoniX - 11/95