Function at 0x45d7b0
Capabilities:
Check if file exists
Get geographical location
Identify system language via api
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x880
mov eax, dword [0x4af6f0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x45f072
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x660], ax
lea eax, [ebp - 0x65e]
push eax
call fcn.0046f6e0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x868], ax
lea eax, [ebp - 0x866]
push eax
call fcn.0046f6e0
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
add esp, 0x18
push esi
push 0x27
push 0x4b5750
push 0x48c8a4
push str.Guid
push str.General
call edi
push esi
push 0x51
push 0x4c84b6
push 0x48c8a4
push 0x48eb9c
push str.General
call edi
push esi
push 0x104
push 0x4b579e
push 0x48c8a4
push 0x497f24
push str.General
call edi
push esi
push 0x51
push 0x4c82d0
push 0x48c8a4
push 0x497f24
push str.General
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push esi
push dword [0x4b65f8]
push 0x49936c
push str.LiveUpdate
call ebx
mov dword [0x4b65f8], eax
test eax, eax
je 0x45da07
push esi
push 0x104
push 0x4b5fe0
push 0x48c8a4
push 0x49938c
push str.LiveUpdate
call edi
push esi
push 0x104
push 0x4b61e8
push 0x48c8a4
push str.ExeParams
push str.LiveUpdate
call edi
push esi
push 0x104
push 0x4b63f0
push 0x48c8a4
push str.TargetFolder
push str.LiveUpdate
call edi
test eax, eax
je 0x45d90e
push 0x104
push 0x4b63f0
call fcn.0045fb00
add esp, 8
cmp word [0x4b63f0], 0
jne 0x45d92f
push 0x4c9a48
push 0x104
push 0x4b63f0
call fcn.0046fd12
add esp, 0xc
push esi
push dword [0x4b65fc]
push str.CopyBinaryFile
push str.LiveUpdate
call ebx
push esi
push dword [0x4b6600]
mov dword [0x4b65fc], eax
push str.CheckDate
push str.LiveUpdate
call ebx
push esi
push dword [0x4b6604]
mov dword [0x4b6600], eax
push str.CheckSize
push str.LiveUpdate
call ebx
push esi
push dword [0x4b6608]
mov dword [0x4b6604], eax
push str.Mandatory
push str.LiveUpdate
call ebx
push esi
push dword [0x4b6610]
mov dword [0x4b6608], eax
push str.PromptUser
push str.LiveUpdate
call ebx
push esi
push dword [0x4b660c]
mov dword [0x4b6610], eax
push str.Fail
push str.LiveUpdate
call ebx
push esi
push dword [0x4b6614]
mov dword [0x4b660c], eax
push str.WaitEndFile
push str.LiveUpdate
call ebx
push esi
push dword [0x4b6618]
mov dword [0x4b6614], eax
push str.Resume
push str.LiveUpdate
call ebx
push esi
push dword [0x4b661c]
mov dword [0x4b6618], eax
push str.LinkError
push str.LiveUpdate
call ebx
mov dword [0x4b661c], eax
push esi
push dword [0x4b6834]
push str.Files
push str.Runtime
call ebx
push esi
push dword [0x4b683c]
mov dword [0x4b6834], eax
push str.CompressFiles
push str.Runtime
call ebx
push esi
push dword [0x4b6840]
mov dword [0x4b683c], eax
push str.CompressType
push str.Runtime
call ebx
push esi
push 0x208
mov dword [0x4b6840], eax
lea eax, [ebp - 0x868]
push eax
push str.WebDownloadUrl
push str.Runtime
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStructW]
test eax, eax
je 0x45da8b
push 0
push 0x104
lea eax, [ebp - 0x868]
push 0x4b8380
push eax
call fcn.0043b990
add esp, 0x10
push esi
push 0x104
push 0x4b6cec
push 0x4b6cec
push str.CmdLine
push str.Runtime
call edi
push esi
push dword [0x4b684c]
push str.DeleteFiles
push str.Runtime
call ebx
push esi
push dword [0x4b6850]
mov dword [0x4b684c], eax
push str.CopyToTemp
push str.Runtime
call ebx
mov dword [0x4b6850], eax
test eax, eax
jne 0x45db09
push esi
push 0x104
push 0x4b70fc
push 0x4b70fc
push str.TargetFolder
push str.Runtime
call edi
push 0x104
push 0x4b70fc
call fcn.0045fb00
add esp, 8
push esi
push 0x104
push 0x4b6ae4
push 0x4b6ae4
push str.ExeFileName
push str.Runtime
call edi
push esi
push dword [0x4b7f4c]
push str.LaunchExe
push str.Runtime
call ebx
push esi
push dword [0x4b879c]
mov dword [0x4b7f4c], eax
push str.LaunchOptions
push str.Runtime
call ebx
push esi
push dword [0x4b7f54]
mov dword [0x4b879c], eax
push str.ModifyDest
push str.Runtime
call ebx
push esi
push dword [0x4b7f58]
mov dword [0x4b7f54], eax
push str.RestoreFolders
push str.Runtime
call ebx
push esi
push dword [0x4b7f5c]
mov dword [0x4b7f58], eax
push str.NeedReboot
push str.Runtime
call ebx
push esi
push dword [0x4b7f60]
mov dword [0x4b7f5c], eax
push str.NeedElevation
push str.Runtime
call ebx
push esi
push dword [0x4b7f68]
mov dword [0x4b7f60], eax
push str.RunScript
push str.Runtime
call ebx
mov dword [0x4b7f68], eax
test eax, eax
je 0x45dc45
push esi
push 0x104
push 0x4b7f70
push 0x48c8a4
push str.ScriptFile
push str.Runtime
call edi
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x250], ax
lea eax, [ebp - 0x24e]
push eax
call fcn.0046f6e0
push 0x4b7f70
lea eax, [ebp - 0x250]
push 0x104
push eax
call fcn.0046fd12
add esp, 0x18
lea eax, [ebp - 0x250]
push eax
call dword [sym.imp.SHLWAPI.dll_PathStripPathW]
lea eax, [ebp - 0x250]
push eax
push 0x4ce980
push 0x4b7f70
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push esi
push dword [0x4b7f6c]
push str.ResumeSetup
push str.Runtime
call ebx
push esi
push dword [0x4b7f48]
mov dword [0x4b7f6c], eax
push str.WindowStyle
push str.Runtime
call ebx
push esi
push dword [0x4b7f64]
mov dword [0x4b7f48], eax
push str.ProgressBar
push str.Runtime
call ebx
push esi
push dword [0x4b8798]
mov dword [0x4b7f64], eax
push str.ProgressBarStyle
push str.Runtime
call ebx
push esi
push dword [0x4b6874]
mov dword [0x4b8798], eax
push str.Percent
push str.Runtime
call ebx
push esi
push dword [0x4b6878]
mov dword [0x4b6874], eax
push str.TrayIcon
push str.Runtime
call ebx
push esi
push dword [0x4b6854]
mov dword [0x4b6878], eax
push str.LanguageSystem
push str.Runtime
call ebx
push esi
push dword [0x4bd970]
mov dword [0x4b6854], eax
push str.LanguageDefault
push str.Runtime
call ebx
push esi
push dword [0x4b685c]
mov dword [0x4bd970], eax
push str.RemoveBracketLang
push str.Runtime
call ebx
push esi
push 0x104
push 0x4b68dc
push 0x48c8a4
push str.ExtraBinaryFile
push str.Runtime
mov dword [0x4b685c], eax
call edi
push esi
push dword [0x4b68b4]
xor ecx, ecx
cmp ecx, eax
push str.CustomerExpParam
sbb eax, eax
neg eax
push str.Runtime
mov dword [0x4b6890], eax
call ebx
push esi
push dword [0x4b68b8]
mov dword [0x4b68b4], eax
push str.CustomerExpParam_Hide
push str.Runtime
call ebx
push esi
push 0x104
mov dword [0x4b68b8], eax
push 0x4b771c
push 0x48c8a4
push str.TargetFolderParam
push str.Runtime
call edi
push esi
push dword [0x4b68bc]
push str.LaunchApp
push str.Runtime
call ebx
push esi
push dword [0x4b68c0]
mov dword [0x4b68bc], eax
push str.LaunchApp_Hide
push str.Runtime
call ebx
push esi
push dword [0x4b68c4]
mov dword [0x4b68c0], eax
push str.InstallAvqMsg
push str.Runtime
call ebx
push esi
push dword [0x4b68c8]
mov dword [0x4b68c4], eax
push str.InstallAvqMsg_Hide
push str.Runtime
call ebx
push esi
push dword [0x4b68cc]
mov dword [0x4b68c8], eax
push str.LangSelector_Hide
push str.Runtime
call ebx
push esi
push dword [0x4b68d0]
mov dword [0x4b68cc], eax
push str.LicensesUrl_Hide
push str.Runtime
call ebx
push esi
push 0x104
mov dword [0x4b68d0], eax
lea eax, [ebp - 0x660]
push eax
push 0x48e734
push str.TotFilesSize
push str.Runtime
call edi
lea eax, [ebp - 0x660]
push eax
call fcn.004706c2
add esp, 4
mov dword [0x4bd978], eax
mov dword [0x4bd97c], edx
push esi
push dword [0x4b89c0]
push str.Resources
push str.Dialogs
call ebx
push esi
mov dword [0x4b89c0], eax
movzx eax, byte [0x4b8794]
push eax
push str.StatusType
push str.Dialogs
call ebx
push esi
push dword [0x4b687c]
mov byte [0x4b8794], al
push str.DialogInRun
push str.Dialogs
call ebx
push esi
push dword [0x4b6620]
mov dword [0x4b687c], eax
push str.TimeExec
push str.Dialogs
call ebx
push esi
push dword [0x4b6888]
mov dword [0x4b6620], eax
push str.HideCancelButton
push str.Dialogs
call ebx
push esi
push dword [0x4b688c]
mov dword [0x4b6888], eax
push str.RemoveSystemMenu
push str.Dialogs
call ebx
push esi
push dword [0x4b68d4]
mov dword [0x4b688c], eax
push str.ColorLinkInit
push str.Dialogs
call ebx
push esi
push dword [0x4b68d8]
mov dword [0x4b68d4], eax
push str.ColorLinkVisited
push str.Dialogs
call ebx
push esi
push dword [0x4b68a0]
mov dword [0x4b68d8], eax
push str.MessageBegin
push str.Dialogs
call ebx
push esi
push dword [0x4b68a4]
mov dword [0x4b68a0], eax
push str.MessageMiddle
push str.Dialogs
call ebx
push esi
push dword [0x4b68a8]
mov dword [0x4b68a4], eax
push str.MessageEnd
push str.Dialogs
call ebx
push esi
push dword [0x4b68ac]
mov dword [0x4b68a8], eax
push str.MessageError
push str.Dialogs
call ebx
push esi
push dword [0x4b68b0]
mov dword [0x4b68ac], eax
push str.GlobalMsgError
push str.Dialogs
call ebx
push esi
push 0x104
push 0x4cf3a8
push 0x48c8a4
push str.LicenseFile
push str.Dialogs
mov dword [0x4b68b0], eax
call edi
push esi
push dword [0x4b6858]
push str.ChoiceLang
push str.Dialogs
call ebx
push esi
push dword [0x4b6864]
mov dword [0x4b6858], eax
push str.Welcome
push str.Dialogs
call ebx
push esi
push dword [0x4b686c]
mov dword [0x4b6864], eax
push str.Customize
push str.Dialogs
call ebx
push esi
push dword [0x4b6870]
mov dword [0x4b686c], eax
push str.Finish
push str.Dialogs
call ebx
push esi
push 0x104
push 0x4b7924
push 0x48c8a4
push str.TargetExe
push str.Dialogs
mov dword [0x4b6870], eax
call edi
push esi
push 0x104
push 0x4b7b2c
push 0x48c8a4
push str.TargetParams
push str.Dialogs
call edi
push esi
push 0x104
push 0x4b7d34
push 0x48c8a4
push str.RegKeyExe
push str.Dialogs
call edi
push esi
push dword [0x4b7f3c]
push str.TargetOptions
push str.Dialogs
call ebx
push esi
push dword [0x4b7304]
mov dword [0x4b7f3c], eax
push str.Logo
push str.Dialogs
call ebx
mov dword [0x4b7304], eax
test eax, eax
je 0x45e0b9
push esi
push 0x104
push 0x4b7308
push 0x48c8a4
push str.LogoFile
push str.Dialogs
call edi
mov eax, dword [0x4b7304]
push esi
push eax
push str.PackImages
push str.Dialogs
call ebx
mov dword [0x4b7510], eax
test eax, eax
je 0x45e11c
push esi
push 0x104
push 0x4b7514
push 0x48c8a4
push str.PackImagesFile
push str.Dialogs
call edi
push esi
push dword [0x4b7f40]
push str.DelayPackImages
push str.Dialogs
call ebx
push esi
push dword [0x4b7f44]
mov dword [0x4b7f40], eax
push str.TypeEffectPackImages
push str.Dialogs
call ebx
mov dword [0x4b7f44], eax
push esi
xor eax, eax
xorps xmm0, xmm0
push 0x22
mov word [ebp - 0x48], ax
lea eax, [ebp - 0x48]
push eax
push 0x499b44
push str.Dialogs
movdqu xmmword [ebp - 0x46], xmm0
movdqu xmmword [ebp - 0x36], xmm0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStructW]
test eax, eax
je 0x45e164
push 0
push 0x11
lea eax, [ebp - 0x48]
push 0x4b5fbe
push eax
call fcn.0043b990
add esp, 0x10
mov dword [0x4b6860], eax
push esi
push dword [0x4bd988]
push 0x4987b8
push str.GoogleAnalytics
call ebx
mov dword [0x4bd988], eax
test eax, eax
je 0x45e321
push esi
push 0x104
push 0x4bdda0
push 0x48c8a4
push str.TrackingId
push str.GoogleAnalytics
call edi
push esi
push dword [0x4be04c]
push str.NoUpdateProductName
push str.GoogleAnalytics
call ebx
push esi
push 0x51
push 0x4bdfa8
push 0x48c8a4
push 0x497f24
push str.GoogleAnalytics
mov dword [0x4be04c], eax
call edi
push esi
push dword [0x4be0f4]
push str.NoUpdateProductVersion
push str.GoogleAnalytics
call ebx
push esi
push 0x51
push 0x4be050
push 0x48c8a4
push 0x48eb9c
push str.GoogleAnalytics
mov dword [0x4be0f4], eax
call edi
push esi
push 0x104
push 0x4be0f8
push 0x4be0f8
push str.Description
push str.GoogleAnalytics
call edi
push esi
push 0x104
push 0x4bd990
push 0x4bd990
push str.PrefsFile
push str.GoogleAnalytics
call edi
push esi
push 0x104
push 0x4bdb98
push 0x4bdb98
push str.RegKey
push str.GoogleAnalytics
call edi
push esi
push 0x65
push 0x4be90a
push 0x4be90a
push str.CampaignId
push str.GoogleAnalytics
call edi
push esi
push 0x104
push 0x4be300
push 0x4be300
push str.CampaignContent
push str.GoogleAnalytics
call edi
push esi
push 0x65
push 0x4be508
push 0x4be508
push str.CampaignName
push str.GoogleAnalytics
call edi
push esi
push 0x65
push 0x4be5d2
push 0x4be5d2
push str.CampaignSource
push str.GoogleAnalytics
call edi
push esi
push 0x33
push 0x4be69c
push 0x4be69c
push str.CampaignMedium
push str.GoogleAnalytics
call edi
push esi
push 0x104
push 0x4be702
push 0x4be702
push str.CampaignKeyword
push str.GoogleAnalytics
call edi
push esi
push dword [0x4bd98c]
push str.OnlyReg
push str.GoogleAnalytics
call ebx
push 0x4bdda0
push str.ReadConfigFile____TrackingId:__s
mov dword [0x4bd98c], eax
call fcn.00469290
mov eax, dword [0x4bd988]
add esp, 8
push eax
push str.ReadConfigFile____GA:__d
call fcn.00469290
movzx eax, byte [0x4be9d8]
add esp, 8
push esi
push eax
push 0x499d30
push str.AQTools
call ebx
push esi
push dword [0x4be9dc]
mov byte [0x4be9d8], al
push 0x499d50
push str.AQTools
call ebx
push esi
push dword [0x4be9e0]
mov dword [0x4be9dc], eax
push 0x499d58
push str.AQTools
call ebx
push esi
push dword [0x4be9e4]
mov dword [0x4be9e0], eax
push 0x48eb7c
push str.AQTools
call ebx
push esi
push dword [0x4be9e8]
mov dword [0x4be9e4], eax
push str.Aqcts
push str.AQTools
call ebx
push esi
push dword [0x4be9ec]
mov dword [0x4be9e8], eax
push str.IAMC
push str.AQTools
call ebx
test eax, eax
je 0x45e3e1
mov eax, dword [0x4b5194]
cmp eax, 5
ja 0x45e3d5
jne 0x45e3e1
cmp dword [0x4b5198], 0
jbe 0x45e3e1
mov dword [0x4be9ec], 1
jmp 0x45e3eb
mov dword [0x4be9ec], 0
push esi
push 0xd
push 0x4bebf8
push 0x48c8a4
push str.MasterID
push str.AQTools
call edi
push esi
push 0x104
push 0x4bec12
push 0x48c8a4
push str.ProductKey
push str.AQTools
call edi
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x458], ax
lea eax, [ebp - 0x456]
push eax
call fcn.0046f6e0
add esp, 0xc
lea eax, [ebp - 0x458]
push esi
push 0x104
push eax
push 0x48c8a4
push str.SerialNumber
push str.AQTools
call edi
test eax, eax
je 0x45e4c1
lea ecx, [ebp - 0x458]
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45e470
sub ecx, edx
sar ecx, 1
inc ecx
cmp ecx, 0x3fffffff
jle 0x45e48c
xor eax, eax
jmp 0x45e4ae
lea edi, [ecx + ecx]
mov eax, edi
call fcn.004704a0
mov eax, esp
lea ecx, [ebp - 0x458]
push 3
push edi
push ecx
push eax
call fcn.0045bcd0
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push eax
push 0x104
push 0x4be9f0
call fcn.0046fcbd
add esp, 0xc
push esi
push 0x104
lea eax, [ebp - 0x458]
push eax
push 0x48c8a4
push str.SerialNumberTrial
push str.AQTools
call edi
test eax, eax
je 0x45e541
lea ecx, [ebp - 0x458]
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45e4f0
sub ecx, edx
sar ecx, 1
inc ecx
cmp ecx, 0x3fffffff
jle 0x45e50c
xor eax, eax
jmp 0x45e52e
lea edi, [ecx + ecx]
mov eax, edi
call fcn.004704a0
mov eax, esp
lea ecx, [ebp - 0x458]
push 3
push edi
push ecx
push eax
call fcn.0045bcd0
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push eax
push 0x104
push 0x4beaf4
call fcn.0046fcbd
add esp, 0xc
movzx eax, byte [0x4bee1b]
push esi
push eax
push str.ProductLanguage
push str.AQTools
call ebx
push esi
mov byte [0x4bee1b], al
movzx eax, byte [0x4bee1a]
push eax
push str.ProductType
push str.AQTools
call ebx
push esi
mov byte [0x4bee1a], al
movzx eax, byte [0x4bee1c]
push eax
push 0x48eb9c
push str.AQTools
call ebx
push esi
mov byte [0x4bee1c], al
movzx eax, byte [0x4bee1d]
push eax
push str.InstallMode
push str.AQTools
call ebx
push esi
mov byte [0x4bee1d], al
movzx eax, byte [0x4bee1e]
push eax
push str.CompanyCode
push str.AQTools
call ebx
push esi
mov byte [0x4bee1e], al
movzx eax, byte [0x4bf098]
push eax
push str.InstallMode
push str.AQToolsSerialV3
call ebx
push esi
mov byte [0x4bf098], al
movzx eax, byte [0x4bf097]
push eax
push str.ProductType
push str.AQToolsSerialV3
call ebx
push esi
push dword [0x4bee38]
mov byte [0x4bf097], al
push str.AlrdySerial
push str.AQToolsSerialV3
call ebx
push esi
push dword [0x4bee20]
mov dword [0x4bee38], eax
push str.UserNameField
push str.AQToolsSerialV3
call ebx
push esi
push dword [0x4bee24]
mov dword [0x4bee20], eax
push str.CompanyField
push str.AQToolsSerialV3
call ebx
push esi
push dword [0x4bee28]
mov dword [0x4bee24], eax
push str.ButtonBuy
push str.AQToolsSerialV3
call ebx
push esi
push dword [0x4bee2c]
mov dword [0x4bee28], eax
push str.ButtonPaste
push str.AQToolsSerialV3
call ebx
push esi
push dword [0x4bee30]
mov dword [0x4bee2c], eax
push str.ButtonTrial
push str.AQToolsSerialV3
call ebx
push esi
push dword [0x4bee34]
mov dword [0x4bee30], eax
push str.OneSerialField
push str.AQToolsSerialV3
call ebx
push esi
push dword [0x4bee3c]
mov dword [0x4bee34], eax
push str.DlgOptions
push str.AQToolsSerialV3
call ebx
push esi
push 0x27
push 0x4bf048
push 0x48c8a4
push str.Guid
push str.AQToolsSerialV3
mov dword [0x4bee3c], eax
call edi
movzx eax, byte [0x4bf096]
push esi
push eax
push str.ProductCode
push str.AQToolsSerialV3
call ebx
push esi
push 0x104
push 0x4bee40
push 0x4bee40
push str.UrlBuy
push str.AQToolsSerialV3
mov byte [0x4bf096], al
call edi
movzx eax, byte [0x4c7611]
push esi
push eax
push str.InstallMode
push str.AQToolsSerialV5
call ebx
push esi
mov byte [0x4c7611], al
movzx eax, byte [0x4c7610]
push eax
push str.ProductType
push str.AQToolsSerialV5
call ebx
push esi
push dword [0x4c7608]
mov byte [0x4c7610], al
push str.AlrdySerial
push str.AQToolsSerialV5
call ebx
push esi
push dword [0x4c75f0]
mov dword [0x4c7608], eax
push str.UserNameField
push str.AQToolsSerialV5
call ebx
push esi
push dword [0x4c75f4]
mov dword [0x4c75f0], eax
push str.CompanyField
push str.AQToolsSerialV5
call ebx
push esi
push dword [0x4c75f8]
mov dword [0x4c75f4], eax
push str.ButtonBuy
push str.AQToolsSerialV5
call ebx
push esi
push dword [0x4c75fc]
mov dword [0x4c75f8], eax
push str.ButtonPaste
push str.AQToolsSerialV5
call ebx
mov dword [0x4c75fc], eax
push esi
push dword [0x4c7600]
push str.ButtonTrial
push str.AQToolsSerialV5
call ebx
push esi
push dword [0x4c7604]
mov dword [0x4c7600], eax
push str.OneSerialField
push str.AQToolsSerialV5
call ebx
push esi
push dword [0x4c760c]
mov dword [0x4c7604], eax
push str.DlgOptions
push str.AQToolsSerialV5
call ebx
push esi
push 0x104
push 0x4c7612
push 0x4c7612
push str.UrlBuy
push str.AQToolsSerialV5
mov dword [0x4c760c], eax
call edi
push esi
xor eax, eax
xorps xmm0, xmm0
push 0xf
mov word [ebp - 0x24], ax
mov dword [ebp - 0xa], eax
lea eax, [ebp - 0x24]
push eax
push 0x48c8a4
push str.SerialId
push str.AQToolsSerialV5
movdqu xmmword [ebp - 0x22], xmm0
movq qword [ebp - 0x12], xmm0
call edi
test eax, eax
je 0x45e89b
lea ecx, [ebp - 0x24]
lea edx, [ecx + 2]
mov edi, edi
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45e850
sub ecx, edx
sar ecx, 1
inc ecx
cmp ecx, 0x3fffffff
jle 0x45e86c
xor eax, eax
jmp 0x45e88b
lea edi, [ecx + ecx]
mov eax, edi
call fcn.004704a0
mov eax, esp
lea ecx, [ebp - 0x24]
push 3
push edi
push ecx
push eax
call fcn.0045bcd0
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push eax
push 0xf
push 0x4c781a
call fcn.0046fcbd
add esp, 0xc
push esi
push dword [0x4bf09c]
push str.NeedConnection
push str.AQToolsAP
call ebx
push esi
push dword [0x4c7830]
mov dword [0x4bf09c], eax
push str.AlwaysInstall
push str.AQToolsToolbar
call ebx
push esi
push dword [0x4c7834]
movzx eax, al
push str.Install
push str.AQToolsToolbar
mov dword [0x4c7830], eax
call ebx
push esi
push dword [0x4c7838]
movzx eax, al
push str.HomePage
push str.AQToolsToolbar
mov dword [0x4c7834], eax
call ebx
push esi
push dword [0x4c783c]
movzx eax, al
push str.WebSearch
push str.AQToolsToolbar
mov dword [0x4c7838], eax
call ebx
push esi
push 0xb
push 0x4c7840
push 0x4c7840
push 0x49a030
movzx eax, al
push str.AQToolsToolbar
mov dword [0x4c783c], eax
call edi
movzx eax, byte [0x4c7a61]
push esi
push eax
push str.DialogType
push str.AQToolsOLR
call ebx
push esi
push dword [0x4c7a68]
mov byte [0x4c7a61], al
push str.OLRInformation
push str.AQToolsOLR
call ebx
push esi
mov dword [0x4c7a68], eax
movzx eax, byte [0x4c7a60]
push eax
push 0x499d30
push str.AQToolsOLR
call ebx
push esi
push dword [0x4c7c74]
mov byte [0x4c7a60], al
push str.Options
push str.AQToolsOLR
call ebx
push esi
push 0x104
push 0x4c7a6c
push 0x48c8a4
push 0x49938c
push str.AQToolsOLR
mov dword [0x4c7c74], eax
call edi
push esi
push dword [0x4c7e8c]
push str.AllDialogs
push str.AQToolsIAMC
call ebx
mov dword [0x4c7e8c], eax
push esi
push dword [0x4c7e88]
push 0x49a0c8
push str.AQToolsIAMC
call ebx
push esi
push dword [0x4c7eac]
mov dword [0x4c7e88], eax
push str.CountryCode
push str.AQToolsIAMC
call ebx
push esi
mov dword [0x4c7eac], eax
movzx eax, byte [0x4c7eb8]
push eax
push str.Border
push str.AQToolsIAMC
call ebx
push esi
push dword [0x4c7eb0]
mov byte [0x4c7eb8], al
push str.Height
push str.AQToolsIAMC
call ebx
push esi
push dword [0x4c7eb4]
mov dword [0x4c7eb0], eax
push str.TypeId
push str.AQToolsIAMC
call ebx
push esi
push 0x104
push 0x4c7eba
push 0x4c7eba
push 0x49a118
push str.AQToolsIAMC
mov dword [0x4c7eb4], eax
call edi
push esi
push 0x104
push 0x4c80c2
push 0x4c80c2
push str.LocalUrl
push str.AQToolsIAMC
call edi
push esi
push 0xd
push 0x4c7e90
push 0x4c7e90
push str.MasterId
push str.AQToolsIAMC
call edi
push esi
push dword [0x4c7c78]
push str.LiveUpdate
push str.AQToolsAQCTS
call ebx
push esi
push dword [0x4c7c7c]
movzx eax, al
push str.CopyCTFiles
push str.AQToolsAQCTS
mov dword [0x4c7c78], eax
call ebx
push esi
push 0x104
push 0x4c7c80
push 0x4c7c80
push str.ProductExe
push str.AQToolsAQCTS
mov dword [0x4c7c7c], eax
call edi
test eax, eax
je 0x45eb56
push 0x104
push 0x4c7c80
call fcn.0045fb00
add esp, 8
push 0x4c7c80
call dword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
test eax, eax
je 0x45eb56
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x250], ax
lea eax, [ebp - 0x24e]
push eax
call fcn.0046f6e0
add esp, 0xc
lea eax, [ebp - 0x250]
push 0x4c7c80
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x250]
push eax
push 0x4b70fc
push 0x4c7c80
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx eax, ax
mov edi, eax
mov dword [ebp - 0x878], eax
and edi, 0x3ff
mov dword [ebp - 0x86c], edi
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx eax, ax
mov dword [ebp - 0x87c], eax
and eax, 0x3ff
push 0x4c900c
push esi
mov dword [ebp - 0x870], eax
call fcn.0045f240
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x45ede5
mov edx, dword [0x4b5500]
mov dword [ebp - 0x880], 0x3ff
test dx, dx
je 0x45ec42
mov edi, dword [0x4c900c]
xor eax, eax
test ecx, ecx
je 0x45ebff
movzx edx, dx
mov dword [ebp - 0x874], edx
lea edx, [edi + 0x3058]
lea esp, [esp]
mov ebx, dword [ebp - 0x874]
cmp ebx, dword [edx]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
je 0x45ec9d
inc eax
add edx, 0x306c
cmp eax, ecx
jb 0x45ebe0
xor edx, edx
test ecx, ecx
je 0x45ec42
mov eax, dword [0x4b5500]
and eax, 0x3ff
add edi, 0x3058
mov dword [ebp - 0x874], eax
jmp 0x45ec20
mov ax, word [edi]
and ax, word [ebp - 0x880]
cmp word [ebp - 0x874], ax
je 0x45ecb9
inc edx
add edi, 0x306c
cmp edx, ecx
jb 0x45ec20
cmp dword [0x4b6854], 0
je 0x45ecf0
mov edx, dword [ebp - 0x87c]
test dx, dx
je 0x45ecf0
xor eax, eax
test ecx, ecx
je 0x45ed52
mov edx, dword [0x4c900c]
add edx, 0x3058
mov edi, dword [ebp - 0x87c]
movzx ebx, di
cmp ebx, dword [edx]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edi, dword [0x4c900c]
je 0x45ecd4
inc eax
add edx, 0x306c
cmp eax, ecx
jb 0x45ec74
jmp 0x45ed58
mov dword [0x4bd974], eax
imul eax, eax, 0x306c
push dword [eax + edi + 0x3058]
push str.ReadConfigFile____LangId_found_by_lcID_LangParam:__d
jmp 0x45f117
mov eax, dword [0x4b5500]
and eax, 0x3ff
mov dword [0x4bd974], edx
push eax
push str.ReadConfigFile____LangId_found_by_lcPrimaryID_LangParam:__d
jmp 0x45f117
mov dword [0x4bd974], eax
imul eax, eax, 0x306c
push dword [eax + edi + 0x3058]
push str.ReadConfigFile____LangId_found_by_lcID_system:__d
jmp 0x45f117
mov edx, dword [ebp - 0x878]
test dx, dx
je 0x45ed52
xor eax, eax
test ecx, ecx
je 0x45ed52
mov edx, dword [0x4c900c]
add edx, 0x3058
lea ecx, [ecx]
mov edi, dword [ebp - 0x878]
movzx ebx, di
cmp ebx, dword [edx]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edi, dword [0x4c900c]
je 0x45ed36
inc eax
add edx, 0x306c
cmp eax, ecx
jb 0x45ed10
jmp 0x45ed58
mov dword [0x4bd974], eax
imul eax, eax, 0x306c
push dword [eax + edi + 0x3058]
push str.ReadConfigFile____LangId_found_by_lcID_user:__d
jmp 0x45f117
mov edi, dword [0x4c900c]
cmp dword [0x4b6854], 0
je 0x45f0a3
cmp word [ebp - 0x870], 0
je 0x45f0a3
xor edx, edx
test ecx, ecx
je 0x45eda2
add edi, 0x3058
nop
mov ax, word [edi]
and ax, word [ebp - 0x880]
cmp word [ebp - 0x870], ax
je 0x45f089
inc edx
add edi, 0x306c
cmp edx, ecx
jb 0x45ed80
xor eax, eax
test ecx, ecx
je 0x45eddf
mov edi, dword [0x4c900c]
lea edx, [edi + 0x3058]
jmp 0x45edc0
mov ebx, dword [0x4bd970]
cmp ebx, dword [edx]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
je 0x45f100
inc eax
add edx, 0x306c
cmp eax, ecx
jb 0x45edc0
mov edi, dword [ebp - 0x86c]
push 0x4b51b0
push esi
call fcn.0043d1a0
add esp, 8
test eax, eax
je 0x45ee0b
push esi
push 0
push str.Conditions
push str.Runtime
call ebx
mov dword [0x4b6880], eax
push 0x4cf3a8
push str.ReadConfigFile____LicenseFile_INTL:__s
call fcn.00469290
push 0x4b579e
push str.ReadConfigFile____ProductName:__s
call fcn.00469290
push dword [0x4b6840]
push dword [0x4b683c]
push str.ReadConfigFile____Compress:__d_CompressType:__d
call fcn.00469290
push 0x4b6ae4
push str.ReadConfigFile____ExeFileName:__s
call fcn.00469290
push 0x4b6cec
push str.ReadConfigFile____ExeCmdLine:__s
call fcn.00469290
push dword [0x4b879c]
push str.ReadConfigFile____LaunchOptions:__d
call fcn.00469290
push dword [0x4b684c]
push str.ReadConfigFile____DelFiles:__d
call fcn.00469290
push dword [0x4b7f58]
push dword [0x4b7f54]
push dword [0x4b7f4c]
push str.ReadConfigFile____LaunchExe:__d_AllowModifyDest:__d_RestoreTree:__d
call fcn.00469290
add esp, 0x4c
push dword [0x4b7f48]
push str.ReadConfigFile____ExeWinDisplay:__d
call fcn.00469290
push dword [0x4b7f64]
push str.ReadConfigFile____ProgressBar:__d
call fcn.00469290
push dword [0x4b8798]
push str.ReadConfigFile____StyleProgress:__d
call fcn.00469290
push 0x4b70fc
push str.ReadConfigFile____TgdFolder:__s
call fcn.00469290
push dword [0x4bd970]
push str.ReadConfigFile____LanguageDefault:__d
call fcn.00469290
push dword [0x4b6860]
push str.ReadConfigFile____Password:__d
call fcn.00469290
mov eax, dword [ebp - 0x870]
movzx eax, ax
push eax
mov eax, dword [ebp - 0x87c]
movzx eax, ax
push eax
movzx eax, di
push eax
mov eax, dword [ebp - 0x878]
movzx eax, ax
push eax
push str.ReadConfigFile____lcID_user:__d___d____lcID_system:__d___d_
call fcn.00469290
add esp, 0x44
push 0x4b7f70
push dword [0x4b7f68]
push str.ReadConfigFile____RunScript:__d__:___s
call fcn.00469290
push dword [0x4b7f6c]
push str.ReadConfigFile____ResumeSetup:__d
call fcn.00469290
push 0x4b7514
push str.ReadConfigFile____PackImagesFile:__s
call fcn.00469290
push 0x104
push 0x4b771c
call fcn.0045fb00
push 0x104
push 0x4b7924
call fcn.0045fb00
push 0x104
push 0x4b7b2c
call fcn.0045fb00
push 0x4b7924
push str.ReadConfigFile____TgdExe:__s
call fcn.00469290
push 0x4b7b2c
push str.ReadConfigFile____TgdParams:__s
call fcn.00469290
add esp, 0x44
push 0x4b771c
push str.ReadConfigFile____TgdFolderParam:__s
call fcn.00469290
push dword [0x4b7f3c]
push str.ReadConfigFile____TgdOptions:__d__0Open__1RunAs__2Auto_
call fcn.00469290
movzx eax, byte [0x4bee1b]
push eax
push str.ReadConfigFile____AQTOOLSINFO.byProductLanguage:__d
call fcn.00469290
movzx eax, byte [0x4bee1a]
push eax
push str.ReadConfigFile____AQTOOLSINFO.byProductType:__d
call fcn.00469290
movzx eax, byte [0x4bee1c]
push eax
push str.ReadConfigFile____AQTOOLSINFO.byProductVersion:__d
call fcn.00469290
movzx eax, byte [0x4bee1d]
push eax
push str.ReadConfigFile____AQTOOLSINFO.byInstallMode:__d
call fcn.00469290
movzx eax, byte [0x4bee1e]
push eax
push str.ReadConfigFile____AQTOOLSINFO.byCompanyCode:__d
call fcn.00469290
push dword [0x4be9e8]
push str.ReadConfigFile____AQTOOLSINFO.bAQCTS:__d
call fcn.00469290
add esp, 0x40
push dword [0x4be9ec]
push str.ReadConfigFile____AQTOOLSINFO.bIAMC:__d
call fcn.00469290
push dword [0x4bf09c]
push str.ReadConfigFile____AQTOOLSAP.bNeedConnection:__d
call fcn.00469290
movzx eax, byte [0x4c7a61]
push eax
push str.ReadConfigFile____AQTOOLSOLR.byDialogType:__d
call fcn.00469290
add esp, 0x18
mov eax, 1
lea esp, [ebp - 0x88c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046ebfa
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x870]
movzx eax, ax
push eax
mov dword [0x4bd974], edx
push str.ReadConfigFile____LangId_found_by_lcPrimaryID_system:__d
jmp 0x45f117
cmp word [ebp - 0x86c], 0
je 0x45eda2
xor edx, edx
test ecx, ecx
je 0x45eda2
add edi, 0x3058
mov ax, word [edi]
and ax, word [ebp - 0x880]
cmp word [ebp - 0x86c], ax
je 0x45f0e4
inc edx
add edi, 0x306c
cmp edx, ecx
jb 0x45f0c1
jmp 0x45eda2
mov edi, dword [ebp - 0x86c]
movzx eax, di
push eax
push str.ReadConfigFile____LangId_found_by_lcPrimaryID_user:__d
mov dword [0x4bd974], edx
call fcn.00469290
jmp 0x45f122
mov dword [0x4bd974], eax
imul eax, eax, 0x306c
push dword [eax + edi + 0x3058]
push str.ReadConfigFile____LangId_found_by_LanguageDefault:__d
call fcn.00469290
mov edi, dword [ebp - 0x86c]
imul ecx, dword [0x4bd974], 0x306c
add esp, 8
mov eax, dword [0x4c900c]
add ecx, 0x610
add eax, ecx
push eax
push str.ReadConfigFile____LangISO3:__s
call fcn.00469290
imul eax, dword [0x4bd974], 0x306c
add eax, dword [0x4c900c]
push eax
push str.ReadConfigFile____LangFile:__s
call fcn.00469290
imul ecx, dword [0x4bd974], 0x306c
mov eax, dword [0x4c900c]
add ecx, 0x62e
add eax, ecx
push eax
push str.ReadConfigFile____LicenseFile:__s
call fcn.00469290
imul ecx, dword [0x4bd974], 0x306c
mov eax, dword [0x4c900c]
add ecx, 0x836
add eax, ecx
push eax
push str.ReadConfigFile____LicenseUrl:__s
call fcn.00469290
imul ecx, dword [0x4bd974], 0x306c
mov eax, dword [0x4c900c]
add ecx, 0x1836
add eax, ecx
push eax
push str.ReadConfigFile____PrivacyUrl:__s
call fcn.00469290
imul ecx, dword [0x4bd974], 0x306c
mov eax, dword [0x4c900c]
add ecx, 0x2a3e
add eax, ecx
push eax
push str.ReadConfigFile____LUUrl:__s
call fcn.00469290
imul ecx, dword [0x4bd974], 0x306c
mov eax, dword [0x4c900c]
add ecx, 0x2c46
add eax, ecx
push eax
push str.ReadConfigFile____LUExeParams:__s
call fcn.00469290
imul ecx, dword [0x4bd974], 0x306c
mov eax, dword [0x4c900c]
add eax, 0x2e4e
add eax, ecx
push eax
push str.ReadConfigFile____LUTgdFolder:__s
call fcn.00469290
add esp, 0x40
jmp 0x45ede5