text: #!/usr/bin/env python
  
  __description__ = 'BIFF plugin for oledump.py'
  __author__ = 'Didier Stevens'
  __version__ = '0.0.22'
  __date__ = '2021/02/23'
  
  # Slightly modified version by Philippe Lagadec to be imported into olevba
  
  """
  
  Source code put in public domain by Didier Stevens, no Copyright
  https://DidierStevens.com
  Use at your own risk
  
  History:
    2014/11/15: start
    2014/11/21: changed interface: added options; added options -a (asciidump) and -s (strings)
    2017/12/10: 0.0.2 added optparse & option -o
    2017/12/12: added option -f
    2017/12/13: added 0x support for option -f
    2018/10/24: 0.0.3 started coding Excel 4.0 macro support
    2018/10/25: continue
    2018/10/26: continue
    2019/01/05: 0.0.4 added option -x
    2019/03/06: 0.0.5 enhanced parsing of formula expressions
    2019/11/05: 0.0.6 Python 3 support
    2020/02/23: 0.0.7 performance improvement
    2020/03/08: 0.0.8 added options -X and -d
    2020/03/09: 0.0.9 improved formula parsing; Python 3 bugfixes
    2020/03/27: 0.0.10 improved formula parsing and debug modes. (by @JohnLaTwC)
                05219f8c047f1dff861634c4b50d4f6978c87c35f4c14d21ee9d757cac9280cf (ptgConcat)
                94b26003699efba54ced98006379a230d1154f340589cc89af7d0cbedb861a53 (encoding, ptgFuncVarA, ptgNameX)
                d3c1627ca2775d98717eb1abf2b70aedf383845d87993c6b924f2f55d9d4d696 (ptgArea)
                01761b06c24baa818b0a75059e745871246a5e9c6ce0243ad96e8632342cbb59 (ptgFuncVarA)
                d3c1627ca2775d98717eb1abf2b70aedf383845d87993c6b924f2f55d9d4d696 (ptgFunc)
                1d48a42a0b06a087e966b860c8f293a9bf57da8d70f5f83c61242afc5b81eb4f (=SELECT($B$1:$1000:$1000:$B:$B,$B$1))
    2020/04/06: 0.0.11 Python 2 bugfixes; password protect record FILEPASS
    2020/05/16: 0.0.12 option -c
    2020/05/17: option -r
    2020/05/18: continue
    2020/05/20: 0.0.13 option -j
    2020/05/21: 0.0.14 improved parsing for a83890bbc081b9ec839c9a32ec06eae6f549a0f85fe0a30751ef229a58e440af, bc39d3bb128f329d95393bf0a4f6ec813356e847a00794c18258bfa48df6937f, 002a8371570487bc81eec4aeea9fdfb7
    2020/05/22: 0.0.15 Python 3 fix STRING record 0x207
    2020/05/26: 0.0.16 added logic for reserved bits in BOUNDSHEET
    2020/07/17: 0.0.17 added option --statistics
    2020/10/03: 0.0.18 improved FILEPASS record handling
    2020/12/03: 0.0.19 added detection of BIFF5/BIFF7 and FILEPASS record parsing
    2020/12/19: 0.0.20 added FILEPASS XOR Obfuscation password cracking (option -w)
    2021/02/06: 0.0.21 added option --hexrecord, added option -D
    2021/02/07: added key extraction for XOR obfuscation
    2021/02/09: added recordsNotXORObfuscated
    2021/02/21: 0.0.22 bug fix
    2021/02/23: added PASSWORD record cracking
  
  Todo:
    updated parsing of records for BIFF5 record format
  """
  
  import struct
  import re
  import optparse
  import json
  
  # Modifications for olevba:
  import sys
  import binascii
  from .oledump_extract import(
      cPluginParent,
      AddPlugin,
      CIC,
      IFF,
      P23Ord,
      P23Chr
  )
  # end modifications
  
  DEFAULT_SEPARATOR = ','
  QUOTE = '"'
  
  def P23Decode(value):
      if sys.version_info[0] > 2:
          try:
              return value.decode('utf-8', errors='replace')
          except UnicodeDecodeError as u:
              return value.decode('windows-1252', errors='replace')
      else:
          return value
  
  def ToString(value):
      if isinstance(value, str):
          return value
      else:
          return str(value)
  
  def Quote(value, separator, quote):
      value = ToString(value)
      if len(value) > 1 and value[0] == quote and value[-1] == quote:
          return value
      if separator in value or value == '':
          return quote + value + quote
      else:
          return value
  
  def MakeCSVLine(row, separator, quote):
      return separator.join([Quote(value, separator, quote) for value in row])
  
  def CombineHexASCII(hexDump, asciiDump, length):
      if hexDump == '':
          return ''
      return hexDump + '  ' + (' ' * (3 * (length - len(asciiDump)))) + asciiDump
  
  def HexASCII(data, length=16):
      result = []
      if len(data) > 0:
          hexDump = ''
          asciiDump = ''
          for i, b in enumerate(data):
              if i % length == 0:
                  if hexDump != '':
                      result.append(CombineHexASCII(hexDump, asciiDump, length))
                  hexDump = '%08X:' % i
                  asciiDump = ''
              hexDump += ' %02X' % P23Ord(b)
              asciiDump += IFF(P23Ord(b) >= 32, P23Chr(b), '.')
          result.append(CombineHexASCII(hexDump, asciiDump, length))
      return result
  
  def StringsASCII(data):
      return list(map(P23Decode, re.findall(b'[^\x00-\x08\x0A-\x1F\x7F-\xFF]{4,}', data)))
  
  def StringsUNICODE(data):
      return [P23Decode(foundunicodestring.replace(b'\x00', b'')) for foundunicodestring, dummy in re.findall(b'(([^\x00-\x08\x0A-\x1F\x7F-\xFF]\x00){4,})', data)]
  
  def Strings(data, encodings='sL'):
      dStrings = {}
      for encoding in encodings:
          if encoding == 's':
              dStrings[encoding] = StringsASCII(data)
          elif encoding == 'L':
              dStrings[encoding] = StringsUNICODE(data)
      return dStrings
  
  def ContainsWP23Ord(word, expression):
      return struct.pack('<H', word) in expression
  
  # https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-xls/75afd109-b1ce-4511-b56f-2d63116f6647
  def ParseArea(expression):
      formatcodes = 'HHHH'
      formatsize = struct.calcsize(formatcodes)
      if len(expression) < formatsize:
          return '*ERROR*'
      row1,row2,col1,col2 = struct.unpack(formatcodes, expression[0:formatsize])
      row1Relative = col1 & 0x8000
      col1Relative = col1 & 0x4000
      row2Relative = col2 & 0x8000
      col2Relative = col2 & 0x4000
      col1 = col1 & 0x3FFF
      col2 = col2 & 0x3FFF
  
      if row1Relative:
          row1indicator = '~'
      else:
          row1indicator = ''
          row1 += 1
      if col1Relative:
          col1indicator = '~'
      else:
          col1indicator = ''
          col1 += 1
      if row2Relative:
          row2indicator = '~'
      else:
          row2indicator = ''
          row2 += 1
      if col2Relative:
          col2indicator = '~'
      else:
          col2indicator = ''
          col2 += 1
  
      if row1 == row2 and col2 >=256:
          return 'R%s%d' % (row1indicator, row1)
      if col1 == col2 and row2 >= 65536:
          return 'C%s%d' % (col1indicator, col1)
  
      return 'R%s%dC%s%d' % (row1indicator, row1, col1indicator, col1)
  
  # https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-xls/6e5eed10-5b77-43d6-8dd0-37345f8654ad
  def ParseLocRelU(expression):
      row = P23Ord(expression[0]) + P23Ord(expression[1]) * 0x100
      column = P23Ord(expression[2]) + P23Ord(expression[3]) * 0x100
      rowRelative = False #column & 0x8000
      colRelative = False #column & 0x4000
      column = column & 0x3FFF
      if rowRelative:
          rowindicator = '~'
      else:
          rowindicator = ''
          row += 1
      if colRelative:
          colindicator = '~'
      else:
          colindicator = ''
          column += 1
      return 'R%s%dC%s%d' % (rowindicator, row, colindicator, column)
  
  #https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-xls/6e5eed10-5b77-43d6-8dd0-37345f8654ad
  def ParseLoc(expression, cellrefformat, ignoreRelFlags=False):
      formatcodes = 'HH'
      formatsize = struct.calcsize(formatcodes)
      row, column = struct.unpack(formatcodes, expression[0:formatsize])
      if ignoreRelFlags:
          rowRelative = False
          colRelative = False
      else:
          rowRelative = column & 0x8000
          colRelative = column & 0x4000
      column = column & 0x3FFF
      if rowRelative:
          rowindicator = '~'
      else:
          rowindicator = ''
          row += 1
      if colRelative:
          colindicator = '~'
      else:
          colindicator = ''
          column += 1
      if cellrefformat.upper() == 'RC':
          result = 'R%s%dC%s%d' % (rowindicator, row, colindicator, column)
      elif cellrefformat.upper() == 'LN':
          column -= 1
          first = int(column / 26)
          second = column % 26
          if first == 0:
              result = ''
          else:
              result = chr(first + ord('A'))
          result += chr(second + ord('A'))
          result = '%s%d' % (result, row)
      else:
          raise Exception('Unknown cell reference format: %s' % cellrefformat)
      return result, expression[formatsize:]
  
  def StackBinary(stack, operator):
      if len(stack) < 2:
          stack.append('*STACKERROR* not enough operands for operator: %s' % operator)
      else:
          operand2 = stack.pop()
          operand1 = stack.pop()
          stack.append(operand1 + operator + operand2)
  
  def StackFunction(stack, function, arity):
      if len(stack) < arity:
          stack.append('*STACKERROR* not enough arguments for function: %s' % function)
      else:
          arguments = []
          for i in range(arity):
              arguments.insert(0, stack.pop())
          if function == 'User Defined Function':
              function = arguments[0]
              arguments = arguments[1:]
          stack.append('%s(%s)' % (function, ','.join(arguments)))
  
  def ParseExpression(expression, definesNames, sheetNames, cellrefformat):
      dTokens = {
  0x01: 'ptgExp',
  0x02: 'ptgTbl',
  0x03: 'ptgAdd',
  0x04: 'ptgSub',
  0x05: 'ptgMul',
  0x06: 'ptgDiv',
  0x07: 'ptgPower',
  0x08: 'ptgConcat',
  0x09: 'ptgLT',
  0x0A: 'ptgLE',
  0x0B: 'ptgEQ',
  0x0C: 'ptgGE',
  0x0D: 'ptgGT',
  0x0E: 'ptgNE',
  0x0F: 'ptgIsect',
  0x10: 'ptgUnion',
  0x11: 'ptgRange',
  0x12: 'ptgUplus',
  0x13: 'ptgUminus',
  0x14: 'ptgPercent',
  0x15: 'ptgParen',
  0x16: 'ptgMissArg',
  0x17: 'ptgStr',
  0x18: 'ptgExtend',
  0x19: 'ptgAttr',
  0x1A: 'ptgSheet',
  0x1B: 'ptgEndSheet',
  0x1C: 'ptgErr',
  0x1D: 'ptgBool',
  0x1E: 'ptgInt',
  0x1F: 'ptgNum',
  0x20: 'ptgArray',
  0x21: 'ptgFunc',
  0x22: 'ptgFuncVar',
  0x23: 'ptgName',
  0x24: 'ptgRef',
  0x25: 'ptgArea',
  0x26: 'ptgMemArea',
  0x27: 'ptgMemErr',
  0x28: 'ptgMemNoMem',
  0x29: 'ptgMemFunc',
  0x2A: 'ptgRefErr',
  0x2B: 'ptgAreaErr',
  0x2C: 'ptgRefN',
  0x2D: 'ptgAreaN',
  0x2E: 'ptgMemAreaN',
  0x2F: 'ptgMemNoMemN',
  0x39: 'ptgNameX',
  0x3A: 'ptgRef3d',
  0x3B: 'ptgArea3d',
  0x3C: 'ptgRefErr3d',
  0x3D: 'ptgAreaErr3d',
  0x40: 'ptgArrayV',
  0x41: 'ptgFuncV',
  0x42: 'ptgFuncVarV',
  0x43: 'ptgNameV',
  0x44: 'ptgRefV',
  0x45: 'ptgAreaV',
  0x46: 'ptgMemAreaV',
  0x47: 'ptgMemErrV',
  0x48: 'ptgMemNoMemV',
  0x49: 'ptgMemFuncV',
  0x4A: 'ptgRefErrV',
  0x4B: 'ptgAreaErrV',
  0x4C: 'ptgRefNV',
  0x4D: 'ptgAreaNV',
  0x4E: 'ptgMemAreaNV',
  0x4F: 'ptgMemNoMemNV',
  0x58: 'ptgFuncCEV',
  0x59: 'ptgNameXV',
  0x5A: 'ptgRef3dV',
  0x5B: 'ptgArea3dV',
  0x5C: 'ptgRefErr3dV',
  0x5D: 'ptgAreaErr3dV',
  0x60: 'ptgArrayA',
  0x61: 'ptgFuncA',
  0x62: 'ptgFuncVarA',
  0x63: 'ptgNameA',
  0x64: 'ptgRefA',
  0x65: 'ptgAreaA',
  0x66: 'ptgMemAreaA',
  0x67: 'ptgMemErrA',
  0x68: 'ptgMemNoMemA',
  0x69: 'ptgMemFuncA',
  0x6A: 'ptgRefErrA',
  0x6B: 'ptgAreaErrA',
  0x6C: 'ptgRefNA',
  0x6D: 'ptgAreaNA',
  0x6E: 'ptgMemAreaNA',
  0x6F: 'ptgMemNoMemNA',
  0x78: 'ptgFuncCEA',
  0x79: 'ptgNameXA',
  0x7A: 'ptgRef3dA',
  0x7B: 'ptgArea3dA',
  0x7C: 'ptgRefErr3dA',
  0x7D: 'ptgAreaErr3dA',
  }
  
      dFunctions = {
  #https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-xls/00b5dd7d-51ca-4938-b7b7-483fe0e5933b
  0x0000: 'COUNT',
  0x0001: 'IF',
  0x0002: 'ISNA',
  0x0003: 'ISERROR',
  0x0004: 'SUM',
  0x0005: 'AVERAGE',
  0x0006: 'MIN',
  0x0007: 'MAX',
  0x0008: 'ROW',
  0x0009: 'COLUMN',
  0x000A: 'NA',
  0x000B: 'NPV',
  0x000C: 'STDEV',
  0x000D: 'DOLLAR',
  0x000E: 'FIXED',
  0x000F: 'SIN',
  0x0010: 'COS',
  0x0011: 'TAN',
  0x0012: 'ATAN',
  0x0013: 'PI',
  0x0014: 'SQRT',
  0x0015: 'EXP',
  0x0016: 'LN',
  0x0017: 'LOG10',
  0x0018: 'ABS',
  0x0019: 'INT',
  0x001A: 'SIGN',
  0x001B: 'ROUND',
  0x001C: 'LOOKUP',
  0x001D: 'INDEX',
  0x001E: 'REPT',
  0x001F: ['MID', 3],
  0x0020: 'LEN',
  0x0021: 'VALUE',
  0x0022: 'TRUE',
  0x0023: 'FALSE',
  0x0024: 'AND',
  0x0025: 'OR',
  0x0026: 'NOT',
  0x0027: 'MOD',
  0x0028: 'DCOUNT',
  0x0029: 'DSUM',
  0x002A: 'DAVERAGE',
  0x002B: 'DMIN',
  0x002C: 'DMAX',
  0x002D: 'DSTDEV',
  0x002E: 'VAR',
  0x002F: 'DVAR',
  0x0030: 'TEXT',
  0x0031: 'LINEST',
  0x0032: 'TREND',
  0x0033: 'LOGEST',
  0x0034: 'GROWTH',
  0x0035: 'GOTO',
  0x0036: 'HALT',
  0x0037: 'RETURN',
  0x0038: 'PV',
  0x0039: 'FV',
  0x003A: 'NPER',
  0x003B: 'PMT',
  0x003C: 'RATE',
  0x003D: 'MIRR',
  0x003E: 'IRR',
  0x003F: 'RAND',
  0x0040: 'MATCH',
  0x0041: 'DATE',
  0x0042: 'TIME',
  0x0043: 'DAY',
  0x0044: 'MONTH',
  0x0045: 'YEAR',
  0x0046: 'WEEKDAY',
  0x0047: 'HOUR',
  0x0048: 'MINUTE',
  0x0049: 'SECOND',
  0x004A: ['NOW', 0],
  0x004B: 'AREAS',
  0x004C: 'ROWS',
  0x004D: 'COLUMNS',
  0x004E: 'OFFSET',
  0x004F: 'ABSREF',
  0x0050: 'RELREF',
  0x0051: 'ARGUMENT',
  0x0052: 'SEARCH',
  0x0053: 'TRANSPOSE',
  0x0054: 'ERROR',
  0x0055: 'STEP',
  0x0056: 'TYPE',
  0x0057: 'ECHO',
  0x0058: 'SET.NAME',
  0x0059: 'CALLER',
  0x005A: 'DEREF',
  0x005B: 'WINDOWS',
  0x005C: 'SERIES',
  0x005D: 'DOCUMENTS',
  0x005E: ['ACTIVE.CELL', 0],
  0x005F: 'SELECTION',
  0x0060: 'RESULT',
  0x0061: 'ATAN2',
  0x0062: 'ASIN',
  0x0063: 'ACOS',
  0x0064: 'CHOOSE',
  0x0065: 'HLOOKUP',
  0x0066: 'VLOOKUP',
  0x0067: 'LINKS',
  0x0068: 'INPUT',
  0x0069: 'ISREF',
  0x006A: 'GET.FORMULA',
  0x006B: 'GET.NAME',
  0x006C: ['SET.VALUE', 2],
  0x006D: 'LOG',
  0x006E: 'EXEC',
  0x006F: 'CHAR',
  0x0070: 'LOWER',
  0x0071: 'UPPER',
  0x0072: 'PROPER',
  0x0073: 'LEFT',
  0x0074: 'RIGHT',
  0x0075: 'EXACT',
  0x0076: 'TRIM',
  0x0077: 'REPLACE',
  0x0078: 'SUBSTITUTE',
  0x0079: 'CODE',
  0x007A: 'NAMES',
  0x007B: 'DIRECTORY',
  0x007C: 'FIND',
  0x007D: 'CELL',
  0x007E: 'ISERR',
  0x007F: 'ISTEXT',
  0x0080: 'ISNUMBER',
  0x0081: 'ISBLANK',
  0x0082: 'T',
  0x0083: 'N',
  0x0084: 'FOPEN',
  0x0085: 'FCLOSE',
  0x0086: 'FSIZE',
  0x0087: 'FREADLN',
  0x0088: 'FREAD',
  0x0089: 'FWRITELN',
  0x008A: 'FWRITE',
  0x008B: 'FPOS',
  0x008C: 'DATEVALUE',
  0x008D: 'TIMEVALUE',
  0x008E: 'SLN',
  0x008F: 'SYD',
  0x0090: 'DDB',
  0x0091: 'GET.DEF',
  0x0092: 'REFTEXT',
  0x0093: 'TEXTREF',
  0x0094: 'INDIRECT',
  0x0095: 'REGISTER',
  0x0096: 'CALL',
  0x0097: 'ADD.BAR',
  0x0098: 'ADD.MENU',
  0x0099: 'ADD.COMMAND',
  0x009A: 'ENABLE.COMMAND',
  0x009B: 'CHECK.COMMAND',
  0x009C: 'RENAME.COMMAND',
  0x009D: 'SHOW.BAR',
  0x009E: 'DELETE.MENU',
  0x009F: 'DELETE.COMMAND',
  0x00A0: 'GET.CHART.ITEM',
  0x00A1: 'DIALOG.BOX',
  0x00A2: 'CLEAN',
  0x00A3: 'MDETERM',
  0x00A4: 'MINVERSE',
  0x00A5: 'MMULT',
  0x00A6: 'FILES',
  0x00A7: 'IPMT',
  0x00A8: 'PPMT',
  0x00A9: 'COUNTA',
  0x00AA: 'CANCEL.KEY',
  0x00AB: 'FOR',
  0x00AC: 'WHILE',
  0x00AD: 'BREAK',
  0x00AE: ['NEXT', 0],
  0x00AF: 'INITIATE',
  0x00B0: 'REQUEST',
  0x00B1: 'POKE',
  0x00B2: 'EXECUTE',
  0x00B3: 'TERMINATE',
  0x00B4: 'RESTART',
  0x00B5: 'HELP',
  0x00B6: 'GET.BAR',
  0x00B7: 'PRODUCT',
  0x00B8: 'FACT',
  0x00B9: 'GET.CELL',
  0x00BA: 'GET.WORKSPACE',
  0x00BB: 'GET.WINDOW',
  0x00BC: 'GET.DOCUMENT',
  0x00BD: 'DPRODUCT',
  0x00BE: 'ISNONTEXT',
  0x00BF: 'GET.NOTE',
  0x00C0: 'NOTE',
  0x00C1: 'STDEVP',
  0x00C2: 'VARP',
  0x00C3: 'DSTDEVP',
  0x00C4: 'DVARP',
  0x00C5: 'TRUNC',
  0x00C6: 'ISLOGICAL',
  0x00C7: 'DCOUNTA',
  0x00C8: 'DELETE.BAR',
  0x00C9: 'UNREGISTER',
  0x00CC: 'USDOLLAR',
  0x00CD: 'FINDB',
  0x00CE: 'SEARCHB',
  0x00CF: 'REPLACEB',
  0x00D0: 'LEFTB',
  0x00D1: 'RIGHTB',
  0x00D2: 'MIDB',
  0x00D3: 'LENB',
  0x00D4: 'ROUNDUP',
  0x00D5: 'ROUNDDOWN',
  0x00D6: 'ASC',
  0x00D7: 'DBCS',
  0x00D8: 'RANK',
  0x00DB: 'ADDRESS',
  0x00DC: 'DAYS360',
  0x00DD: 'TODAY',
  0x00DE: 'VDB',
  0x00DF: 'ELSE',
  0x00E0: 'ELSE.IF',
  0x00E1: 'END.IF',
  0x00E2: 'FOR.CELL',
  0x00E3: 'MEDIAN',
  0x00E4: 'SUMPRODUCT',
  0x00E5: 'SINH',
  0x00E6: 'COSH',
  0x00E7: 'TANH',
  0x00E8: 'ASINH',
  0x00E9: 'ACOSH',
  0x00EA: 'ATANH',
  0x00EB: 'DGET',
  0x00EC: 'CREATE.OBJECT',
  0x00ED: 'VOLATILE',
  0x00EE: 'LAST.ERROR',
  0x00EF: 'CUSTOM.UNDO',
  0x00F0: 'CUSTOM.REPEAT',
  0x00F1: 'FORMULA.CONVERT',
  0x00F2: 'GET.LINK.INFO',
  0x00F3: 'TEXT.BOX',
  0x00F4: 'INFO',
  0x00F5: 'GROUP',
  0x00F6: 'GET.OBJECT',
  0x00F7: 'DB',
  0x00F8: 'PAUSE',
  0x00FB: 'RESUME',
  0x00FC: 'FREQUENCY',
  0x00FD: 'ADD.TOOLBAR',
  0x00FE: 'DELETE.TOOLBAR',
  0x00FF: 'User Defined Function',
  0x0100: 'RESET.TOOLBAR',
  0x0101: 'EVALUATE',
  0x0102: 'GET.TOOLBAR',
  0x0103: 'GET.TOOL',
  0x0104: 'SPELLING.CHECK',
  0x0105: 'ERROR.TYPE',
  0x0106: 'APP.TITLE',
  0x0107: 'WINDOW.TITLE',
  0x0108: 'SAVE.TOOLBAR',
  0x0109: 'ENABLE.TOOL',
  0x010A: 'PRESS.TOOL',
  0x010B: 'REGISTER.ID',
  0x010C: 'GET.WORKBOOK',
  0x010D: 'AVEDEV',
  0x010E: 'BETADIST',
  0x010F: 'GAMMALN',
  0x0110: 'BETAINV',
  0x0111: 'BINOMDIST',
  0x0112: 'CHIDIST',
  0x0113: 'CHIINV',
  0x0114: 'COMBIN',
  0x0115: 'CONFIDENCE',
  0x0116: 'CRITBINOM',
  0x0117: 'EVEN',
  0x0118: 'EXPONDIST',
  0x0119: 'FDIST',
  0x011A: 'FINV',
  0x011B: 'FISHER',
  0x011C: 'FISHERINV',
  0x011D: 'FLOOR',
  0x011E: 'GAMMADIST',
  0x011F: 'GAMMAINV',
  0x0120: 'CEILING',
  0x0121: 'HYPGEOMDIST',
  0x0122: 'LOGNORMDIST',
  0x0123: 'LOGINV',
  0x0124: 'NEGBINOMDIST',
  0x0125: 'NORMDIST',
  0x0126: 'NORMSDIST',
  0x0127: 'NORMINV',
  0x0128: 'NORMSINV',
  0x0129: 'STANDARDIZE',
  0x012A: 'ODD',
  0x012B: 'PERMUT',
  0x012C: 'POISSON',
  0x012D: 'TDIST',
  0x012E: 'WEIBULL',
  0x012F: 'SUMXMY2',
  0x0130: 'SUMX2MY2',
  0x0131: 'SUMX2PY2',
  0x0132: 'CHITEST',
  0x0133: 'CORREL',
  0x0134: 'COVAR',
  0x0135: 'FORECAST',
  0x0136: 'FTEST',
  0x0137: 'INTERCEPT',
  0x0138: 'PEARSON',
  0x0139: 'RSQ',
  0x013A: 'STEYX',
  0x013B: 'SLOPE',
  0x013C: 'TTEST',
  0x013D: 'PROB',
  0x013E: 'DEVSQ',
  0x013F: 'GEOMEAN',
  0x0140: 'HARMEAN',
  0x0141: 'SUMSQ',
  0x0142: 'KURT',
  0x0143: 'SKEW',
  0x0144: 'ZTEST',
  0x0145: 'LARGE',
  0x0146: 'SMALL',
  0x0147: 'QUARTILE',
  0x0148: 'PERCENTILE',
  0x0149: 'PERCENTRANK',
  0x014A: 'MODE',
  0x014B: 'TRIMMEAN',
  0x014C: 'TINV',
  0x014E: 'MOVIE.COMMAND',
  0x014F: 'GET.MOVIE',
  0x0150: 'CONCATENATE',
  0x0151: 'POWER',
  0x0152: 'PIVOT.ADD.DATA',
  0x0153: 'GET.PIVOT.TABLE',
  0x0154: 'GET.PIVOT.FIELD',
  0x0155: 'GET.PIVOT.ITEM',
  0x0156: 'RADIANS',
  0x0157: 'DEGREES',
  0x0158: 'SUBTOTAL',
  0x0159: 'SUMIF',
  0x015A: 'COUNTIF',
  0x015B: 'COUNTBLANK',
  0x015C: 'SCENARIO.GET',
  0x015D: 'OPTIONS.LISTS.GET',
  0x015E: 'ISPMT',
  0x015F: 'DATEDIF',
  0x0160: 'DATESTRING',
  0x0161: 'NUMBERSTRING',
  0x0162: 'ROMAN',
  0x0163: 'OPEN.DIALOG',
  0x0164: 'SAVE.DIALOG',
  0x0165: 'VIEW.GET',
  0x0166: 'GETPIVOTDATA',
  0x0167: 'HYPERLINK',
  0x0168: 'PHONETIC',
  0x0169: 'AVERAGEA',
  0x016A: 'MAXA',
  0x016B: 'MINA',
  0x016C: 'STDEVPA',
  0x016D: 'VARPA',
  0x016E: 'STDEVA',
  0x016F: 'VARA',
  0x0170: 'BAHTTEXT',
  0x0171: 'THAIDAYOFWEEK',
  0x0172: 'THAIDIGIT',
  0x0173: 'THAIMONTHOFYEAR',
  0x0174: 'THAINUMSOUND',
  0x0175: 'THAINUMSTRING',
  0x0176: 'THAISTRINGLENGTH',
  0x0177: 'ISTHAIDIGIT',
  0x0178: 'ROUNDBAHTDOWN',
  0x0179: 'ROUNDBAHTUP',
  0x017A: 'THAIYEAR',
  0x017B: 'RTD',
  0x01E0: 'IFERROR',
  
  #https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-xls/0b8acba5-86d2-4854-836e-0afaee743d44
  0x8000: 'BEEP',
  0x8001: 'OPEN',
  0x8002: 'OPEN.LINKS',
  0x8003: 'CLOSE.ALL',
  0x8004: 'SAVE',
  0x8005: 'SAVE.AS',
  0x8006: 'FILE.DELETE',
  0x8007: 'PAGE.SETUP',
  0x8008: 'PRINT',
  0x8009: 'PRINTER.SETUP',
  0x800A: 'QUIT',
  0x800B: 'NEW.WINDOW',
  0x800C: 'ARRANGE.ALL',
  0x800D: 'WINDOW.SIZE',
  0x800E: 'WINDOW.MOVE',
  0x800F: 'FULL',
  0x8010: 'CLOSE',
  0x8011: 'RUN',
  0x8016: 'SET.PRINT.AREA',
  0x8017: 'SET.PRINT.TITLES',
  0x8018: 'SET.PAGE.BREAK',
  0x8019: 'REMOVE.PAGE.BREAK',
  0x801A: 'FONT',
  0x801B: 'DISPLAY',
  0x801C: 'PROTECT.DOCUMENT',
  0x801D: 'PRECISION',
  0x801E: 'A1.R1C1',
  0x801F: 'CALCULATE.NOW',
  0x8020: 'CALCULATION',
  0x8022: 'DATA.FIND',
  0x8023: 'EXTRACT',
  0x8024: 'DATA.DELETE',
  0x8025: 'SET.DATABASE',
  0x8026: 'SET.CRITERIA',
  0x8027: 'SORT',
  0x8028: 'DATA.SERIES',
  0x8029: 'TABLE',
  0x802A: 'FORMAT.NUMBER',
  0x802B: 'ALIGNMENT',
  0x802C: 'STYLE',
  0x802D: 'BORDER',
  0x802E: 'CELL.PROTECTION',
  0x802F: 'COLUMN.WIDTH',
  0x8030: 'UNDO',
  0x8031: 'CUT',
  0x8032: 'COPY',
  0x8033: 'PASTE',
  0x8034: 'CLEAR',
  0x8035: 'PASTE.SPECIAL',
  0x8036: 'EDIT.DELETE',
  0x8037: 'INSERT',
  0x8038: 'FILL.RIGHT',
  0x8039: 'FILL.DOWN',
  0x803D: 'DEFINE.NAME',
  0x803E: 'CREATE.NAMES',
  0x803F: 'FORMULA.GOTO',
  0x8040: 'FORMULA.FIND',
  0x8041: 'SELECT.LAST.CELL',
  0x8042: 'SHOW.ACTIVE.CELL',
  0x8043: 'GALLERY.AREA',
  0x8044: 'GALLERY.BAR',
  0x8045: 'GALLERY.COLUMN',
  0x8046: 'GALLERY.LINE',
  0x8047: 'GALLERY.PIE',
  0x8048: 'GALLERY.SCATTER',
  0x8049: 'COMBINATION',
  0x804A: 'PREFERRED',
  0x804B: 'ADD.OVERLAY',
  0x804C: 'GRIDLINES',
  0x804D: 'SET.PREFERRED',
  0x804E: 'AXES',
  0x804F: 'LEGEND',
  0x8050: 'ATTACH.TEXT',
  0x8051: 'ADD.ARROW',
  0x8052: 'SELECT.CHART',
  0x8053: 'SELECT.PLOT.AREA',
  0x8054: 'PATTERNS',
  0x8055: 'MAIN.CHART',
  0x8056: 'OVERLAY',
  0x8057: 'SCALE',
  0x8058: 'FORMAT.LEGEND',
  0x8059: 'FORMAT.TEXT',
  0x805A: 'EDIT.REPEAT',
  0x805B: 'PARSE',
  0x805C: 'JUSTIFY',
  0x805D: 'HIDE',
  0x805E: 'UNHIDE',
  0x805F: 'WORKSPACE',
  0x8060: 'FORMULA',
  0x8061: 'FORMULA.FILL',
  0x8062: 'FORMULA.ARRAY',
  0x8063: 'DATA.FIND.NEXT',
  0x8064: 'DATA.FIND.PREV',
  0x8065: 'FORMULA.FIND.NEXT',
  0x8066: 'FORMULA.FIND.PREV',
  0x8067: 'ACTIVATE',
  0x8068: 'ACTIVATE.NEXT',
  0x8069: 'ACTIVATE.PREV',
  0x806A: 'UNLOCKED.NEXT',
  0x806B: 'UNLOCKED.PREV',
  0x806C: 'COPY.PICTURE',
  0x806D: 'SELECT',
  0x806E: 'DELETE.NAME',
  0x806F: 'DELETE.FORMAT',
  0x8070: 'VLINE',
  0x8071: 'HLINE',
  0x8072: 'VPAGE',
  0x8073: 'HPAGE',
  0x8074: 'VSCROLL',
  0x8075: 'HSCROLL',
  0x8076: 'ALERT',
  0x8077: 'NEW',
  0x8078: 'CANCEL.COPY',
  0x8079: 'SHOW.CLIPBOARD',
  0x807A: 'MESSAGE',
  0x807C: 'PASTE.LINK',
  0x807D: 'APP.ACTIVATE',
  0x807E: 'DELETE.ARROW',
  0x807F: 'ROW.HEIGHT',
  0x8080: 'FORMAT.MOVE',
  0x8081: 'FORMAT.SIZE',
  0x8082: 'FORMULA.REPLACE',
  0x8083: 'SEND.KEYS',
  0x8084: 'SELECT.SPECIAL',
  0x8085: 'APPLY.NAMES',
  0x8086: 'REPLACE.FONT',
  0x8087: 'FREEZE.PANES',
  0x8088: 'SHOW.INFO',
  0x8089: 'SPLIT',
  0x808A: 'ON.WINDOW',
  0x808B: 'ON.DATA',
  0x808C: 'DISABLE.INPUT',
  0x808E: 'OUTLINE',
  0x808F: 'LIST.NAMES',
  0x8090: 'FILE.CLOSE',
  0x8091: 'SAVE.WORKBOOK',
  0x8092: 'DATA.FORM',
  0x8093: 'COPY.CHART',
  0x8094: 'ON.TIME',
  0x8095: 'WAIT',
  0x8096: 'FORMAT.FONT',
  0x8097: 'FILL.UP',
  0x8098: 'FILL.LEFT',
  0x8099: 'DELETE.OVERLAY',
  0x809B: 'SHORT.MENUS',
  0x809F: 'SET.UPDATE.STATUS',
  0x80A1: 'COLOR.PALETTE',
  0x80A2: 'DELETE.STYLE',
  0x80A3: 'WINDOW.RESTORE',
  0x80A4: 'WINDOW.MAXIMIZE',
  0x80A6: 'CHANGE.LINK',
  0x80A7: 'CALCULATE.DOCUMENT',
  0x80A8: 'ON.KEY',
  0x80A9: 'APP.RESTORE',
  0x80AA: 'APP.MOVE',
  0x80AB: 'APP.SIZE',
  0x80AC: 'APP.MINIMIZE',
  0x80AD: 'APP.MAXIMIZE',
  0x80AE: 'BRING.TO.FRONT',
  0x80AF: 'SEND.TO.BACK',
  0x80B9: 'MAIN.CHART.TYPE',
  0x80BA: 'OVERLAY.CHART.TYPE',
  0x80BB: 'SELECT.END',
  0x80BC: 'OPEN.MAIL',
  0x80BD: 'SEND.MAIL',
  0x80BE: 'STANDARD.FONT',
  0x80BF: 'CONSOLIDATE',
  0x80C0: 'SORT.SPECIAL',
  0x80C1: 'GALLERY.3D.AREA',
  0x80C2: 'GALLERY.3D.COLUMN',
  0x80C3: 'GALLERY.3D.LINE',
  0x80C4: 'GALLERY.3D.PIE',
  0x80C5: 'VIEW.3D',
  0x80C6: 'GOAL.SEEK',
  0x80C7: 'WORKGROUP',
  0x80C8: 'FILL.GROUP',
  0x80C9: 'UPDATE.LINK',
  0x80CA: 'PROMOTE',
  0x80CB: 'DEMOTE',
  0x80CC: 'SHOW.DETAIL',
  0x80CE: 'UNGROUP',
  0x80CF: 'OBJECT.PROPERTIES',
  0x80D0: 'SAVE.NEW.OBJECT',
  0x80D1: 'SHARE',
  0x80D2: 'SHARE.NAME',
  0x80D3: 'DUPLICATE',
  0x80D4: 'APPLY.STYLE',
  0x80D5: 'ASSIGN.TO.OBJECT',
  0x80D6: 'OBJECT.PROTECTION',
  0x80D7: 'HIDE.OBJECT',
  0x80D8: 'SET.EXTRACT',
  0x80D9: 'CREATE.PUBLISHER',
  0x80DA: 'SUBSCRIBE.TO',
  0x80DB: 'ATTRIBUTES',
  0x80DC: 'SHOW.TOOLBAR',
  0x80DE: 'PRINT.PREVIEW',
  0x80DF: 'EDIT.COLOR',
  0x80E0: 'SHOW.LEVELS',
  0x80E1: 'FORMAT.MAIN',
  0x80E2: 'FORMAT.OVERLAY',
  0x80E3: 'ON.RECALC',
  0x80E4: 'EDIT.SERIES',
  0x80E5: 'DEFINE.STYLE',
  0x80F0: 'LINE.PRINT',
  0x80F3: 'ENTER.DATA',
  0x80F9: 'GALLERY.RADAR',
  0x80FA: 'MERGE.STYLES',
  0x80FB: 'EDITION.OPTIONS',
  0x80FC: 'PASTE.PICTURE',
  0x80FD: 'PASTE.PICTURE.LINK',
  0x80FE: 'SPELLING',
  0x8100: 'ZOOM',
  0x8103: 'INSERT.OBJECT',
  0x8104: 'WINDOW.MINIMIZE',
  0x8109: 'SOUND.NOTE',
  0x810A: 'SOUND.PLAY',
  0x810B: 'FORMAT.SHAPE',
  0x810C: 'EXTEND.POLYGON',
  0x810D: 'FORMAT.AUTO',
  0x8110: 'GALLERY.3D.BAR',
  0x8111: 'GALLERY.3D.SURFACE',
  0x8112: 'FILL.AUTO',
  0x8114: 'CUSTOMIZE.TOOLBAR',
  0x8115: 'ADD.TOOL',
  0x8116: 'EDIT.OBJECT',
  0x8117: 'ON.DOUBLECLICK',
  0x8118: 'ON.ENTRY',
  0x8119: 'WORKBOOK.ADD',
  0x811A: 'WORKBOOK.MOVE',
  0x811B: 'WORKBOOK.COPY',
  0x811C: 'WORKBOOK.OPTIONS',
  0x811D: 'SAVE.WORKSPACE',
  0x8120: 'CHART.WIZARD',
  0x8121: 'DELETE.TOOL',
  0x8122: 'MOVE.TOOL',
  0x8123: 'WORKBOOK.SELECT',
  0x8124: 'WORKBOOK.ACTIVATE',
  0x8125: 'ASSIGN.TO.TOOL',
  0x8127: 'COPY.TOOL',
  0x8128: 'RESET.TOOL',
  0x8129: 'CONSTRAIN.NUMERIC',
  0x812A: 'PASTE.TOOL',
  0x812E: 'WORKBOOK.NEW',
  0x8131: 'SCENARIO.CELLS',
  0x8132: 'SCENARIO.DELETE',
  0x8133: 'SCENARIO.ADD',
  0x8134: 'SCENARIO.EDIT',
  0x8135: 'SCENARIO.SHOW',
  0x8136: 'SCENARIO.SHOW.NEXT',
  0x8137: 'SCENARIO.SUMMARY',
  0x8138: 'PIVOT.TABLE.WIZARD',
  0x8139: 'PIVOT.FIELD.PROPERTIES',
  0x813A: 'PIVOT.FIELD',
  0x813B: 'PIVOT.ITEM',
  0x813C: 'PIVOT.ADD.FIELDS',
  0x813E: 'OPTIONS.CALCULATION',
  0x813F: 'OPTIONS.EDIT',
  0x8140: 'OPTIONS.VIEW',
  0x8141: 'ADDIN.MANAGER',
  0x8142: 'MENU.EDITOR',
  0x8143: 'ATTACH.TOOLBARS',
  0x8144: 'VBAActivate',
  0x8145: 'OPTIONS.CHART',
  0x8148: 'VBA.INSERT.FILE',
  0x814A: 'VBA.PROCEDURE.DEFINITION',
  0x8150: 'ROUTING.SLIP',
  0x8152: 'ROUTE.DOCUMENT',
  0x8153: 'MAIL.LOGON',
  0x8156: 'INSERT.PICTURE',
  0x8157: 'EDIT.TOOL',
  0x8158: 'GALLERY.DOUGHNUT',
  0x815E: 'CHART.TREND',
  0x8160: 'PIVOT.ITEM.PROPERTIES',
  0x8162: 'WORKBOOK.INSERT',
  0x8163: 'OPTIONS.TRANSITION',
  0x8164: 'OPTIONS.GENERAL',
  0x8172: 'FILTER.ADVANCED',
  0x8175: 'MAIL.ADD.MAILER',
  0x8176: 'MAIL.DELETE.MAILER',
  0x8177: 'MAIL.REPLY',
  0x8178: 'MAIL.REPLY.ALL',
  0x8179: 'MAIL.FORWARD',
  0x817A: 'MAIL.NEXT.LETTER',
  0x817B: 'DATA.LABEL',
  0x817C: 'INSERT.TITLE',
  0x817D: 'FONT.PROPERTIES',
  0x817E: 'MACRO.OPTIONS',
  0x817F: 'WORKBOOK.HIDE',
  0x8180: 'WORKBOOK.UNHIDE',
  0x8181: 'WORKBOOK.DELETE',
  0x8182: 'WORKBOOK.NAME',
  0x8184: 'GALLERY.CUSTOM',
  0x8186: 'ADD.CHART.AUTOFORMAT',
  0x8187: 'DELETE.CHART.AUTOFORMAT',
  0x8188: 'CHART.ADD.DATA',
  0x8189: 'AUTO.OUTLINE',
  0x818A: 'TAB.ORDER',
  0x818B: 'SHOW.DIALOG',
  0x818C: 'SELECT.ALL',
  0x818D: 'UNGROUP.SHEETS',
  0x818E: 'SUBTOTAL.CREATE',
  0x818F: 'SUBTOTAL.REMOVE',
  0x8190: 'RENAME.OBJECT',
  0x819C: 'WORKBOOK.SCROLL',
  0x819D: 'WORKBOOK.NEXT',
  0x819E: 'WORKBOOK.PREV',
  0x819F: 'WORKBOOK.TAB.SPLIT',
  0x81A0: 'FULL.SCREEN',
  0x81A1: 'WORKBOOK.PROTECT',
  0x81A4: 'SCROLLBAR.PROPERTIES',
  0x81A5: 'PIVOT.SHOW.PAGES',
  0x81A6: 'TEXT.TO.COLUMNS',
  0x81A7: 'FORMAT.CHARTTYPE',
  0x81A8: 'LINK.FORMAT',
  0x81A9: 'TRACER.DISPLAY',
  0x81AE: 'TRACER.NAVIGATE',
  0x81AF: 'TRACER.CLEAR',
  0x81B0: 'TRACER.ERROR',
  0x81B1: 'PIVOT.FIELD.GROUP',
  0x81B2: 'PIVOT.FIELD.UNGROUP',
  0x81B3: 'CHECKBOX.PROPERTIES',
  0x81B4: 'LABEL.PROPERTIES',
  0x81B5: 'LISTBOX.PROPERTIES',
  0x81B6: 'EDITBOX.PROPERTIES',
  0x81B7: 'PIVOT.REFRESH',
  0x81B8: 'LINK.COMBO',
  0x81B9: 'OPEN.TEXT',
  0x81BA: 'HIDE.DIALOG',
  0x81BB: 'SET.DIALOG.FOCUS',
  0x81BC: 'ENABLE.OBJECT',
  0x81BD: 'PUSHBUTTON.PROPERTIES',
  0x81BE: 'SET.DIALOG.DEFAULT',
  0x81BF: 'FILTER',
  0x81C0: 'FILTER.SHOW.ALL',
  0x81C1: 'CLEAR.OUTLINE',
  0x81C2: 'FUNCTION.WIZARD',
  0x81C3: 'ADD.LIST.ITEM',
  0x81C4: 'SET.LIST.ITEM',
  0x81C5: 'REMOVE.LIST.ITEM',
  0x81C6: 'SELECT.LIST.ITEM',
  0x81C7: 'SET.CONTROL.VALUE',
  0x81C8: 'SAVE.COPY.AS',
  0x81CA: 'OPTIONS.LISTS.ADD',
  0x81CB: 'OPTIONS.LISTS.DELETE',
  0x81CC: 'SERIES.AXES',
  0x81CD: 'SERIES.X',
  0x81CE: 'SERIES.Y',
  0x81CF: 'ERRORBAR.X',
  0x81D0: 'ERRORBAR.Y',
  0x81D1: 'FORMAT.CHART',
  0x81D2: 'SERIES.ORDER',
  0x81D3: 'MAIL.LOGOFF',
  0x81D4: 'CLEAR.ROUTING.SLIP',
  0x81D5: 'APP.ACTIVATE.MICROSOFT',
  0x81D6: 'MAIL.EDIT.MAILER',
  0x81D7: 'ON.SHEET',
  0x81D8: 'STANDARD.WIDTH',
  0x81D9: 'SCENARIO.MERGE',
  0x81DA: 'SUMMARY.INFO',
  0x81DB: 'FIND.FILE',
  0x81DC: 'ACTIVE.CELL.FONT',
  0x81DD: 'ENABLE.TIPWIZARD',
  0x81DE: 'VBA.MAKE.ADDIN',
  0x81E0: 'INSERTDATATABLE',
  0x81E1: 'WORKGROUP.OPTIONS',
  0x81E2: 'MAIL.SEND.MAILER',
  0x81E5: 'AUTOCORRECT',
  0x81E9: 'POST.DOCUMENT',
  0x81EB: 'PICKLIST',
  0x81ED: 'VIEW.SHOW',
  0x81EE: 'VIEW.DEFINE',
  0x81EF: 'VIEW.DELETE',
  0x81FD: 'SHEET.BACKGROUND',
  0x81FE: 'INSERT.MAP.OBJECT',
  0x81FF: 'OPTIONS.MENONO',
  0x8205: 'MSOCHECKS',
  0x8206: 'NORMAL',
  0x8207: 'LAYOUT',
  0x8208: 'RM.PRINT.AREA',
  0x8209: 'CLEAR.PRINT.AREA',
  0x820A: 'ADD.PRINT.AREA',
  0x820B: 'MOVE.BRK',
  0x8221: 'HIDECURR.NOTE',
  0x8222: 'HIDEALL.NOTES',
  0x8223: 'DELETE.NOTE',
  0x8224: 'TRAVERSE.NOTES',
  0x8225: 'ACTIVATE.NOTES',
  0x826C: 'PROTECT.REVISIONS',
  0x826D: 'UNPROTECT.REVISIONS',
  0x8287: 'OPTIONS.ME',
  0x828D: 'WEB.PUBLISH',
  0x829B: 'NEWWEBQUERY',
  0x82A1: 'PIVOT.TABLE.CHART',
  0x82F1: 'OPTIONS.SAVE',
  0x82F3: 'OPTIONS.SPELL',
  0x8328: 'HIDEALL.INKANNOTS',
      }
  
      def GetFunctionName(functionid):
          if functionid in dFunctions:
              name = dFunctions[functionid]
              if isinstance(name, list):
                  return name[0]
          else:
              name = '*UNKNOWN FUNCTION*'
          return name
  
      def GetFunctionArity(functionid):
          arity = 1
          if functionid in dFunctions:
              entry = dFunctions[functionid]
              if isinstance(entry, list):
                  arity = entry[1]
          return arity
  
      result = ''
      stack = []
      while len(expression) > 0:
          ptgid = P23Ord(expression[0])
          expression = expression[1:]
          if ptgid in dTokens:
              result += dTokens[ptgid] + ' '
              if ptgid == 0x03: # ptgAdd https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-xls/27db2f45-11e8-4238-94ed-92fd9c5721fb
                  StackBinary(stack, '+')
              elif ptgid == 0x4: # ptgSub
                  StackBinary(stack, '-')
              elif ptgid == 0x5: # ptgMul
                  StackBinary(stack, '*')
              elif ptgid == 0x6: # ptgDiv
                  StackBinary(stack, '/')
              elif ptgid == 0x8: # ptgConcat
                  StackBinary(stack, '&')
              elif ptgid == 0x09: # ptgLt https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-xls/28de4981-1352-4a5e-a3b7-f15a8a6ce7fb
                  StackBinary(stack, '<')
              elif ptgid == 0x0A: # ptgLE
                  StackBinary(stack, '<=')
              elif ptgid == 0x0B: # ptgEQ
                  StackBinary(stack, '=')
              elif ptgid == 0x0C: # ptgGE
                  StackBinary(stack, '>=')
              elif ptgid == 0x0D: # ptgGT
                  StackBinary(stack, '>')
              elif ptgid == 0x0E: # ptgNE
                  StackBinary(stack, '<>')
              elif ptgid == 0x15: # ptgParen                
                  if len(stack) > 0:
                      operand1 = stack.pop()
                      stack.append('(' + operand1 + ')')
              elif ptgid == 0x17: # ptgStr https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-xls/87c2a057-705c-4473-a168-6d5fac4a9eba
                  length = P23Ord(expression[0])
                  expression = expression[1:]
                  stringValue = ''
                  if P23Ord(expression[0]) == 0: # probably BIFF8 -> UNICODE (compressed)
                      expression = expression[1:]
                      stringValue = P23Decode(expression[:length])
                      result += '"%s" ' % stringValue
                      expression = expression[length:]
                  elif P23Ord(expression[0]) == 1: # if 1, then double byte chars
                      # doublebyte check: https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-xls/05162858-0ca9-44cb-bb07-a720928f63f8
                      expression = expression[1:]
                      stringValue = P23Decode(expression[:length*2])
                      result += '"%s" ' % stringValue
                      expression = expression[length*2:]
                  else:
                      stringValue = '<ERROR>'
                  stack.append('"' + stringValue + '"')
              elif ptgid == 0x19:
                  grbit = P23Ord(expression[0])
                  expression = expression[1:]
                  if grbit & 0x04:
                      result += 'CHOOSE '
                      break
                  else:
                      expression = expression[2:]
              elif ptgid == 0x16: #ptgMissArg
                  stack.append('')
              elif ptgid == 0x1d: # ptgBool https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-xls/d59e28db-4d6f-4c86-bcc9-c8a783e352ec
                  boolValue = IFF(P23Ord(expression[0]), 'TRUE', 'FALSE')
                  result += '%s ' % (boolValue)
                  expression = expression[1:]
                  stack.append(boolValue)
              elif ptgid == 0x1e: #ptgInt
                  value = P23Ord(expression[0]) + P23Ord(expression[1]) * 0x100
                  result += '%d ' % (value)
                  expression = expression[2:]
                  stack.append(str(value))
              elif ptgid == 0x41: #ptgFuncV
                  functionid = P23Ord(expression[0]) + P23Ord(expression[1]) * 0x100
                  result += '%s (0x%04x) ' % (GetFunctionName(functionid), functionid)
                  expression = expression[2:]
                  StackFunction(stack, GetFunctionName(functionid), GetFunctionArity(functionid))
              elif ptgid == 0x22 or ptgid == 0x42 or ptgid == 0x62:
                  functionid = P23Ord(expression[1]) + P23Ord(expression[2]) * 0x100
                  numberOfArguments = P23Ord(expression[0])
                  result += 'args %d func %s (0x%04x) ' % (numberOfArguments, GetFunctionName(functionid), functionid)
                  expression = expression[3:]
                  if functionid == 0x806D:
                      expression = expression[9:]
                  StackFunction(stack, GetFunctionName(functionid), numberOfArguments)
              elif ptgid == 0x23: # ptgName https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-xls/5f05c166-dfe3-4bbf-85aa-31c09c0258c0
                  nameValue = struct.unpack('<I', expression[0:4])[0]
                  result += '0x%08x ' % (nameValue)
                  expression = expression[4:]
                  if nameValue <= len(definesNames):
                      stack.append(definesNames[nameValue - 1])
                  else:
                      stack.append('ptgName:0x%08x' % (nameValue))
              elif ptgid == 0x1f:
                  value = struct.unpack('<d', expression[:8])[0]
                  result += 'FLOAT %f ' % value
                  stack.append('%.20f' % value)
                  expression = expression[8:]
              elif ptgid == 0x26:
                  ## expression = expression[4:]
                  ## expression = expression[P23Ord(expression[0]) + P23Ord(expression[1]) * 0x100:]
                  expression = expression[6:]
                  result += 'REFERENCE-EXPRESSION '
              elif ptgid == 0x01:
                  cellref, expression = ParseLoc(expression, cellrefformat, True)
                  result += '%s ' % cellref
              elif ptgid == 0x24 or ptgid == 0x44: #ptgRef #ptgRefV
                  cellref, expression = ParseLoc(expression, cellrefformat, True)
                  result += '%s ' % cellref
                  stack.append(cellref)
              elif ptgid == 0x11: # ptgRange
                  pass
              elif ptgid == 0x25: # ptgArea
                  arearef = ParseArea(expression[0:8])
                  result += '%s ' % arearef
                  expression = expression[8:]
                  stack.append(arearef)
              elif ptgid == 0x3A or ptgid == 0x5A: # ptgRef3d ptgRef3dV
                  formatcodes = 'H'
                  formatsize = struct.calcsize(formatcodes)
                  sheetindex = struct.unpack(formatcodes, expression[0:formatsize])[0]
                  expression = expression[formatsize:]
                  cellref, expression = ParseLoc(expression, cellrefformat, True)
                  if sheetindex < len(sheetNames):
                      cellref3d = '%s!%s' % (sheetNames[sheetindex], cellref)
                  else:
                      cellref3d = '%d!%s' % (sheetindex, cellref)
                  result += '%s ' % cellref3d
                  stack.append(cellref3d)
              elif ptgid == 0x39: # PtgNameX
                  expression = expression[2:]
                  formatcodes = 'H'
                  formatsize = struct.calcsize(formatcodes)
                  nameindex = struct.unpack(formatcodes, expression[0:formatsize])[0]
                  result += ' NAMEIDX %d ' % nameindex
                  expression = expression[4:]
              elif ptgid == 0x21: #ptgFunc
                  functionid = P23Ord(expression[0]) + P23Ord(expression[1]) * 0x100
                  result += '%s ' % GetFunctionName(functionid)
                  expression = expression[2:]
                  StackFunction(stack, GetFunctionName(functionid), GetFunctionArity(functionid))
              elif ptgid == 0x61 or ptgid == 0x62: # ptgFuncVar  ptgFuncVarA
                  params_count = P23Ord(expression[0])
                  functionid = P23Ord(expression[1]) + P23Ord(expression[2]) * 0x100
                  result += '%s ' % GetFunctionName(functionid)
                  expression = expression[(2+params_count):]
              else:
                  break
          else:
              result += '*UNKNOWN TOKEN* 0x%04x' % ptgid
              break
      if expression == b'':
          return result, stack
      else:
          functions = [dFunctions[functionid] for functionid in [0x6E, 0x95] if ContainsWP23Ord(functionid, expression)]
          if functions != []:
              message = ' Could contain following functions: ' + ','.join(functions) + ' -'
          else:
              message = ''
          return result + ' *INCOMPLETE FORMULA PARSING*' + message + ' Remaining, unparsed expression: ' + repr(expression), stack
  
  def DecodeRKValue(data):
      number = P23Ord(data[0])
      divider = 1.0
      if number & 0x01:
          divider = 100.0
      if number & 0x02:
          return (struct.unpack('<i', data)[0] >> 2) / divider
      else:
          return struct.unpack('<d', b'\x00\x00\x00\x00' + data)[0] / divider
  
  def ShortXLUnicodeString(data, isBIFF8):
      cch = P23Ord(data[0])
      if isBIFF8:
          highbyte = P23Ord(data[1])
          if highbyte == 0:
              return P23Decode(data[2:2 + cch])
          else:
              return repr(data[2:2 + cch * 2])
      else:
          return P23Decode(data[1:1 + cch])
  
  def GetDictionary(passwordfile):
      if passwordfile != '.':
          return File2Strings(passwordfile)
      else:
  # https://github.com/magnumripper/JohnTheRipper/blob/bleeding-jumbo/run/password.lst
          return [
            'infected',
            'P@ssw0rd',
            'VelvetSweatshop',
            '123456',
            '12345',
            'password',
            'password1',
            '123456789',
            '12345678',
            '1234567890',
            'abc123',
            'computer',
            'tigger',
            '1234',
            'qwerty',
            'money',
            'carmen',
            'mickey',
            'secret',
            'summer',
            'internet',
            'a1b2c3',
            '123',
            'service',
            'canada',
            'hello',
            'ranger',
            'shadow',
            'baseball',
            'donald',
            'harley',
            'hockey',
            'letmein',
            'maggie',
            'mike',
            'mustang',
            'snoopy',
            'buster',
            'dragon',
            'jordan',
            'michael',
            'michelle',
            'mindy',
            'patrick',
            '123abc',
            'andrew',
            'bear',
            'calvin',
            'changeme',
            'diamond',
            'fuckme',
            'fuckyou',
            'matthew',
            'miller',
            'tiger',
            'trustno1',
            'alex',
            'apple',
            'avalon',
            'brandy',
            'chelsea',
            'coffee',
            'falcon',
            'freedom',
            'gandalf',
            'green',
            'helpme',
            'linda',
            'magic',
            'merlin',
            'newyork',
            'soccer',
            'thomas',
            'wizard',
            'asdfgh',
            'bandit',
            'batman',
            'boris',
            'butthead',
            'dorothy',
            'eeyore',
            'fishing',
            'football',
            'george',
            'happy',
            'iloveyou',
            'jennifer',
            'jonathan',
            'love',
            'marina',
            'master',
            'missy',
            'monday',
            'monkey',
            'natasha',
            'ncc1701',
            'pamela',
            'pepper',
            'piglet',
            'poohbear',
            'pookie',
            'rabbit',
            'rachel',
            'rocket',
            'rose',
            'smile',
            'sparky',
            'spring',
            'steven',
            'success',
            'sunshine',
            'victoria',
            'whatever',
            'zapata',
            '8675309',
            'amanda',
            'andy',
            'angel',
            'august',
            'barney',
            'biteme',
            'boomer',
            'brian',
            'casey',
            'cowboy',
            'delta',
            'doctor',
            'fisher',
            'island',
            'john',
            'joshua',
            'karen',
            'marley',
            'orange',
            'please',
            'rascal',
            'richard',
            'sarah',
            'scooter',
            'shalom',
            'silver',
            'skippy',
            'stanley',
            'taylor',
            'welcome',
            'zephyr',
            '111111',
            'aaaaaa',
            'access',
            'albert',
            'alexander',
            'andrea',
            'anna',
            'anthony',
            'asdfjkl;',
            'ashley',
            'basketball',
            'beavis',
            'black',
            'bob',
            'booboo',
            'bradley',
            'brandon',
            'buddy',
            'caitlin',
            'camaro',
            'charlie',
            'chicken',
            'chris',
            'cindy',
            'cricket',
            'dakota',
            'dallas',
            'daniel',
            'david',
            'debbie',
            'dolphin',
            'elephant',
            'emily',
            'friend',
            'fucker',
            'ginger',
            'goodluck',
            'hammer',
            'heather',
            'iceman',
            'jason',
            'jessica',
            'jesus',
            'joseph',
            'jupiter',
            'justin',
            'kevin',
            'knight',
            'lacrosse',
            'lakers',
            'lizard',
            'madison',
            'mary',
            'mother',
            'muffin',
            'murphy',
            'nirvana',
            'paris',
            'pentium',
            'phoenix',
            'picture',
            'rainbow',
            'sandy',
            'saturn',
            'scott',
            'shannon',
            'shithead',
            'skeeter',
            'sophie',
            'special',
            'stephanie',
            'stephen',
            'steve',
            'sweetie',
            'teacher',
            'tennis',
            'test',
            'test123',
            'tommy',
            'topgun',
            'tristan',
            'wally',
            'william',
            'wilson',
            '1q2w3e',
            '654321',
            '666666',
            'a12345',
            'a1b2c3d4',
            'alpha',
            'amber',
            'angela',
            'angie',
            'archie',
            'asdf',
            'blazer',
            'bond007',
            'booger',
            'charles',
            'christin',
            'claire',
            'control',
            'danny',
            'david1',
            'dennis',
            'digital',
            'disney',
            'edward',
            'elvis',
            'felix',
            'flipper',
            'franklin',
            'frodo',
            'honda',
            'horses',
            'hunter',
            'indigo',
            'james',
            'jasper',
            'jeremy',
            'julian',
            'kelsey',
            'killer',
            'lauren',
            'marie',
            'maryjane',
            'matrix',
            'maverick',
            'mayday',
            'mercury',
            'mitchell',
            'morgan',
            'mountain',
            'niners',
            'nothing',
            'oliver',
            'peace',
            'peanut',
            'pearljam',
            'phantom',
            'popcorn',
            'princess',
            'psycho',
            'pumpkin',
            'purple',
            'randy',
            'rebecca',
            'reddog',
            'robert',
            'rocky',
            'roses',
            'salmon',
            'samson',
            'sharon',
            'sierra',
            'smokey',
            'startrek',
            'steelers',
            'stimpy',
            'sunflower',
            'superman',
            'support',
            'sydney',
            'techno',
            'walter',
            'willie',
            'willow',
            'winner',
            'ziggy',
            'zxcvbnm',
            'alaska',
            'alexis',
            'alice',
            'animal',
            'apples',
            'barbara',
            'benjamin',
            'billy',
            'blue',
            'bluebird',
            'bobby',
            'bonnie',
            'bubba',
            'camera',
            'chocolate',
            'clark',
            'claudia',
            'cocacola',
            'compton',
            'connect',
            'cookie',
            'cruise',
            'douglas',
            'dreamer',
            'dreams',
            'duckie',
            'eagles',
            'eddie',
            'einstein',
            'enter',
            'explorer',
            'faith',
            'family',
            'ferrari',
            'flamingo',
            'flower',
            'foxtrot',
            'francis',
            'freddy',
            'friday',
            'froggy',
            'giants',
            'gizmo',
            'global',
            'goofy',
            'happy1',
            'hendrix',
            'henry',
            'herman',
            'homer',
            'honey',
            'house',
            'houston',
            'iguana',
            'indiana',
            'insane',
            'inside',
            'irish',
            'ironman',
            'jake',
            'jasmin',
            'jeanne',
            'jerry',
            'joey',
            'justice',
            'katherine',
            'kermit',
            'kitty',
            'koala',
            'larry',
            'leslie',
            'logan',
            'lucky',
            'mark',
            'martin',
            'matt',
            'minnie',
            'misty',
            'mitch',
            'mouse',
            'nancy',
            'nascar',
            'nelson',
            'pantera',
            'parker',
            'penguin',
            'peter',
            'piano',
            'pizza',
            'prince',
            'punkin',
            'pyramid',
            'raymond',
            'robin',
            'roger',
            'rosebud',
            'route66',
            'royal',
            'running',
            'sadie',
            'sasha',
            'security',
            'sheena',
            'sheila',
            'skiing',
            'snapple',
            'snowball',
            'sparrow',
            'spencer',
            'spike',
            'star',
            'stealth',
            'student',
            'sunny',
            'sylvia',
            'tamara',
            'taurus',
            'teresa',
            'theresa',
            'thunderbird',
            'tigers',
            'tony',
            'toyota',
            'travel',
            'tuesday',
            'victory',
            'viper1',
            'wesley',
            'whisky',
            'winnie',
            'winter',
            'wolves',
            'xyz123',
            'zorro',
            '123123',
            '1234567',
            '696969',
            '888888',
            'Anthony',
            'Joshua',
            'Matthew',
            'Tigger',
            'aaron',
            'abby',
            'abcdef',
            'adidas',
            'adrian',
            'alfred',
            'arthur',
            'athena',
            'austin',
            'awesome',
            'badger',
            'bamboo',
            'beagle',
            'bears',
            'beatles',
            'beautiful',
            'beaver',
            'benny',
            'bigmac',
            'bingo',
            'bitch',
            'blonde',
            'boogie',
            'boston',
            'brenda',
            'bright',
            'bubba1',
            'bubbles',
            'buffy',
            'button',
            'buttons',
            'cactus',
            'candy',
            'captain',
            'carlos',
            'caroline',
            'carrie',
            'casper',
            'catch22',
            'chance',
            'charity',
            'charlotte',
            'cheese',
            'cheryl',
            'chloe',
            'chris1',
            'clancy',
            'compaq',
            'conrad',
            'cooper',
            'cooter',
            'copper',
            'cosmos',
            'cougar',
            'cracker',
            'crawford',
            'crystal',
            'curtis',
            'cyclone',
            'dance',
            'diablo',
            'dollars',
            'dookie',
            'dumbass',
            'dundee',
            'elizabeth',
            'eric',
            'europe',
            'farmer',
            'firebird',
            'fletcher',
            'fluffy',
            'france',
            'freak1',
            'friends',
            'fuckoff',
            'gabriel',
            'galaxy',
            'gambit',
            'garden',
            'garfield',
            'garnet',
            'genesis',
            'genius',
            'godzilla',
            'golfer',
            'goober',
            'grace',
            'greenday',
            'groovy',
            'grover',
            'guitar',
            'hacker',
            'harry',
            'hazel',
            'hector',
            'herbert',
            'horizon',
            'hornet',
            'howard',
            'icecream',
            'imagine',
            'impala',
            'jack',
            'janice',
            'jasmine',
            'jason1',
            'jeanette',
            'jeffrey',
            'jenifer',
            'jenni',
            'jesus1',
            'jewels',
            'joker',
            'julie',
            'julie1',
            'junior',
            'justin1',
            'kathleen',
            'keith',
            'kelly',
            'kelly1',
            'kennedy',
            'kevin1',
            'knicks',
            'larry1',
            'leonard',
            'lestat',
            'library',
            'lincoln',
            'lionking',
            'london',
            'louise',
            'lucky1',
            'lucy',
            'maddog',
            'margaret',
            'mariposa',
            'marlboro',
            'martin1',
            'marty',
            'master1',
            'mensuck',
            'mercedes',
            'metal',
            'midori',
            'mikey',
            'millie',
            'mirage',
            'molly',
            'monet',
            'money1',
            'monica',
            'monopoly',
            'mookie',
            'moose',
            'moroni',
            'music',
            'naomi',
            'nathan',
            'nguyen',
            'nicholas',
            'nicole',
            'nimrod',
            'october',
            'olive',
            'olivia',
            'online',
            'oscar',
            'oxford',
            'pacific',
            'painter',
            'peaches',
            'penelope',
            'pepsi',
            'petunia',
            'philip',
            'phoenix1',
            'photo',
            'pickle',
            'player',
            'poiuyt',
            'porsche',
            'porter',
            'puppy',
            'python',
            'quality',
            'raquel',
            'raven',
            'remember',
            'robbie',
            'robert1',
            'roman',
            'rugby',
            'runner',
            'russell',
            'ryan',
            'sailing',
            'sailor',
            'samantha',
            'savage',
            'scarlett',
            'school',
            'sean',
            'seven',
            'shadow1',
            'sheba',
            'shelby',
            'shit',
            'shoes',
            'simba',
            'simple',
            'skipper',
            'smiley',
            'snake',
            'snickers',
            'sniper',
            'snoopdog',
            'snowman',
            'sonic',
            'spitfire',
            'sprite',
            'spunky',
            'starwars',
            'station',
            'stella',
            'stingray',
            'storm',
            'stormy',
            'stupid',
            'sunny1',
            'sunrise',
            'surfer',
            'susan',
            'tammy',
            'tango',
            'tanya',
            'teddy1',
            'theboss',
            'theking',
            'thumper',
            'tina',
            'tintin',
            'tomcat',
            'trebor',
            'trevor',
            'tweety',
            'unicorn',
            'valentine',
            'valerie',
            'vanilla',
            'veronica',
            'victor',
            'vincent',
            'viper',
            'warrior',
            'warriors',
            'weasel',
            'wheels',
            'wilbur',
            'winston',
            'wisdom',
            'wombat',
            'xavier',
            'yellow',
            'zeppelin',
            '1111',
            '1212',
            'Andrew',
            'Family',
            'Friends',
            'Michael',
            'Michelle',
            'Snoopy',
            'abcd1234',
            'abcdefg',
            'abigail',
            'account',
            'adam',
            'alex1',
            'alice1',
            'allison',
            'alpine',
            'andre1',
            'andrea1',
            'angel1',
            'anita',
            'annette',
            'antares',
            'apache',
            'apollo',
            'aragorn',
            'arizona',
            'arnold',
            'arsenal',
            'asdfasdf',
            'asdfg',
            'asdfghjk',
            'avenger',
            'baby',
            'babydoll',
            'bailey',
            'banana',
            'barry',
            'basket',
            'batman1',
            'beaner',
            'beast',
            'beatrice',
            'bella',
            'bertha',
            'bigben',
            'bigdog',
            'biggles',
            'bigman',
            'binky',
            'biology',
            'bishop',
            'blondie',
            'bluefish',
            'bobcat',
            'bosco',
            'braves',
            'brazil',
            'bruce',
            'bruno',
            'brutus',
            'buffalo',
            'bulldog',
            'bullet',
            'bullshit',
            'bunny',
            'business',
            'butch',
            'butler',
            'butter',
            'california',
            'carebear',
            'carol',
            'carol1',
            'carole',
            'cassie',
            'castle',
            'catalina',
            'catherine',
            'cccccc',
            'celine',
            'center',
            'champion',
            'chanel',
            'chaos',
            'chelsea1',
            'chester1',
            'chicago',
            'chico',
            'christian',
            'christy',
            'church',
            'cinder',
            'colleen',
            'colorado',
            'columbia',
            'commander',
            'connie',
            'cookies',
            'cooking',
            'corona',
            'cowboys',
            'coyote',
            'craig',
            'creative',
            'cuddles',
            'cuervo',
            'cutie',
            'daddy',
            'daisy',
            'daniel1',
            'danielle',
            'davids',
            'death',
            'denis',
            'derek',
            'design',
            'destiny',
            'diana',
            'diane',
            'dickhead',
            'digger',
            'dodger',
            'donna',
            'dougie',
            'dragonfly',
            'dylan',
            'eagle',
            'eclipse',
            'electric',
            'emerald',
            'etoile',
            'excalibur',
            'express',
            'fender',
            'fiona',
            'fireman',
            'flash',
            'florida',
            'flowers',
            'foster',
            'francesco',
            'francine',
            'francois',
            'frank',
            'french',
            'fuckface',
            'gemini',
            'general',
            'gerald',
            'germany',
            'gilbert',
            'goaway',
            'golden',
            'goldfish',
            'goose',
            'gordon',
            'graham',
            'grant',
            'gregory',
            'gretchen',
            'gunner',
            'hannah',
            'harold',
            'harrison',
            'harvey',
            'hawkeye',
            'heaven',
            'heidi',
            'helen',
            'helena',
            'hithere',
            'hobbit',
            'ibanez',
            'idontknow',
            'integra',
            'ireland',
            'irene',
            'isaac',
            'isabel',
            'jackass',
            'jackie',
            'jackson',
            'jaguar',
            'jamaica',
            'japan',
            'jenny1',
            'jessie',
            'johan',
            'johnny',
            'joker1',
            'jordan23',
            'judith',
            'julia',
            'jumanji',
            'kangaroo',
            'karen1',
            'kathy',
            'keepout',
            'keith1',
            'kenneth',
            'kimberly',
            'kingdom',
            'kitkat',
            'kramer',
            'kristen',
            'laura',
            'laurie',
            'lawrence',
            'lawyer',
            'legend',
            'liberty',
            'light',
            'lindsay',
            'lindsey',
            'lisa',
            'liverpool',
            'lola',
            'lonely',
            'louis',
            'lovely',
            'loveme',
            'lucas',
            'madonna',
            'malcolm',
            'malibu',
            'marathon',
            'marcel',
            'maria1',
            'mariah',
            'mariah1',
            'marilyn',
            'mario',
            'marvin',
            'maurice',
            'maxine',
            'maxwell',
            'me',
            'meggie',
            'melanie',
            'melissa',
            'melody',
            'mexico',
            'michael1',
            'michele',
            'midnight',
            'mike1',
            'miracle',
            'misha',
            'mishka',
            'molly1',
            'monique',
            'montreal',
            'moocow',
            'moore',
            'morris',
            'mouse1',
            'mulder',
            'nautica',
            'nellie',
            'newton',
            'nick',
            'nirvana1',
            'nissan',
            'norman',
            'notebook',
            'ocean',
            'olivier',
            'ollie',
            'oranges',
            'oregon',
            'orion',
            'panda',
            'pandora',
            'panther',
            'passion',
            'patricia',
            'pearl',
            'peewee',
            'pencil',
            'penny',
            'people',
            'percy',
            'person',
            'peter1',
            'petey',
            'picasso',
            'pierre',
            'pinkfloyd',
            'polaris',
            'police',
            'pookie1',
            'poppy',
            'power',
            'predator',
            'preston',
            'q1w2e3',
            'queen',
            'queenie',
            'quentin',
            'ralph',
            'random',
            'rangers',
            'raptor',
            'reality',
            'redrum',
            'remote',
            'reynolds',
            'rhonda',
            'ricardo',
            'ricardo1',
            'ricky',
            'river',
            'roadrunner',
            'robinhood',
            'rocknroll',
            'rocky1',
            'ronald',
            'roxy',
            'ruthie',
            'sabrina',
            'sakura',
            'sally',
            'sampson',
            'samuel',
            'sandra',
            'santa',
            'sapphire',
            'scarlet',
            'scorpio',
            'scott1',
            'scottie',
            'scruffy',
            'seattle',
            'serena',
            'shanti',
            'shark',
            'shogun',
            'simon',
            'singer',
            'skull',
            'skywalker',
            'slacker',
            'smashing',
            'smiles',
            'snowflake',
            'snuffy',
            'soccer1',
            'soleil',
            'sonny',
            'spanky',
            'speedy',
            'spider',
            'spooky',
            'stacey',
            'star69',
            'start',
            'steven1',
            'stinky',
            'strawberry',
            'stuart',
            'sugar',
            'sundance',
            'superfly',
            'suzanne',
            'suzuki',
            'swimmer',
            'swimming',
            'system',
            'taffy',
            'tarzan',
            'teddy',
            'teddybear',
            'terry',
            'theatre',
            'thunder',
            'thursday',
            'tinker',
            'tootsie',
            'tornado',
            'tracy',
            'tricia',
            'trident',
            'trojan',
            'truman',
            'trumpet',
            'tucker',
            'turtle',
            'tyler',
            'utopia',
            'voyager',
            'warcraft',
            'warlock',
            'warren',
            'water',
            'wayne',
            'wendy',
            'williams',
            'willy',
            'winona',
            'woody',
            'woofwoof',
            'wrangler',
            'wright',
            'xfiles',
            'xxxxxx',
            'yankees',
            'yvonne',
            'zebra',
            'zenith',
            'zigzag',
            'zombie',
            'zxc123',
            'zxcvb',
            '000000',
            '007007',
            '11111',
            '11111111',
            '123321',
            '171717',
            '181818',
            '1a2b3c',
            '1chris',
            '4runner',
            '54321',
            '55555',
            '6969',
            '7777777',
            '789456',
            '88888888',
            'Alexis',
            'Bailey',
            'Charlie',
            'Chris',
            'Daniel',
            'Dragon',
            'Elizabeth',
            'HARLEY',
            'Heather',
            'Jennifer',
            'Jessica',
            'Jordan',
            'KILLER',
            'Nicholas',
            'Password',
            'Princess',
            'Purple',
            'Rebecca',
            'Robert',
            'Shadow',
            'Steven',
            'Summer',
            'Sunshine',
            'Superman',
            'Taylor',
            'Thomas',
            'Victoria',
            'abcd123',
            'abcde',
            'accord',
            'active',
            'africa',
            'airborne',
            'alfaro',
            'alicia',
            'aliens',
            'alina',
            'aline',
            'alison',
            'allen',
            'aloha',
            'alpha1',
            'althea',
            'altima',
            'amanda1',
            'amazing',
            'america',
            'amour',
            'anderson',
            'andre',
            'andrew1',
            'andromeda',
            'angels',
            'angie1',
            'annie',
            'anything',
            'apple1',
            'apple2',
            'applepie',
            'april',
            'aquarius',
            'ariane',
            'ariel',
            'arlene',
            'artemis',
            'asdf1234',
            'asdfjkl',
            'ashley1',
            'ashraf',
            'ashton',
            'asterix',
            'attila',
            'autumn',
            'avatar',
            'babes',
            'bambi',
            'barbie',
            'barney1',
            'barrett',
            'bball',
            'beaches',
            'beanie',
            'beans',
            'beauty',
            'becca',
            'belize',
            'belle',
            'belmont',
            'benji',
            'benson',
            'bernardo',
            'berry',
            'betsy',
            'betty',
            'bigboss',
            'bigred',
            'billy1',
            'birdie',
            'birthday',
            'biscuit',
            'bitter',
            'blackjack',
            'blah',
            'blanche',
            'blood',
            'blowjob',
            'blowme',
            'blueeyes',
            'blues',
            'bogart',
            'bombay',
            'boobie',
            'boots',
            'bootsie',
            'boxers',
            'brandi',
            'brent',
            'brewster',
            'bridge',
            'bronco',
            'bronte',
            'brooke',
            'brother',
            'bryan',
            'bubble',
            'buddha',
            'budgie',
            'burton',
            'butterfly',
            'byron',
            'calendar',
            'calvin1',
            'camel',
            'camille',
            'campbell',
            'camping',
            'cancer',
            'canela',
            'cannon',
            'carbon',
            'carnage',
            'carolyn',
            'carrot',
            'cascade',
            'catfish',
            'cathy',
            'catwoman',
            'cecile',
            'celica',
            'change',
            'chantal',
            'charger',
            'cherry',
            'chiara',
            'chiefs',
            'china',
            'chris123',
            'christ1',
            'christmas',
            'christopher',
            'chuck',
            'cindy1',
            'cinema',
            'civic',
            'claude',
            'clueless',
            'cobain',
            'cobra',
            'cody',
            'colette',
            'college',
            'colors',
            'colt45',
            'confused',
            'cool',
            'corvette',
            'cosmo',
            'country',
            'crusader',
            'cunningham',
            'cupcake',
            'cynthia',
            'dagger',
            'dammit',
            'dancer',
            'daphne',
            'darkstar',
            'darren',
            'darryl',
            'darwin',
            'deborah',
            'december',
            'deedee',
            'deeznuts',
            'delano',
            'delete',
            'demon',
            'denise',
            'denny',
            'desert',
            'deskjet',
            'detroit',
            'devil',
            'devine',
            'devon',
            'dexter',
            'dianne',
            'diesel',
            'director',
            'dixie',
            'dodgers',
            'doggy',
            'dollar',
            'dolly',
            'dominique',
            'domino',
            'dontknow',
            'doogie',
            'doudou',
            'downtown',
            'dragon1',
            'driver',
            'dude',
            'dudley',
            'dutchess',
            'dwight',
            'eagle1',
            'easter',
            'eastern',
            'edith',
            'edmund',
            'eight',
            'element',
            'elissa',
            'ellen',
            'elliot',
            'empire',
            'enigma',
            'enterprise',
            'erin',
            'escort',
            'estelle',
            'eugene',
            'evelyn',
            'explore',
            'family1',
            'fatboy',
            'felipe',
            'ferguson',
            'ferret',
            'ferris',
            'fireball',
            'fishes',
            'fishie',
            'flight',
            'florida1',
            'flowerpot',
            'forward',
            'freddie',
            'freebird',
            'freeman',
            'frisco',
            'fritz',
            'froggie',
            'froggies',
            'frogs',
            'fucku',
            'future',
            'gabby',
            'games',
            'garcia',
            'gaston',
            'gateway',
            'george1',
            'georgia',
            'german',
            'germany1',
            'getout',
            'ghost',
            'gibson',
            'giselle',
            'gmoney',
            'goblin',
            'goblue',
            'gollum',
            'grandma',
            'gremlin',
            'grizzly',
            'grumpy',
            'guess',
            'guitar1',
            'gustavo',
            'haggis',
            'haha',
            'hailey',
            'halloween',
            'hamilton',
            'hamlet',
            'hanna',
            'hanson',
            'happy123',
            'happyday',
            'hardcore',
            'harley1',
            'harriet',
            'harris',
            'harvard',
            'health',
            'heart',
            'heather1',
            'heather2',
            'hedgehog',
            'helene',
            'hello1',
            'hello123',
            'hellohello',
            'hermes',
            'heythere',
            'highland',
            'hilda',
            'hillary',
            'history',
            'hitler',
            'hobbes',
            'holiday',
            'holly',
            'honda1',
            'hongkong',
            'hootie',
            'horse',
            'hotrod',
            'hudson',
            'hummer',
            'huskies',
            'idiot',
            'iforget',
            'iloveu',
            'impact',
            'indonesia',
            'irina',
            'isabelle',
            'israel',
            'italia',
            'italy',
            'jackie1',
            'jacob',
            'jakey',
            'james1',
            'jamesbond',
            'jamie',
            'jamjam',
            'jeffrey1',
            'jennie',
            'jenny',
            'jensen',
            'jesse',
            'jesse1',
            'jester',
            'jethro',
            'jimbob',
            'jimmy',
            'joanna',
            'joelle',
            'john316',
            'jordie',
            'jorge',
            'josh',
            'journey',
            'joyce',
            'jubilee',
            'jules',
            'julien',
            'juliet',
            'junebug',
            'juniper',
            'justdoit',
            'karin',
            'karine',
            'karma',
            'katerina',
            'katie',
            'katie1',
            'kayla',
            'keeper',
            'keller',
            'kendall',
            'kenny',
            'ketchup',
            'kings',
            'kissme',
            'kitten',
            'kittycat',
            'kkkkkk',
            'kristi',
            'kristine',
            'labtec',
            'laddie',
            'ladybug',
            'lance',
            'laurel',
            'lawson',
            'leader',
            'leland',
            'lemon',
            'lester',
            'letter',
            'letters',
            'lexus1',
            'libra',
            'lights',
            'lionel',
            'little',
            'lizzy',
            'lolita',
            'lonestar',
            'longhorn',
            'looney',
            'loren',
            'lorna',
            'loser',
            'lovers',
            'loveyou',
            'lucia',
            'lucifer',
            'lucky14',
            'maddie',
            'madmax',
            'magic1',
            'magnum',
            'maiden',
            'maine',
            'management',
            'manson',
            'manuel',
            'marcus',
            'maria',
            'marielle',
            'marine',
            'marino',
            'marshall',
            'martha',
            'maxmax',
            'meatloaf',
            'medical',
            'megan',
            'melina',
            'memphis',
            'mermaid',
            'miami',
            'michel',
            'michigan',
            'mickey1',
            'microsoft',
            'mikael',
            'milano',
            'miles',
            'millenium',
            'million',
            'miranda',
            'miriam',
            'mission',
            'mmmmmm',
            'mobile',
            'monkey1',
            'monroe',
            'montana',
            'monty',
            'moomoo',
            'moonbeam',
            'morpheus',
            'motorola',
            'movies',
            'mozart',
            'munchkin',
            'murray',
            'mustang1',
            'nadia',
            'nadine',
            'napoleon',
            'nation',
            'national',
            'nestle',
            'newlife',
            'newyork1',
            'nichole',
            'nikita',
            'nikki',
            'nintendo',
            'nokia',
            'nomore',
            'normal',
            'norton',
            'noway',
            'nugget',
            'number9',
            'numbers',
            'nurse',
            'nutmeg',
            'ohshit',
            'oicu812',
            'omega',
            'openup',
            'orchid',
            'oreo',
            'orlando',
            'packard',
            'packers',
            'paloma',
            'pancake',
            'panic',
            'parola',
            'parrot',
            'partner',
            'pascal',
            'patches',
            'patriots',
            'paula',
            'pauline',
            'payton',
            'peach',
            'peanuts',
            'pedro1',
            'peggy',
            'perfect',
            'perry',
            'peterpan',
            'philips',
            'phillips',
            'phone',
            'pierce',
            'pigeon',
            'pink',
            'pioneer',
            'piper1',
            'pirate',
            'pisces',
            'playboy',
            'pluto',
            'poetry',
            'pontiac',
            'pookey',
            'popeye',
            'prayer',
            'precious',
            'prelude',
            'premier',
            'puddin',
            'pulsar',
            'pussy',
            'pussy1',
            'qwert',
            'qwerty12',
            'qwertyui',
            'rabbit1',
            'rachelle',
            'racoon',
            'rambo',
            'randy1',
            'ravens',
            'redman',
            'redskins',
            'reggae',
            'reggie',
            'renee',
            'renegade',
            'rescue',
            'revolution',
            'richard1',
            'richards',
            'richmond',
            'riley',
            'ripper',
            'robby',
            'roberts',
            'rock',
            'rocket1',
            'rockie',
            'rockon',
            'roger1',
            'rogers',
            'roland',
            'rommel',
            'rookie',
            'rootbeer',
            'rosie',
            'rufus',
            'rusty',
            'ruthless',
            'sabbath',
            'sabina',
            'safety',
            'saint',
            'samiam',
            'sammie',
            'sammy',
            'samsam',
            'sandi',
            'sanjose',
            'saphire',
            'sarah1',
            'saskia',
            'sassy',
            'saturday',
            'science',
            'scooby',
            'scoobydoo',
            'scooter1',
            'scorpion',
            'scotty',
            'scouts',
            'search',
            'september',
            'server',
            'seven7',
            'sexy',
            'shaggy',
            'shanny',
            'shaolin',
            'shasta',
            'shayne',
            'shelly',
            'sherry',
            'shirley',
            'shorty',
            'shotgun',
            'sidney',
            'simba1',
            'sinatra',
            'sirius',
            'skate',
            'skipper1',
            'skyler',
            'slayer',
            'sleepy',
            'slider',
            'smile1',
            'smitty',
            'smoke',
            'snakes',
            'snapper',
            'snoop',
            'solomon',
            'sophia',
            'space',
            'sparks',
            'spartan',
            'spike1',
            'sponge',
            'spurs',
            'squash',
            'stargate',
            'starlight',
            'stars',
            'steph1',
            'steve1',
            'stevens',
            'stewart',
            'stone',
            'stranger',
            'stretch',
            'strong',
            'studio',
            'stumpy',
            'sucker',
            'suckme',
            'sultan',
            'summit',
            'sunfire',
            'sunset',
            'super',
            'superstar',
            'surfing',
            'susan1',
            'sutton',
            'sweden',
            'sweetpea',
            'sweety',
            'swordfish',
            'tabatha',
            'tacobell',
            'taiwan',
            'tamtam',
            'tanner',
            'target',
            'tasha',
            'tattoo',
            'tequila',
            'terry1',
            'texas',
            'thankyou',
            'theend',
            'thompson',
            'thrasher',
            'tiger2',
            'timber',
            'timothy',
            'tinkerbell',
            'topcat',
            'topher',
            'toshiba',
            'tototo',
            'travis',
            'treasure',
            'trees',
            'tricky',
            'trish',
            'triton',
            'trombone',
            'trouble',
            'trucker',
            'turbo',
            'twins',
            'tyler1',
            'ultimate',
            'unique',
            'united',
            'ursula',
            'vacation',
            'valley',
            'vampire',
            'vanessa',
            'venice',
            'venus',
            'vermont',
            'vicki',
            'vicky',
            'victor1',
            'vincent1',
            'violet',
            'violin',
            'virgil',
            'virginia',
            'vision',
            'volley',
            'voodoo',
            'vortex',
            'waiting',
            'wanker',
            'warner',
            'water1',
            'wayne1',
            'webster',
            'weezer',
            'wendy1',
            'western',
            'white',
            'whitney',
            'whocares',
            'wildcat',
            'william1',
            'wilma',
            'window',
            'winniethepooh',
            'wolfgang',
            'wolverine',
            'wonder',
            'xxxxxxxx',
            'yamaha',
            'yankee',
            'yogibear',
            'yolanda',
            'yomama',
            'yvette',
            'zachary',
            'zebras',
            'zxcvbn',
            '00000000',
            '121212',
            '1234qwer',
            '131313',
            '13579',
            '90210',
            '99999999',
            'ABC123',
            'action',
            'amelie',
            'anaconda',
            'apollo13',
            'artist',
            'asshole',
            'benoit',
            'bernard',
            'bernie',
            'bigbird',
            'blizzard',
            'bluesky',
            'bonjour',
            'caesar',
            'cardinal',
            'carolina',
            'cesar',
            'chandler',
            'chapman',
            'charlie1',
            'chevy',
            'chiquita',
            'chocolat',
            'coco',
            'cougars',
            'courtney',
            'dolphins',
            'dominic',
            'donkey',
            'dusty',
            'eminem',
            'energy',
            'fearless',
            'forest',
            'forever',
            'glenn',
            'guinness',
            'hotdog',
            'indian',
            'jared',
            'jimbo',
            'johnson',
            'jojo',
            'josie',
            'kristin',
            'lloyd',
            'lorraine',
            'lynn',
            'maxime',
            'memory',
            'mimi',
            'mirror',
            'nebraska',
            'nemesis',
            'network',
            'nigel',
            'oatmeal',
            'patton',
            'pedro',
            'planet',
            'players',
            'portland',
            'praise',
            'psalms',
            'qwaszx',
            'raiders',
            'rambo1',
            'rancid',
            'shawn',
            'shelley',
            'softball',
            'speedo',
            'sports',
            'ssssss',
            'steele',
            'steph',
            'stephani',
            'sunday',
            'tiffany',
            'tigre',
            'toronto',
            'trixie',
            'undead',
            'valentin',
            'velvet',
            'viking',
            'walker',
            'watson',
            'young',
            'babygirl',
            'pretty',
            'hottie',
            'teamo',
            '987654321',
            'naruto',
            'spongebob',
            'daniela',
            'princesa',
            'christ',
            'blessed',
            'single',
            'qazwsx',
            'pokemon',
            'iloveyou1',
            'iloveyou2',
            'fuckyou1',
            'hahaha',
            'poop',
            'blessing',
            'blahblah',
            'blink182',
            '123qwe',
            'trinity',
            'passw0rd',
            'google',
            'looking',
            'spirit',
            'iloveyou!',
            'qwerty1',
            'onelove',
            'mylove',
            '222222',
            'ilovegod',
            'football1',
            'loving',
            'emmanuel',
            '1q2w3e4r',
            'red123',
            'blabla',
            '112233',
            'hallo',
            'spiderman',
            'simpsons',
            'monster',
            'november',
            'brooklyn',
            'poopoo',
            'darkness',
            '159753',
            'pineapple',
            'chester',
            '1qaz2wsx',
            'drowssap',
            'monkey12',
            'wordpass',
            'q1w2e3r4',
            'coolness',
            '11235813',
            'something',
            'alexandra',
            'estrella',
            'miguel',
            'iloveme',
            'sayang',
            'princess1',
            '555555',
            '999999',
            'alejandro',
            'brittany',
            'alejandra',
            'tequiero',
            'antonio',
            '987654',
            '00000',
            'fernando',
            'corazon',
            'cristina',
            'kisses',
            'myspace',
            'rebelde',
            'babygurl',
            'alyssa',
            'mahalkita',
            'gabriela',
            'pictures',
            'hellokitty',
            'babygirl1',
            'angelica',
            'mahalko',
            'mariana',
            'eduardo',
            'andres',
            'ronaldo',
            'inuyasha',
            'adriana',
            'celtic',
            'samsung',
            'angelo',
            '456789',
            'sebastian',
            'karina',
            'hotmail',
            '0123456789',
            'barcelona',
            'cameron',
            'slipknot',
            'cutiepie',
            '50cent',
            'bonita',
            'maganda',
            'babyboy',
            'natalie',
            'cuteako',
            'javier',
            '789456123',
            '123654',
            'bowwow',
            'portugal',
            '777777',
            'volleyball',
            'january',
            'cristian',
            'bianca',
            'chrisbrown',
            '101010',
            'sweet',
            'panget',
            'benfica',
            'love123',
            'lollipop',
            'camila',
            'qwertyuiop',
            'harrypotter',
            'ihateyou',
            'christine',
            'lorena',
            'andreea',
            'charmed',
            'rafael',
            'brianna',
            'aaliyah',
            'johncena',
            'lovelove',
            'gangsta',
            '333333',
            'hiphop',
            'mybaby',
            'sergio',
            'metallica',
            'myspace1',
            'babyblue',
            'badboy',
            'fernanda',
            'westlife',
            'sasuke',
            'steaua',
            'roberto',
            'slideshow',
            'asdfghjkl',
            'santiago',
            'jayson',
            '5201314',
            'jerome',
            'gandako',
            'gatita',
            'babyko',
            '246810',
            'sweetheart',
            'chivas',
            'alberto',
            'valeria',
            'nicole1',
            '12345678910',
            'leonardo',
            'jayjay',
            'liliana',
            'sexygirl',
            '232323',
            'amores',
            'anthony1',
            'bitch1',
            'fatima',
            'miamor',
            'lover',
            'lalala',
            '252525',
            'skittles',
            'colombia',
            '159357',
            'manutd',
            '123456a',
            'britney',
            'katrina',
            'christina',
            'pasaway',
            'mahal',
            'tatiana',
            'cantik',
            '0123456',
            'teiubesc',
            '147258369',
            'natalia',
            'francisco',
            'amorcito',
            'paola',
            'angelito',
            'manchester',
            'mommy1',
            '147258',
            'amigos',
            'marlon',
            'linkinpark',
            '147852',
            'diego',
            '444444',
            'iverson',
            'andrei',
            'justine',
            'frankie',
            'pimpin',
            'fashion',
            'bestfriend',
            'england',
            'hermosa',
            '456123',
            '102030',
            'sporting',
            'hearts',
            'potter',
            'iloveu2',
            'number1',
            '212121',
            'truelove',
            'jayden',
            'savannah',
            'hottie1',
            'ganda',
            'scotland',
            'ilovehim',
            'shakira',
            'estrellita',
            'brandon1',
            'sweets',
            'familia',
            'love12',
            'omarion',
            'monkeys',
            'loverboy',
            'elijah',
            'ronnie',
            'mamita',
            '999999999',
            'broken',
            'rodrigo',
            'westside',
            'mauricio',
            'amigas',
            'preciosa',
            'shopping',
            'flores',
            'isabella',
            'martinez',
            'elaine',
            'friendster',
            'cheche',
            'gracie',
            'connor',
            'valentina',
            'darling',
            'santos',
            'joanne',
            'fuckyou2',
            'pebbles',
            'sunshine1',
            'gangster',
            'gloria',
            'darkangel',
            'bettyboop',
            'jessica1',
            'cheyenne',
            'dustin',
            'iubire',
            'a123456',
            'purple1',
            'bestfriends',
            'inlove',
            'batista',
            'karla',
            'chacha',
            'marian',
            'sexyme',
            'pogiako',
            'jordan1',
            '010203',
            'daddy1',
            'daddysgirl',
            'billabong',
            'pinky',
            'erika',
            'skater',
            'nenita',
            'tigger1',
            'gatito',
            'lokita',
            'maldita',
            'buttercup',
            'bambam',
            'glitter',
            '123789',
            'sister',
            'zacefron',
            'tokiohotel',
            'loveya',
            'lovebug',
            'bubblegum',
            'marissa',
            'cecilia',
            'lollypop',
            'nicolas',
            'puppies',
            'ariana',
            'chubby',
            'sexybitch',
            'roxana',
            'mememe',
            'susana',
            'baller',
            'hotstuff',
            'carter',
            'babylove',
            'angelina',
            'playgirl',
            'sweet16',
            '012345',
            'bhebhe',
            'marcos',
            'loveme1',
            'milagros',
            'lilmama',
            'beyonce',
            'lovely1',
            'catdog',
            'armando',
            'margarita',
            '151515',
            'loves',
            '202020',
            'gerard',
            'undertaker',
            'amistad',
            'capricorn',
            'delfin',
            'cheerleader',
            'password2',
            'PASSWORD',
            'lizzie',
            'matthew1',
            'enrique',
            'badgirl',
            '141414',
            'dancing',
            'cuteme',
            'amelia',
            'skyline',
            'angeles',
            'janine',
            'carlitos',
            'justme',
            'legolas',
            'michelle1',
            'cinderella',
            'jesuschrist',
            'ilovejesus',
            'tazmania',
            'tekiero',
            'thebest',
            'princesita',
            'lucky7',
            'jesucristo',
            'buddy1',
            'regina',
            'myself',
            'lipgloss',
            'jazmin',
            'rosita',
            'chichi',
            'pangit',
            'mierda',
            '741852963',
            'hernandez',
            'arturo',
            'silvia',
            'melvin',
            'celeste',
            'pussycat',
            'gorgeous',
            'honeyko',
            'mylife',
            'babyboo',
            'loveu',
            'lupita',
            'panthers',
            'hollywood',
            'alfredo',
            'musica',
            'hawaii',
            'sparkle',
            'kristina',
            'sexymama',
            'crazy',
            'scarface',
            '098765',
            'hayden',
            'micheal',
            '242424',
            '0987654321',
            'marisol',
            'jeremiah',
            'mhine',
            'isaiah',
            'lolipop',
            'butterfly1',
            'xbox360',
            'madalina',
            'anamaria',
            'yourmom',
            'jasmine1',
            'bubbles1',
            'beatriz',
            'diamonds',
            'friendship',
            'sweetness',
            'desiree',
            '741852',
            'hannah1',
            'bananas',
            'julius',
            'leanne',
            'marie1',
            'lover1',
            'twinkle',
            'february',
            'bebita',
            '87654321',
            'twilight',
            'imissyou',
            'pollito',
            'ashlee',
            'cookie1',
            '147852369',
            'beckham',
            'simone',
            'nursing',
            'torres',
            'damian',
            '123123123',
            'joshua1',
            'babyface',
            'dinamo',
            'mommy',
            'juliana',
            'cassandra',
            'redsox',
            'gundam',
            '0000',
            'ou812',
            'dave',
            'golf',
            'molson',
            'Monday',
            'newpass',
            'thx1138',
            '1',
            'Internet',
            'coke',
            'foobar',
            'abc',
            'fish',
            'fred',
            'help',
            'ncc1701d',
            'newuser',
            'none',
            'pat',
            'dog',
            'duck',
            'duke',
            'floyd',
            'guest',
            'joe',
            'kingfish',
            'micro',
            'sam',
            'telecom',
            'test1',
            '7777',
            'absolut',
            'babylon5',
            'backup',
            'bill',
            'bird33',
            'deliver',
            'fire',
            'flip',
            'galileo',
            'gopher',
            'hansolo',
            'jane',
            'jim',
            'mom',
            'passwd',
            'phil',
            'phish',
            'porsche911',
            'rain',
            'red',
            'sergei',
            'training',
            'truck',
            'video',
            'volvo',
            '007',
            '1969',
            '5683',
            'Bond007',
            'Friday',
            'Hendrix',
            'October',
            'Taurus',
            'aaa',
            'alexandr',
            'catalog',
            'challenge',
            'clipper',
            'coltrane',
            'cyrano',
            'dan',
            'dawn',
            'dean',
            'deutsch',
            'dilbert',
            'e-mail',
            'export',
            'ford',
            'fountain',
            'fox',
            'frog',
            'gabriell',
            'garlic',
            'goforit',
            'grateful',
            'hoops',
            'lady',
            'ledzep',
            'lee',
            'mailman',
            'mantra',
            'market',
            'mazda1',
            'metallic',
            'ncc1701e',
            'nesbitt',
            'open',
            'pete',
            'quest',
            'republic',
            'research',
            'supra',
            'tara',
            'testing',
            'xanadu',
            'xxxx',
            'zaphod',
            'zeus',
            '0007',
            '1022',
            '10sne1',
            '1973',
            '1978',
            '2000',
            '2222',
            '3bears',
            'Broadway',
            'Fisher',
            'Jeanne',
            'Killer',
            'Knight',
            'Master',
            'Pepper',
            'Sierra',
            'Tennis',
            'abacab',
            'abcd',
            'ace',
            'acropolis',
            'amy',
            'anders',
            'avenir',
            'basil',
            'bass',
            'beer',
            'ben',
            'bliss',
            'blowfish',
            'boss',
            'bridges',
            'buck',
            'bugsy',
            'bull',
            'cannondale',
            'canon',
            'catnip',
            'chip',
            'civil',
            'content',
            'cook',
            'cordelia',
            'crack1',
            'cyber',
            'daisie',
            'dark1',
            'database',
            'deadhead',
            'denali',
            'depeche',
            'dickens',
            'emmitt',
            'entropy',
            'farout',
            'farside',
            'feedback',
            'fidel',
            'firenze',
            'fish1',
            'fletch',
            'fool',
            'fozzie',
            'fun',
            'gargoyle',
            'gasman',
            'gold',
            'graphic',
            'hell',
            'image',
            'intern',
            'intrepid',
            'jeff',
            'jkl123',
            'joel',
            'johanna1',
            'kidder',
            'kim',
            'king',
            'kirk',
            'kris',
            'lambda',
            'leon',
            'logical',
            'lorrie',
            'major',
            'mariner',
            'mark1',
            'max',
            'media',
            'merlot',
            'midway',
            'mine',
            'mmouse',
            'moon',
            'mopar',
            'mortimer',
            'nermal',
            'nina',
            'olsen',
            'opera',
            'overkill',
            'pacers',
            'packer',
            'picard',
            'polar',
            'polo',
            'primus',
            'prometheus',
            'public',
            'radio',
            'rastafarian',
            'reptile',
            'rob',
            'robotech',
            'rodeo',
            'rolex',
            'rouge',
            'roy',
            'ruby',
            'salasana',
            'scarecrow',
            'scout',
            'scuba1',
            'sergey',
            'skibum',
            'skunk',
            'sound',
            'starter',
            'sting1',
            'sunbird',
            'tbird',
            'teflon',
            'temporal',
            'terminal',
            'the',
            'thejudge',
            'time',
            'toby',
            'today',
            'tokyo',
            'tree',
            'trout',
            'vader',
            'val',
            'valhalla',
            'windsurf',
            'wolf',
            'wolf1',
            'xcountry',
            'yoda',
            'yukon',
            '1213',
            '1214',
            '1225',
            '1313',
            '1818',
            '1975',
            '1977',
            '1991',
            '1kitty',
            '2001',
            '2020',
            '2112',
            '2kids',
            '333',
            '4444',
            '5050',
            '57chevy',
            '7dwarfs',
            'Animals',
            'Ariel',
            'Bismillah',
            'Booboo',
            'Boston',
            'Carol',
            'Computer',
            'Creative',
            'Curtis',
            'Denise',
            'Eagles',
            'Esther',
            'Fishing',
            'Freddy',
            'Gandalf',
            'Golden',
            'Goober',
            'Hacker',
            'Harley',
            'Henry',
            'Hershey',
            'Jackson',
            'Jersey',
            'Joanna',
            'Johnson',
            'Katie',
            'Kitten',
            'Liberty',
            'Lindsay',
            'Lizard',
            'Madeline',
            'Margaret',
            'Maxwell',
            'Money',
            'Monster',
            'Pamela',
            'Peaches',
            'Peter',
            'Phoenix',
            'Piglet',
            'Pookie',
            'Rabbit',
            'Raiders',
            'Random',
            'Russell',
            'Sammy',
            'Saturn',
            'Skeeter',
            'Smokey',
            'Sparky',
            'Speedy',
            'Sterling',
            'Theresa',
            'Thunder',
            'Vincent',
            'Willow',
            'Winnie',
            'Wolverine',
            'aaaa',
            'aardvark',
            'abbott',
            'acura',
            'admin',
            'admin1',
            'adrock',
            'aerobics',
            'agent',
            'airwolf',
            'ali',
            'alien',
            'allegro',
            'allstate',
            'altamira',
            'altima1',
            'andrew!',
            'ann',
            'anne',
            'anneli',
            'aptiva',
            'arrow',
            'asdf;lkj',
            'assmunch',
            'baraka',
            'barnyard',
            'bart',
            'bartman',
            'beasty',
            'beavis1',
            'bebe',
            'belgium',
            'beowulf',
            'beryl',
            'best',
            'bharat',
            'bichon',
            'bigal',
            'biker',
            'bilbo',
            'bills',
            'bimmer',
            'biochem',
            'birdy',
            'blinds',
            'blitz',
            'bluejean',
            'bogey',
            'bogus',
            'boulder',
            'bourbon',
            'boxer',
            'brain',
            'branch',
            'britain',
            'broker',
            'bucks',
            'buffett',
            'bugs',
            'bulls',
            'burns',
            'buzz',
            'c00per',
            'calgary',
            'camay',
            'carl',
            'cat',
            'cement',
            'cessna',
            'chad',
            'chainsaw',
            'chameleon',
            'chang',
            'chess',
            'chinook',
            'chouette',
            'chronos',
            'cicero',
            'circuit',
            'cirque',
            'cirrus',
            'clapton',
            'clarkson',
            'class',
            'claudel',
            'cleo',
            'cliff',
            'clock',
            'color',
            'comet',
            'concept',
            'concorde',
            'coolbean',
            'corky',
            'cornflake',
            'corwin',
            'cows',
            'crescent',
            'cross',
            'crowley',
            'cthulhu',
            'cunt',
            'current',
            'cutlass',
            'daedalus',
            'dagger1',
            'daily',
            'dale',
            'dana',
            'daytek',
            'dead',
            'decker',
            'dharma',
            'dillweed',
            'dipper',
            'disco',
            'dixon',
            'doitnow',
            'doors',
            'dork',
            'doug',
            'dutch',
            'effie',
            'ella',
            'elsie',
            'engage',
            'eric1',
            'ernie1',
            'escort1',
            'excel',
            'faculty',
            'fairview',
            'faust',
            'fenris',
            'finance',
            'first',
            'fishhead',
            'flanders',
            'fleurs',
            'flute',
            'flyboy',
            'flyer',
            'franka',
            'frederic',
            'free',
            'front242',
            'frontier',
            'fugazi',
            'funtime',
            'gaby',
            'gaelic',
            'gambler',
            'gammaphi',
            'garfunkel',
            'garth',
            'gary',
            'gateway2',
            'gator1',
            'gibbons',
            'gigi',
            'gilgamesh',
            'goat',
            'godiva',
            'goethe',
            'gofish',
            'good',
            'gramps',
            'gravis',
            'gray',
            'greed',
            'greg',
            'greg1',
            'greta',
            'gretzky',
            'guido',
            'gumby',
            'h2opolo',
            'hamid',
            'hank',
            'hawkeye1',
            'health1',
            'hello8',
            'help123',
            'helper',
            'homerj',
            'hoosier',
            'hope',
            'huang',
            'hugo',
            'hydrogen',
            'ib6ub9',
            'insight',
            'instructor',
            'integral',
            'iomega',
            'iris',
            'izzy',
            'jazz',
            'jean',
            'jeepster',
            'jetta1',
            'joanie',
            'josee',
            'joy',
            'julia2',
            'jumbo',
            'jump',
            'justice4',
            'kalamazoo',
            'kali',
            'kat',
            'kate',
            'kerala',
            'kids',
            'kiwi',
            'kleenex',
            'kombat',
            'lamer',
            'laser',
            'laserjet',
            'lassie1',
            'leblanc',
            'legal',
            'leo',
            'life',
            'lions',
            'liz',
            'logger',
            'logos',
            'loislane',
            'loki',
            'longer',
            'lori',
            'lost',
            'lotus',
            'lou',
            'macha',
            'macross',
            'madoka',
            'makeitso',
            'mallard',
            'marc',
            'math',
            'mattingly',
            'mechanic',
            'meister',
            'mercer',
            'merde',
            'merrill',
            'michal',
            'michou',
            'mickel',
            'minou',
            'mobydick',
            'modem',
            'mojo',
            'montana3',
            'montrose',
            'motor',
            'mowgli',
            'mulder1',
            'muscle',
            'neil',
            'neutrino',
            'newaccount',
            'nicklaus',
            'nightshade',
            'nightwing',
            'nike',
            'none1',
            'nopass',
            'nouveau',
            'novell',
            'oaxaca',
            'obiwan',
            'obsession',
            'orville',
            'otter',
            'ozzy',
            'packrat',
            'paint',
            'papa',
            'paradigm',
            'pass',
            'pavel',
            'peterk',
            'phialpha',
            'phishy',
            'piano1',
            'pianoman',
            'pianos',
            'pipeline',
            'plato',
            'play',
            'poetic',
            'print',
            'printing',
            'provider',
            'qqq111',
            'quebec',
            'qwer',
            'racer',
            'racerx',
            'radar',
            'rafiki',
            'raleigh',
            'rasta1',
            'redcloud',
            'redfish',
            'redwing',
            'redwood',
            'reed',
            'rene',
            'reznor',
            'rhino',
            'ripple',
            'rita',
            'robocop',
            'robotics',
            'roche',
            'roni',
            'rossignol',
            'rugger',
            'safety1',
            'saigon',
            'satori',
            'saturn5',
            'schnapps',
            'scotch',
            'scuba',
            'secret3',
            'seeker',
            'services',
            'sex',
            'shanghai',
            'shazam',
            'shelter',
            'sigmachi',
            'signal',
            'signature',
            'simsim',
            'skydive',
            'slick',
            'smegma',
            'smiths',
            'smurfy',
            'snow',
            'sober1',
            'sonics',
            'sony',
            'spazz',
            'sphynx',
            'spock',
            'spoon',
            'spot',
            'sprocket',
            'starbuck',
            'steel',
            'stephi',
            'sting',
            'stocks',
            'storage',
            'strat',
            'strato',
            'stud',
            'student2',
            'susanna',
            'swanson',
            'swim',
            'switzer',
            'system5',
            't-bone',
            'talon',
            'tarheel',
            'tata',
            'tazdevil',
            'tester',
            'testtest',
            'thisisit',
            'thorne',
            'tightend',
            'tim',
            'tom',
            'tool',
            'total',
            'toucan',
            'transfer',
            'transit',
            'transport',
            'trapper',
            'trash',
            'trophy',
            'tucson',
            'turbo2',
            'unity',
            'upsilon',
            'vedder',
            'vette',
            'vikram',
            'virago',
            'visual',
            'volcano',
            'walden',
            'waldo',
            'walleye',
            'webmaster',
            'wedge',
            'whale1',
            'whit',
            'whoville',
            'wibble',
            'will',
            'wombat1',
            'word',
            'world',
            'x-files',
            'xxx123',
            'zack',
            'zepplin',
            'zoltan',
            'zoomer',
            '123go',
            '21122112',
            '5555',
            '911',
            'FuckYou',
            'Fuckyou',
            'Gizmo',
            'Hello',
            'Michel',
            'Qwerty',
            'Windows',
            'angus',
            'aspen',
            'ass',
            'bird',
            'booster',
            'byteme',
            'cats',
            'changeit',
            'christia',
            'christoph',
            'classroom',
            'cloclo',
            'corrado',
            'dasha',
            'fiction',
            'french1',
            'fubar',
            'gator',
            'gilles',
            'gocougs',
            'hilbert',
            'hola',
            'home',
            'judy',
            'koko',
            'lulu',
            'mac',
            'macintosh',
            'mailer',
            'mars',
            'meow',
            'ne1469',
            'niki',
            'paul',
            'politics',
            'pomme',
            'property',
            'ruth',
            'sales',
            'salut',
            'scrooge',
            'skidoo',
            'spain',
            'surf',
            'sylvie',
            'symbol',
            'forum',
            'rotimi',
            'god',
            'saved',
            '2580',
            '1998',
            'xxx',
            '1928',
            '777',
            'info',
            'a',
            'netware',
            'sun',
            'tech',
            'doom',
            'mmm',
            'one',
            'ppp',
            '1911',
            '1948',
            '1996',
            '5252',
            'Champs',
            'Tuesday',
            'bach',
            'crow',
            'don',
            'draft',
            'hal9000',
            'herzog',
            'huey',
            'jethrotull',
            'jussi',
            'mail',
            'miki',
            'nicarao',
            'snowski',
            '1316',
            '1412',
            '1430',
            '1952',
            '1953',
            '1955',
            '1956',
            '1960',
            '1964',
            '1qw23e',
            '22',
            '2200',
            '2252',
            '3010',
            '3112',
            '4788',
            '6262',
            'Alpha',
            'Bastard',
            'Beavis',
            'Cardinal',
            'Celtics',
            'Cougar',
            'Darkman',
            'Figaro',
            'Fortune',
            'Geronimo',
            'Hammer',
            'Homer',
            'Janet',
            'Mellon',
            'Merlot',
            'Metallic',
            'Montreal',
            'Newton',
            'Paladin',
            'Peanuts',
            'Service',
            'Vernon',
            'Waterloo',
            'Webster',
            'aki123',
            'aqua',
            'aylmer',
            'beta',
            'bozo',
            'car',
            'chat',
            'chinacat',
            'cora',
            'courier',
            'dogbert',
            'eieio',
            'elina1',
            'fly',
            'funguy',
            'fuzz',
            'ggeorge',
            'glider1',
            'gone',
            'hawk',
            'heikki',
            'histoire',
            'hugh',
            'if6was9',
            'ingvar',
            'jan',
            'jedi',
            'jimi',
            'juhani',
            'khan',
            'lima',
            'midvale',
            'neko',
            'nesbit',
            'nexus6',
            'nisse',
            'notta1',
            'pam',
            'park',
            'pole',
            'pope',
            'pyro',
            'ram',
            'reliant',
            'rex',
            'rush',
            'seoul',
            'skip',
            'stan',
            'sue',
            'suzy',
            'tab',
            'testi',
            'thelorax',
            'tika',
            'tnt',
            'toto1',
            'tre',
            'wind',
            'x-men',
            'xyz',
            'zxc',
            '369',
            'Abcdef',
            'Asdfgh',
            'Changeme',
            'NCC1701',
            'Zxcvbnm',
            'demo',
            'doom2',
            'e',
            'good-luck',
            'homebrew',
            'm1911a1',
            'nat',
            'ne1410s',
            'ne14a69',
            'zhongguo',
            'sample123',
            '0852',
            'basf',
            'OU812',
            '!@#$%',
            'informix',
            'majordomo',
            'news',
            'temp',
            'trek',
            '!@#$%^',
            '!@#$%^&*',
            'Pentium',
            'Raistlin',
            'adi',
            'bmw',
            'law',
            'm',
            'new',
            'opus',
            'plus',
            'visa',
            'www',
            'y',
            'zzz',
            '1332',
            '1950',
            '3141',
            '3533',
            '4055',
            '4854',
            '6301',
            'Bonzo',
            'ChangeMe',
            'Front242',
            'Gretel',
            'Michel1',
            'Noriko',
            'Sidekick',
            'Sverige',
            'Swoosh',
            'Woodrow',
            'aa',
            'ayelet',
            'barn',
            'betacam',
            'biz',
            'boat',
            'cuda',
            'doc',
            'hal',
            'hallowell',
            'haro',
            'hosehead',
            'i',
            'ilmari',
            'irmeli',
            'j1l2t3',
            'jer',
            'kcin',
            'kerrya',
            'kissa2',
            'leaf',
            'lissabon',
            'mart',
            'matti1',
            'mech',
            'morecats',
            'paagal',
            'performa',
            'prof',
            'ratio',
            'ship',
            'slip',
            'stivers',
            'tapani',
            'targas',
            'test2',
            'test3',
            'tula',
            'unix',
            'user1',
            'xanth',
            '!@#$%^&',
            '1701d',
            '@#$%^&',
            'Qwert',
            'allo',
            'dirk',
            'go',
            'newcourt',
            'nite',
            'notused',
            'sss']
  
  def CreatePasswordVerifier_Method1(password):
      verifier = 0
      password = password[:15]
      passwordarray = struct.pack('B', len(password)) + password.encode()
      for passwordbyte in passwordarray[::-1]:
          if verifier & 0x4000 == 0x0:
              intermediate1 = 0
          else:
              intermediate1 = 1
          intermediate2 = verifier * 2
          intermediate2 = intermediate2 & 0x7FFF
          intermediate3 = intermediate1 | intermediate2
          verifier = intermediate3 ^ P23Ord(passwordbyte)
      return verifier ^ 0xCE4B
  
  def AnalyzeXORObfuscationStructure(data, passwordlistFilename):
      key, verifier = struct.unpack('<HH', data)
      password = None
      for candidate in GetDictionary(passwordlistFilename):
          if CreatePasswordVerifier_Method1(candidate) == verifier:
              password = candidate
              break
      return key, verifier, password
  
  def rol(byte, count):
      return (byte << count | byte >> (8 - count)) & 0xFF
  
  def ror(byte, count):
      return (byte >> count | byte << (8 - count)) & 0xFF
  
  def RorBytes(data, index):
      return data[index:] + data[:index]
  
  def Xor(data, key):
      if sys.version_info[0] > 2:
          return bytes([byte ^ key[index % len(key)] for index, byte in enumerate(data)])
      else:
          return ''.join([chr(ord(char) ^ ord(key[index % len(key)])) for index, char in enumerate(data)])
  
  def XorDeobfuscate(data, key, position):
      return bytes([ror(byte, 5) for byte in Xor(data, RorBytes(key, position % 16))])
  
  def FindOpcodeInLine(opcodes, line):
      for opcode in opcodes.split(','):
          if opcode.lower() in line.lower():
              return True
      return False
  
  def GetDictionary(passwordfile):
      if passwordfile != '.':
          return File2Strings(passwordfile)
      else:
  # https://github.com/magnumripper/JohnTheRipper/blob/bleeding-jumbo/run/password.lst
          return [
            'infected',
            'P@ssw0rd',
            'VelvetSweatshop',
            '123456',
            '12345',
            'password',
            'password1',
            '123456789',
            '12345678',
            '1234567890',
            'abc123',
            'computer',
            'tigger',
            '1234',
            'qwerty',
            'money',
            'carmen',
            'mickey',
            'secret',
            'summer',
            'internet',
            'a1b2c3',
            '123',
            'service',
            'canada',
            'hello',
            'ranger',
            'shadow',
            'baseball',
            'donald',
            'harley',
            'hockey',
            'letmein',
            'maggie',
            'mike',
            'mustang',
            'snoopy',
            'buster',
            'dragon',
            'jordan',
            'michael',
            'michelle',
            'mindy',
            'patrick',
            '123abc',
            'andrew',
            'bear',
            'calvin',
            'changeme',
            'diamond',
            'fuckme',
            'fuckyou',
            'matthew',
            'miller',
            'tiger',
            'trustno1',
            'alex',
            'apple',
            'avalon',
            'brandy',
            'chelsea',
            'coffee',
            'falcon',
            'freedom',
            'gandalf',
            'green',
            'helpme',
            'linda',
            'magic',
            'merlin',
            'newyork',
            'soccer',
            'thomas',
            'wizard',
            'asdfgh',
            'bandit',
            'batman',
            'boris',
            'butthead',
            'dorothy',
            'eeyore',
            'fishing',
            'football',
            'george',
            'happy',
            'iloveyou',
            'jennifer',
            'jonathan',
            'love',
            'marina',
            'master',
            'missy',
            'monday',
            'monkey',
            'natasha',
            'ncc1701',
            'pamela',
            'pepper',
            'piglet',
            'poohbear',
            'pookie',
            'rabbit',
            'rachel',
            'rocket',
            'rose',
            'smile',
            'sparky',
            'spring',
            'steven',
            'success',
            'sunshine',
            'victoria',
            'whatever',
            'zapata',
            '8675309',
            'amanda',
            'andy',
            'angel',
            'august',
            'barney',
            'biteme',
            'boomer',
            'brian',
            'casey',
            'cowboy',
            'delta',
            'doctor',
            'fisher',
            'island',
            'john',
            'joshua',
            'karen',
            'marley',
            'orange',
            'please',
            'rascal',
            'richard',
            'sarah',
            'scooter',
            'shalom',
            'silver',
            'skippy',
            'stanley',
            'taylor',
            'welcome',
            'zephyr',
            '111111',
            'aaaaaa',
            'access',
            'albert',
            'alexander',
            'andrea',
            'anna',
            'anthony',
            'asdfjkl;',
            'ashley',
            'basketball',
            'beavis',
            'black',
            'bob',
            'booboo',
            'bradley',
            'brandon',
            'buddy',
            'caitlin',
            'camaro',
            'charlie',
            'chicken',
            'chris',
            'cindy',
            'cricket',
            'dakota',
            'dallas',
            'daniel',
            'david',
            'debbie',
            'dolphin',
            'elephant',
            'emily',
            'friend',
            'fucker',
            'ginger',
            'goodluck',
            'hammer',
            'heather',
            'iceman',
            'jason',
            'jessica',
            'jesus',
            'joseph',
            'jupiter',
            'justin',
            'kevin',
            'knight',
            'lacrosse',
            'lakers',
            'lizard',
            'madison',
            'mary',
            'mother',
            'muffin',
            'murphy',
            'nirvana',
            'paris',
            'pentium',
            'phoenix',
            'picture',
            'rainbow',
            'sandy',
            'saturn',
            'scott',
            'shannon',
            'shithead',
            'skeeter',
            'sophie',
            'special',
            'stephanie',
            'stephen',
            'steve',
            'sweetie',
            'teacher',
            'tennis',
            'test',
            'test123',
            'tommy',
            'topgun',
            'tristan',
            'wally',
            'william',
            'wilson',
            '1q2w3e',
            '654321',
            '666666',
            'a12345',
            'a1b2c3d4',
            'alpha',
            'amber',
            'angela',
            'angie',
            'archie',
            'asdf',
            'blazer',
            'bond007',
            'booger',
            'charles',
            'christin',
            'claire',
            'control',
            'danny',
            'david1',
            'dennis',
            'digital',
            'disney',
            'edward',
            'elvis',
            'felix',
            'flipper',
            'franklin',
            'frodo',
            'honda',
            'horses',
            'hunter',
            'indigo',
            'james',
            'jasper',
            'jeremy',
            'julian',
            'kelsey',
            'killer',
            'lauren',
            'marie',
            'maryjane',
            'matrix',
            'maverick',
            'mayday',
            'mercury',
            'mitchell',
            'morgan',
            'mountain',
            'niners',
            'nothing',
            'oliver',
            'peace',
            'peanut',
            'pearljam',
            'phantom',
            'popcorn',
            'princess',
            'psycho',
            'pumpkin',
            'purple',
            'randy',
            'rebecca',
            'reddog',
            'robert',
            'rocky',
            'roses',
            'salmon',
            'samson',
            'sharon',
            'sierra',
            'smokey',
            'startrek',
            'steelers',
            'stimpy',
            'sunflower',
            'superman',
            'support',
            'sydney',
            'techno',
            'walter',
            'willie',
            'willow',
            'winner',
            'ziggy',
            'zxcvbnm',
            'alaska',
            'alexis',
            'alice',
            'animal',
            'apples',
            'barbara',
            'benjamin',
            'billy',
            'blue',
            'bluebird',
            'bobby',
            'bonnie',
            'bubba',
            'camera',
            'chocolate',
            'clark',
            'claudia',
            'cocacola',
            'compton',
            'connect',
            'cookie',
            'cruise',
            'douglas',
            'dreamer',
            'dreams',
            'duckie',
            'eagles',
            'eddie',
            'einstein',
            'enter',
            'explorer',
            'faith',
            'family',
            'ferrari',
            'flamingo',
            'flower',
            'foxtrot',
            'francis',
            'freddy',
            'friday',
            'froggy',
            'giants',
            'gizmo',
            'global',
            'goofy',
            'happy1',
            'hendrix',
            'henry',
            'herman',
            'homer',
            'honey',
            'house',
            'houston',
            'iguana',
            'indiana',
            'insane',
            'inside',
            'irish',
            'ironman',
            'jake',
            'jasmin',
            'jeanne',
            'jerry',
            'joey',
            'justice',
            'katherine',
            'kermit',
            'kitty',
            'koala',
            'larry',
            'leslie',
            'logan',
            'lucky',
            'mark',
            'martin',
            'matt',
            'minnie',
            'misty',
            'mitch',
            'mouse',
            'nancy',
            'nascar',
            'nelson',
            'pantera',
            'parker',
            'penguin',
            'peter',
            'piano',
            'pizza',
            'prince',
            'punkin',
            'pyramid',
            'raymond',
            'robin',
            'roger',
            'rosebud',
            'route66',
            'royal',
            'running',
            'sadie',
            'sasha',
            'security',
            'sheena',
            'sheila',
            'skiing',
            'snapple',
            'snowball',
            'sparrow',
            'spencer',
            'spike',
            'star',
            'stealth',
            'student',
            'sunny',
            'sylvia',
            'tamara',
            'taurus',
            'teresa',
            'theresa',
            'thunderbird',
            'tigers',
            'tony',
            'toyota',
            'travel',
            'tuesday',
            'victory',
            'viper1',
            'wesley',
            'whisky',
            'winnie',
            'winter',
            'wolves',
            'xyz123',
            'zorro',
            '123123',
            '1234567',
            '696969',
            '888888',
            'Anthony',
            'Joshua',
            'Matthew',
            'Tigger',
            'aaron',
            'abby',
            'abcdef',
            'adidas',
            'adrian',
            'alfred',
            'arthur',
            'athena',
            'austin',
            'awesome',
            'badger',
            'bamboo',
            'beagle',
            'bears',
            'beatles',
            'beautiful',
            'beaver',
            'benny',
            'bigmac',
            'bingo',
            'bitch',
            'blonde',
            'boogie',
            'boston',
            'brenda',
            'bright',
            'bubba1',
            'bubbles',
            'buffy',
            'button',
            'buttons',
            'cactus',
            'candy',
            'captain',
            'carlos',
            'caroline',
            'carrie',
            'casper',
            'catch22',
            'chance',
            'charity',
            'charlotte',
            'cheese',
            'cheryl',
            'chloe',
            'chris1',
            'clancy',
            'compaq',
            'conrad',
            'cooper',
            'cooter',
            'copper',
            'cosmos',
            'cougar',
            'cracker',
            'crawford',
            'crystal',
            'curtis',
            'cyclone',
            'dance',
            'diablo',
            'dollars',
            'dookie',
            'dumbass',
            'dundee',
            'elizabeth',
            'eric',
            'europe',
            'farmer',
            'firebird',
            'fletcher',
            'fluffy',
            'france',
            'freak1',
            'friends',
            'fuckoff',
            'gabriel',
            'galaxy',
            'gambit',
            'garden',
            'garfield',
            'garnet',
            'genesis',
            'genius',
            'godzilla',
            'golfer',
            'goober',
            'grace',
            'greenday',
            'groovy',
            'grover',
            'guitar',
            'hacker',
            'harry',
            'hazel',
            'hector',
            'herbert',
            'horizon',
            'hornet',
            'howard',
            'icecream',
            'imagine',
            'impala',
            'jack',
            'janice',
            'jasmine',
            'jason1',
            'jeanette',
            'jeffrey',
            'jenifer',
            'jenni',
            'jesus1',
            'jewels',
            'joker',
            'julie',
            'julie1',
            'junior',
            'justin1',
            'kathleen',
            'keith',
            'kelly',
            'kelly1',
            'kennedy',
            'kevin1',
            'knicks',
            'larry1',
            'leonard',
            'lestat',
            'library',
            'lincoln',
            'lionking',
            'london',
            'louise',
            'lucky1',
            'lucy',
            'maddog',
            'margaret',
            'mariposa',
            'marlboro',
            'martin1',
            'marty',
            'master1',
            'mensuck',
            'mercedes',
            'metal',
            'midori',
            'mikey',
            'millie',
            'mirage',
            'molly',
            'monet',
            'money1',
            'monica',
            'monopoly',
            'mookie',
            'moose',
            'moroni',
            'music',
            'naomi',
            'nathan',
            'nguyen',
            'nicholas',
            'nicole',
            'nimrod',
            'october',
            'olive',
            'olivia',
            'online',
            'oscar',
            'oxford',
            'pacific',
            'painter',
            'peaches',
            'penelope',
            'pepsi',
            'petunia',
            'philip',
            'phoenix1',
            'photo',
            'pickle',
            'player',
            'poiuyt',
            'porsche',
            'porter',
            'puppy',
            'python',
            'quality',
            'raquel',
            'raven',
            'remember',
            'robbie',
            'robert1',
            'roman',
            'rugby',
            'runner',
            'russell',
            'ryan',
            'sailing',
            'sailor',
            'samantha',
            'savage',
            'scarlett',
            'school',
            'sean',
            'seven',
            'shadow1',
            'sheba',
            'shelby',
            'shit',
            'shoes',
            'simba',
            'simple',
            'skipper',
            'smiley',
            'snake',
            'snickers',
            'sniper',
            'snoopdog',
            'snowman',
            'sonic',
            'spitfire',
            'sprite',
            'spunky',
            'starwars',
            'station',
            'stella',
            'stingray',
            'storm',
            'stormy',
            'stupid',
            'sunny1',
            'sunrise',
            'surfer',
            'susan',
            'tammy',
            'tango',
            'tanya',
            'teddy1',
            'theboss',
            'theking',
            'thumper',
            'tina',
            'tintin',
            'tomcat',
            'trebor',
            'trevor',
            'tweety',
            'unicorn',
            'valentine',
            'valerie',
            'vanilla',
            'veronica',
            'victor',
            'vincent',
            'viper',
            'warrior',
            'warriors',
            'weasel',
            'wheels',
            'wilbur',
            'winston',
            'wisdom',
            'wombat',
            'xavier',
            'yellow',
            'zeppelin',
            '1111',
            '1212',
            'Andrew',
            'Family',
            'Friends',
            'Michael',
            'Michelle',
            'Snoopy',
            'abcd1234',
            'abcdefg',
            'abigail',
            'account',
            'adam',
            'alex1',
            'alice1',
            'allison',
            'alpine',
            'andre1',
            'andrea1',
            'angel1',
            'anita',
            'annette',
            'antares',
            'apache',
            'apollo',
            'aragorn',
            'arizona',
            'arnold',
            'arsenal',
            'asdfasdf',
            'asdfg',
            'asdfghjk',
            'avenger',
            'baby',
            'babydoll',
            'bailey',
            'banana',
            'barry',
            'basket',
            'batman1',
            'beaner',
            'beast',
            'beatrice',
            'bella',
            'bertha',
            'bigben',
            'bigdog',
            'biggles',
            'bigman',
            'binky',
            'biology',
            'bishop',
            'blondie',
            'bluefish',
            'bobcat',
            'bosco',
            'braves',
            'brazil',
            'bruce',
            'bruno',
            'brutus',
            'buffalo',
            'bulldog',
            'bullet',
            'bullshit',
            'bunny',
            'business',
            'butch',
            'butler',
            'butter',
            'california',
            'carebear',
            'carol',
            'carol1',
            'carole',
            'cassie',
            'castle',
            'catalina',
            'catherine',
            'cccccc',
            'celine',
            'center',
            'champion',
            'chanel',
            'chaos',
            'chelsea1',
            'chester1',
            'chicago',
            'chico',
            'christian',
            'christy',
            'church',
            'cinder',
            'colleen',
            'colorado',
            'columbia',
            'commander',
            'connie',
            'cookies',
            'cooking',
            'corona',
            'cowboys',
            'coyote',
            'craig',
            'creative',
            'cuddles',
            'cuervo',
            'cutie',
            'daddy',
            'daisy',
            'daniel1',
            'danielle',
            'davids',
            'death',
            'denis',
            'derek',
            'design',
            'destiny',
            'diana',
            'diane',
            'dickhead',
            'digger',
            'dodger',
            'donna',
            'dougie',
            'dragonfly',
            'dylan',
            'eagle',
            'eclipse',
            'electric',
            'emerald',
            'etoile',
            'excalibur',
            'express',
            'fender',
            'fiona',
            'fireman',
            'flash',
            'florida',
            'flowers',
            'foster',
            'francesco',
            'francine',
            'francois',
            'frank',
            'french',
            'fuckface',
            'gemini',
            'general',
            'gerald',
            'germany',
            'gilbert',
            'goaway',
            'golden',
            'goldfish',
            'goose',
            'gordon',
            'graham',
            'grant',
            'gregory',
            'gretchen',
            'gunner',
            'hannah',
            'harold',
            'harrison',
            'harvey',
            'hawkeye',
            'heaven',
            'heidi',
            'helen',
            'helena',
            'hithere',
            'hobbit',
            'ibanez',
            'idontknow',
            'integra',
            'ireland',
            'irene',
            'isaac',
            'isabel',
            'jackass',
            'jackie',
            'jackson',
            'jaguar',
            'jamaica',
            'japan',
            'jenny1',
            'jessie',
            'johan',
            'johnny',
            'joker1',
            'jordan23',
            'judith',
            'julia',
            'jumanji',
            'kangaroo',
            'karen1',
            'kathy',
            'keepout',
            'keith1',
            'kenneth',
            'kimberly',
            'kingdom',
            'kitkat',
            'kramer',
            'kristen',
            'laura',
            'laurie',
            'lawrence',
            'lawyer',
            'legend',
            'liberty',
            'light',
            'lindsay',
            'lindsey',
            'lisa',
            'liverpool',
            'lola',
            'lonely',
            'louis',
            'lovely',
            'loveme',
            'lucas',
            'madonna',
            'malcolm',
            'malibu',
            'marathon',
            'marcel',
            'maria1',
            'mariah',
            'mariah1',
            'marilyn',
            'mario',
            'marvin',
            'maurice',
            'maxine',
            'maxwell',
            'me',
            'meggie',
            'melanie',
            'melissa',
            'melody',
            'mexico',
            'michael1',
            'michele',
            'midnight',
            'mike1',
            'miracle',
            'misha',
            'mishka',
            'molly1',
            'monique',
            'montreal',
            'moocow',
            'moore',
            'morris',
            'mouse1',
            'mulder',
            'nautica',
            'nellie',
            'newton',
            'nick',
            'nirvana1',
            'nissan',
            'norman',
            'notebook',
            'ocean',
            'olivier',
            'ollie',
            'oranges',
            'oregon',
            'orion',
            'panda',
            'pandora',
            'panther',
            'passion',
            'patricia',
            'pearl',
            'peewee',
            'pencil',
            'penny',
            'people',
            'percy',
            'person',
            'peter1',
            'petey',
            'picasso',
            'pierre',
            'pinkfloyd',
            'polaris',
            'police',
            'pookie1',
            'poppy',
            'power',
            'predator',
            'preston',
            'q1w2e3',
            'queen',
            'queenie',
            'quentin',
            'ralph',
            'random',
            'rangers',
            'raptor',
            'reality',
            'redrum',
            'remote',
            'reynolds',
            'rhonda',
            'ricardo',
            'ricardo1',
            'ricky',
            'river',
            'roadrunner',
            'robinhood',
            'rocknroll',
            'rocky1',
            'ronald',
            'roxy',
            'ruthie',
            'sabrina',
            'sakura',
            'sally',
            'sampson',
            'samuel',
            'sandra',
            'santa',
            'sapphire',
            'scarlet',
            'scorpio',
            'scott1',
            'scottie',
            'scruffy',
            'seattle',
            'serena',
            'shanti',
            'shark',
            'shogun',
            'simon',
            'singer',
            'skull',
            'skywalker',
            'slacker',
            'smashing',
            'smiles',
            'snowflake',
            'snuffy',
            'soccer1',
            'soleil',
            'sonny',
            'spanky',
            'speedy',
            'spider',
            'spooky',
            'stacey',
            'star69',
            'start',
            'steven1',
            'stinky',
            'strawberry',
            'stuart',
            'sugar',
            'sundance',
            'superfly',
            'suzanne',
            'suzuki',
            'swimmer',
            'swimming',
            'system',
            'taffy',
            'tarzan',
            'teddy',
            'teddybear',
            'terry',
            'theatre',
            'thunder',
            'thursday',
            'tinker',
            'tootsie',
            'tornado',
            'tracy',
            'tricia',
            'trident',
            'trojan',
            'truman',
            'trumpet',
            'tucker',
            'turtle',
            'tyler',
            'utopia',
            'voyager',
            'warcraft',
            'warlock',
            'warren',
            'water',
            'wayne',
            'wendy',
            'williams',
            'willy',
            'winona',
            'woody',
            'woofwoof',
            'wrangler',
            'wright',
            'xfiles',
            'xxxxxx',
            'yankees',
            'yvonne',
            'zebra',
            'zenith',
            'zigzag',
            'zombie',
            'zxc123',
            'zxcvb',
            '000000',
            '007007',
            '11111',
            '11111111',
            '123321',
            '171717',
            '181818',
            '1a2b3c',
            '1chris',
            '4runner',
            '54321',
            '55555',
            '6969',
            '7777777',
            '789456',
            '88888888',
            'Alexis',
            'Bailey',
            'Charlie',
            'Chris',
            'Daniel',
            'Dragon',
            'Elizabeth',
            'HARLEY',
            'Heather',
            'Jennifer',
            'Jessica',
            'Jordan',
            'KILLER',
            'Nicholas',
            'Password',
            'Princess',
            'Purple',
            'Rebecca',
            'Robert',
            'Shadow',
            'Steven',
            'Summer',
            'Sunshine',
            'Superman',
            'Taylor',
            'Thomas',
            'Victoria',
            'abcd123',
            'abcde',
            'accord',
            'active',
            'africa',
            'airborne',
            'alfaro',
            'alicia',
            'aliens',
            'alina',
            'aline',
            'alison',
            'allen',
            'aloha',
            'alpha1',
            'althea',
            'altima',
            'amanda1',
            'amazing',
            'america',
            'amour',
            'anderson',
            'andre',
            'andrew1',
            'andromeda',
            'angels',
            'angie1',
            'annie',
            'anything',
            'apple1',
            'apple2',
            'applepie',
            'april',
            'aquarius',
            'ariane',
            'ariel',
            'arlene',
            'artemis',
            'asdf1234',
            'asdfjkl',
            'ashley1',
            'ashraf',
            'ashton',
            'asterix',
            'attila',
            'autumn',
            'avatar',
            'babes',
            'bambi',
            'barbie',
            'barney1',
            'barrett',
            'bball',
            'beaches',
            'beanie',
            'beans',
            'beauty',
            'becca',
            'belize',
            'belle',
            'belmont',
            'benji',
            'benson',
            'bernardo',
            'berry',
            'betsy',
            'betty',
            'bigboss',
            'bigred',
            'billy1',
            'birdie',
            'birthday',
            'biscuit',
            'bitter',
            'blackjack',
            'blah',
            'blanche',
            'blood',
            'blowjob',
            'blowme',
            'blueeyes',
            'blues',
            'bogart',
            'bombay',
            'boobie',
            'boots',
            'bootsie',
            'boxers',
            'brandi',
            'brent',
            'brewster',
            'bridge',
            'bronco',
            'bronte',
            'brooke',
            'brother',
            'bryan',
            'bubble',
            'buddha',
            'budgie',
            'burton',
            'butterfly',
            'byron',
            'calendar',
            'calvin1',
            'camel',
            'camille',
            'campbell',
            'camping',
            'cancer',
            'canela',
            'cannon',
            'carbon',
            'carnage',
            'carolyn',
            'carrot',
            'cascade',
            'catfish',
            'cathy',
            'catwoman',
            'cecile',
            'celica',
            'change',
            'chantal',
            'charger',
            'cherry',
            'chiara',
            'chiefs',
            'china',
            'chris123',
            'christ1',
            'christmas',
            'christopher',
            'chuck',
            'cindy1',
            'cinema',
            'civic',
            'claude',
            'clueless',
            'cobain',
            'cobra',
            'cody',
            'colette',
            'college',
            'colors',
            'colt45',
            'confused',
            'cool',
            'corvette',
            'cosmo',
            'country',
            'crusader',
            'cunningham',
            'cupcake',
            'cynthia',
            'dagger',
            'dammit',
            'dancer',
            'daphne',
            'darkstar',
            'darren',
            'darryl',
            'darwin',
            'deborah',
            'december',
            'deedee',
            'deeznuts',
            'delano',
            'delete',
            'demon',
            'denise',
            'denny',
            'desert',
            'deskjet',
            'detroit',
            'devil',
            'devine',
            'devon',
            'dexter',
            'dianne',
            'diesel',
            'director',
            'dixie',
            'dodgers',
            'doggy',
            'dollar',
            'dolly',
            'dominique',
            'domino',
            'dontknow',
            'doogie',
            'doudou',
            'downtown',
            'dragon1',
            'driver',
            'dude',
            'dudley',
            'dutchess',
            'dwight',
            'eagle1',
            'easter',
            'eastern',
            'edith',
            'edmund',
            'eight',
            'element',
            'elissa',
            'ellen',
            'elliot',
            'empire',
            'enigma',
            'enterprise',
            'erin',
            'escort',
            'estelle',
            'eugene',
            'evelyn',
            'explore',
            'family1',
            'fatboy',
            'felipe',
            'ferguson',
            'ferret',
            'ferris',
            'fireball',
            'fishes',
            'fishie',
            'flight',
            'florida1',
            'flowerpot',
            'forward',
            'freddie',
            'freebird',
            'freeman',
            'frisco',
            'fritz',
            'froggie',
            'froggies',
            'frogs',
            'fucku',
            'future',
            'gabby',
            'games',
            'garcia',
            'gaston',
            'gateway',
            'george1',
            'georgia',
            'german',
            'germany1',
            'getout',
            'ghost',
            'gibson',
            'giselle',
            'gmoney',
            'goblin',
            'goblue',
            'gollum',
            'grandma',
            'gremlin',
            'grizzly',
            'grumpy',
            'guess',
            'guitar1',
            'gustavo',
            'haggis',
            'haha',
            'hailey',
            'halloween',
            'hamilton',
            'hamlet',
            'hanna',
            'hanson',
            'happy123',
            'happyday',
            'hardcore',
            'harley1',
            'harriet',
            'harris',
            'harvard',
            'health',
            'heart',
            'heather1',
            'heather2',
            'hedgehog',
            'helene',
            'hello1',
            'hello123',
            'hellohello',
            'hermes',
            'heythere',
            'highland',
            'hilda',
            'hillary',
            'history',
            'hitler',
            'hobbes',
            'holiday',
            'holly',
            'honda1',
            'hongkong',
            'hootie',
            'horse',
            'hotrod',
            'hudson',
            'hummer',
            'huskies',
            'idiot',
            'iforget',
            'iloveu',
            'impact',
            'indonesia',
            'irina',
            'isabelle',
            'israel',
            'italia',
            'italy',
            'jackie1',
            'jacob',
            'jakey',
            'james1',
            'jamesbond',
            'jamie',
            'jamjam',
            'jeffrey1',
            'jennie',
            'jenny',
            'jensen',
            'jesse',
            'jesse1',
            'jester',
            'jethro',
            'jimbob',
            'jimmy',
            'joanna',
            'joelle',
            'john316',
            'jordie',
            'jorge',
            'josh',
            'journey',
            'joyce',
            'jubilee',
            'jules',
            'julien',
            'juliet',
            'junebug',
            'juniper',
            'justdoit',
            'karin',
            'karine',
            'karma',
            'katerina',
            'katie',
            'katie1',
            'kayla',
            'keeper',
            'keller',
            'kendall',
            'kenny',
            'ketchup',
            'kings',
            'kissme',
            'kitten',
            'kittycat',
            'kkkkkk',
            'kristi',
            'kristine',
            'labtec',
            'laddie',
            'ladybug',
            'lance',
            'laurel',
            'lawson',
            'leader',
            'leland',
            'lemon',
            'lester',
            'letter',
            'letters',
            'lexus1',
            'libra',
            'lights',
            'lionel',
            'little',
            'lizzy',
            'lolita',
            'lonestar',
            'longhorn',
            'looney',
            'loren',
            'lorna',
            'loser',
            'lovers',
            'loveyou',
            'lucia',
            'lucifer',
            'lucky14',
            'maddie',
            'madmax',
            'magic1',
            'magnum',
            'maiden',
            'maine',
            'management',
            'manson',
            'manuel',
            'marcus',
            'maria',
            'marielle',
            'marine',
            'marino',
            'marshall',
            'martha',
            'maxmax',
            'meatloaf',
            'medical',
            'megan',
            'melina',
            'memphis',
            'mermaid',
            'miami',
            'michel',
            'michigan',
            'mickey1',
            'microsoft',
            'mikael',
            'milano',
            'miles',
            'millenium',
            'million',
            'miranda',
            'miriam',
            'mission',
            'mmmmmm',
            'mobile',
            'monkey1',
            'monroe',
            'montana',
            'monty',
            'moomoo',
            'moonbeam',
            'morpheus',
            'motorola',
            'movies',
            'mozart',
            'munchkin',
            'murray',
            'mustang1',
            'nadia',
            'nadine',
            'napoleon',
            'nation',
            'national',
            'nestle',
            'newlife',
            'newyork1',
            'nichole',
            'nikita',
            'nikki',
            'nintendo',
            'nokia',
            'nomore',
            'normal',
            'norton',
            'noway',
            'nugget',
            'number9',
            'numbers',
            'nurse',
            'nutmeg',
            'ohshit',
            'oicu812',
            'omega',
            'openup',
            'orchid',
            'oreo',
            'orlando',
            'packard',
            'packers',
            'paloma',
            'pancake',
            'panic',
            'parola',
            'parrot',
            'partner',
            'pascal',
            'patches',
            'patriots',
            'paula',
            'pauline',
            'payton',
            'peach',
            'peanuts',
            'pedro1',
            'peggy',
            'perfect',
            'perry',
            'peterpan',
            'philips',
            'phillips',
            'phone',
            'pierce',
            'pigeon',
            'pink',
            'pioneer',
            'piper1',
            'pirate',
            'pisces',
            'playboy',
            'pluto',
            'poetry',
            'pontiac',
            'pookey',
            'popeye',
            'prayer',
            'precious',
            'prelude',
            'premier',
            'puddin',
            'pulsar',
            'pussy',
            'pussy1',
            'qwert',
            'qwerty12',
            'qwertyui',
            'rabbit1',
            'rachelle',
            'racoon',
            'rambo',
            'randy1',
            'ravens',
            'redman',
            'redskins',
            'reggae',
            'reggie',
            'renee',
            'renegade',
            'rescue',
            'revolution',
            'richard1',
            'richards',
            'richmond',
            'riley',
            'ripper',
            'robby',
            'roberts',
            'rock',
            'rocket1',
            'rockie',
            'rockon',
            'roger1',
            'rogers',
            'roland',
            'rommel',
            'rookie',
            'rootbeer',
            'rosie',
            'rufus',
            'rusty',
            'ruthless',
            'sabbath',
            'sabina',
            'safety',
            'saint',
            'samiam',
            'sammie',
            'sammy',
            'samsam',
            'sandi',
            'sanjose',
            'saphire',
            'sarah1',
            'saskia',
            'sassy',
            'saturday',
            'science',
            'scooby',
            'scoobydoo',
            'scooter1',
            'scorpion',
            'scotty',
            'scouts',
            'search',
            'september',
            'server',
            'seven7',
            'sexy',
            'shaggy',
            'shanny',
            'shaolin',
            'shasta',
            'shayne',
            'shelly',
            'sherry',
            'shirley',
            'shorty',
            'shotgun',
            'sidney',
            'simba1',
            'sinatra',
            'sirius',
            'skate',
            'skipper1',
            'skyler',
            'slayer',
            'sleepy',
            'slider',
            'smile1',
            'smitty',
            'smoke',
            'snakes',
            'snapper',
            'snoop',
            'solomon',
            'sophia',
            'space',
            'sparks',
            'spartan',
            'spike1',
            'sponge',
            'spurs',
            'squash',
            'stargate',
            'starlight',
            'stars',
            'steph1',
            'steve1',
            'stevens',
            'stewart',
            'stone',
            'stranger',
            'stretch',
            'strong',
            'studio',
            'stumpy',
            'sucker',
            'suckme',
            'sultan',
            'summit',
            'sunfire',
            'sunset',
            'super',
            'superstar',
            'surfing',
            'susan1',
            'sutton',
            'sweden',
            'sweetpea',
            'sweety',
            'swordfish',
            'tabatha',
            'tacobell',
            'taiwan',
            'tamtam',
            'tanner',
            'target',
            'tasha',
            'tattoo',
            'tequila',
            'terry1',
            'texas',
            'thankyou',
            'theend',
            'thompson',
            'thrasher',
            'tiger2',
            'timber',
            'timothy',
            'tinkerbell',
            'topcat',
            'topher',
            'toshiba',
            'tototo',
            'travis',
            'treasure',
            'trees',
            'tricky',
            'trish',
            'triton',
            'trombone',
            'trouble',
            'trucker',
            'turbo',
            'twins',
            'tyler1',
            'ultimate',
            'unique',
            'united',
            'ursula',
            'vacation',
            'valley',
            'vampire',
            'vanessa',
            'venice',
            'venus',
            'vermont',
            'vicki',
            'vicky',
            'victor1',
            'vincent1',
            'violet',
            'violin',
            'virgil',
            'virginia',
            'vision',
            'volley',
            'voodoo',
            'vortex',
            'waiting',
            'wanker',
            'warner',
            'water1',
            'wayne1',
            'webster',
            'weezer',
            'wendy1',
            'western',
            'white',
            'whitney',
            'whocares',
            'wildcat',
            'william1',
            'wilma',
            'window',
            'winniethepooh',
            'wolfgang',
            'wolverine',
            'wonder',
            'xxxxxxxx',
            'yamaha',
            'yankee',
            'yogibear',
            'yolanda',
            'yomama',
            'yvette',
            'zachary',
            'zebras',
            'zxcvbn',
            '00000000',
            '121212',
            '1234qwer',
            '131313',
            '13579',
            '90210',
            '99999999',
            'ABC123',
            'action',
            'amelie',
            'anaconda',
            'apollo13',
            'artist',
            'asshole',
            'benoit',
            'bernard',
            'bernie',
            'bigbird',
            'blizzard',
            'bluesky',
            'bonjour',
            'caesar',
            'cardinal',
            'carolina',
            'cesar',
            'chandler',
            'chapman',
            'charlie1',
            'chevy',
            'chiquita',
            'chocolat',
            'coco',
            'cougars',
            'courtney',
            'dolphins',
            'dominic',
            'donkey',
            'dusty',
            'eminem',
            'energy',
            'fearless',
            'forest',
            'forever',
            'glenn',
            'guinness',
            'hotdog',
            'indian',
            'jared',
            'jimbo',
            'johnson',
            'jojo',
            'josie',
            'kristin',
            'lloyd',
            'lorraine',
            'lynn',
            'maxime',
            'memory',
            'mimi',
            'mirror',
            'nebraska',
            'nemesis',
            'network',
            'nigel',
            'oatmeal',
            'patton',
            'pedro',
            'planet',
            'players',
            'portland',
            'praise',
            'psalms',
            'qwaszx',
            'raiders',
            'rambo1',
            'rancid',
            'shawn',
            'shelley',
            'softball',
            'speedo',
            'sports',
            'ssssss',
            'steele',
            'steph',
            'stephani',
            'sunday',
            'tiffany',
            'tigre',
            'toronto',
            'trixie',
            'undead',
            'valentin',
            'velvet',
            'viking',
            'walker',
            'watson',
            'young',
            'babygirl',
            'pretty',
            'hottie',
            'teamo',
            '987654321',
            'naruto',
            'spongebob',
            'daniela',
            'princesa',
            'christ',
            'blessed',
            'single',
            'qazwsx',
            'pokemon',
            'iloveyou1',
            'iloveyou2',
            'fuckyou1',
            'hahaha',
            'poop',
            'blessing',
            'blahblah',
            'blink182',
            '123qwe',
            'trinity',
            'passw0rd',
            'google',
            'looking',
            'spirit',
            'iloveyou!',
            'qwerty1',
            'onelove',
            'mylove',
            '222222',
            'ilovegod',
            'football1',
            'loving',
            'emmanuel',
            '1q2w3e4r',
            'red123',
            'blabla',
            '112233',
            'hallo',
            'spiderman',
            'simpsons',
            'monster',
            'november',
            'brooklyn',
            'poopoo',
            'darkness',
            '159753',
            'pineapple',
            'chester',
            '1qaz2wsx',
            'drowssap',
            'monkey12',
            'wordpass',
            'q1w2e3r4',
            'coolness',
            '11235813',
            'something',
            'alexandra',
            'estrella',
            'miguel',
            'iloveme',
            'sayang',
            'princess1',
            '555555',
            '999999',
            'alejandro',
            'brittany',
            'alejandra',
            'tequiero',
            'antonio',
            '987654',
            '00000',
            'fernando',
            'corazon',
            'cristina',
            'kisses',
            'myspace',
            'rebelde',
            'babygurl',
            'alyssa',
            'mahalkita',
            'gabriela',
            'pictures',
            'hellokitty',
            'babygirl1',
            'angelica',
            'mahalko',
            'mariana',
            'eduardo',
            'andres',
            'ronaldo',
            'inuyasha',
            'adriana',
            'celtic',
            'samsung',
            'angelo',
            '456789',
            'sebastian',
            'karina',
            'hotmail',
            '0123456789',
            'barcelona',
            'cameron',
            'slipknot',
            'cutiepie',
            '50cent',
            'bonita',
            'maganda',
            'babyboy',
            'natalie',
            'cuteako',
            'javier',
            '789456123',
            '123654',
            'bowwow',
            'portugal',
            '777777',
            'volleyball',
            'january',
            'cristian',
            'bianca',
            'chrisbrown',
            '101010',
            'sweet',
            'panget',
            'benfica',
            'love123',
            'lollipop',
            'camila',
            'qwertyuiop',
            'harrypotter',
            'ihateyou',
            'christine',
            'lorena',
            'andreea',
            'charmed',
            'rafael',
            'brianna',
            'aaliyah',
            'johncena',
            'lovelove',
            'gangsta',
            '333333',
            'hiphop',
            'mybaby',
            'sergio',
            'metallica',
            'myspace1',
            'babyblue',
            'badboy',
            'fernanda',
            'westlife',
            'sasuke',
            'steaua',
            'roberto',
            'slideshow',
            'asdfghjkl',
            'santiago',
            'jayson',
            '5201314',
            'jerome',
            'gandako',
            'gatita',
            'babyko',
            '246810',
            'sweetheart',
            'chivas',
            'alberto',
            'valeria',
            'nicole1',
            '12345678910',
            'leonardo',
            'jayjay',
            'liliana',
            'sexygirl',
            '232323',
            'amores',
            'anthony1',
            'bitch1',
            'fatima',
            'miamor',
            'lover',
            'lalala',
            '252525',
            'skittles',
            'colombia',
            '159357',
            'manutd',
            '123456a',
            'britney',
            'katrina',
            'christina',
            'pasaway',
            'mahal',
            'tatiana',
            'cantik',
            '0123456',
            'teiubesc',
            '147258369',
            'natalia',
            'francisco',
            'amorcito',
            'paola',
            'angelito',
            'manchester',
            'mommy1',
            '147258',
            'amigos',
            'marlon',
            'linkinpark',
            '147852',
            'diego',
            '444444',
            'iverson',
            'andrei',
            'justine',
            'frankie',
            'pimpin',
            'fashion',
            'bestfriend',
            'england',
            'hermosa',
            '456123',
            '102030',
            'sporting',
            'hearts',
            'potter',
            'iloveu2',
            'number1',
            '212121',
            'truelove',
            'jayden',
            'savannah',
            'hottie1',
            'ganda',
            'scotland',
            'ilovehim',
            'shakira',
            'estrellita',
            'brandon1',
            'sweets',
            'familia',
            'love12',
            'omarion',
            'monkeys',
            'loverboy',
            'elijah',
            'ronnie',
            'mamita',
            '999999999',
            'broken',
            'rodrigo',
            'westside',
            'mauricio',
            'amigas',
            'preciosa',
            'shopping',
            'flores',
            'isabella',
            'martinez',
            'elaine',
            'friendster',
            'cheche',
            'gracie',
            'connor',
            'valentina',
            'darling',
            'santos',
            'joanne',
            'fuckyou2',
            'pebbles',
            'sunshine1',
            'gangster',
            'gloria',
            'darkangel',
            'bettyboop',
            'jessica1',
            'cheyenne',
            'dustin',
            'iubire',
            'a123456',
            'purple1',
            'bestfriends',
            'inlove',
            'batista',
            'karla',
            'chacha',
            'marian',
            'sexyme',
            'pogiako',
            'jordan1',
            '010203',
            'daddy1',
            'daddysgirl',
            'billabong',
            'pinky',
            'erika',
            'skater',
            'nenita',
            'tigger1',
            'gatito',
            'lokita',
            'maldita',
            'buttercup',
            'bambam',
            'glitter',
            '123789',
            'sister',
            'zacefron',
            'tokiohotel',
            'loveya',
            'lovebug',
            'bubblegum',
            'marissa',
            'cecilia',
            'lollypop',
            'nicolas',
            'puppies',
            'ariana',
            'chubby',
            'sexybitch',
            'roxana',
            'mememe',
            'susana',
            'baller',
            'hotstuff',
            'carter',
            'babylove',
            'angelina',
            'playgirl',
            'sweet16',
            '012345',
            'bhebhe',
            'marcos',
            'loveme1',
            'milagros',
            'lilmama',
            'beyonce',
            'lovely1',
            'catdog',
            'armando',
            'margarita',
            '151515',
            'loves',
            '202020',
            'gerard',
            'undertaker',
            'amistad',
            'capricorn',
            'delfin',
            'cheerleader',
            'password2',
            'PASSWORD',
            'lizzie',
            'matthew1',
            'enrique',
            'badgirl',
            '141414',
            'dancing',
            'cuteme',
            'amelia',
            'skyline',
            'angeles',
            'janine',
            'carlitos',
            'justme',
            'legolas',
            'michelle1',
            'cinderella',
            'jesuschrist',
            'ilovejesus',
            'tazmania',
            'tekiero',
            'thebest',
            'princesita',
            'lucky7',
            'jesucristo',
            'buddy1',
            'regina',
            'myself',
            'lipgloss',
            'jazmin',
            'rosita',
            'chichi',
            'pangit',
            'mierda',
            '741852963',
            'hernandez',
            'arturo',
            'silvia',
            'melvin',
            'celeste',
            'pussycat',
            'gorgeous',
            'honeyko',
            'mylife',
            'babyboo',
            'loveu',
            'lupita',
            'panthers',
            'hollywood',
            'alfredo',
            'musica',
            'hawaii',
            'sparkle',
            'kristina',
            'sexymama',
            'crazy',
            'scarface',
            '098765',
            'hayden',
            'micheal',
            '242424',
            '0987654321',
            'marisol',
            'jeremiah',
            'mhine',
            'isaiah',
            'lolipop',
            'butterfly1',
            'xbox360',
            'madalina',
            'anamaria',
            'yourmom',
            'jasmine1',
            'bubbles1',
            'beatriz',
            'diamonds',
            'friendship',
            'sweetness',
            'desiree',
            '741852',
            'hannah1',
            'bananas',
            'julius',
            'leanne',
            'marie1',
            'lover1',
            'twinkle',
            'february',
            'bebita',
            '87654321',
            'twilight',
            'imissyou',
            'pollito',
            'ashlee',
            'cookie1',
            '147852369',
            'beckham',
            'simone',
            'nursing',
            'torres',
            'damian',
            '123123123',
            'joshua1',
            'babyface',
            'dinamo',
            'mommy',
            'juliana',
            'cassandra',
            'redsox',
            'gundam',
            '0000',
            'ou812',
            'dave',
            'golf',
            'molson',
            'Monday',
            'newpass',
            'thx1138',
            '1',
            'Internet',
            'coke',
            'foobar',
            'abc',
            'fish',
            'fred',
            'help',
            'ncc1701d',
            'newuser',
            'none',
            'pat',
            'dog',
            'duck',
            'duke',
            'floyd',
            'guest',
            'joe',
            'kingfish',
            'micro',
            'sam',
            'telecom',
            'test1',
            '7777',
            'absolut',
            'babylon5',
            'backup',
            'bill',
            'bird33',
            'deliver',
            'fire',
            'flip',
            'galileo',
            'gopher',
            'hansolo',
            'jane',
            'jim',
            'mom',
            'passwd',
            'phil',
            'phish',
            'porsche911',
            'rain',
            'red',
            'sergei',
            'training',
            'truck',
            'video',
            'volvo',
            '007',
            '1969',
            '5683',
            'Bond007',
            'Friday',
            'Hendrix',
            'October',
            'Taurus',
            'aaa',
            'alexandr',
            'catalog',
            'challenge',
            'clipper',
            'coltrane',
            'cyrano',
            'dan',
            'dawn',
            'dean',
            'deutsch',
            'dilbert',
            'e-mail',
            'export',
            'ford',
            'fountain',
            'fox',
            'frog',
            'gabriell',
            'garlic',
            'goforit',
            'grateful',
            'hoops',
            'lady',
            'ledzep',
            'lee',
            'mailman',
            'mantra',
            'market',
            'mazda1',
            'metallic',
            'ncc1701e',
            'nesbitt',
            'open',
            'pete',
            'quest',
            'republic',
            'research',
            'supra',
            'tara',
            'testing',
            'xanadu',
            'xxxx',
            'zaphod',
            'zeus',
            '0007',
            '1022',
            '10sne1',
            '1973',
            '1978',
            '2000',
            '2222',
            '3bears',
            'Broadway',
            'Fisher',
            'Jeanne',
            'Killer',
            'Knight',
            'Master',
            'Pepper',
            'Sierra',
            'Tennis',
            'abacab',
            'abcd',
            'ace',
            'acropolis',
            'amy',
            'anders',
            'avenir',
            'basil',
            'bass',
            'beer',
            'ben',
            'bliss',
            'blowfish',
            'boss',
            'bridges',
            'buck',
            'bugsy',
            'bull',
            'cannondale',
            'canon',
            'catnip',
            'chip',
            'civil',
            'content',
            'cook',
            'cordelia',
            'crack1',
            'cyber',
            'daisie',
            'dark1',
            'database',
            'deadhead',
            'denali',
            'depeche',
            'dickens',
            'emmitt',
            'entropy',
            'farout',
            'farside',
            'feedback',
            'fidel',
            'firenze',
            'fish1',
            'fletch',
            'fool',
            'fozzie',
            'fun',
            'gargoyle',
            'gasman',
            'gold',
            'graphic',
            'hell',
            'image',
            'intern',
            'intrepid',
            'jeff',
            'jkl123',
            'joel',
            'johanna1',
            'kidder',
            'kim',
            'king',
            'kirk',
            'kris',
            'lambda',
            'leon',
            'logical',
            'lorrie',
            'major',
            'mariner',
            'mark1',
            'max',
            'media',
            'merlot',
            'midway',
            'mine',
            'mmouse',
            'moon',
            'mopar',
            'mortimer',
            'nermal',
            'nina',
            'olsen',
            'opera',
            'overkill',
            'pacers',
            'packer',
            'picard',
            'polar',
            'polo',
            'primus',
            'prometheus',
            'public',
            'radio',
            'rastafarian',
            'reptile',
            'rob',
            'robotech',
            'rodeo',
            'rolex',
            'rouge',
            'roy',
            'ruby',
            'salasana',
            'scarecrow',
            'scout',
            'scuba1',
            'sergey',
            'skibum',
            'skunk',
            'sound',
            'starter',
            'sting1',
            'sunbird',
            'tbird',
            'teflon',
            'temporal',
            'terminal',
            'the',
            'thejudge',
            'time',
            'toby',
            'today',
            'tokyo',
            'tree',
            'trout',
            'vader',
            'val',
            'valhalla',
            'windsurf',
            'wolf',
            'wolf1',
            'xcountry',
            'yoda',
            'yukon',
            '1213',
            '1214',
            '1225',
            '1313',
            '1818',
            '1975',
            '1977',
            '1991',
            '1kitty',
            '2001',
            '2020',
            '2112',
            '2kids',
            '333',
            '4444',
            '5050',
            '57chevy',
            '7dwarfs',
            'Animals',
            'Ariel',
            'Bismillah',
            'Booboo',
            'Boston',
            'Carol',
            'Computer',
            'Creative',
            'Curtis',
            'Denise',
            'Eagles',
            'Esther',
            'Fishing',
            'Freddy',
            'Gandalf',
            'Golden',
            'Goober',
            'Hacker',
            'Harley',
            'Henry',
            'Hershey',
            'Jackson',
            'Jersey',
            'Joanna',
            'Johnson',
            'Katie',
            'Kitten',
            'Liberty',
            'Lindsay',
            'Lizard',
            'Madeline',
            'Margaret',
            'Maxwell',
            'Money',
            'Monster',
            'Pamela',
            'Peaches',
            'Peter',
            'Phoenix',
            'Piglet',
            'Pookie',
            'Rabbit',
            'Raiders',
            'Random',
            'Russell',
            'Sammy',
            'Saturn',
            'Skeeter',
            'Smokey',
            'Sparky',
            'Speedy',
            'Sterling',
            'Theresa',
            'Thunder',
            'Vincent',
            'Willow',
            'Winnie',
            'Wolverine',
            'aaaa',
            'aardvark',
            'abbott',
            'acura',
            'admin',
            'admin1',
            'adrock',
            'aerobics',
            'agent',
            'airwolf',
            'ali',
            'alien',
            'allegro',
            'allstate',
            'altamira',
            'altima1',
            'andrew!',
            'ann',
            'anne',
            'anneli',
            'aptiva',
            'arrow',
            'asdf;lkj',
            'assmunch',
            'baraka',
            'barnyard',
            'bart',
            'bartman',
            'beasty',
            'beavis1',
            'bebe',
            'belgium',
            'beowulf',
            'beryl',
            'best',
            'bharat',
            'bichon',
            'bigal',
            'biker',
            'bilbo',
            'bills',
            'bimmer',
            'biochem',
            'birdy',
            'blinds',
            'blitz',
            'bluejean',
            'bogey',
            'bogus',
            'boulder',
            'bourbon',
            'boxer',
            'brain',
            'branch',
            'britain',
            'broker',
            'bucks',
            'buffett',
            'bugs',
            'bulls',
            'burns',
            'buzz',
            'c00per',
            'calgary',
            'camay',
            'carl',
            'cat',
            'cement',
            'cessna',
            'chad',
            'chainsaw',
            'chameleon',
            'chang',
            'chess',
            'chinook',
            'chouette',
            'chronos',
            'cicero',
            'circuit',
            'cirque',
            'cirrus',
            'clapton',
            'clarkson',
            'class',
            'claudel',
            'cleo',
            'cliff',
            'clock',
            'color',
            'comet',
            'concept',
            'concorde',
            'coolbean',
            'corky',
            'cornflake',
            'corwin',
            'cows',
            'crescent',
            'cross',
            'crowley',
            'cthulhu',
            'cunt',
            'current',
            'cutlass',
            'daedalus',
            'dagger1',
            'daily',
            'dale',
            'dana',
            'daytek',
            'dead',
            'decker',
            'dharma',
            'dillweed',
            'dipper',
            'disco',
            'dixon',
            'doitnow',
            'doors',
            'dork',
            'doug',
            'dutch',
            'effie',
            'ella',
            'elsie',
            'engage',
            'eric1',
            'ernie1',
            'escort1',
            'excel',
            'faculty',
            'fairview',
            'faust',
            'fenris',
            'finance',
            'first',
            'fishhead',
            'flanders',
            'fleurs',
            'flute',
            'flyboy',
            'flyer',
            'franka',
            'frederic',
            'free',
            'front242',
            'frontier',
            'fugazi',
            'funtime',
            'gaby',
            'gaelic',
            'gambler',
            'gammaphi',
            'garfunkel',
            'garth',
            'gary',
            'gateway2',
            'gator1',
            'gibbons',
            'gigi',
            'gilgamesh',
            'goat',
            'godiva',
            'goethe',
            'gofish',
            'good',
            'gramps',
            'gravis',
            'gray',
            'greed',
            'greg',
            'greg1',
            'greta',
            'gretzky',
            'guido',
            'gumby',
            'h2opolo',
            'hamid',
            'hank',
            'hawkeye1',
            'health1',
            'hello8',
            'help123',
            'helper',
            'homerj',
            'hoosier',
            'hope',
            'huang',
            'hugo',
            'hydrogen',
            'ib6ub9',
            'insight',
            'instructor',
            'integral',
            'iomega',
            'iris',
            'izzy',
            'jazz',
            'jean',
            'jeepster',
            'jetta1',
            'joanie',
            'josee',
            'joy',
            'julia2',
            'jumbo',
            'jump',
            'justice4',
            'kalamazoo',
            'kali',
            'kat',
            'kate',
            'kerala',
            'kids',
            'kiwi',
            'kleenex',
            'kombat',
            'lamer',
            'laser',
            'laserjet',
            'lassie1',
            'leblanc',
            'legal',
            'leo',
            'life',
            'lions',
            'liz',
            'logger',
            'logos',
            'loislane',
            'loki',
            'longer',
            'lori',
            'lost',
            'lotus',
            'lou',
            'macha',
            'macross',
            'madoka',
            'makeitso',
            'mallard',
            'marc',
            'math',
            'mattingly',
            'mechanic',
            'meister',
            'mercer',
            'merde',
            'merrill',
            'michal',
            'michou',
            'mickel',
            'minou',
            'mobydick',
            'modem',
            'mojo',
            'montana3',
            'montrose',
            'motor',
            'mowgli',
            'mulder1',
            'muscle',
            'neil',
            'neutrino',
            'newaccount',
            'nicklaus',
            'nightshade',
            'nightwing',
            'nike',
            'none1',
            'nopass',
            'nouveau',
            'novell',
            'oaxaca',
            'obiwan',
            'obsession',
            'orville',
            'otter',
            'ozzy',
            'packrat',
            'paint',
            'papa',
            'paradigm',
            'pass',
            'pavel',
            'peterk',
            'phialpha',
            'phishy',
            'piano1',
            'pianoman',
            'pianos',
            'pipeline',
            'plato',
            'play',
            'poetic',
            'print',
            'printing',
            'provider',
            'qqq111',
            'quebec',
            'qwer',
            'racer',
            'racerx',
            'radar',
            'rafiki',
            'raleigh',
            'rasta1',
            'redcloud',
            'redfish',
            'redwing',
            'redwood',
            'reed',
            'rene',
            'reznor',
            'rhino',
            'ripple',
            'rita',
            'robocop',
            'robotics',
            'roche',
            'roni',
            'rossignol',
            'rugger',
            'safety1',
            'saigon',
            'satori',
            'saturn5',
            'schnapps',
            'scotch',
            'scuba',
            'secret3',
            'seeker',
            'services',
            'sex',
            'shanghai',
            'shazam',
            'shelter',
            'sigmachi',
            'signal',
            'signature',
            'simsim',
            'skydive',
            'slick',
            'smegma',
            'smiths',
            'smurfy',
            'snow',
            'sober1',
            'sonics',
            'sony',
            'spazz',
            'sphynx',
            'spock',
            'spoon',
            'spot',
            'sprocket',
            'starbuck',
            'steel',
            'stephi',
            'sting',
            'stocks',
            'storage',
            'strat',
            'strato',
            'stud',
            'student2',
            'susanna',
            'swanson',
            'swim',
            'switzer',
            'system5',
            't-bone',
            'talon',
            'tarheel',
            'tata',
            'tazdevil',
            'tester',
            'testtest',
            'thisisit',
            'thorne',
            'tightend',
            'tim',
            'tom',
            'tool',
            'total',
            'toucan',
            'transfer',
            'transit',
            'transport',
            'trapper',
            'trash',
            'trophy',
            'tucson',
            'turbo2',
            'unity',
            'upsilon',
            'vedder',
            'vette',
            'vikram',
            'virago',
            'visual',
            'volcano',
            'walden',
            'waldo',
            'walleye',
            'webmaster',
            'wedge',
            'whale1',
            'whit',
            'whoville',
            'wibble',
            'will',
            'wombat1',
            'word',
            'world',
            'x-files',
            'xxx123',
            'zack',
            'zepplin',
            'zoltan',
            'zoomer',
            '123go',
            '21122112',
            '5555',
            '911',
            'FuckYou',
            'Fuckyou',
            'Gizmo',
            'Hello',
            'Michel',
            'Qwerty',
            'Windows',
            'angus',
            'aspen',
            'ass',
            'bird',
            'booster',
            'byteme',
            'cats',
            'changeit',
            'christia',
            'christoph',
            'classroom',
            'cloclo',
            'corrado',
            'dasha',
            'fiction',
            'french1',
            'fubar',
            'gator',
            'gilles',
            'gocougs',
            'hilbert',
            'hola',
            'home',
            'judy',
            'koko',
            'lulu',
            'mac',
            'macintosh',
            'mailer',
            'mars',
            'meow',
            'ne1469',
            'niki',
            'paul',
            'politics',
            'pomme',
            'property',
            'ruth',
            'sales',
            'salut',
            'scrooge',
            'skidoo',
            'spain',
            'surf',
            'sylvie',
            'symbol',
            'forum',
            'rotimi',
            'god',
            'saved',
            '2580',
            '1998',
            'xxx',
            '1928',
            '777',
            'info',
            'a',
            'netware',
            'sun',
            'tech',
            'doom',
            'mmm',
            'one',
            'ppp',
            '1911',
            '1948',
            '1996',
            '5252',
            'Champs',
            'Tuesday',
            'bach',
            'crow',
            'don',
            'draft',
            'hal9000',
            'herzog',
            'huey',
            'jethrotull',
            'jussi',
            'mail',
            'miki',
            'nicarao',
            'snowski',
            '1316',
            '1412',
            '1430',
            '1952',
            '1953',
            '1955',
            '1956',
            '1960',
            '1964',
            '1qw23e',
            '22',
            '2200',
            '2252',
            '3010',
            '3112',
            '4788',
            '6262',
            'Alpha',
            'Bastard',
            'Beavis',
            'Cardinal',
            'Celtics',
            'Cougar',
            'Darkman',
            'Figaro',
            'Fortune',
            'Geronimo',
            'Hammer',
            'Homer',
            'Janet',
            'Mellon',
            'Merlot',
            'Metallic',
            'Montreal',
            'Newton',
            'Paladin',
            'Peanuts',
            'Service',
            'Vernon',
            'Waterloo',
            'Webster',
            'aki123',
            'aqua',
            'aylmer',
            'beta',
            'bozo',
            'car',
            'chat',
            'chinacat',
            'cora',
            'courier',
            'dogbert',
            'eieio',
            'elina1',
            'fly',
            'funguy',
            'fuzz',
            'ggeorge',
            'glider1',
            'gone',
            'hawk',
            'heikki',
            'histoire',
            'hugh',
            'if6was9',
            'ingvar',
            'jan',
            'jedi',
            'jimi',
            'juhani',
            'khan',
            'lima',
            'midvale',
            'neko',
            'nesbit',
            'nexus6',
            'nisse',
            'notta1',
            'pam',
            'park',
            'pole',
            'pope',
            'pyro',
            'ram',
            'reliant',
            'rex',
            'rush',
            'seoul',
            'skip',
            'stan',
            'sue',
            'suzy',
            'tab',
            'testi',
            'thelorax',
            'tika',
            'tnt',
            'toto1',
            'tre',
            'wind',
            'x-men',
            'xyz',
            'zxc',
            '369',
            'Abcdef',
            'Asdfgh',
            'Changeme',
            'NCC1701',
            'Zxcvbnm',
            'demo',
            'doom2',
            'e',
            'good-luck',
            'homebrew',
            'm1911a1',
            'nat',
            'ne1410s',
            'ne14a69',
            'zhongguo',
            'sample123',
            '0852',
            'basf',
            'OU812',
            '!@#$%',
            'informix',
            'majordomo',
            'news',
            'temp',
            'trek',
            '!@#$%^',
            '!@#$%^&*',
            'Pentium',
            'Raistlin',
            'adi',
            'bmw',
            'law',
            'm',
            'new',
            'opus',
            'plus',
            'visa',
            'www',
            'y',
            'zzz',
            '1332',
            '1950',
            '3141',
            '3533',
            '4055',
            '4854',
            '6301',
            'Bonzo',
            'ChangeMe',
            'Front242',
            'Gretel',
            'Michel1',
            'Noriko',
            'Sidekick',
            'Sverige',
            'Swoosh',
            'Woodrow',
            'aa',
            'ayelet',
            'barn',
            'betacam',
            'biz',
            'boat',
            'cuda',
            'doc',
            'hal',
            'hallowell',
            'haro',
            'hosehead',
            'i',
            'ilmari',
            'irmeli',
            'j1l2t3',
            'jer',
            'kcin',
            'kerrya',
            'kissa2',
            'leaf',
            'lissabon',
            'mart',
            'matti1',
            'mech',
            'morecats',
            'paagal',
            'performa',
            'prof',
            'ratio',
            'ship',
            'slip',
            'stivers',
            'tapani',
            'targas',
            'test2',
            'test3',
            'tula',
            'unix',
            'user1',
            'xanth',
            '!@#$%^&',
            '1701d',
            '@#$%^&',
            'Qwert',
            'allo',
            'dirk',
            'go',
            'newcourt',
            'nite',
            'notused',
            'sss']
  
  def CreatePasswordVerifier_Method1(password):
      verifier = 0
      password = password[:15]
      passwordarray = struct.pack('B', len(password)) + password.encode()
      for passwordbyte in passwordarray[::-1]:
          if verifier & 0x4000 == 0x0:
              intermediate1 = 0
          else:
              intermediate1 = 1
          intermediate2 = verifier * 2
          intermediate2 = intermediate2 & 0x7FFF
          intermediate3 = intermediate1 | intermediate2
          verifier = intermediate3 ^ P23Ord(passwordbyte)
      return verifier ^ 0xCE4B
  
  def AnalyzeXORObfuscationStructure(data, passwordlistFilename):
      key, verifier = struct.unpack('<HH', data)
      password = None
      for candidate in GetDictionary(passwordlistFilename):
          if CreatePasswordVerifier_Method1(candidate) == verifier:
              password = candidate
              break
      return key, verifier, password
  
  def rol(byte, count):
      return (byte << count | byte >> (8 - count)) & 0xFF
  
  def ror(byte, count):
      return (byte >> count | byte << (8 - count)) & 0xFF
  
  def RorBytes(data, index):
      return data[index:] + data[:index]
  
  def Xor(data, key):
      if sys.version_info[0] > 2:
          return bytes([byte ^ key[index % len(key)] for index, byte in enumerate(data)])
      else:
          return ''.join([chr(ord(char) ^ ord(key[index % len(key)])) for index, char in enumerate(data)])
  
  def XorDeobfuscate(data, key, position):
      return bytes([ror(byte, 5) for byte in Xor(data, RorBytes(key, position % 16))])
  
  def FindOpcodeInLine(opcodes, line):
      for opcode in opcodes.split(','):
          if opcode.lower() in line.lower():
              return True
      return False
  
  class cBIFF(cPluginParent):
      macroOnly = False
      name = 'BIFF plugin'
  
      def __init__(self, name, stream, options):
          self.streamname = name
          self.stream = stream
          self.options = options
          self.ran = False
  
      def Analyze(self):
          result = []
          dOpcodes = {
              0x06: 'FORMULA : Cell Formula',
              0x0A: 'EOF : End of File',
              0x0C: 'CALCCOUNT : Iteration Count',
              0x0D: 'CALCMODE : Calculation Mode',
              0x0E: 'PRECISION : Precision',
              0x0F: 'REFMODE : Reference Mode',
              0x10: 'DELTA : Iteration Increment',
              0x11: 'ITERATION : Iteration Mode',
              0x12: 'PROTECT : Protection Flag',
              0x13: 'PASSWORD : Protection Password',
              0x14: 'HEADER : Print Header on Each Page',
              0x15: 'FOOTER : Print Footer on Each Page',
              0x16: 'EXTERNCOUNT : Number of External References',
              0x17: 'EXTERNSHEET : External Reference',
              0x18: 'LABEL : Cell Value, String Constant',
              0x19: 'WINDOWPROTECT : Windows Are Protected',
              0x1A: 'VERTICALPAGEBREAKS : Explicit Column Page Breaks',
              0x1B: 'HORIZONTALPAGEBREAKS : Explicit Row Page Breaks',
              0x1C: 'NOTE : Comment Associated with a Cell',
              0x1D: 'SELECTION : Current Selection',
              0x22: '1904 : 1904 Date System',
              0x26: 'LEFTMARGIN : Left Margin Measurement',
              0x27: 'RIGHTMARGIN : Right Margin Measurement',
              0x28: 'TOPMARGIN : Top Margin Measurement',
              0x29: 'BOTTOMMARGIN : Bottom Margin Measurement',
              0x2A: 'PRINTHEADERS : Print Row/Column Labels',
              0x2B: 'PRINTGRIDLINES : Print Gridlines Flag',
              0x2F: 'FILEPASS : File Is Password-Protected',
              0x31: 'FONT',
              0x32: 'FONT2',
              0x3C: 'CONTINUE : Continues Long Records',
              0x3D: 'WINDOW1 : Window Information',
              0x40: 'BACKUP : Save Backup Version of the File',
              0x41: 'PANE : Number of Panes and Their Position',
              0x42: 'CODENAME : VBE Object Name',
              0x42: 'CODEPAGE : Default Code Page',
              0x4D: 'PLS : Environment-Specific Print Record',
              0x50: 'DCON : Data Consolidation Information',
              0x51: 'DCONREF : Data Consolidation References',
              0x52: 'DCONNAME : Data Consolidation Named References',
              0x55: 'DEFCOLWIDTH : Default Width for Columns',
              0x59: 'XCT : CRN Record Count',
              0x5A: 'CRN : Nonresident Operands',
              0x5B: 'FILESHARING : File-Sharing Information',
              0x5C: 'WRITEACCESS : Write Access User Name',
              0x5D: 'OBJ : Describes a Graphic Object',
              0x5E: 'UNCALCED : Recalculation Status',
              0x5F: 'SAVERECALC : Recalculate Before Save',
              0x60: 'TEMPLATE : Workbook Is a Template',
              0x63: 'OBJPROTECT : Objects Are Protected',
              0x7D: 'COLINFO : Column Formatting Information',
              0x7E: 'RK : Cell Value, RK Number',
              0x7F: 'IMDATA : Image Data',
              0x80: 'GUTS : Size of Row and Column Gutters',
              0x81: 'WSBOOL : Additional Workspace Information',
              0x82: 'GRIDSET : State Change of Gridlines Option',
              0x83: 'HCENTER : Center Between Horizontal Margins',
              0x84: 'VCENTER : Center Between Vertical Margins',
              0x85: 'BOUNDSHEET : Sheet Information',
              0x86: 'WRITEPROT : Workbook Is Write-Protected',
              0x87: 'ADDIN : Workbook Is an Add-in Macro',
              0x88: 'EDG : Edition Globals',
              0x89: 'PUB : Publisher',
              0x8C: 'COUNTRY : Default Country and WIN.INI Country',
              0x8D: 'HIDEOBJ : Object Display Options',
              0x90: 'SORT : Sorting Options',
              0x91: 'SUB : Subscriber',
              0x92: 'PALETTE : Color Palette Definition',
              0x94: 'LHRECORD : .WK? File Conversion Information',
              0x95: 'LHNGRAPH : Named Graph Information',
              0x96: 'SOUND : Sound Note',
              0x98: 'LPR : Sheet Was Printed Using LINE.PRINT(',
              0x99: 'STANDARDWIDTH : Standard Column Width',
              0x9A: 'FNGROUPNAME : Function Group Name',
              0x9B: 'FILTERMODE : Sheet Contains Filtered List',
              0x9C: 'FNGROUPCOUNT : Built-in Function Group Count',
              0x9D: 'AUTOFILTERINFO : Drop-Down Arrow Count',
              0x9E: 'AUTOFILTER : AutoFilter Data',
              0xA0: 'SCL : Window Zoom Magnification',
              0xA1: 'SETUP : Page Setup',
              0xA9: 'COORDLIST : Polygon Object Vertex Coordinates',
              0xAB: 'GCW : Global Column-Width Flags',
              0xAE: 'SCENMAN : Scenario Output Data',
              0xAF: 'SCENARIO : Scenario Data',
              0xB0: 'SXVIEW : View Definition',
              0xB1: 'SXVD : View Fields',
              0xB2: 'SXVI : View Item',
              0xB4: 'SXIVD : Row/Column Field IDs',
              0xB5: 'SXLI : Line Item Array',
              0xB6: 'SXPI : Page Item',
              0xB8: 'DOCROUTE : Routing Slip Information',
              0xB9: 'RECIPNAME : Recipient Name',
              0xBC: 'SHRFMLA : Shared Formula',
              0xBD: 'MULRK : Multiple  RK Cells',
              0xBE: 'MULBLANK : Multiple Blank Cells',
              0xC1: 'MMS :  ADDMENU / DELMENU Record Group Count',
              0xC2: 'ADDMENU : Menu Addition',
              0xC3: 'DELMENU : Menu Deletion',
              0xC5: 'SXDI : Data Item',
              0xC6: 'SXDB : PivotTable Cache Data',
              0xCD: 'SXSTRING : String',
              0xD0: 'SXTBL : Multiple Consolidation Source Info',
              0xD1: 'SXTBRGIITM : Page Item Name Count',
              0xD2: 'SXTBPG : Page Item Indexes',
              0xD3: 'OBPROJ : Visual Basic Project',
              0xD5: 'SXIDSTM : Stream ID',
              0xD6: 'RSTRING : Cell with Character Formatting',
              0xD7: 'DBCELL : Stream Offsets',
              0xDA: 'BOOKBOOL : Workbook Option Flag',
              0xDC: 'PARAMQRY : Query Parameters',
              0xDC: 'SXEXT : External Source Information',
              0xDD: 'SCENPROTECT : Scenario Protection',
              0xDE: 'OLESIZE : Size of OLE Object',
              0xDF: 'UDDESC : Description String for Chart Autoformat',
              0xE0: 'XF : Extended Format',
              0xE1: 'INTERFACEHDR : Beginning of User Interface Records',
              0xE2: 'INTERFACEEND : End of User Interface Records',
              0xE3: 'SXVS : View Source',
              0xE5: 'MERGECELLS : Merged Cells',
              0xEA: 'TABIDCONF : Sheet Tab ID of Conflict History',
              0xEB: 'MSODRAWINGGROUP : Microsoft Office Drawing Group',
              0xEC: 'MSODRAWING : Microsoft Office Drawing',
              0xED: 'MSODRAWINGSELECTION : Microsoft Office Drawing Selection',
              0xF0: 'SXRULE : PivotTable Rule Data',
              0xF1: 'SXEX : PivotTable View Extended Information',
              0xF2: 'SXFILT : PivotTable Rule Filter',
              0xF4: 'SXDXF : Pivot Table Formatting',
              0xF5: 'SXITM : Pivot Table Item Indexes',
              0xF6: 'SXNAME : PivotTable Name',
              0xF7: 'SXSELECT : PivotTable Selection Information',
              0xF8: 'SXPAIR : PivotTable Name Pair',
              0xF9: 'SXFMLA : Pivot Table Parsed Expression',
              0xFB: 'SXFORMAT : PivotTable Format Record',
              0xFC: 'SST : Shared String Table',
              0xFD: 'LABELSST : Cell Value, String Constant/ SST',
              0xFF: 'EXTSST : Extended Shared String Table',
              0x100: 'SXVDEX : Extended PivotTable View Fields',
              0x103: 'SXFORMULA : PivotTable Formula Record',
              0x122: 'SXDBEX : PivotTable Cache Data',
              0x13D: 'TABID : Sheet Tab Index Array',
              0x160: 'USESELFS : Natural Language Formulas Flag',
              0x161: 'DSF : Double Stream File',
              0x162: 'XL5MODIFY : Flag for  DSF',
              0x1A5: 'FILESHARING2 : File-Sharing Information for Shared Lists',
              0x1A9: 'USERBVIEW : Workbook Custom View Settings',
              0x1AA: 'USERSVIEWBEGIN : Custom View Settings',
              0x1AB: 'USERSVIEWEND : End of Custom View Records',
              0x1AD: 'QSI : External Data Range',
              0x1AE: 'SUPBOOK : Supporting Workbook',
              0x1AF: 'PROT4REV : Shared Workbook Protection Flag',
              0x1B0: 'CONDFMT : Conditional Formatting Range Information',
              0x1B1: 'CF : Conditional Formatting Conditions',
              0x1B2: 'DVAL : Data Validation Information',
              0x1B5: 'DCONBIN : Data Consolidation Information',
              0x1B6: 'TXO : Text Object',
              0x1B7: 'REFRESHALL : Refresh Flag',
              0x1B8: 'HLINK : Hyperlink',
              0x1BB: 'SXFDBTYPE : SQL Datatype Identifier',
              0x1BC: 'PROT4REVPASS : Shared Workbook Protection Password',
              0x1BE: 'DV : Data Validation Criteria',
              0x1C0: 'EXCEL9FILE : Excel 9 File',
              0x1C1: 'RECALCID : Recalc Information',
              0x200: 'DIMENSIONS : Cell Table Size',
              0x201: 'BLANK : Cell Value, Blank Cell',
              0x203: 'NUMBER : Cell Value, Floating-Point Number',
              0x204: 'LABEL : Cell Value, String Constant',
              0x205: 'BOOLERR : Cell Value, Boolean or Error',
              0x207: 'STRING : String Value of a Formula',
              0x208: 'ROW : Describes a Row',
              0x20B: 'INDEX : Index Record',
              0x218: 'NAME : Defined Name',
              0x221: 'ARRAY : Array-Entered Formula',
              0x223: 'EXTERNNAME : Externally Referenced Name',
              0x225: 'DEFAULTROWHEIGHT : Default Row Height',
              0x231: 'FONT : Font Description',
              0x236: 'TABLE : Data Table',
              0x23E: 'WINDOW2 : Sheet Window Information',
              0x27E: 'RK : Cell Value, RK Number',
              0x293: 'STYLE : Style Information',
              0x406: 'FORMULA : Cell Formula',
              0x41E: 'FORMAT : Number Format',
              0x800: 'HLINKTOOLTIP : Hyperlink Tooltip',
              0x801: 'WEBPUB : Web Publish Item',
              0x802: 'QSISXTAG : PivotTable and Query Table Extensions',
              0x803: 'DBQUERYEXT : Database Query Extensions',
              0x804: 'EXTSTRING :  FRT String',
              0x805: 'TXTQUERY : Text Query Information',
              0x806: 'QSIR : Query Table Formatting',
              0x807: 'QSIF : Query Table Field Formatting',
              0x809: 'BOF : Beginning of File',
              0x80A: 'OLEDBCONN : OLE Database Connection',
              0x80B: 'WOPT : Web Options',
              0x80C: 'SXVIEWEX : Pivot Table OLAP Extensions',
              0x80D: 'SXTH : PivotTable OLAP Hierarchy',
              0x80E: 'SXPIEX : OLAP Page Item Extensions',
              0x80F: 'SXVDTEX : View Dimension OLAP Extensions',
              0x810: 'SXVIEWEX9 : Pivot Table Extensions',
              0x812: 'CONTINUEFRT : Continued  FRT',
              0x813: 'REALTIMEDATA : Real-Time Data (RTD)',
              0x862: 'SHEETEXT : Extra Sheet Info',
              0x863: 'BOOKEXT : Extra Book Info',
              0x864: 'SXADDL : Pivot Table Additional Info',
              0x865: 'CRASHRECERR : Crash Recovery Error',
              0x866: 'HFPicture : Header / Footer Picture',
              0x867: 'FEATHEADR : Shared Feature Header',
              0x868: 'FEAT : Shared Feature Record',
              0x86A: 'DATALABEXT : Chart Data Label Extension',
              0x86B: 'DATALABEXTCONTENTS : Chart Data Label Extension Contents',
              0x86C: 'CELLWATCH : Cell Watch',
              0x86d: 'FEATINFO : Shared Feature Info Record',
              0x871: 'FEATHEADR11 : Shared Feature Header 11',
              0x872: 'FEAT11 : Shared Feature 11 Record',
              0x873: 'FEATINFO11 : Shared Feature Info 11 Record',
              0x874: 'DROPDOWNOBJIDS : Drop Down Object',
              0x875: 'CONTINUEFRT11 : Continue  FRT 11',
              0x876: 'DCONN : Data Connection',
              0x877: 'LIST12 : Extra Table Data Introduced in Excel 2007',
              0x878: 'FEAT12 : Shared Feature 12 Record',
              0x879: 'CONDFMT12 : Conditional Formatting Range Information 12',
              0x87A: 'CF12 : Conditional Formatting Condition 12',
              0x87B: 'CFEX : Conditional Formatting Extension',
              0x87C: 'XFCRC : XF Extensions Checksum',
              0x87D: 'XFEXT : XF Extension',
              0x87E: 'EZFILTER12 : AutoFilter Data Introduced in Excel 2007',
              0x87F: 'CONTINUEFRT12 : Continue FRT 12',
              0x881: 'SXADDL12 : Additional Workbook Connections Information',
              0x884: 'MDTINFO : Information about a Metadata Type',
              0x885: 'MDXSTR : MDX Metadata String',
              0x886: 'MDXTUPLE : Tuple MDX Metadata',
              0x887: 'MDXSET : Set MDX Metadata',
              0x888: 'MDXPROP : Member Property MDX Metadata',
              0x889: 'MDXKPI : Key Performance Indicator MDX Metadata',
              0x88A: 'MDTB : Block of Metadata Records',
              0x88B: 'PLV : Page Layout View Settings in Excel 2007',
              0x88C: 'COMPAT12 : Compatibility Checker 12',
              0x88D: 'DXF : Differential XF',
              0x88E: 'TABLESTYLES : Table Styles',
              0x88F: 'TABLESTYLE : Table Style',
              0x890: 'TABLESTYLEELEMENT : Table Style Element',
              0x892: 'STYLEEXT : Named Cell Style Extension',
              0x893: 'NAMEPUBLISH : Publish To Excel Server Data for Name',
              0x894: 'NAMECMT : Name Comment',
              0x895: 'SORTDATA12 : Sort Data 12',
              0x896: 'THEME : Theme',
              0x897: 'GUIDTYPELIB : VB Project Typelib GUID',
              0x898: 'FNGRP12 : Function Group',
              0x899: 'NAMEFNGRP12 : Extra Function Group',
              0x89A: 'MTRSETTINGS : Multi-Threaded Calculation Settings',
              0x89B: 'COMPRESSPICTURES : Automatic Picture Compression Mode',
              0x89C: 'HEADERFOOTER : Header Footer',
              0x8A3: 'FORCEFULLCALCULATION : Force Full Calculation Settings',
              0x8c1: 'LISTOBJ : List Object',
              0x8c2: 'LISTFIELD : List Field',
              0x8c3: 'LISTDV : List Data Validation',
              0x8c4: 'LISTCONDFMT : List Conditional Formatting',
              0x8c5: 'LISTCF : List Cell Formatting',
              0x8c6: 'FMQRY : Filemaker queries',
              0x8c7: 'FMSQRY : File maker queries',
              0x8c8: 'PLV : Page Layout View in Mac Excel 11',
              0x8c9: 'LNEXT : Extension information for borders in Mac Office 11',
              0x8ca: 'MKREXT : Extension information for markers in Mac Office 11'
          }
  
          # https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-xls/0f2ea0a1-9fc8-468d-97aa-9d333b72d106?redirectedfrom=MSDN
          recordsNotXORObfuscated = [ 0x2F, # FILEPASS
                                      0xE1, # INTERFACEHDR
                                     0x138, # RRDHEAD
                                     0x194, # USREXCL
                                     0x195, # FILELOCK
                                     0x196, # RRDINFO
                                     0x809, # BOF
          ]
  
          if self.streamname in [['Workbook'], ['Book']]:
              self.ran = True
              stream = self.stream
  
              oParser = optparse.OptionParser()
              oParser.add_option('-s', '--strings', action='store_true', default=False, help='Dump strings')
              oParser.add_option('-a', '--hexascii', action='store_true', default=False, help='Dump hex ascii')
              oParser.add_option('-X', '--hex', action='store_true', default=False, help='Dump hex without whitespace')
              oParser.add_option('-R', '--hexrecord', action='store_true', default=False, help='Dump hex of complete record without whitespace')
              oParser.add_option('-b', '--formulabytes', action='store_true', default=False, help='Dump formula bytes')
              oParser.add_option('-d', '--dump', action='store_true', default=False, help='Dump')
              oParser.add_option('-x', '--xlm', action='store_true', default=False, help='Select all records relevant for Excel 4.0 macros')
              oParser.add_option('-o', '--opcode', type=str, default='', help='Opcode to filter for (use , to separate multiple opcodes')
              oParser.add_option('-f', '--find', type=str, default='', help='Content to search for')
              oParser.add_option('-c', '--csv', action='store_true', default=False, help='Produce CSV')
              oParser.add_option('-j', '--json', action='store_true', default=False, help='Produce JSON')
              oParser.add_option('-r', '--cellrefformat', type=str, default='rc', help='Cell reference format (RC, LN)')
              oParser.add_option('-S', '--statistics', action='store_true', default=False, help='Produce BIFF record statistics')
              oParser.add_option('-w', '--wordlist', type=str, default='', help='Try to crack password with provided passwordlist')
              oParser.add_option('-D', '--xordeobfuscate', action='store_true', default=False, help='XOR Deobfuscate')
              (options, args) = oParser.parse_args(self.options.split(' '))
  
              if options.find.startswith('0x'):
                  options.find = binascii.a2b_hex(options.find[2:])
  
              if options.wordlist == '':
                  passwordlistFilename = '.'
              else:
                  passwordlistFilename = options.wordlist
  
              position = 0
              macros4Found = False
              filepassFound = False
              isBIFF8 = True
              dSheetNames = {}
              sheetNames = []
              definesNames = []
              currentSheetname = ''
              dOpcodeStatistics = {}
              xorObfuscationKey = None
              while position < len(stream):
                  decrypted = False
                  formatcodes = 'HH'
                  formatsize = struct.calcsize(formatcodes)
                  if len(stream[position:position + formatsize]) < formatsize:
                      break
                  header = stream[position:position + formatsize]
                  opcode, length = struct.unpack(formatcodes, header)
                  dOpcodeStatistics[opcode] = [dOpcodeStatistics.get(opcode, [0, 0])[0] + 1, dOpcodeStatistics.get(opcode, [0, 0])[1] + length]
                  data = stream[position + formatsize:position + formatsize + length]
                  if xorObfuscationKey != None and xorObfuscationKey != '?' and options.xordeobfuscate:
                      if not opcode in recordsNotXORObfuscated:
                          dataDeobfuscated = XorDeobfuscate(data, xorObfuscationKey, position + 4 + len(data))
                          decrypted = True
                          if opcode == 0x85: #BOUNDSHEET
                              data = data[:4] + dataDeobfuscated[4:]
                          else:
                              data = dataDeobfuscated
                  positionBIFFRecord = position
                  position = position + formatsize + length
  
                  if opcode in dOpcodes:
                      opcodename = dOpcodes[opcode]
                  else:
                      opcodename = ''
                  line = '%04x %6d %s' % (opcode, length, opcodename)
  
                  csvrow = None
  
                  # PASSWORD record and PROT4REVPASS reconrd
                  if (opcode == 0x13 or opcode == 0x01bc) and len(data) == 2:
                      if not filepassFound or decrypted:
                          verifier = struct.unpack('<H', data)[0]
                          if verifier == 0:
                              line += ' - password not set'
                          else:
                              password = None
                              for candidate in GetDictionary(passwordlistFilename):
                                  if CreatePasswordVerifier_Method1(candidate) == verifier:
                                      password = candidate
                                      line += ' - password: ' + password
                                      break
                              if password == None:
                                      line += ' - password not recovered: verifier 0x%04x' % verifier
  
                  # FORMULA record
                  if opcode == 0x06 and len(data) >= 21:
                      if not filepassFound:
                          cellref, dummy = ParseLoc(data, options.cellrefformat, True)
                          formatcodes = 'H'
                          formatsize = struct.calcsize(formatcodes)
                          length = struct.unpack(formatcodes, data[20:20 + formatsize])[0]
                          expression = data[22:]
                          parsedExpression, stack = ParseExpression(expression, definesNames, sheetNames, options.cellrefformat)
                          line += ' - %s len=%d %s' % (cellref, length, parsedExpression)
                          if len(stack) == 1:
                              csvrow = [currentSheetname, cellref, stack[0], '']
                          else:
                              csvrow = [currentSheetname, cellref, repr(stack), '']
                          if options.formulabytes:
                              data_hex = P23Decode(binascii.b2a_hex(data))
                              spaced_data_hex = ' '.join(a+b for a,b in zip(data_hex[::2], data_hex[1::2]))
                              line += '\nFORMULA BYTES: %s' % spaced_data_hex
  
                  # LABEL record #a# difference BIFF4 and BIFF5+
                  if opcode == 0x18 and len(data) >= 16:
                      if not filepassFound:
                          flags = P23Ord(data[0])
                          lnName = P23Ord(data[3])
                          szFormula = P23Ord(data[4]) + P23Ord(data[5]) * 0x100
                          offset = 14
                          if P23Ord(data[offset]) == 0:  #a# hack with BIFF8 Unicode
                              offset = 15
                          if flags & 0x20:
                              dBuildInNames = {1: 'Auto_Open', 2: 'Auto_Close'}
                              code = P23Ord(data[offset])
                              name = dBuildInNames.get(code, '?')
                              line += ' - built-in-name %d %s' % (code, name)
                          else:
                              name = P23Decode(data[offset:offset+lnName])
                              line += ' - %s' % (name)
                          definesNames.append(name)
                          if flags & 0x01:
                              line += ' hidden'
                          try:
                              parsedExpression, stack = ParseExpression(data[offset+lnName:offset+lnName+szFormula], definesNames, sheetNames, options.cellrefformat)
                          except IndexError:
                              parsedExpression = '*PARSING ERROR*'
                          line += ' len=%d %s' % (szFormula, parsedExpression)
  
                  # FILEPASS record
                  if opcode == 0x2f:
                      filepassFound = True
                      if len(data) == 4:
                          line += ' - XOR obfuscation < BIFF8'
                          key, verifier, password = AnalyzeXORObfuscationStructure(data, passwordlistFilename)
                          xorObfuscationKey = '?'
                          if password != None:
                              line += ' - password: ' + password
                              if password == 'VelvetSweatshop':
                                  keyVelvetSweatshop = binascii.a2b_hex('87 6B 9A E2 1E E3 05 62 1E 69 96 60 98 6E 94 04'.replace(' ', ''))
                                  xorObfuscationKey = keyVelvetSweatshop
                      elif len(data) >= 6:
                          formatcodes = '<HHH'
                          formatsize = struct.calcsize(formatcodes)
                          encryptionMethod, encryptionKey, hashValue = struct.unpack(formatcodes, data[0:formatsize])
                          if encryptionMethod == 0:
                              line += ' - XOR obfuscation BIFF8'
                              key, verifier, password = AnalyzeXORObfuscationStructure(data[2:], passwordlistFilename)
                              if password != None:
                                  line += ' - password: ' + password
                                  if password == 'VelvetSweatshop':
                                      keyVelvetSweatshop = binascii.a2b_hex('87 6B 9A E2 1E E3 05 62 1E 69 96 60 98 6E 94 04'.replace(' ', ''))
                                      xorObfuscationKey = keyVelvetSweatshop
                              else:
                                  xorObfuscationKey = '?'
                          elif encryptionMethod == 1:
                              line += ' - RC4'
                          else:
                              line += ' - unknown encryption method 0x%04x' % encryptionMethod
  
                  # WRITEACCESS record
                  if opcode == 0x5C and len(data) == 112 and xorObfuscationKey == '?' and data[-0x10:] == data[-0x20:-0x10]:
                      # extract 16-byte long XOR obfuscation key from WRITEACCESS record that contains a username that is padded with space characters (0x20) to a length of 112 bytes
                      keyextracted = [byte ^ rol(0x20, 5) for byte in data[-0x10:]]
                      keyextracted = RorBytes(keyextracted, (positionBIFFRecord + 8 + len(data)) % 16)
                      xorObfuscationKey = keyextracted
                      if xorObfuscationKey != None and xorObfuscationKey != '?' and options.xordeobfuscate:
                          data = XorDeobfuscate(data, xorObfuscationKey, positionBIFFRecord + 4 + len(data))
                          decrypted = True
  
                  # BOUNDSHEET record
                  if opcode == 0x85 and len(data) >= 6:
                      if not filepassFound or xorObfuscationKey != None and xorObfuscationKey != '?' and options.xordeobfuscate:
                          formatcodes = '<IBB'
                          formatsize = struct.calcsize(formatcodes)
                          positionBOF, sheetState, sheetType = struct.unpack(formatcodes, data[0:formatsize])
                          dSheetType = {0: 'worksheet or dialog sheet', 1: 'Excel 4.0 macro sheet', 2: 'chart', 6: 'Visual Basic module'}
                          if sheetType == 1:
                              macros4Found = True
                          sheetName = ShortXLUnicodeString(data[6:], isBIFF8)
                          dSheetNames[positionBOF] = sheetName
                          sheetNames.append(sheetName)
  
                          dSheetState = {0: 'visible', 1: 'hidden', 2: 'very hidden', 3: 'visibility=3'}
                          visibility = ''
                          if sheetState > 3:
                              visibility = 'reserved bits not zero: 0x%02x ' % (sheetState & 0xFC)
                          visibility += dSheetState.get(sheetState & 3, '0x%02x' % (sheetState & 3))
  
                          line += ' - %s, %s - %s' % (dSheetType.get(sheetType, '%02x' % sheetType), visibility, sheetName)
  
                  # BOF record
                  if opcode == 0x0809 and len(data) >= 8:
                      if not filepassFound:
                          formatcodes = '<HHHH'
                          formatsize = struct.calcsize(formatcodes)
                          vers, dt, rupBuild, rupYear = struct.unpack(formatcodes, data[0:formatsize])
                          dBIFFVersion = {0x0500: 'BIFF5/BIFF7', 0x0600: 'BIFF8'}
                          isBIFF8 = dBIFFVersion == 0x0600
                          dStreamType = {5: 'workbook', 6: 'Visual Basic Module', 0x10: 'dialog sheet/worksheet', 0x20: 'chart sheet', 0x40: 'Excel 4.0 macro sheet', 0x100: 'Workspace file'}
                          line += ' - %s %s 0x%04x %d' % (dBIFFVersion.get(vers, '0x%04x' % vers), dStreamType.get(dt, '0x%04x' % dt), rupBuild, rupYear)
                          if positionBIFFRecord in dSheetNames:
                              line += ' - %s' % (dSheetNames[positionBIFFRecord])
                              currentSheetname = dSheetNames[positionBIFFRecord]
  
                  # STRING record
                  if opcode == 0x207 and len(data) >= 4:
                      if not filepassFound:
                          values = list(Strings(data[3:]).values())
                          strings = ''
                          if values[0] != []:
                              strings = values[0][0].encode()
                          if values[1] != []:
                              if strings != '':
                                  strings += ' '
                              strings += ' '.join(values[1])
                          line += ' - %s' % strings
  
                  # number record
                  if opcode == 0x0203:
                      if not filepassFound:
                          cellref, data2 = ParseLoc(data, options.cellrefformat, True)
                          formatcodes = '<Hd'
                          formatsize = struct.calcsize(formatcodes)
                          xf, value = struct.unpack(formatcodes, data2[:formatsize])
                          line += ' - %s %.20f' % (cellref, value)
                          csvrow = [currentSheetname, cellref, '', '%.20f' % value]
  
                  # RK record
                  if opcode == 0x027E and len(data) == 10:
                      if not filepassFound:
                          cellref, data2 = ParseLoc(data, options.cellrefformat, True)
                          formatcodes = '<H'
                          formatsize = struct.calcsize(formatcodes)
                          xf = struct.unpack(formatcodes, data2[:formatsize])
                          value = DecodeRKValue(data2[formatsize:])
                          line += ' - %s %f' % (cellref, value)
                          csvrow = [currentSheetname, cellref, '', '%.20f' % value]
  
                  if options.find == '' and options.opcode == '' and not options.xlm or options.opcode != '' and FindOpcodeInLine(options.opcode, line) or options.find != '' and options.find.encode() in data or options.xlm and opcode in [0x06, 0x18, 0x85, 0x207]:
                      if not options.hex and not options.dump:
                          if options.csv or options.json:
                              if csvrow != None:
                                  result.append(csvrow)
                          else:
                              result.append(line)
  
                      if options.hexascii:
                          result.extend(' ' + foundstring for foundstring in HexASCII(data, 8))
                      elif options.strings:
                          dEncodings = {'s': 'ASCII', 'L': 'UNICODE'}
                          for encoding, strings in Strings(data).items():
                              if len(strings) > 0:
                                  result.append(' ' + dEncodings[encoding] + ':')
                                  result.extend('  ' + foundstring for foundstring in strings)
                      elif options.hex:
                          result.append(binascii.b2a_hex(data).decode('latin'))
                      elif options.hexrecord:
                          result.append(' ' + binascii.b2a_hex(header + data).decode('latin'))
                      elif options.dump:
                          result = data
  
              if options.xlm and filepassFound and not (xorObfuscationKey != None and xorObfuscationKey != '?' and options.xordeobfuscate):
                  result = ['Warning: FILEPASS record found, file is password protected']
              elif options.statistics:
                  stats = []
                  for opcode in sorted(dOpcodeStatistics.keys()):
                      stats.append((opcode, dOpcodes.get(opcode, ''), dOpcodeStatistics[opcode][0], dOpcodeStatistics[opcode][1]))
                  if options.csv:
                      result = [MakeCSVLine(['opcode', 'description', 'count', 'totalsize'], DEFAULT_SEPARATOR, QUOTE)]
                  else:
                      result = []
                  for item in stats:
                      if options.csv:
                          result.append(MakeCSVLine(item, DEFAULT_SEPARATOR, QUOTE))
                      else:
                          result.append('%d %s: %d %d' % item)
              elif options.xlm and not macros4Found:
                  result = []
              elif options.csv:
                  result = [MakeCSVLine(row, DEFAULT_SEPARATOR, QUOTE) for row in [['Sheet', 'Reference', 'Formula', 'Value']] + result]
              elif options.json:
                  result = json.dumps(result)
              elif filepassFound:
                  result.append('Warning: FILEPASS record found, file is password protected')
  
          return result
  
  AddPlugin(cBIFF)