Antivirus software is one of the most complicated applications. It has to deal with hundreds of file types and formats: executables (exe, dll, msi, com, pif, cpl, elf, ocx, sys, scr, etc); documents (doc, xls, ppt, pdf, rtf, chm, hlp, etc); compressed archives (arj, arc, cab, tar, zip, rar, z, zoo, lha, lzh, ace, iso, etc); executable packers (upx, fsg, mew, nspack, wwpack, aspack, etc); media files (jpg, gif, swf, mp3, rm, wmv, avi, wmf, etc), Each of these formats can be quite complex. Hence, it is extremely difficult for antivirus software process all these format appropriately.