Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 48c9d7fb908ef7ff…

MALICIOUS

Office (OOXML)

1.67 MB Created: 2013-11-21 15:21:58 UTC Authoring application: Microsoft Excel 16.0300 First seen: 2020-11-23
MD5: 64e0fab496cfb440bcc21d04cc17c02d SHA-1: 55afa8627062ebd9850be719ed3020408ee0dc92 SHA-256: 48c9d7fb908ef7ff1b7756aefa051278f88b7fe482e44a37643bc62d90866d0e
284 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1204.002 Malicious File T1566.001 Spearphishing Attachment

The sample is an Excel document containing obfuscated VBA macros, including an Auto_Open macro, which is designed to execute automatically. Heuristics indicate potential use of Shell calls and CreateObject, suggesting the macro attempts to download and execute a second-stage payload. The document body contains financial statement-like text, indicating a lure to trick users into enabling macros.

Heuristics 9

  • VBA project inside OOXML medium 5 related findings OOXML_VBA
    Document contains a VBA project — VBA macros present
  • Potential Shell call in VBA critical OLE_VBA_SHELL
    Potential Shell call in VBA
    Matched line in script
    If AvtEjBcpqH Then AvtEjBcpqH = False: YJV8ndF0CY = Shell(a0g1XJHsHO & TBywhPRGpx(395) & TBywhPRGpx(396))
  • Obfuscated auto-exec VBA loader critical OLE_VBA_OBFUSCATED_AUTOEXEC_LOADER
    Auto-exec VBA reconstructs strings with a heavy custom decoder (numeric char-array, repeated hex-string decode, or junk-token Replace removal) and feeds them to a COM-instantiation or execution sink. This obfuscated-loader shape keeps CreateObject/Shell/URL indicators out of the macro source.
    Matched line in script
    Set Agl1TRmWhn = CreateObject(TBywhPRGpx(390))
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
    Matched line in script
    Set Agl1TRmWhn = CreateObject(TBywhPRGpx(390))
  • VBA p-code auto-exec with execution tokens high OLE_VBA_PCODE_AUTOEXEC_EXEC
    Triggers on the COMBINATION of two tokens co-occurring in the same compiled VBA/cache stream: an auto-execution entry point (Auto_Open / AutoOpen / Document_Open / Workbook_Open / Auto_Close / AutoClose) AND a shell/download/object-execution token (Shell, CreateObject, GetObject, PowerShell, cmd.exe, URLDownloadToFile, WinHttp, XMLHTTP, ADODB.Stream, ShellExecute, ExecuteExcel4Macro). Neither token alone fires it — it is the pairing that flags p-code-only or source-extraction-failure macro documents where the visible VBA source is unavailable. The matched tokens are named in the detail line below.
  • Auto_Open macro low OLE_VBA_AUTO
    Auto_Open macro
    Matched line in script
    Call Auto_Open
  • Password-protected archive handoff high SE_PASSWORD_ARCHIVE_LURE
    Document gives password instructions for an archive or attachment — often used to keep payloads encrypted until after gateway scanning
  • Hidden worksheet (veryHidden, hidden) low OOXML_HIDDEN_SHEET
    Excel workbook contains 12 hidden sheet(s) — hidden sheets are commonly used to conceal macro code, staging data, or intermediate payload construction
  • Fake invoice / payment lure low SE_INVOICE_LURE
    Document contains invoice or payment language paired with an action verb — useful context when combined with link, macro, or attachment indicators

Extracted artifacts 2

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source from OOXML) 129936 bytes
SHA-256: 30f839998ad168f2e9cc6c0652170a8546176aaed854e8aedc2757094d1d871c
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "Modulo1"
Sub hide_show()
    On Error Resume Next
    ActiveSheet.Shapes("000000").ControlFormat.Value = 1
    ThisWorkbook.Sheets("000000").Visible = xlSheetVisible
    ActiveSheet.Shapes("110000").ControlFormat.Value = 1
    ThisWorkbook.Sheets("110000").Visible = xlSheetVisible

    ThisWorkbook.Sheets("210000").Visible = (ActiveSheet.Shapes("210000").ControlFormat.Value <> -4146)
    ThisWorkbook.Sheets("220000").Visible = (ActiveSheet.Shapes("220000").ControlFormat.Value <> -4146)
    ThisWorkbook.Sheets("310000").Visible = (ActiveSheet.Shapes("310000").ControlFormat.Value <> -4146)
    ThisWorkbook.Sheets("320000").Visible = (ActiveSheet.Shapes("320000").ControlFormat.Value <> -4146)
    ThisWorkbook.Sheets("410000").Visible = (ActiveSheet.Shapes("410000").ControlFormat.Value <> -4146)
    ThisWorkbook.Sheets("420000").Visible = (ActiveSheet.Shapes("420000").ControlFormat.Value <> -4146)
    ThisWorkbook.Sheets("510000").Visible = (ActiveSheet.Shapes("510000").ControlFormat.Value <> -4146)
    ThisWorkbook.Sheets("520000").Visible = (ActiveSheet.Shapes("520000").ControlFormat.Value <> -4146)
    ThisWorkbook.Sheets("710000").Visible = (ActiveSheet.Shapes("710000").ControlFormat.Value <> -4146)
    
End Sub



Sub hide_show_610000_()
    On Error GoTo 0
    
    If ActiveSheet.Shapes("610000").ControlFormat.Value = 1 Then ' Check button 610000 activated
        If ThisWorkbook.Sheets("610000").Visible <> True Then ThisWorkbook.Sheets("610000").Visible = True ' Show 6100000 sheet if hidden
        ActiveSheet.Shapes("610000_0").ControlFormat.Value = 1 ' Activate check button 610000_0 for reserves. This buttom must be the only at front for decoration, all the reserve 610000 must be at back
        ThisWorkbook.Sheets("Index").Rows("19:39").Hidden = False ' Show 610000 reserves in Index if hidden
        Call hide_show_610000_Common ' Hide or made visible iside 610000 sheet
    Else ' Check button 610000 deactivated
        If ThisWorkbook.Sheets("610000").Visible <> False Then ThisWorkbook.Sheets("610000").Visible = False ' Hide 6100000 sheet if visible
        ThisWorkbook.Sheets("Index").Rows("19:39").Hidden = True ' Hide 610000 reserves in Index
        ActiveSheet.Shapes("610000_0").ControlFormat.Value = -4146 ' Deactivate check button 610000_0 for reserves. This buttom must be the only at front for decoration, all the reserve 610000 must be at back
    End If
