object frmStringPointerScan: TfrmStringPointerScan
  Left = 431
  Height = 530
  Top = 242
  Width = 813
  AutoSize = True
  Caption = 'Structure spider'
  ClientHeight = 510
  ClientWidth = 813
  Menu = MainMenu1
  OnClose = FormClose
  OnShow = FormShow
  Position = poScreenCenter
  LCLVersion = '1.6.0.4'
  object Panel1: TPanel
    Left = 0
    Height = 490
    Top = 0
    Width = 188
    Align = alLeft
    AutoSize = True
    BevelOuter = bvNone
    ClientHeight = 490
    ClientWidth = 188
    TabOrder = 0
    object edtStructsize: TEdit
      AnchorSideLeft.Control = lblStructsize
      AnchorSideTop.Control = lblStructsize
      AnchorSideTop.Side = asrBottom
      Left = 87
      Height = 23
      Top = 23
      Width = 80
      TabOrder = 0
      Text = '4096'
    end
    object lblStructsize: TLabel
      AnchorSideLeft.Control = Panel5
      AnchorSideLeft.Side = asrBottom
      AnchorSideTop.Control = Panel5
      Left = 87
      Height = 15
      Top = 8
      Width = 50
      BorderSpacing.Left = 3
      Caption = 'Structsize'
      ParentColor = False
    end
    object edtRegExp: TEdit
      AnchorSideLeft.Control = lblString
      AnchorSideTop.Control = lblString
      AnchorSideRight.Control = Panel1
      AnchorSideRight.Side = asrBottom
      Left = 20
      Height = 23
      Top = 349
      Width = 164
      Anchors = [akTop, akLeft, akRight]
      BorderSpacing.Right = 4
      Enabled = False
      TabOrder = 9
    end
    object cbMustBeStart: TCheckBox
      AnchorSideLeft.Control = cbRegExp
      AnchorSideTop.Control = cbCaseSensitive
      AnchorSideTop.Side = asrBottom
      Left = 20
      Height = 19
      Top = 330
      Width = 89
      Caption = 'Must be start'
      Enabled = False
      TabOrder = 8
    end
    object cbCaseSensitive: TCheckBox
      AnchorSideLeft.Control = cbRegExp
      AnchorSideTop.Control = cbRegExp
      AnchorSideTop.Side = asrBottom
      Left = 20
      Height = 19
      Top = 311
      Width = 93
      Caption = 'Case sensitive'
      Enabled = False
      TabOrder = 7
    end
    object cbRegExp: TCheckBox
      AnchorSideLeft.Control = rbStringscan
      AnchorSideTop.Control = cbReuseStringmap
      AnchorSideTop.Side = asrBottom
      Left = 20
      Height = 19
      Top = 292
      Width = 164
      BorderSpacing.Left = 16
      BorderSpacing.Right = 4
      Caption = 'Strings must match reg exp'
      OnChange = cbRegExpChange
      TabOrder = 6
    end
    object rbStringscan: TRadioButton
      AnchorSideLeft.Control = Panel4
      AnchorSideTop.Control = Panel4
      AnchorSideTop.Side = asrBottom
      Left = 4
      Height = 19
      Top = 254
      Width = 78
      Caption = 'String scan'
      OnChange = rbDatascanChange
      TabOrder = 5
    end
    object rbDatascan: TRadioButton
      AnchorSideLeft.Control = rbStringscan
      AnchorSideTop.Control = edtRegExp
      AnchorSideTop.Side = asrBottom
      Left = 4
      Height = 19
      Top = 372
      Width = 71
      Caption = 'Data scan'
      OnChange = rbDatascanChange
      TabOrder = 10
    end
    object edtAlignsize: TEdit
      AnchorSideLeft.Control = lblAlign
      AnchorSideTop.Control = lblAlign
      AnchorSideTop.Side = asrBottom
      AnchorSideRight.Control = Panel1
      AnchorSideRight.Side = asrBottom
      Left = 20
      Height = 23
      Top = 406
      Width = 164
      Anchors = [akTop, akLeft, akRight]
      BorderSpacing.Right = 4
      Enabled = False
      TabOrder = 11
      Text = '4'
    end
    object lblAlign: TLabel
      AnchorSideLeft.Control = rbDatascan
      AnchorSideTop.Control = rbDatascan
      AnchorSideTop.Side = asrBottom
      Left = 20
      Height = 15
      Top = 391
      Width = 47
      BorderSpacing.Left = 16
      Caption = 'Alignsize'
      Enabled = False
      ParentColor = False
    end
    object edtPointerStart: TEdit
      AnchorSideLeft.Control = cbPointerInRange
      AnchorSideTop.Control = cbPointerInRange
      AnchorSideTop.Side = asrBottom
      AnchorSideRight.Control = Panel1
      AnchorSideRight.Side = asrBottom
      Left = 4
      Height = 23
      Top = 67
      Width = 180
      Anchors = [akTop, akLeft, akRight]
      BorderSpacing.Right = 4
      Enabled = False
      TabOrder = 2
    end
    object cbPointerInRange: TCheckBox
      AnchorSideLeft.Control = Panel5
      AnchorSideTop.Control = Panel5
      AnchorSideTop.Side = asrBottom
      Left = 4
      Height = 19
      Top = 48
      Width = 150
      BorderSpacing.Top = 2
      Caption = 'Pointer must be in range'
      OnChange = cbPointerInRangeChange
      TabOrder = 1
    end
    object lblAnd: TLabel
      AnchorSideLeft.Control = cbPointerInRange
      AnchorSideTop.Control = edtPointerStart
      AnchorSideTop.Side = asrBottom
      Left = 4
      Height = 15
      Top = 90
      Width = 20
      Caption = 'and'
      Enabled = False
      ParentColor = False
    end
    object edtPointerStop: TEdit
      AnchorSideLeft.Control = cbPointerInRange
      AnchorSideTop.Control = lblAnd
      AnchorSideTop.Side = asrBottom
      AnchorSideRight.Control = Panel1
      AnchorSideRight.Side = asrBottom
      Left = 4
      Height = 23
      Top = 105
      Width = 180
      Anchors = [akTop, akLeft, akRight]
      BorderSpacing.Right = 4
      Enabled = False
      TabOrder = 3
    end
    object lblString: TLabel
      AnchorSideLeft.Control = cbMustBeStart
      AnchorSideTop.Control = cbMustBeStart
      AnchorSideTop.Side = asrBottom
      Left = 20
      Height = 15
      Top = 349
      Width = 34
      Caption = 'String:'
      Enabled = False
      ParentColor = False
    end
    object Panel4: TPanel
      AnchorSideLeft.Control = edtPointerStop
      AnchorSideTop.Control = edtPointerStop
      AnchorSideTop.Side = asrBottom
      Left = 4
      Height = 122
      Top = 132
      Width = 148
      AutoSize = True
      BorderSpacing.Top = 4
      BevelOuter = bvNone
      ClientHeight = 122
      ClientWidth = 148
      TabOrder = 4
      object rbDiffDontCare: TRadioButton
        AnchorSideLeft.Control = Panel4
        AnchorSideTop.Control = Panel4
        Left = 0
        Height = 19
        Top = 0
        Width = 148
        Caption = 'Don''t care for difference'
        Checked = True
        Enabled = False
        OnChange = rbDiffDontCareChange
        TabOrder = 0
        TabStop = True
      end
      object rbMustBeDifferent: TRadioButton
        AnchorSideLeft.Control = Panel4
        AnchorSideTop.Control = rbDiffDontCare
        AnchorSideTop.Side = asrBottom
        Left = 0
        Height = 19
        Top = 19
        Width = 111
        Caption = 'Must be different'
        Enabled = False
        OnChange = rbDiffDontCareChange
        TabOrder = 1
      end
      object rbMustBeSame: TRadioButton
        AnchorSideLeft.Control = Panel4
        AnchorSideTop.Control = rbMustBeDifferent
        AnchorSideTop.Side = asrBottom
        Left = 0
        Height = 19
        Top = 38
        Width = 114
        Caption = 'Must be the same'
        Enabled = False
        OnChange = rbDiffDontCareChange
        TabOrder = 2
      end
      object comboCompareType: TComboBox
        AnchorSideLeft.Control = Panel4
        AnchorSideTop.Control = lblCompare
        AnchorSideTop.Side = asrBottom
        Left = 16
        Height = 23
        Top = 72
        Width = 124
        BorderSpacing.Left = 16
        Enabled = False
        ItemHeight = 15
        ItemIndex = 3
        Items.Strings = (
          'String'
          '1 Byte'
          '2 Bytes'
          '4 Bytes'
          '8 Bytes'
          'Float'
          'Double'
          'Pointer (hex)'
        )
        OnChange = comboTypeChange
        Style = csDropDownList
        TabOrder = 3
        Text = '4 Bytes'
      end
      object lblCompare: TLabel
        AnchorSideLeft.Control = Panel4
        AnchorSideTop.Control = rbMustBeSame
        AnchorSideTop.Side = asrBottom
        Left = 0
        Height = 15
        Top = 57
        Width = 75
        Caption = 'Compare type'
        Enabled = False
        ParentColor = False
      end
      object cbMapPointerValues: TCheckBox
        AnchorSideLeft.Control = Panel4
        AnchorSideTop.Control = comboCompareType
        AnchorSideTop.Side = asrBottom
        Left = 0
        Height = 19
        Hint = 'During the scan the values of pointer will be stored in memory for quick lookup when the same address is encountered again'#13#10'If the pointerlist has mostly unique addresses this can cause you to get out of memory errors'#13#10#13#10'Enabled: Fast- Memory gobbler'#13#10'Disabled: Slower- Not too much memory eaten'
        Top = 103
        Width = 148
        BorderSpacing.Top = 8
        Caption = 'Store values during scan'
        Checked = True
        ParentShowHint = False
        ShowHint = True
        State = cbChecked
        TabOrder = 4
      end
    end
    object Panel5: TPanel
      AnchorSideLeft.Control = Panel1
      AnchorSideTop.Control = Panel1
      Left = 4
      Height = 38
      Top = 8
      Width = 80
      AutoSize = True
      BorderSpacing.Left = 4
      BorderSpacing.Top = 8
      BevelOuter = bvNone
      ClientHeight = 38
      ClientWidth = 80
      TabOrder = 12
      object edtMaxLevel: TEdit
        AnchorSideLeft.Control = Panel5
        AnchorSideTop.Control = lblMaxLevel
        AnchorSideTop.Side = asrBottom
        Left = 0
        Height = 23
        Top = 15
        Width = 80
        TabOrder = 0
        Text = '2'
      end
      object lblMaxLevel: TLabel
        AnchorSideLeft.Control = Panel5
        AnchorSideTop.Control = Panel5
        Left = 0
        Height = 15
        Top = 0
        Width = 52
        Caption = 'Max Level'
        ParentColor = False
      end
    end
    object Panel8: TPanel
      AnchorSideLeft.Control = Panel1
      AnchorSideTop.Control = Panel9
      AnchorSideTop.Side = asrBottom
      AnchorSideRight.Control = Panel1
      AnchorSideRight.Side = asrBottom
      AnchorSideBottom.Control = Panel1
      AnchorSideBottom.Side = asrBottom
      Left = 0
      Height = 22
      Top = 468
      Width = 188
      Anchors = [akTop, akLeft, akRight, akBottom]
      AutoSize = True
      BevelOuter = bvNone
      ClientHeight = 22
      ClientWidth = 188
      TabOrder = 13
      object lblInfo: TLabel
        Left = 0
        Height = 15
        Top = 7
        Width = 188
        Align = alBottom
        Caption = 'Info'
        ParentColor = False
      end
    end
    object Panel9: TPanel
      AnchorSideLeft.Control = Panel1
      AnchorSideTop.Control = edtAlignsize
      AnchorSideTop.Side = asrBottom
      AnchorSideRight.Control = Panel1
      AnchorSideRight.Side = asrBottom
      Left = 0
      Height = 39
      Top = 429
      Width = 188
      Anchors = [akTop, akLeft, akRight]
      AutoSize = True
      BevelOuter = bvNone
      ChildSizing.LeftRightSpacing = 8
      ChildSizing.HorizontalSpacing = 8
      ChildSizing.EnlargeHorizontal = crsHomogenousSpaceResize
      ChildSizing.Layout = cclLeftToRightThenTopToBottom
      ChildSizing.ControlsPerLine = 2
      ClientHeight = 39
      ClientWidth = 188
      TabOrder = 14
      object btnNewScan: TButton
        AnchorSideLeft.Side = asrCenter
        Left = 10
        Height = 25
        Top = 7
        Width = 80
        AutoSize = True
        BorderSpacing.Top = 7
        BorderSpacing.Bottom = 7
        Caption = 'New Scan'
        Constraints.MinWidth = 80
        OnClick = miNewScanClick
        TabOrder = 0
        Visible = False
      end
      object btnScan: TButton
        AnchorSideLeft.Side = asrCenter
        Left = 100
        Height = 25
        Top = 7
        Width = 80
        AutoSize = True
        BorderSpacing.Left = 7
        BorderSpacing.Top = 7
        BorderSpacing.Right = 4
        BorderSpacing.Bottom = 7
        Caption = 'Scan'
        Constraints.MinWidth = 80
        OnClick = btnScanClick
        TabOrder = 1
      end
    end
    object cbReuseStringmap: TCheckBox
      AnchorSideLeft.Control = rbStringscan
      AnchorSideTop.Control = rbStringscan
      AnchorSideTop.Side = asrBottom
      Left = 20
      Height = 19
      Top = 273
      Width = 139
      BorderSpacing.Left = 16
      Caption = 'Use existing stringmap'
      Checked = True
      State = cbChecked
      TabOrder = 15
    end
  end
  object Panel2: TPanel
    Left = 188
    Height = 490
    Top = 0
    Width = 625
    Align = alClient
    BevelOuter = bvNone
    ClientHeight = 490
    ClientWidth = 625
    TabOrder = 1
    object ListView1: TListView
      Left = 0
      Height = 354
      Top = 136
      Width = 625
      Align = alClient
      Columns = <>
      HideSelection = False
      OwnerData = True
      PopupMenu = pmPointerfile
      ReadOnly = True
      RowSelect = True
      TabOrder = 0
      ViewStyle = vsReport
      OnCustomDrawItem = ListView1CustomDrawItem
      OnData = ListView1Data
      OnDblClick = ListView1DblClick
    end
    object Panel3: TPanel
      Left = 0
      Height = 136
      Top = 0
      Width = 625
      Align = alTop
      AutoSize = True
      BevelOuter = bvNone
      ClientHeight = 136
      ClientWidth = 625
      TabOrder = 1
      OnClick = Panel3Click
      object lblExtra: TLabel
        AnchorSideLeft.Control = Panel6
        AnchorSideLeft.Side = asrBottom
        AnchorSideTop.Control = Panel6
        Left = 133
        Height = 15
        Top = 8
        Width = 90
        BorderSpacing.Left = 6
        Caption = 'Compare against'
        ParentColor = False
      end
      object edtExtra: TEdit
        AnchorSideLeft.Control = lblExtra
        AnchorSideTop.Control = lblExtra
        AnchorSideTop.Side = asrBottom
        Left = 133
        Height = 23
        Top = 23
        Width = 127
        OnChange = edtExtraChange
        TabOrder = 0
      end
      object cbHasShadow2: TCheckBox
        AnchorSideLeft.Control = lblExtra
        AnchorSideTop.Control = edtExtra
        AnchorSideTop.Side = asrBottom
        Left = 133
        Height = 19
        Hint = 'Use this if you''re spidering a previously saved memory region that currently resides in a different location.'#13#10'Most commonly used for stacks where stack pointers point to it''s own structure'
        Top = 48
        Width = 85
        BorderSpacing.Top = 2
        Caption = 'Has Shadow'
        OnChange = cbHasShadowChange
        ParentShowHint = False
        ShowHint = True
        TabOrder = 1
      end
      object edtShadowAddress2: TEdit
        AnchorSideLeft.Control = lblExtra
        AnchorSideTop.Control = cbHasShadow2
        AnchorSideTop.Side = asrBottom
        Left = 133
        Height = 23
        Top = 67
        Width = 127
        OnChange = edtBaseChange
        TabOrder = 2
        Visible = False
      end
      object lblsize2: TLabel
        AnchorSideLeft.Control = lblExtra
        AnchorSideTop.Control = edtShadowAddress2
        AnchorSideTop.Side = asrBottom
        Left = 133
        Height = 15
        Top = 90
        Width = 20
        Caption = 'Size'
        ParentColor = False
        Visible = False
      end
      object edtShadowSize2: TEdit
        AnchorSideLeft.Control = lblExtra
        AnchorSideTop.Control = lblsize2
        AnchorSideTop.Side = asrBottom
        Left = 133
        Height = 23
        Top = 105
        Width = 80
        BorderSpacing.Bottom = 8
        OnChange = edtBaseChange
        TabOrder = 3
        Visible = False
      end
      object Panel6: TPanel
        AnchorSideLeft.Control = Panel3
        AnchorSideTop.Control = Panel3
        Left = 0
        Height = 120
        Top = 8
        Width = 127
        AutoSize = True
        BorderSpacing.Top = 8
        BorderSpacing.Bottom = 8
        BevelOuter = bvNone
        ClientHeight = 120
        ClientWidth = 127
        TabOrder = 4
        object edtShadowSize: TEdit
          AnchorSideLeft.Control = lblSize
          AnchorSideTop.Control = lblSize
          AnchorSideTop.Side = asrBottom
          Left = 0
          Height = 23
          Top = 97
          Width = 80
          OnChange = edtBaseChange
          TabOrder = 0
          Visible = False
        end
        object lblSize: TLabel
          AnchorSideLeft.Control = Panel6
          AnchorSideTop.Control = edtShadowAddress
          AnchorSideTop.Side = asrBottom
          Left = 0
          Height = 15
          Top = 82
          Width = 20
          Caption = 'Size'
          ParentColor = False
          Visible = False
        end
        object edtShadowAddress: TEdit
          AnchorSideLeft.Control = cbHasShadow
          AnchorSideTop.Control = cbHasShadow
          AnchorSideTop.Side = asrBottom
          Left = 0
          Height = 23
          Top = 59
          Width = 127
          OnChange = edtBaseChange
          TabOrder = 1
          Visible = False
        end
        object cbHasShadow: TCheckBox
          AnchorSideLeft.Control = Panel6
          AnchorSideTop.Control = edtBase
          AnchorSideTop.Side = asrBottom
          Left = 0
          Height = 19
          Hint = 'Use this if you''re spidering a previously saved memory region that currently resides in a different location.'#13#10'Most commonly used for stacks where stack pointers point to it''s own structure'
          Top = 40
          Width = 85
          BorderSpacing.Top = 2
          Caption = 'Has Shadow'
          OnChange = cbHasShadowChange
          ParentShowHint = False
          ShowHint = True
          TabOrder = 2
        end
        object edtBase: TEdit
          AnchorSideLeft.Control = Panel6
          AnchorSideTop.Control = lblBaseRegion
          AnchorSideTop.Side = asrBottom
          Left = 0
          Height = 23
          Top = 15
          Width = 127
          OnChange = edtBaseChange
          TabOrder = 3
        end
        object lblBaseRegion: TLabel
          AnchorSideLeft.Control = Panel6
          AnchorSideTop.Control = Panel6
          Left = 0
          Height = 15
          Top = 0
          Width = 61
          Caption = 'Base region'
          ParentColor = False
        end
      end
      object Panel7: TPanel
        AnchorSideLeft.Control = edtExtra
        AnchorSideLeft.Side = asrBottom
        AnchorSideTop.Control = Panel3
        AnchorSideRight.Control = Panel3
        AnchorSideRight.Side = asrBottom
        AnchorSideBottom.Control = Panel3
        AnchorSideBottom.Side = asrBottom
        Left = 268
        Height = 136
        Top = 0
        Width = 357
        Anchors = [akTop, akLeft, akRight, akBottom]
        AutoSize = True
        BorderSpacing.Left = 8
        BevelOuter = bvNone
        ClientHeight = 136
        ClientWidth = 357
        TabOrder = 5
        object lblvds: TLabel
          AnchorSideTop.Control = Panel7
          AnchorSideRight.Control = Panel7
          AnchorSideRight.Side = asrBottom
          Left = 249
          Height = 15
          Top = 8
          Width = 108
          Anchors = [akTop, akRight]
          BorderSpacing.Top = 8
          Caption = 'Variable display type'
          ParentColor = False
        end
        object comboType: TComboBox
          AnchorSideTop.Control = lblvds
          AnchorSideTop.Side = asrBottom
          AnchorSideRight.Control = Panel7
          AnchorSideRight.Side = asrBottom
          Left = 233
          Height = 23
          Top = 23
          Width = 124
          Anchors = [akTop, akRight]
          ItemHeight = 15
          ItemIndex = 0
          Items.Strings = (
            'String'
            '1 Byte'
            '2 Bytes'
            '4 Bytes'
            '8 Bytes'
            'Float'
            'Double'
            'Pointer (hex)'
          )
          OnChange = comboTypeChange
          Style = csDropDownList
          TabOrder = 0
          Text = 'String'
        end
      end
    end
  end
  object ProgressBar1: TProgressBar
    Left = 0
    Height = 20
    Top = 490
    Width = 813
    Align = alBottom
    Max = 1000
    TabOrder = 2
  end
  object SaveDialog1: TSaveDialog
    DefaultExt = '.sptr'
    Filter = 'String pointer (*.sptr)|*.sptr'
    Options = [ofOverwritePrompt, ofEnableSizing, ofViewDetail]
    left = 480
    top = 64
  end
  object MainMenu1: TMainMenu
    left = 197
    top = 168
    object MenuItem1: TMenuItem
      Caption = 'File'
      object MenuItem7: TMenuItem
        Caption = 'New Window'
        OnClick = MenuItem7Click
      end
      object MenuItem4: TMenuItem
        Caption = '-'
      end
      object miNewScan: TMenuItem
        Caption = 'New scan'
        OnClick = miNewScanClick
      end
      object miOpen: TMenuItem
        Caption = 'Open'
        OnClick = miOpenClick
      end
    end
    object MenuItem5: TMenuItem
      Caption = 'Rescan'
      Visible = False
      object MenuItem6: TMenuItem
        Caption = 'Filter pointerlist'
        OnClick = MenuItem6Click
      end
    end
  end
  object OpenDialog1: TOpenDialog
    DefaultExt = '.sptr'
    Filter = 'String pointer (*.sptr)|*.sptr'
    left = 552
    top = 64
  end
  object statusupdater: TTimer
    Enabled = False
    Interval = 500
    OnTimer = statusupdaterTimer
    left = 464
    top = 208
  end
  object pmPointerfile: TPopupMenu
    left = 400
    top = 112
    object miClearCache: TMenuItem
      Caption = 'Clear pointer cache'
      OnClick = miClearCacheClick
    end
    object miFind: TMenuItem
      Caption = 'Find...'
      ShortCut = 16454
      OnClick = miFindClick
    end
    object miFindNext: TMenuItem
      Caption = 'Find Next'
      Enabled = False
      ShortCut = 114
      OnClick = FindDialog1Find
    end
  end
  object FindDialog1: TFindDialog
    Width = 480
    Height = 136
    Options = [frDown, frHideWholeWord, frHideUpDown, frDisableUpDown, frHideEntireScope, frHidePromptOnReplace]
    OnFind = FindDialog1Find
    left = 268
    top = 243
  end
end