Function at 0x45d810
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 0x45f0d2
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x660], ax
lea eax, [ebp - 0x65e]
push eax
call fcn.0046f7e0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x868], ax
lea eax, [ebp - 0x866]
push eax
call fcn.0046f7e0
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 0x497f34
push str.General
call edi
push esi
push 0x51
push 0x4c82d0
push 0x48c8a4
push 0x497f34
push str.General
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push esi
push dword [0x4b65f8]
push 0x4993dc
push str.LiveUpdate
call ebx
mov dword [0x4b65f8], eax
test eax, eax
je 0x45da67
push esi
push 0x104
push 0x4b5fe0
push 0x48c8a4
push 0x4993fc
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 0x45d96e
push 0x104
push 0x4b63f0
call fcn.0045fb60
add esp, 8
cmp word [0x4b63f0], 0
jne 0x45d98f
push 0x4c9a48
push 0x104
push 0x4b63f0
call fcn.0046fe12
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 0x45daeb
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 0x45db69
push esi
push 0x104
push 0x4b70fc
push 0x4b70fc
push str.TargetFolder
push str.Runtime
call edi
push 0x104
push 0x4b70fc
call fcn.0045fb60
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 0x45dca5
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.0046f7e0
push 0x4b7f70
lea eax, [ebp - 0x250]
push 0x104
push eax
call fcn.0046fe12
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.004707c2
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 0x45e119
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 0x45e17c
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 0x499bb4
push str.Dialogs
movdqu xmmword [ebp - 0x46], xmm0
movdqu xmmword [ebp - 0x36], xmm0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStructW]
test eax, eax
je 0x45e1c4
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 0x498828
push str.GoogleAnalytics
call ebx
mov dword [0x4bd988], eax
test eax, eax
je 0x45e381
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 0x497f34
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.00469390
mov eax, dword [0x4bd988]
add esp, 8
push eax
push str.ReadConfigFile____GA:__d
call fcn.00469390
movzx eax, byte [0x4be9d8]
add esp, 8
push esi
push eax
push 0x499da0
push str.AQTools
call ebx
push esi
push dword [0x4be9dc]
mov byte [0x4be9d8], al
push 0x499dc0
push str.AQTools
call ebx
push esi
push dword [0x4be9e0]
mov dword [0x4be9dc], eax
push 0x499dc8
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 0x45e441
mov eax, dword [0x4b5194]
cmp eax, 5
ja 0x45e435
jne 0x45e441
cmp dword [0x4b5198], 0
jbe 0x45e441
mov dword [0x4be9ec], 1
jmp 0x45e44b
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.0046f7e0
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 0x45e521
lea ecx, [ebp - 0x458]
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45e4d0
sub ecx, edx
sar ecx, 1
inc ecx
cmp ecx, 0x3fffffff
jle 0x45e4ec
xor eax, eax
jmp 0x45e50e
lea edi, [ecx + ecx]
mov eax, edi
call fcn.004705a0
mov eax, esp
lea ecx, [ebp - 0x458]
push 3
push edi
push ecx
push eax
call fcn.0045bd30
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push eax
push 0x104
push 0x4be9f0
call fcn.0046fdbd
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 0x45e5a1
lea ecx, [ebp - 0x458]
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45e550
sub ecx, edx
sar ecx, 1
inc ecx
cmp ecx, 0x3fffffff
jle 0x45e56c
xor eax, eax
jmp 0x45e58e
lea edi, [ecx + ecx]
mov eax, edi
call fcn.004705a0
mov eax, esp
lea ecx, [ebp - 0x458]
push 3
push edi
push ecx
push eax
call fcn.0045bd30
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push eax
push 0x104
push 0x4beaf4
call fcn.0046fdbd
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 0x45e8fb
lea ecx, [ebp - 0x24]
lea edx, [ecx + 2]
mov edi, edi
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45e8b0
sub ecx, edx
sar ecx, 1
inc ecx
cmp ecx, 0x3fffffff
jle 0x45e8cc
xor eax, eax
jmp 0x45e8eb
lea edi, [ecx + ecx]
mov eax, edi
call fcn.004705a0
mov eax, esp
lea ecx, [ebp - 0x24]
push 3
push edi
push ecx
push eax
call fcn.0045bd30
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push eax
push 0xf
push 0x4c781a
call fcn.0046fdbd
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 0x49a0a0
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 0x499da0
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 0x4993fc
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 0x49a138
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 0x49a188
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 0x45ebb6
push 0x104
push 0x4c7c80
call fcn.0045fb60
add esp, 8
push 0x4c7c80
call dword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
test eax, eax
je 0x45ebb6
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x250], ax
lea eax, [ebp - 0x24e]
push eax
call fcn.0046f7e0
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.0045f2a0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x45ee45
mov edx, dword [0x4b5500]
mov dword [ebp - 0x880], 0x3ff
test dx, dx
je 0x45eca2
mov edi, dword [0x4c900c]
xor eax, eax
test ecx, ecx
je 0x45ec5f
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 0x45ecfd
inc eax
add edx, 0x306c
cmp eax, ecx
jb 0x45ec40
xor edx, edx
test ecx, ecx
je 0x45eca2
mov eax, dword [0x4b5500]
and eax, 0x3ff
add edi, 0x3058
mov dword [ebp - 0x874], eax
jmp 0x45ec80
mov ax, word [edi]
and ax, word [ebp - 0x880]
cmp word [ebp - 0x874], ax
je 0x45ed19
inc edx
add edi, 0x306c
cmp edx, ecx
jb 0x45ec80
cmp dword [0x4b6854], 0
je 0x45ed50
mov edx, dword [ebp - 0x87c]
test dx, dx
je 0x45ed50
xor eax, eax
test ecx, ecx
je 0x45edb2
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 0x45ed34
inc eax
add edx, 0x306c
cmp eax, ecx
jb 0x45ecd4
jmp 0x45edb8
mov dword [0x4bd974], eax
imul eax, eax, 0x306c
push dword [eax + edi + 0x3058]
push str.ReadConfigFile____LangId_found_by_lcID_LangParam:__d
jmp 0x45f177
mov eax, dword [0x4b5500]
and eax, 0x3ff
mov dword [0x4bd974], edx
push eax
push str.ReadConfigFile____LangId_found_by_lcPrimaryID_LangParam:__d
jmp 0x45f177
mov dword [0x4bd974], eax
imul eax, eax, 0x306c
push dword [eax + edi + 0x3058]
push str.ReadConfigFile____LangId_found_by_lcID_system:__d
jmp 0x45f177
mov edx, dword [ebp - 0x878]
test dx, dx
je 0x45edb2
xor eax, eax
test ecx, ecx
je 0x45edb2
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 0x45ed96
inc eax
add edx, 0x306c
cmp eax, ecx
jb 0x45ed70
jmp 0x45edb8
mov dword [0x4bd974], eax
imul eax, eax, 0x306c
push dword [eax + edi + 0x3058]
push str.ReadConfigFile____LangId_found_by_lcID_user:__d
jmp 0x45f177
mov edi, dword [0x4c900c]
cmp dword [0x4b6854], 0
je 0x45f103
cmp word [ebp - 0x870], 0
je 0x45f103
xor edx, edx
test ecx, ecx
je 0x45ee02
add edi, 0x3058
nop
mov ax, word [edi]
and ax, word [ebp - 0x880]
cmp word [ebp - 0x870], ax
je 0x45f0e9
inc edx
add edi, 0x306c
cmp edx, ecx
jb 0x45ede0
xor eax, eax
test ecx, ecx
je 0x45ee3f
mov edi, dword [0x4c900c]
lea edx, [edi + 0x3058]
jmp 0x45ee20
mov ebx, dword [0x4bd970]
cmp ebx, dword [edx]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
je 0x45f160
inc eax
add edx, 0x306c
cmp eax, ecx
jb 0x45ee20
mov edi, dword [ebp - 0x86c]
push 0x4b51b0
push esi
call fcn.0043d1a0
add esp, 8
test eax, eax
je 0x45ee6b
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.00469390
push 0x4b579e
push str.ReadConfigFile____ProductName:__s
call fcn.00469390
push dword [0x4b6840]
push dword [0x4b683c]
push str.ReadConfigFile____Compress:__d_CompressType:__d
call fcn.00469390
push 0x4b6ae4
push str.ReadConfigFile____ExeFileName:__s
call fcn.00469390
push 0x4b6cec
push str.ReadConfigFile____ExeCmdLine:__s
call fcn.00469390
push dword [0x4b879c]
push str.ReadConfigFile____LaunchOptions:__d
call fcn.00469390
push dword [0x4b684c]
push str.ReadConfigFile____DelFiles:__d
call fcn.00469390
push dword [0x4b7f58]
push dword [0x4b7f54]
push dword [0x4b7f4c]
push str.ReadConfigFile____LaunchExe:__d_AllowModifyDest:__d_RestoreTree:__d
call fcn.00469390
add esp, 0x4c
push dword [0x4b7f48]
push str.ReadConfigFile____ExeWinDisplay:__d
call fcn.00469390
push dword [0x4b7f64]
push str.ReadConfigFile____ProgressBar:__d
call fcn.00469390
push dword [0x4b8798]
push str.ReadConfigFile____StyleProgress:__d
call fcn.00469390
push 0x4b70fc
push str.ReadConfigFile____TgdFolder:__s
call fcn.00469390
push dword [0x4bd970]
push str.ReadConfigFile____LanguageDefault:__d
call fcn.00469390
push dword [0x4b6860]
push str.ReadConfigFile____Password:__d
call fcn.00469390
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.00469390
add esp, 0x44
push 0x4b7f70
push dword [0x4b7f68]
push str.ReadConfigFile____RunScript:__d__:___s
call fcn.00469390
push dword [0x4b7f6c]
push str.ReadConfigFile____ResumeSetup:__d
call fcn.00469390
push 0x4b7514
push str.ReadConfigFile____PackImagesFile:__s
call fcn.00469390
push 0x104
push 0x4b771c
call fcn.0045fb60
push 0x104
push 0x4b7924
call fcn.0045fb60
push 0x104
push 0x4b7b2c
call fcn.0045fb60
push 0x4b7924
push str.ReadConfigFile____TgdExe:__s
call fcn.00469390
push 0x4b7b2c
push str.ReadConfigFile____TgdParams:__s
call fcn.00469390
add esp, 0x44
push 0x4b771c
push str.ReadConfigFile____TgdFolderParam:__s
call fcn.00469390
push dword [0x4b7f3c]
push str.ReadConfigFile____TgdOptions:__d__0Open__1RunAs__2Auto_
call fcn.00469390
movzx eax, byte [0x4bee1b]
push eax
push str.ReadConfigFile____AQTOOLSINFO.byProductLanguage:__d
call fcn.00469390
movzx eax, byte [0x4bee1a]
push eax
push str.ReadConfigFile____AQTOOLSINFO.byProductType:__d
call fcn.00469390
movzx eax, byte [0x4bee1c]
push eax
push str.ReadConfigFile____AQTOOLSINFO.byProductVersion:__d
call fcn.00469390
movzx eax, byte [0x4bee1d]
push eax
push str.ReadConfigFile____AQTOOLSINFO.byInstallMode:__d
call fcn.00469390
movzx eax, byte [0x4bee1e]
push eax
push str.ReadConfigFile____AQTOOLSINFO.byCompanyCode:__d
call fcn.00469390
push dword [0x4be9e8]
push str.ReadConfigFile____AQTOOLSINFO.bAQCTS:__d
call fcn.00469390
add esp, 0x40
push dword [0x4be9ec]
push str.ReadConfigFile____AQTOOLSINFO.bIAMC:__d
call fcn.00469390
push dword [0x4bf09c]
push str.ReadConfigFile____AQTOOLSAP.bNeedConnection:__d
call fcn.00469390
movzx eax, byte [0x4c7a61]
push eax
push str.ReadConfigFile____AQTOOLSOLR.byDialogType:__d
call fcn.00469390
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.0046ecfa
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 0x45f177
cmp word [ebp - 0x86c], 0
je 0x45ee02
xor edx, edx
test ecx, ecx
je 0x45ee02
add edi, 0x3058
mov ax, word [edi]
and ax, word [ebp - 0x880]
cmp word [ebp - 0x86c], ax
je 0x45f144
inc edx
add edi, 0x306c
cmp edx, ecx
jb 0x45f121
jmp 0x45ee02
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.00469390
jmp 0x45f182
mov dword [0x4bd974], eax
imul eax, eax, 0x306c
push dword [eax + edi + 0x3058]
push str.ReadConfigFile____LangId_found_by_LanguageDefault:__d
call fcn.00469390
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.00469390
imul eax, dword [0x4bd974], 0x306c
add eax, dword [0x4c900c]
push eax
push str.ReadConfigFile____LangFile:__s
call fcn.00469390
imul ecx, dword [0x4bd974], 0x306c
mov eax, dword [0x4c900c]
add ecx, 0x62e
add eax, ecx
push eax
push str.ReadConfigFile____LicenseFile:__s
call fcn.00469390
imul ecx, dword [0x4bd974], 0x306c
mov eax, dword [0x4c900c]
add ecx, 0x836
add eax, ecx
push eax
push str.ReadConfigFile____LicenseUrl:__s
call fcn.00469390
imul ecx, dword [0x4bd974], 0x306c
mov eax, dword [0x4c900c]
add ecx, 0x1836
add eax, ecx
push eax
push str.ReadConfigFile____PrivacyUrl:__s
call fcn.00469390
imul ecx, dword [0x4bd974], 0x306c
mov eax, dword [0x4c900c]
add ecx, 0x2a3e
add eax, ecx
push eax
push str.ReadConfigFile____LUUrl:__s
call fcn.00469390
imul ecx, dword [0x4bd974], 0x306c
mov eax, dword [0x4c900c]
add ecx, 0x2c46
add eax, ecx
push eax
push str.ReadConfigFile____LUExeParams:__s
call fcn.00469390
imul ecx, dword [0x4bd974], 0x306c
mov eax, dword [0x4c900c]
add eax, 0x2e4e
add eax, ecx
push eax
push str.ReadConfigFile____LUTgdFolder:__s
call fcn.00469390
add esp, 0x40
jmp 0x45ee45