End Sub
Sub hide_show_610000_0()
    On Error GoTo 0
    
    If ActiveSheet.Shapes("610000").ControlFormat.Value = 1 Then ' Check button 610000 activated
        If ActiveSheet.Shapes("610000_0").ControlFormat.Value = 1 Then ' Check button 610000_0 activated: Active all the sub buttons
            ActiveSheet.Shapes("610000_1").ControlFormat.Value = 1
            ActiveSheet.Shapes("610000_2").ControlFormat.Value = 1
            ActiveSheet.Shapes("610000_3").ControlFormat.Value = 1
            ActiveSheet.Shapes("610000_4").ControlFormat.Value = 1
            ActiveSheet.Shapes("610000_5").ControlFormat.Value = 1
            ActiveSheet.Shapes("610000_6").ControlFormat.Value = 1
            ActiveSheet.Shapes("610000_7").ControlFormat.Value = 1
            ActiveSheet.Shapes("610000_8").ControlFormat.Value = 1
            ActiveSheet.Shapes("610000_9").ControlFormat.Value = 1
            ActiveSheet.Shapes("610000_10").ControlFormat.Value = 1
            ActiveSheet.Shapes("610000_11").ControlFormat.Value = 1
            ActiveSheet.Shapes("610000_12").ControlFormat.Value = 1
            ActiveSheet.Shapes("610000_13").ControlFormat.Value = 1
            ActiveSheet.Shapes("610000_14").ControlFormat.Value = 1
            ActiveSheet.Shapes("610000_15").ControlFormat.Value = 1
            ActiveSheet.Shapes("610000_16").ControlFormat.Value = 1
            ActiveSheet.Shapes("610000_17").ControlFormat.Value = 1
            ActiveSheet.Shapes("610000_18").ControlFormat.Value = 1
            ActiveSheet.Shapes("610000_19").ControlFormat.Value = 1
            ActiveSheet.Shapes("610000_20").ControlFormat.Value = 1
        Else ' Deactivate all the sub buttons
            ActiveSheet.Shapes("610000_1").ControlFormat.Value = -4146
            ActiveSheet.Shapes("610000_2").ControlFormat.Value = -4146
            ActiveSheet.Shapes("610000_3").ControlFormat.Value = -4146
            ActiveSheet.Shapes("610000_4").ControlFormat.Value = -4146
            ActiveSheet.Shapes("610000_5").ControlFormat.Value = -4146
            ActiveSheet.Shapes("610000_6").ControlFormat.Value = -4146
            ActiveSheet.Shapes("610000_7").ControlFormat.Value = -4146
            ActiveSheet.Shapes("610000_8").ControlFormat.Value = -4146
            ActiveSheet.Shapes("610000_9").ControlFormat.Value = -4146
            ActiveSheet.Shapes("610000_10").ControlFormat.Value = -4146
            ActiveSheet.Shapes("610000_11").ControlFormat.Value = -4146
            ActiveSheet.Shapes("610000_12").ControlFormat.Value = -4146
            ActiveSheet.Shapes("610000_13").ControlFormat.Value = -4146
            ActiveSheet.Shapes("610000_14").ControlFormat.Value = -4146
            ActiveSheet.Shapes("610000_15").ControlFormat.Value = -4146
            ActiveSheet.Shapes("610000_16").ControlFormat.Value = -4146
            ActiveSheet.Shapes("610000_17").ControlFormat.Value = -4146
            ActiveSheet.Shapes("610000_18").ControlFormat.Value = -4146
            ActiveSheet.Shapes("610000_19").ControlFormat.Value = -4146
            ActiveSheet.Shapes("610000_20").ControlFormat.Value = -4146
        End If
    End If
    Call hide_show_610000_Common
End Sub
Sub hide_show_610000_Common()
        On Error GoTo 0
        
        ThisWorkbook.Sheets("610000").Columns("AE:AK").Hidden = (ActiveSheet.Shapes("610000_1").ControlFormat.Value = -4146)
        ThisWorkbook.Sheets("610000").Columns("AL:AR").Hidden = (ActiveSheet.Shapes("610000_2").ControlFormat.Value = -4146)
        ThisWorkbook.Sheets("610000").Columns("AS:AY").Hidden = (ActiveSheet.Shapes("610000_3").ControlFormat.Value = -4146)
        ThisWorkbook.Sheets("610000").Columns("AZ:BF").Hidden = (ActiveSheet.Shapes("610000_4").ControlFormat.Value = -4146)
        ThisWorkbook.Sheets("610000").Columns("BG:BM").Hidden = (ActiveSheet.Shapes("610000_5").ControlFormat.Value = -4146)
        ThisWorkbook.Sheets("610000").Columns("BN:BT").Hidden = (ActiveSheet.Shapes("610000_6").ControlFormat.Value = -4146)
        ThisWorkbook.Sheets("610000").Columns("BU:CA").Hidden = (ActiveSheet.Shapes("610000_7").ControlFormat.Value = -4146)
        ThisWorkbook.Sheets("610000").Columns("CB:CH").Hidden = (ActiveSheet.Shapes("610000_8").ControlFormat.Value = -4146)
        ThisWorkbook.Sheets("610000").Columns("CI:CO").Hidden = (ActiveSheet.Shapes("610000_9").ControlFormat.Value = -4146)
        ThisWorkbook.Sheets("610000").Columns("CP:CV").Hidden = (ActiveSheet.Shapes("610000_10").ControlFormat.Value = -4146)
        ThisWorkbook.Sheets("610000").Columns("CW:DC").Hidden = (ActiveSheet.Shapes("610000_11").ControlFormat.Value = -4146)
        ThisWorkbook.Sheets("610000").Columns("DD:DJ").Hidden = (ActiveSheet.Shapes("610000_12").ControlFormat.Value = -4146)
        ThisWorkbook.Sheets("610000").Columns("DK:DQ").Hidden = (ActiveSheet.Shapes("610000_13").ControlFormat.Value = -4146)
        ThisWorkbook.Sheets("610000").Columns("DR:DX").Hidden = (ActiveSheet.Shapes("610000_14").ControlFormat.Value = -4146)
        ThisWorkbook.Sheets("610000").Columns("DY:EE").Hidden = (ActiveSheet.Shapes("610000_15").ControlFormat.Value = -4146)
        ThisWorkbook.Sheets("610000").Columns("EF:EL").Hidden = (ActiveSheet.Shapes("610000_16").ControlFormat.Value = -4146)
        ThisWorkbook.Sheets("610000").Columns("EM:ES").Hidden = (ActiveSheet.Shapes("610000_17").ControlFormat.Value = -4146)
        ThisWorkbook.Sheets("610000").Columns("ET:EZ").Hidden = (ActiveSheet.Shapes("610000_18").ControlFormat.Value = -4146)
        ThisWorkbook.Sheets("610000").Columns("FA:FG").Hidden = (ActiveSheet.Shapes("610000_19").ControlFormat.Value = -4146)
        ThisWorkbook.Sheets("610000").Columns("FH:FN").Hidden = (ActiveSheet.Shapes("610000_20").ControlFormat.Value = -4146)

        If ActiveSheet.Shapes("610000_1").ControlFormat.Value + ActiveSheet.Shapes("610000_2").ControlFormat.Value + ActiveSheet.Shapes("610000_3").ControlFormat.Value + ActiveSheet.Shapes("610000_4").ControlFormat.Value + ActiveSheet.Shapes("610000_5").ControlFormat.Value + _
            ActiveSheet.Shapes("610000_6").ControlFormat.Value + ActiveSheet.Shapes("610000_7").ControlFormat.Value + ActiveSheet.Shapes("610000_8").ControlFormat.Value + ActiveSheet.Shapes("610000_9").ControlFormat.Value + ActiveSheet.Shapes("610000_10").ControlFormat.Value + _
            ActiveSheet.Shapes("610000_11").ControlFormat.Value + ActiveSheet.Shapes("610000_12").ControlFormat.Value + ActiveSheet.Shapes("610000_13").ControlFormat.Value + ActiveSheet.Shapes("610000_14").ControlFormat.Value + ActiveSheet.Shapes("610000_15").ControlFormat.Value + _
            ActiveSheet.Shapes("610000_16").ControlFormat.Value + ActiveSheet.Shapes("610000_17").ControlFormat.Value + ActiveSheet.Shapes("610000_18").ControlFormat.Value + ActiveSheet.Shapes("610000_19").ControlFormat.Value + ActiveSheet.Shapes("610000_20").ControlFormat.Value _
            <= -78773 Then ' Hide if all or all_minus_one of 610000_xx subblocks are hidden     -78773 = -4146 * 19 + 1
                ThisWorkbook.Sheets("610000").Columns("FO:FU").Hidden = True
        Else
                ThisWorkbook.Sheets("610000").Columns("FO:FU").Hidden = False
        End If

End Sub


Attribute VB_Name = "ThisWorkbook"
Attribute VB_Base = "0{00020819-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Hoja1"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Hoja4"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Hoja6"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Hoja20"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Hoja22"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Hoja21"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Hoja23"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Hoja17"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Hoja18"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Hoja11"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Hoja19"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Hoja12"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Hoja5"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Hoja3"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Modulo2"





Const JqcWJr5gFu As String = "CopyRight © Ignacio Boixo 2018-2020 All rigths reserved. Reverse engineering is prohibited. For License contact the author at ignacio@boixo.com"
Const KUDED5C8AU As String = "<!-- Generated with easyESEF.eu -->"
Option Explicit
Const YLwLJmOzdG As String = "CellCodes"
Dim h3O60bevzX(10000) As Integer, MXYgQkNE3G(10000) As Integer
Const IyM7EDxXcH As Integer = 10000
Dim QvNbO2lXY1(20000) As Integer, e5gU1QQLVA(20000) As Integer, SZWnLaJ8RD As Long, tbjKLlE963 As Long, Inl0WDfDXb As Boolean
Dim s6X0Xc0ymZ As Double, LmLnfPHqJK As String, h8TO2Ijllr As Boolean
Const LkW2dLqumw As Integer = 20000
Dim FWMqZMl6du As Long, KUZJmGMqfL As Long



Dim CZ1xX72D6W(18) As Long
Dim fAcFhj4eO9 As String, COYrk3xnt8 As String, YQOtuJrJQd As String
Dim mPDmKPhAuc As Worksheet
Const X4KeXlCVtE As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Const ViiwCZDTlg As String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim AJXL82ktIP As Boolean
Const ovYJjHQ1pc As String = "|"
Const CR7UoWWUNN  As String = "\"


Dim IeCu0SafAp As Long, XUmX6tDVXj(2, 2) As Long
Dim M5ZR5r5dTx(100) As String, ypzdU1kUiB(100) As String, DGrNWvNURe(100) As String, G6P2jM1NTC(100) As String, Hts2ypQckE(100) As Boolean, dKpNk0i7Xm(100) As String, FWD79jAmuY(100) As String
Dim a2jayt3Jvp(1000) As String
Dim HpIASkVqiR(1000) As Long, TBywhPRGpx(1000) As String
Const vzwwdtjKTd As Long = 1000
Dim lzVKrn3yO3 As String
Dim Rb5bvHOxEO As String
Const Q8jgI3BxsP As Long = 3


Dim odEOBQXhzD As String
Dim psPw18Qc45 As String, EmrbaUrNC2 As String
Dim ue9B80RMbq As Object, QAw5SO7LZW As Object


Const oPmkEewk3y As Long = 51
Dim TehpCo3VHa As String
Dim RsTxJk7P6H As Long, znl3jP1Ebv As Long, m0RrZytbEZ As Long
Dim NiCydhXJtN, DJGDh7OV3d, wcsYOlicov As Double
Const PXS68YRJKo As Long = 256


Dim iJq6v6JStP
Dim i9vjXRvOrl
Dim UceMUFkK5G() As Byte


Dim x9kgmFLRBJ As Object, hfNkuc4Rp3 As Object, OWAS9vklQf As Object, qTXY0ZsoZ6 As Object, AVqGGSYiTS As Object, p1FhZEbreZ As Object, y590Zx9QKr As Object
Dim Agl1TRmWhn As Object


Dim e1FMncRzT8 As Long, UxxlWkokD0 As Long, DJTba1D3OD As Long, oCIpQ0NOfm As Long, fG6XVC3eZ5 As Long, KUatHbzjvS As Long, DmfqVnJ4Wy As Long, C39QhVNMIl(100) As Long
Dim EibWnlgqET As String, nOlefWUSbz As String, SFoowbCbxi As String, a0g1XJHsHO As String, EaWn0j88ib As String, fmN0XhAJyc As String, kqOcwz3cPV As String
Dim itznEp47nh() As String, s5q7LQ17tD(1000) As String, o1KZTKoAug(30) As String
Dim Cer1pVOP21 As Long, YemlwRUbhU As Long, ZRMEU0mup1 As Long, hoPd6mH1Cx As Long, SGtr9YjbRT As Long
Dim GWY7fkyvQE As String, VEGcwjEZil As String, IxrmHN3xdy As String, S37PpcB6CL As String, FaWPQJ29Zv As String
Dim krtgnTzldt As Double

Dim PNFdeTBRk1 As String
Dim Lt3N872goc As Boolean, WmOqklECJP As Boolean, AvtEjBcpqH As Boolean, sGYzQqYzaz As Boolean
Dim YJV8ndF0CY As Variant, KHk8DEZpxi As Variant
Dim J7yoEcGowc As Object, Ia5c9avsMK As Object


Dim RnzUQHyWjP(50) As String
Dim U3UNFS6C5M(50) As Double
Dim dOfuDibfPo As Long


Const rIFFPNEleS As String = "Info"
Dim HUd5CvEnqw As Long, CctuyMd1zZ As Boolean, YHMP9AUsRT As String, bgKx9DFzvU As String
Const VvK6UESoJ2 As Long = 2000
Dim jjDHmhOtp9(2000) As String, lRFsdMKOw5(2000) As Long, NTk66sUHfF(2000) As String, xX8YqjXeup(2000) As Long


Dim VdDcb6QKfV As String, aYQEnWh2ak As String, ZjDZHJT9lR As String, UkRz3gYAPK As Boolean, P8AomhBsT8 As Boolean

Sub EntryCheckSelections()

Call gp9CiDlKeb
errorEntryCheckSelections:
Call rsfXnGOvDX
Call tZH7xrYBKK
End Sub

Sub EntryClearCells()
On Error GoTo errorEntryClearCells
Call gp9CiDlKeb
Call LXYRfIg7i4
Call U3uFnsAaYR("clear")
Call Lmeq2WSSJg(TBywhPRGpx(101) & "; " & TBywhPRGpx(4) & " " & CZ1xX72D6W(4) & "; " & TBywhPRGpx(8) & " " & CZ1xX72D6W(8), , , 400)
Call bAo3Uc4gcL(TBywhPRGpx(60))
errorEntryClearCells:
Call rsfXnGOvDX
Call tZH7xrYBKK
End Sub
Sub EntryResetCells()
On Error Resume Next
Worksheets(dKpNk0i7Xm(1)).Range(FWD79jAmuY(1)).Cells(1, 1) = ""
On Error GoTo errorEntryResetCells
Call Auto_Open
Call gp9CiDlKeb
Call LXYRfIg7i4
Call U3uFnsAaYR("reset")
Call Lmeq2WSSJg(TBywhPRGpx(103) & "; " & TBywhPRGpx(3) & " " & CZ1xX72D6W(3) & "; " & TBywhPRGpx(8) & " " & CZ1xX72D6W(8), , , 400)
Call bAo3Uc4gcL(TBywhPRGpx(61))
errorEntryResetCells:
Call rsfXnGOvDX
Call tZH7xrYBKK
End Sub
Sub EntryLoadCells()
On Error GoTo errorEntryLoadCells

Call gp9CiDlKeb
Call LXYRfIg7i4
YJV8ndF0CY = Application.GetOpenFilename(, , TBywhPRGpx(83))
odEOBQXhzD = fU4vjatKDP(YJV8ndF0CY)
If odEOBQXhzD <> "" And Dir$(odEOBQXhzD) <> "" Then
Call MEzMw8xdqR(odEOBQXhzD)
psPw18Qc45 = ""
QAw5SO7LZW.lineseparator = 10
If Not QAw5SO7LZW.EOS Then psPw18Qc45 = QAw5SO7LZW.ReadText(-2) & vbLf
If LCase(Right(odEOBQXhzD, 4)) = ".csv" Or (Replace(Replace(Replace(Replace(psPw18Qc45, " ", ""), vbCr, ""), vbLf, ""), vbTab, "") <> "" And InStr(psPw18Qc45, "<") = 0) Then
Call u1X7f9bwTE
If Not CctuyMd1zZ Then Call Lmeq2WSSJg(TBywhPRGpx(102) & "; " & TBywhPRGpx(3) & " " & CZ1xX72D6W(3) & "; " & TBywhPRGpx(4) & " " & CZ1xX72D6W(4) & "; " & TBywhPRGpx(8) & " " & CZ1xX72D6W(8), , , 400)
Else
If Not QAw5SO7LZW.EOS Then psPw18Qc45 = psPw18Qc45 & QAw5SO7LZW.ReadText(-2) & vbLf
If InStr(psPw18Qc45, TBywhPRGpx(300)) Then
Call U3uFnsAaYR("clear")
Erase CZ1xX72D6W
Call U3uFnsAaYR("load")
If Not CctuyMd1zZ Then Call Lmeq2WSSJg(TBywhPRGpx(104) & "; " & TBywhPRGpx(3) & " " & CZ1xX72D6W(3) & "; " & TBywhPRGpx(8) & " " & CZ1xX72D6W(8), , , 400)
Else
EibWnlgqET = odEOBQXhzD
If InStrRev(EibWnlgqET, CR7UoWWUNN) Then EibWnlgqET = Right(EibWnlgqET, Len(EibWnlgqET) - InStrRev(EibWnlgqET, CR7UoWWUNN))
If InStr(EibWnlgqET, ".") Then EibWnlgqET = Left(EibWnlgqET, InStr(EibWnlgqET, ".") - 1)
nOlefWUSbz = Application.ActiveWorkbook.FullName
SFoowbCbxi = nOlefWUSbz: If InStr(nOlefWUSbz, ".") Then SFoowbCbxi = Right(SFoowbCbxi, Len(SFoowbCbxi) - InStrRev(SFoowbCbxi, ".") + 1)
a0g1XJHsHO = EibWnlgqET & SFoowbCbxi
If Right(nOlefWUSbz, Len(a0g1XJHsHO)) <> a0g1XJHsHO Then
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=nOlefWUSbz, AccessMode:=xlExclusive, ConflictResolution:=xlLocalSessionChanges
Application.DisplayAlerts = True
a0g1XJHsHO = Left(nOlefWUSbz, Len(nOlefWUSbz) - Len(SFoowbCbxi) + 1) & a0g1XJHsHO
If Dir$(a0g1XJHsHO) <> "" Then Kill a0g1XJHsHO
ActiveWorkbook.SaveAs Filename:=a0g1XJHsHO
Call gp9CiDlKeb
End If

Call U3uFnsAaYR("clear")
Erase CZ1xX72D6W
Call LbbW9VW8SQ(ypzdU1kUiB(8), "U")
Call tj1yv5DzOR
Call LbbW9VW8SQ(ypzdU1kUiB(8))
If Not CctuyMd1zZ Then Call Lmeq2WSSJg(TBywhPRGpx(104), , , 400)
If Not CctuyMd1zZ Then Call Lmeq2WSSJg(TBywhPRGpx(1) & " " & CZ1xX72D6W(1) & "; " & TBywhPRGpx(2) & " " & CZ1xX72D6W(2) & "; " & TBywhPRGpx(9) & " " & CZ1xX72D6W(9) & "; " & TBywhPRGpx(8) & " " & CZ1xX72D6W(8), , , 400)
End If
End If
Call ibqDureJNU
Else
Call Lmeq2WSSJg(TBywhPRGpx(715))
End If
Call bAo3Uc4gcL(TBywhPRGpx(62))
errorEntryLoadCells:
Call rsfXnGOvDX
Call tZH7xrYBKK
End Sub
Sub EntrySaveCSV()
On Error GoTo errorEntrySaveCSV
Call gp9CiDlKeb
Call LXYRfIg7i4

YJV8ndF0CY = Application.GetSaveAsFilename(TBywhPRGpx(350), TBywhPRGpx(351), , TBywhPRGpx(81))
odEOBQXhzD = fU4vjatKDP(YJV8ndF0CY)
If odEOBQXhzD = "" Then GoTo errorEntrySaveCSV
If Dir$(odEOBQXhzD) <> "" Then Kill odEOBQXhzD


Call EVObUna0cb
YQOtuJrJQd = ovYJjHQ1pc
Worksheets(YLwLJmOzdG).Activate
DJTba1D3OD = 20
e1FMncRzT8 = 1
Do While Cells(e1FMncRzT8, 1) <> ""
EibWnlgqET = Trim(Cells(e1FMncRzT8, 1))
UxxlWkokD0 = InStr(EibWnlgqET, "!")
If EibWnlgqET <> "" And UxxlWkokD0 > 0 Then
nOlefWUSbz = Left(EibWnlgqET, UxxlWkokD0 - 1)
If x9kgmFLRBJ.exists(zxrZtRWa6H(nOlefWUSbz)) Then
a0g1XJHsHO = Right(EibWnlgqET, Len(EibWnlgqET) - UxxlWkokD0)
VEGcwjEZil = a0g1XJHsHO
Do While VEGcwjEZil <> "" And Left(VEGcwjEZil, 1) >= "A" And Left(VEGcwjEZil, 1) <= "Z"
VEGcwjEZil = Right(VEGcwjEZil, Len(VEGcwjEZil) - 1)
Loop
GWY7fkyvQE = Left(a0g1XJHsHO, Len(a0g1XJHsHO) - Len(VEGcwjEZil))
If GWY7fkyvQE <> "" And VEGcwjEZil <> "" And IsNumeric(VEGcwjEZil) Then
If Worksheets(nOlefWUSbz).Columns(GWY7fkyvQE).Hidden = False And Worksheets(nOlefWUSbz).Rows(VEGcwjEZil).Hidden = False Then
EaWn0j88ib = Trim(Cells(e1FMncRzT8, 2))
If EaWn0j88ib = "" Then EaWn0j88ib = EibWnlgqET
fmN0XhAJyc = ""
On Error Resume Next
fmN0XhAJyc = Worksheets(nOlefWUSbz).Range(a0g1XJHsHO).Cells(1, 1).Text
On Error GoTo errorEntrySaveCSV
If CBool(InStr(fmN0XhAJyc, """")) Or CBool(InStr(fmN0XhAJyc, vbLf)) Then
fmN0XhAJyc = """" & Replace(fmN0XhAJyc, """", """""") & """"
End If
psPw18Qc45 = Left(EaWn0j88ib & Space(DJTba1D3OD), DJTba1D3OD) & vbTab & fmN0XhAJyc & vbCrLf
ue9B80RMbq.Writetext psPw18Qc45
CZ1xX72D6W(2) = CZ1xX72D6W(2) + 1
If InStr(YQOtuJrJQd, ovYJjHQ1pc & nOlefWUSbz & ovYJjHQ1pc) = 0 Then YQOtuJrJQd = YQOtuJrJQd & nOlefWUSbz & ovYJjHQ1pc
End If
End If
End If
End If
e1FMncRzT8 = e1FMncRzT8 + 1
Loop
CZ1xX72D6W(8) = (Len(YQOtuJrJQd) - Len(Replace(YQOtuJrJQd, ovYJjHQ1pc, ""))) - 1

Call oDguxU8xp4(odEOBQXhzD)
VZsUnMLkFc (odEOBQXhzD)

If Not CctuyMd1zZ Then
Call Lmeq2WSSJg(TBywhPRGpx(106) & " " & odEOBQXhzD, , , 400)

Else
If Dir$(odEOBQXhzD) <> "" Then Kill (odEOBQXhzD)
End If
Call bAo3Uc4gcL(TBywhPRGpx(64))

errorEntrySaveCSV:
Call rsfXnGOvDX
Call tZH7xrYBKK
End Sub

Sub EntryValidate()
On Error GoTo errorEntryValidate
Call gp9CiDlKeb
If CctuyMd1zZ Then GoTo errorEntryValidate


a0g1XJHsHO = G6P2jM1NTC(5) & CR7UoWWUNN
If Dir$(a0g1XJHsHO & TBywhPRGpx(395)) = "" Then Call Lmeq2WSSJg(TBywhPRGpx(711), dKpNk0i7Xm(5), ZclBTIUvm7(FWD79jAmuY(5))): GoTo errorEntryValidate


EibWnlgqET = Application.ActiveWorkbook.FullName
If InStrRev(EibWnlgqET, CR7UoWWUNN) Then EibWnlgqET = Left(EibWnlgqET, InStrRev(EibWnlgqET, CR7UoWWUNN))
EibWnlgqET = EibWnlgqET & yRmT0TxKSE(G6P2jM1NTC(9)) & TBywhPRGpx(296)
If Dir$(EibWnlgqET) = "" Then Call Lmeq2WSSJg(TBywhPRGpx(715) & " [" & EibWnlgqET & "]", dKpNk0i7Xm(9), ZclBTIUvm7(FWD79jAmuY(9))): GoTo errorEntryValidate

nOlefWUSbz = EibWnlgqET & CR7UoWWUNN & yRmT0TxKSE(G6P2jM1NTC(9)) & CR7UoWWUNN & "reports" & CR7UoWWUNN & jvPifjRZV8(G6P2jM1NTC(9)) & ".xhtml"

AvtEjBcpqH = True: wcsYOlicov = Timer
Set Agl1TRmWhn = CreateObject(TBywhPRGpx(390))


On Error Resume Next
For e1FMncRzT8 = 1 To 10
Agl1TRmWhn.setTimeouts 1000, 1000, 1000, 1000
Agl1TRmWhn.Open "GET", TBywhPRGpx(394), False
Agl1TRmWhn.send
YJV8ndF0CY = ""
YJV8ndF0CY = Agl1TRmWhn.responseText

If InStr(LCase(YJV8ndF0CY), "arelle") Then Exit For

If AvtEjBcpqH Then AvtEjBcpqH = False: YJV8ndF0CY = Shell(a0g1XJHsHO & TBywhPRGpx(395) & TBywhPRGpx(396))
DoEvents
Application.Wait (Now + TimeValue("0:00:01"))
Next e1FMncRzT8
If InStr(LCase(YJV8ndF0CY), "arelle") = 0 Then Call Lmeq2WSSJg(TBywhPRGpx(712)): GoTo errorEntryValidate
On Error GoTo errorEntryValidate2
SFoowbCbxi = Replace(Replace(Replace(Replace(Replace(YJV8ndF0CY, vbLf, " "), vbCr, " "), "&reg;", "®"), "&copy;", "©"), "&trade;", "™")
e1FMncRzT8 = InStr(LCase(SFoowbCbxi), "<style ")
If e1FMncRzT8 > 0 Then UxxlWkokD0 = InStr(e1FMncRzT8, LCase(SFoowbCbxi), "</style>")
If e1FMncRzT8 > 0 And UxxlWkokD0 > 0 Then SFoowbCbxi = Replace(SFoowbCbxi, Mid(SFoowbCbxi, e1FMncRzT8, UxxlWkokD0 - e1FMncRzT8 + 8), "")
Do
e1FMncRzT8 = InStr(SFoowbCbxi, "<")
If e1FMncRzT8 > 0 Then UxxlWkokD0 = InStr(e1FMncRzT8, SFoowbCbxi, ">")
If e1FMncRzT8 = 0 Or UxxlWkokD0 = 0 Then Exit Do
SFoowbCbxi = Trim(Replace(Replace(SFoowbCbxi, Mid(SFoowbCbxi, e1FMncRzT8, UxxlWkokD0 - e1FMncRzT8 + 1), " "), "  ", " "))
Loop


Application.ScreenUpdating = True
Application.Caption = TBywhPRGpx(90) & " " & TBywhPRGpx(89) & " " & odEOBQXhzD
Application.ScreenUpdating = False



Agl1TRmWhn.setTimeouts 2000, 2000, 2000, 300000
Agl1TRmWhn.Open "GET", TBywhPRGpx(391) & EibWnlgqET, False
Agl1TRmWhn.send
YJV8ndF0CY = ""
YJV8ndF0CY = Agl1TRmWhn.responseText




Agl1TRmWhn.setTimeouts 2000, 2000, 2000, 600000
Agl1TRmWhn.Open "GET", TBywhPRGpx(491) & nOlefWUSbz, False
Agl1TRmWhn.send
YJV8ndF0CY = ""
YJV8ndF0CY = Agl1TRmWhn.responseText



itznEp47nh = Split(YJV8ndF0CY, vbLf)
For DJTba1D3OD = LBound(itznEp47nh) To UBound(itznEp47nh)
itznEp47nh(DJTba1D3OD) = Replace(itznEp47nh(DJTba1D3OD), vbCr, "")
If CBool(InStr(itznEp47nh(DJTba1D3OD), "[]")) Or (InStr(itznEp47nh(DJTba1D3OD), " - ") = 1) Then itznEp47nh(DJTba1D3OD) = ""

If itznEp47nh(DJTba1D3OD) <> "" And Not (CBool(InStr(itznEp47nh(DJTba1D3OD), TBywhPRGpx(392))) Or CBool(InStr(itznEp47nh(DJTba1D3OD), TBywhPRGpx(393) & "]")) Or CBool(InStr(itznEp47nh(DJTba1D3OD), TBywhPRGpx(393) & ":")) Or CBool(InStr(itznEp47nh(DJTba1D3OD), TBywhPRGpx(397)))) Then
If Not CctuyMd1zZ Then Call Lmeq2WSSJg(TBywhPRGpx(714))
Call Lmeq2WSSJg(itznEp47nh(DJTba1D3OD))
End If
Next DJTba1D3OD
If Not CctuyMd1zZ Then Call Lmeq2WSSJg(TBywhPRGpx(108), , , 400)

For DJTba1D3OD = LBound(itznEp47nh) To UBound(itznEp47nh)
If InStr(itznEp47nh(DJTba1D3OD), TBywhPRGpx(393) & "]") Then Call Lmeq2WSSJg(itznEp47nh(DJTba1D3OD), , , 400)
Next DJTba1D3OD
Call Lmeq2WSSJg(SFoowbCbxi, , , 400)

If e1FMncRzT8 <> e1FMncRzT8 Then
errorEntryValidate2:

Call Lmeq2WSSJg(TBywhPRGpx(713))
End If

errorEntryValidate:

Call rsfXnGOvDX
Call tZH7xrYBKK
End Sub
Function EntryDateMinusOneYear(ByVal originalDate As String) As String

If Not IsNumeric("9" & Left(originalDate, 4) & Mid(originalDate, 6, 2) & Right(originalDate, 2) & "9") _
Or Left(originalDate, 4) < "2000" Or Left(originalDate, 4) > "2100" _
Or Mid(originalDate, 6, 2) < "01" Or Mid(originalDate, 6, 2) > "12" _
Or Right(originalDate, 2) < "01" Or Right(originalDate, 2) > "31" _
Or Right(originalDate, 2) = "31" And (Mid(originalDate, 6, 2) = "04" Or Mid(originalDate, 6, 2) = "06" Or Mid(originalDate, 6, 2) = "09" Or Mid(originalDate, 6, 2) = "11") _
Or Right(originalDate, 2) > "29" And Mid(originalDate, 6, 2) = "02" _
Or Mid(originalDate, 5, 1) <> "-" Or Mid(originalDate, 8, 1) <> "-" _
Then
EntryDateMinusOneYear = ""
Else
EntryDateMinusOneYear = (Left(originalDate, 4) - 1) & Right(originalDate, 6)
End If
End Function

Sub EntryM()


On Error GoTo errorEntryM
Call gp9CiDlKeb
If CctuyMd1zZ Then GoTo errorEntryM


odEOBQXhzD = G6P2jM1NTC(4)
If odEOBQXhzD = "" Then

SFoowbCbxi = jvPifjRZV8(G6P2jM1NTC(9)) & TBywhPRGpx(294)
a0g1XJHsHO = Application.ActiveWorkbook.FullName
If InStrRev(a0g1XJHsHO, CR7UoWWUNN) Then a0g1XJHsHO = Left(a0g1XJHsHO, InStrRev(a0g1XJHsHO, CR7UoWWUNN))

YJV8ndF0CY = Application.GetSaveAsFilename(a0g1XJHsHO & SFoowbCbxi, TBywhPRGpx(291), , TBywhPRGpx(81))
odEOBQXhzD = fU4vjatKDP(YJV8ndF0CY)
End If

itznEp47nh = Split(TBywhPRGpx(365))
For e1FMncRzT8 = LBound(itznEp47nh) To UBound(itznEp47nh) Step 2
If InStr(odEOBQXhzD, itznEp47nh(e1FMncRzT8)) Then odEOBQXhzD = Replace(odEOBQXhzD, itznEp47nh(e1FMncRzT8), itznEp47nh(e1FMncRzT8 + 1))
Next e1FMncRzT8
If odEOBQXhzD <> Worksheets(dKpNk0i7Xm(4)).Range(FWD79jAmuY(4)).Cells(1, 1) Then
Worksheets(dKpNk0i7Xm(4)).Range(FWD79jAmuY(4)).Cells(1, 1) = odEOBQXhzD
G6P2jM1NTC(4) = odEOBQXhzD '
End If

a0g1XJHsHO = odEOBQXhzD
If InStrRev(a0g1XJHsHO, CR7UoWWUNN) Then a0g1XJHsHO = Left(a0g1XJHsHO, InStrRev(a0g1XJHsHO, CR7UoWWUNN))
If Dir$(a0g1XJHsHO, vbDirectory) = "" Or InStr(odEOBQXhzD, CR7UoWWUNN) = 0 Or Right(odEOBQXhzD, Len(TBywhPRGpx(294))) <> TBywhPRGpx(294) Then
IxrmHN3xdy = "": If odEOBQXhzD <> "" Then IxrmHN3xdy = " [" & odEOBQXhzD & "]"
Call Lmeq2WSSJg(TBywhPRGpx(715) & IxrmHN3xdy, dKpNk0i7Xm(4), ZclBTIUvm7(FWD79jAmuY(4)))
End If
If CctuyMd1zZ Then GoTo errorEntryM


odEOBQXhzD = Worksheets(dKpNk0i7Xm(6)).Range(FWD79jAmuY(6)).Cells(1, 1)
If UCase(odEOBQXhzD) <> "NO" Then
If odEOBQXhzD = "" Or Dir$(odEOBQXhzD) = "" Then
YJV8ndF0CY = Application.GetOpenFilename(TBywhPRGpx(293), , TBywhPRGpx(82))
odEOBQXhzD = fU4vjatKDP(YJV8ndF0CY)
End If
If odEOBQXhzD <> "" Then
EibWnlgqET = ""
If Dir$(odEOBQXhzD) <> "" And (Right(odEOBQXhzD, Len(TBywhPRGpx(294))) = TBywhPRGpx(294) Or Right(odEOBQXhzD, Len(TBywhPRGpx(295))) = TBywhPRGpx(295)) Then
Call MEzMw8xdqR(odEOBQXhzD)
If Not QAw5SO7LZW.EOS Then EibWnlgqET = QAw5SO7LZW.ReadText(-2)
Call ibqDureJNU
End If
If InStr(EibWnlgqET, KUDED5C8AU) = 0 Then
EibWnlgqET = "": If odEOBQXhzD <> "" Then EibWnlgqET = " [" & odEOBQXhzD & "]"
Call Lmeq2WSSJg(TBywhPRGpx(212) & EibWnlgqET, , , 400)
odEOBQXhzD = ""
End If
End If
End If
If UCase(odEOBQXhzD) = "NO" Then odEOBQXhzD = "No"
Worksheets(dKpNk0i7Xm(6)).Range(FWD79jAmuY(6)).Cells(1, 1) = odEOBQXhzD
G6P2jM1NTC(6) = odEOBQXhzD


Call EVObUna0cb

Erase h3O60bevzX, MXYgQkNE3G
WmOqklECJP = False
KUZJmGMqfL = 0
YHMP9AUsRT = ""
bgKx9DFzvU = "|"
sGYzQqYzaz = True
COYrk3xnt8 = ""


Lt3N872goc = False: PNFdeTBRk1 = "": h8TO2Ijllr = False
WmOqklECJP = False
Do
psPw18Qc45 = Mpg5ckTLFy(1)
If psPw18Qc45 = "" Then Exit Do
CZ1xX72D6W(16) = CZ1xX72D6W(16) + 1
If CZ1xX72D6W(16) < 4 Then
If CZ1xX72D6W(16) = 3 And G6P2jM1NTC(3) <> "" Then
SFoowbCbxi = pSOdPVCdM1("", TBywhPRGpx(364), """", psPw18Qc45)
If SFoowbCbxi <> G6P2jM1NTC(3) Then psPw18Qc45 = Replace(psPw18Qc45, TBywhPRGpx(364) & SFoowbCbxi & """", TBywhPRGpx(364) & G6P2jM1NTC(3) & """")
ElseIf CZ1xX72D6W(16) = 2 Then

psPw18Qc45 = TBywhPRGpx(315) & TBywhPRGpx(300) & TBywhPRGpx(316) & Now & TBywhPRGpx(317) & vbCrLf
End If
End If
If InStr(psPw18Qc45, TBywhPRGpx(308)) Then
SFoowbCbxi = TBywhPRGpx(308) & pSOdPVCdM1("", TBywhPRGpx(308), "<", psPw18Qc45)
psPw18Qc45 = Replace(psPw18Qc45, SFoowbCbxi, TBywhPRGpx(308) & UCase(jvPifjRZV8(G6P2jM1NTC(9))) & TBywhPRGpx(302))
End If
CZ1xX72D6W(17) = CZ1xX72D6W(17) + 1
ue9B80RMbq.Writetext psPw18Qc45
Loop Until CctuyMd1zZ Or CBool(InStr(psPw18Qc45, TBywhPRGpx(307)))
psPw18Qc45 = ""

If CctuyMd1zZ = False And odEOBQXhzD <> "" And UCase(odEOBQXhzD) <> "NO" And Dir$(odEOBQXhzD) <> "" Then


For e1FMncRzT8 = 1 To IeCu0SafAp
If M5ZR5r5dTx(e1FMncRzT8) = "Notes" Then
GWY7fkyvQE = TBywhPRGpx(370) & "_" & zxrZtRWa6H(dKpNk0i7Xm(e1FMncRzT8) & "_" & FWD79jAmuY(e1FMncRzT8))
Do While Right(GWY7fkyvQE, 1) >= "0" And Right(GWY7fkyvQE, 1) <= "9"
GWY7fkyvQE = Left(GWY7fkyvQE, Len(GWY7fkyvQE) - 1)
Loop
If Not y590Zx9QKr.exists(GWY7fkyvQE) Then y590Zx9QKr.Add GWY7fkyvQE, "Notes"
End If
Next e1FMncRzT8

Call MEzMw8xdqR(odEOBQXhzD)
UkRz3gYAPK = True
ZjDZHJT9lR = ""
Do Until QAw5SO7LZW.EOS
aYQEnWh2ak = QAw5SO7LZW.ReadText(-2) & vbLf
VdDcb6QKfV = LCase(aYQEnWh2ak)

P8AomhBsT8 = UkRz3gYAPK

If UkRz3gYAPK Then
If InStr(VdDcb6QKfV, TBywhPRGpx(307)) Then
UkRz3gYAPK = False
aYQEnWh2ak = Right(aYQEnWh2ak, Len(aYQEnWh2ak) - (InStr(VdDcb6QKfV, TBywhPRGpx(307)) + Len(TBywhPRGpx(307)) - 1))
VdDcb6QKfV = LCase(aYQEnWh2ak)
If aYQEnWh2ak <> "" Then P8AomhBsT8 = False
End If
Else
If InStr(VdDcb6QKfV, TBywhPRGpx(304)) Then
UkRz3gYAPK = True
aYQEnWh2ak = Left(aYQEnWh2ak, InStr(VdDcb6QKfV, TBywhPRGpx(304)) - 1)
VdDcb6QKfV = LCase(aYQEnWh2ak)
If aYQEnWh2ak = "" Then P8AomhBsT8 = True
End If
End If

If Not P8AomhBsT8 Then
If InStr(VdDcb6QKfV, "<div ") Then
e1FMncRzT8 = InStr(VdDcb6QKfV, "<div ")
UxxlWkokD0 = InStr(e1FMncRzT8, VdDcb6QKfV, ">")
If UxxlWkokD0 > 0 Then ZjDZHJT9lR = Mid(aYQEnWh2ak, e1FMncRzT8, UxxlWkokD0 - e1FMncRzT8 + 1)
ElseIf InStr(VdDcb6QKfV, "</div>") Then
ZjDZHJT9lR = ""
End If
End If


If (Not UkRz3gYAPK) And (CBool(InStr(VdDcb6QKfV, "<a ")) Or CBool(InStr(VdDcb6QKfV, " id="))) Then
e1FMncRzT8 = InStr(VdDcb6QKfV, "<a ")
If e1FMncRzT8 = 0 Then e1FMncRzT8 = InStr(VdDcb6QKfV, "<span ")
DJTba1D3OD = InStr(VdDcb6QKfV, TBywhPRGpx(265))
If DJTba1D3OD = 0 Then DJTba1D3OD = InStr(VdDcb6QKfV, "</span>")
If DJTba1D3OD > e1FMncRzT8 And (CBool(InStr(VdDcb6QKfV, TBywhPRGpx(377))) Or CBool(InStr(VdDcb6QKfV, TBywhPRGpx(380))) Or CBool(InStr(VdDcb6QKfV, TBywhPRGpx(382)))) Then

EibWnlgqET = ""
If InStr(VdDcb6QKfV, TBywhPRGpx(377)) Then
fG6XVC3eZ5 = InStr(e1FMncRzT8, VdDcb6QKfV, TBywhPRGpx(377)) + Len(TBywhPRGpx(377))
ElseIf InStr(VdDcb6QKfV, TBywhPRGpx(380)) Then
fG6XVC3eZ5 = InStr(e1FMncRzT8, VdDcb6QKfV, TBywhPRGpx(380)) + Len(TBywhPRGpx(380))
ElseIf InStr(VdDcb6QKfV, TBywhPRGpx(382)) Then
fG6XVC3eZ5 = InStr(e1FMncRzT8, VdDcb6QKfV, TBywhPRGpx(382)) + Len(TBywhPRGpx(382))
End If
oCIpQ0NOfm = InStr(fG6XVC3eZ5, VdDcb6QKfV, """")
If oCIpQ0NOfm > fG6XVC3eZ5 Then EibWnlgqET = Mid(aYQEnWh2ak, fG6XVC3eZ5, oCIpQ0NOfm - fG6XVC3eZ5)

If Len(EibWnlgqET) > 1 Then
oCIpQ0NOfm = e1FMncRzT8
Do While oCIpQ0NOfm <= DJTba1D3OD
fG6XVC3eZ5 = InStr(oCIpQ0NOfm, VdDcb6QKfV, ">")
If fG6XVC3eZ5 = 0 Or fG6XVC3eZ5 > DJTba1D3OD Then Exit Do
KUatHbzjvS = InStr(fG6XVC3eZ5, VdDcb6QKfV, "<")
If KUatHbzjvS = 0 Or KUatHbzjvS > DJTba1D3OD Then Exit Do
If KUatHbzjvS > fG6XVC3eZ5 + 1 Then
nOlefWUSbz = Trim(Mid(aYQEnWh2ak, fG6XVC3eZ5 + 1, KUatHbzjvS - fG6XVC3eZ5 - 1))
If Replace(nOlefWUSbz, " ", "") <> "" Then
SFoowbCbxi = nOlefWUSbz
If InStr(nOlefWUSbz, " ") > 1 Then SFoowbCbxi = Left(nOlefWUSbz, InStr(nOlefWUSbz, " ") - 1)
If Left(SFoowbCbxi, 1) = "[" And Right(SFoowbCbxi, 1) = "]" And Len(SFoowbCbxi) > 2 Then SFoowbCbxi = Mid(SFoowbCbxi, 2, Len(SFoowbCbxi) - 2)
If InStr(VdDcb6QKfV, TBywhPRGpx(377)) Then
If Not y590Zx9QKr.exists(nOlefWUSbz) Then y590Zx9QKr.Add (nOlefWUSbz), EibWnlgqET
If nOlefWUSbz <> SFoowbCbxi Then If Not y590Zx9QKr.exists(SFoowbCbxi) Then y590Zx9QKr.Add (SFoowbCbxi), EibWnlgqET
Else
If y590Zx9QKr.exists(SFoowbCbxi) Then
If x9kgmFLRBJ.exists(SFoowbCbxi) Then
If ZjDZHJT9lR <> "" Then ue9B80RMbq.Writetext "</div>" & vbCrLf
Call rgx8gEmURq(SFoowbCbxi)
If ZjDZHJT9lR <> "" Then ue9B80RMbq.Writetext ZjDZHJT9lR & vbCrLf
P8AomhBsT8 = True
End If
End If
End If
End If
Exit Do
End If
oCIpQ0NOfm = KUatHbzjvS
Loop
End If
End If
End If

If Not P8AomhBsT8 Then ue9B80RMbq.Writetext aYQEnWh2ak
Loop
Call ibqDureJNU
End If
If CctuyMd1zZ Then GoTo errorEntryM

Call bAo3Uc4gcL(TBywhPRGpx(70))
Call rgx8gEmURq
Call TDGJIvQICq

odEOBQXhzD = G6P2jM1NTC(4)
If Dir$(odEOBQXhzD) <> "" Then Kill odEOBQXhzD
Call oDguxU8xp4(odEOBQXhzD)
If CctuyMd1zZ Then GoTo errorEntryM


WmOqklECJP = False
Do
psPw18Qc45 = Mpg5ckTLFy(2)
If InStr(psPw18Qc45, ovYJjHQ1pc) = 0 Then Exit Do
Loop
psPw18Qc45 = Replace(psPw18Qc45, vbCrLf, "")
If Left(psPw18Qc45, Len(TBywhPRGpx(370))) <> TBywhPRGpx(370) Then Err.Raise 911, "AppError", "Report to software provider."

EibWnlgqET = Left(odEOBQXhzD, InStrRev(odEOBQXhzD, CR7UoWWUNN)) & yRmT0TxKSE(G6P2jM1NTC(9)) & TBywhPRGpx(296)
nOlefWUSbz = odEOBQXhzD & ".wk"
SFoowbCbxi = nOlefWUSbz & CR7UoWWUNN & yRmT0TxKSE(G6P2jM1NTC(9)) & CR7UoWWUNN & "reports" & CR7UoWWUNN & jvPifjRZV8(G6P2jM1NTC(9)) & TBywhPRGpx(294)
Set J7yoEcGowc = CreateObject("Scripting.FileSystemObject")
Call bvDkdSmoQR(nOlefWUSbz)
MkDir nOlefWUSbz
Call zdAaRu3yKG(nOlefWUSbz, yRmT0TxKSE(ypzdU1kUiB(9)), yRmT0TxKSE(G6P2jM1NTC(9)), jvPifjRZV8(ypzdU1kUiB(9)), jvPifjRZV8(G6P2jM1NTC(9)))
J7yoEcGowc.CopyFile odEOBQXhzD, SFoowbCbxi
If Dir$(EibWnlgqET) <> "" Then Kill EibWnlgqET
Open EibWnlgqET For Output As #1
Print #1, Chr$(80) & Chr$(75) & Chr$(5) & Chr$(6) & String(18, 0)
Close #1
Set Ia5c9avsMK = CreateObject("Shell.Application")
YJV8ndF0CY = EibWnlgqET
KHk8DEZpxi = nOlefWUSbz & CR7UoWWUNN
Ia5c9avsMK.Namespace(YJV8ndF0CY).CopyHere Ia5c9avsMK.Namespace(KHk8DEZpxi).items
DoEvents
Do Until Ia5c9avsMK.Namespace(YJV8ndF0CY).items.Count = Ia5c9avsMK.Namespace(KHk8DEZpxi).items.Count
DoEvents
Application.Wait (Now + TimeValue("0:00:01"))
Loop
Call bvDkdSmoQR(nOlefWUSbz)
Set Ia5c9avsMK = Nothing
Set J7yoEcGowc = Nothing
If CctuyMd1zZ Then GoTo errorEntryM

odEOBQXhzD = G6P2jM1NTC(4)
Call MEzMw8xdqR(odEOBQXhzD)
Call EVObUna0cb
Do While Not QAw5SO7LZW.EOS
psPw18Qc45 = QAw5SO7LZW.ReadText(-2) & vbLf
If InStr(psPw18Qc45, TBywhPRGpx(305)) Then psPw18Qc45 = Replace(psPw18Qc45, TBywhPRGpx(305), TBywhPRGpx(305) & vbCrLf & TBywhPRGpx(490) & vbCrLf)
ue9B80RMbq.Writetext psPw18Qc45
Loop
EibWnlgqET = odEOBQXhzD
If InStr(EibWnlgqET, ".") Then EibWnlgqET = Left(EibWnlgqET, InStrRev(EibWnlgqET, "."))
EibWnlgqET = EibWnlgqET & TBywhPRGpx(297)
If Dir$(EibWnlgqET) <> "" Then Kill EibWnlgqET
Call oDguxU8xp4(EibWnlgqET)
If CctuyMd1zZ Then GoTo errorEntryM

Call bAo3Uc4gcL(TBywhPRGpx(59))


If YHMP9AUsRT <> "" Then Call Lmeq2WSSJg(TBywhPRGpx(801) & vbCrLf & Replace(YHMP9AUsRT, vbCrLf, ""), , , 404)
Call Lmeq2WSSJg(TBywhPRGpx(105) & " " & odEOBQXhzD, , , 400)







errorEntryM:
Call rsfXnGOvDX
Call tZH7xrYBKK
End Sub
Sub rgx8gEmURq(Optional ByVal OV51NEWv7o As String = "")




Lt3N872goc = False: PNFdeTBRk1 = "": h8TO2Ijllr = False
Do While Not CctuyMd1zZ

If psPw18Qc45 = "" Then
psPw18Qc45 = Mpg5ckTLFy(1)
If psPw18Qc45 = "" Then Exit Do
CZ1xX72D6W(16) = CZ1xX72D6W(16) + 1
End If
If InStr(psPw18Qc45, TBywhPRGpx(387)) = 1 Then Exit Do


If InStr(psPw18Qc45, TBywhPRGpx(388)) = 1 Then
If OV51NEWv7o <> "" And CBool(InStr(bgKx9DFzvU, "|" & OV51NEWv7o & "|")) Then Exit Do
CZ1xX72D6W(10) = CZ1xX72D6W(10) + 1
SFoowbCbxi = pSOdPVCdM1("", TBywhPRGpx(388), "]", psPw18Qc45)
bgKx9DFzvU = bgKx9DFzvU & SFoowbCbxi & "|"
e1FMncRzT8 = XQ2uQpPFBU(zxrZtRWa6H(SFoowbCbxi), "table")
COYrk3xnt8 = ""
If x9kgmFLRBJ.exists(zxrZtRWa6H(SFoowbCbxi)) Then COYrk3xnt8 = x9kgmFLRBJ.Item(zxrZtRWa6H(SFoowbCbxi))
If COYrk3xnt8 <> "" Then
Worksheets(COYrk3xnt8).Activate
Erase QvNbO2lXY1, e5gU1QQLVA
SZWnLaJ8RD = 0
tbjKLlE963 = 0
s6X0Xc0ymZ = 0
LmLnfPHqJK = ""
h8TO2Ijllr = True
Inl0WDfDXb = False
fmN0XhAJyc = ""
CZ1xX72D6W(8) = CZ1xX72D6W(8) + 1
If CZ1xX72D6W(8) = 1 Or sGYzQqYzaz Then psPw18Qc45 = Replace(psPw18Qc45, "<hr />", "")
sGYzQqYzaz = False
Else
COYrk3xnt8 = ""
CZ1xX72D6W(5) = CZ1xX72D6W(5) + 1
Lt3N872goc = True: PNFdeTBRk1 = "sheet"
End If
End If

If COYrk3xnt8 <> "" Then
If InStr(psPw18Qc45, "<tr ") = 1 Then
FWMqZMl6du = 0
SFoowbCbxi = pSOdPVCdM1("", TBywhPRGpx(362), "]", psPw18Qc45)
If SFoowbCbxi <> "" And IsNumeric(SFoowbCbxi) Then
e1FMncRzT8 = CInt(SFoowbCbxi)
If Inl0WDfDXb = True And e1FMncRzT8 - SZWnLaJ8RD > 1 Then
For UxxlWkokD0 = SZWnLaJ8RD + 1 To e1FMncRzT8 - 1
If Not Rows(UxxlWkokD0).Hidden Then
GWY7fkyvQE = " [" & COYrk3xnt8 & " row " & UxxlWkokD0 & "]"
If InStr(YHMP9AUsRT, GWY7fkyvQE) = 0 Then YHMP9AUsRT = YHMP9AUsRT & GWY7fkyvQE
End If
Next UxxlWkokD0
End If
SZWnLaJ8RD = e1FMncRzT8
Inl0WDfDXb = False
If Rows(SZWnLaJ8RD).Hidden Then
If tbjKLlE963 > 0 Then
Call Lmeq2WSSJg(TBywhPRGpx(810), COYrk3xnt8, e1FMncRzT8, 404)
Else
If tbjKLlE963 = 0 Then tbjKLlE963 = -1
End If
Else
If tbjKLlE963 < 0 Then Call Lmeq2WSSJg(TBywhPRGpx(811), COYrk3xnt8, e1FMncRzT8, 404)
End If
If tbjKLlE963 < 0 Then
Lt3N872goc = True: PNFdeTBRk1 = PNFdeTBRk1 & TBywhPRGpx(359) & "w"
CZ1xX72D6W(6) = CZ1xX72D6W(6) + 1
End If
If tbjKLlE963 <> 0 Then tbjKLlE963 = (Abs(tbjKLlE963) - 1) * Sgn(tbjKLlE963)
End If
ElseIf InStr(psPw18Qc45, TBywhPRGpx(348)) = 1 And h8TO2Ijllr Then
If s6X0Xc0ymZ > 0 Then
LmLnfPHqJK = m29g7cu6yv(LmLnfPHqJK, "px;", (100 - s6X0Xc0ymZ) / 100, TBywhPRGpx(262))
s6X0Xc0ymZ = 100 / (100 - s6X0Xc0ymZ)
Do While InStr(LmLnfPHqJK, TBywhPRGpx(263))
LmLnfPHqJK = m29g7cu6yv(LmLnfPHqJK, "%;", s6X0Xc0ymZ, TBywhPRGpx(262))
Loop
LmLnfPHqJK = Replace(LmLnfPHqJK, TBywhPRGpx(262), TBywhPRGpx(263))
End If
psPw18Qc45 = LmLnfPHqJK & psPw18Qc45
h8TO2Ijllr = False
ElseIf InStr(psPw18Qc45, " <td ") = 1 Then
FWMqZMl6du = FWMqZMl6du + 1
If InStr(psPw18Qc45, TBywhPRGpx(363)) Then
SFoowbCbxi = pSOdPVCdM1("", TBywhPRGpx(363), "]", psPw18Qc45)
e1FMncRzT8 = khjRSwAvyr(SFoowbCbxi)
If FWMqZMl6du > LkW2dLqumw Or e1FMncRzT8 = 0 Then Err.Raise 901, "AppError", "Report to software provider [" & psPw18Qc45 & "]"
QvNbO2lXY1(FWMqZMl6du) = e1FMncRzT8
QvNbO2lXY1(0) = QvNbO2lXY1(FWMqZMl6du) - 1
If (QvNbO2lXY1(FWMqZMl6du) - Abs(QvNbO2lXY1(FWMqZMl6du - 1))) > 1 Then
For UxxlWkokD0 = Abs(QvNbO2lXY1(FWMqZMl6du - 1)) + 1 To QvNbO2lXY1(FWMqZMl6du) - 1
If Not Columns(UxxlWkokD0).Hidden Then
GWY7fkyvQE = " [" & COYrk3xnt8 & " col " & UxxlWkokD0 & "]"
If InStr(YHMP9AUsRT, GWY7fkyvQE) = 0 Then YHMP9AUsRT = YHMP9AUsRT & GWY7fkyvQE
End If
Next UxxlWkokD0
End If
If Columns(e1FMncRzT8).Hidden Then
…
vbaProject_00.bin vba-project OOXML VBA project: xl/vbaProject.bin 274432 bytes
SHA-256: 2c74315e6b4d03d0a637d460519321428827a7a61d10d6f0f86b8c2d8609a5f8