Function at 0x4513b0
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 [0x4a86f0]
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 0x452962
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x660], ax
lea eax, [ebp - 0x65e]
push eax
call fcn.0046a330
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x868], ax
lea eax, [ebp - 0x866]
push eax
call fcn.0046a330
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
add esp, 0x18
push esi
push 0x27
push 0x4b8c38
push 0x487854
push str.Guid
push str.General
call edi
push esi
push 0x51
push 0x4c25e6
push 0x487854
push 0x48d8c4
push str.General
call edi
push esi
push 0x104
push 0x4b8c86
push 0x487854
push 0x48f84c
push str.General
call edi
push esi
push 0x51
push 0x4c2400
push 0x487854
push 0x48f84c
push str.General
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push esi
push dword [0x4b9ae0]
push 0x4909d8
push str.LiveUpdate
call ebx
mov dword [0x4b9ae0], eax
test eax, eax
je 0x451607
push esi
push 0x104
push 0x4b94c8
push 0x487854
push 0x4909f8
push str.LiveUpdate
call edi
push esi
push 0x104
push 0x4b96d0
push 0x487854
push str.ExeParams
push str.LiveUpdate
call edi
push esi
push 0x104
push 0x4b98d8
push 0x487854
push str.TargetFolder
push str.LiveUpdate
call edi
test eax, eax
je 0x45150e
push 0x104
push 0x4b98d8
call fcn.00453150
add esp, 8
cmp word [0x4b98d8], 0
jne 0x45152f
push 0x4b6188
push 0x104
push 0x4b98d8
call fcn.0046befa
add esp, 0xc
push esi
push dword [0x4b9ae4]
push str.CopyBinaryFile
push str.LiveUpdate
call ebx
push esi
push dword [0x4b9ae8]
mov dword [0x4b9ae4], eax
push str.CheckDate
push str.LiveUpdate
call ebx
push esi
push dword [0x4b9aec]
mov dword [0x4b9ae8], eax
push str.CheckSize
push str.LiveUpdate
call ebx
push esi
push dword [0x4b9af0]
mov dword [0x4b9aec], eax
push str.Mandatory
push str.LiveUpdate
call ebx
push esi
push dword [0x4b9af8]
mov dword [0x4b9af0], eax
push str.PromptUser
push str.LiveUpdate
call ebx
push esi
push dword [0x4b9af4]
mov dword [0x4b9af8], eax
push str.Fail
push str.LiveUpdate
call ebx
push esi
push dword [0x4b9afc]
mov dword [0x4b9af4], eax
push str.WaitEndFile
push str.LiveUpdate
call ebx
push esi
push dword [0x4b9b00]
mov dword [0x4b9afc], eax
push str.Resume
push str.LiveUpdate
call ebx
push esi
push dword [0x4b9b04]
mov dword [0x4b9b00], eax
push str.LinkError
push str.LiveUpdate
call ebx
mov dword [0x4b9b04], eax
push esi
push dword [0x4b9d1c]
push str.Files
push str.Runtime
call ebx
push esi
push dword [0x4b9d24]
mov dword [0x4b9d1c], eax
push str.CompressFiles
push str.Runtime
call ebx
push esi
push dword [0x4b9d28]
mov dword [0x4b9d24], eax
push str.CompressType
push str.Runtime
call ebx
push esi
push 0x208
mov dword [0x4b9d28], eax
lea eax, [ebp - 0x868]
push eax
push str.WebDownloadUrl
push str.Runtime
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStructW]
test eax, eax
je 0x45168b
push 0
push 0x104
lea eax, [ebp - 0x868]
push 0x4babe4
push eax
call fcn.0042c770
add esp, 0x10
push esi
push 0x104
push 0x4ba194
push 0x4ba194
push str.CmdLine
push str.Runtime
call edi
push esi
push dword [0x4b9d34]
push str.DeleteFiles
push str.Runtime
call ebx
push esi
push dword [0x4b9d38]
mov dword [0x4b9d34], eax
push str.CopyToTemp
push str.Runtime
call ebx
mov dword [0x4b9d38], eax
test eax, eax
jne 0x451709
push esi
push 0x104
push 0x4ba5a4
push 0x4ba5a4
push str.TargetFolder
push str.Runtime
call edi
push 0x104
push 0x4ba5a4
call fcn.00453150
add esp, 8
push esi
push 0x104
push 0x4b9f8c
push 0x4b9f8c
push str.ExeFileName
push str.Runtime
call edi
push esi
push dword [0x4ba7b0]
push str.LaunchExe
push str.Runtime
call ebx
push esi
push dword [0x4baffd]
mov dword [0x4ba7b0], eax
push str.LaunchOptions
push str.Runtime
call ebx
push esi
push dword [0x4ba7b8]
mov dword [0x4baffd], eax
push str.ModifyDest
push str.Runtime
call ebx
push esi
push dword [0x4ba7bc]
mov dword [0x4ba7b8], eax
push str.RestoreFolders
push str.Runtime
call ebx
push esi
push dword [0x4ba7c0]
mov dword [0x4ba7bc], eax
push str.NeedReboot
push str.Runtime
call ebx
push esi
push dword [0x4ba7c4]
mov dword [0x4ba7c0], eax
push str.NeedElevation
push str.Runtime
call ebx
push esi
push dword [0x4ba7cc]
mov dword [0x4ba7c4], eax
push str.RunScript
push str.Runtime
call ebx
mov dword [0x4ba7cc], eax
test eax, eax
je 0x451845
push esi
push 0x104
push 0x4ba7d4
push 0x487854
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.0046a330
push 0x4ba7d4
lea eax, [ebp - 0x250]
push 0x104
push eax
call fcn.0046befa
add esp, 0x18
lea eax, [ebp - 0x250]
push eax
call dword [sym.imp.SHLWAPI.dll_PathStripPathW]
lea eax, [ebp - 0x250]
push eax
push 0x4c3678
push 0x4ba7d4
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push esi
push dword [0x4ba7d0]
push str.ResumeSetup
push str.Runtime
call ebx
push esi
push dword [0x4ba7ac]
mov dword [0x4ba7d0], eax
push str.WindowStyle
push str.Runtime
call ebx
push esi
push dword [0x4ba7c8]
mov dword [0x4ba7ac], eax
push str.ProgressBar
push str.Runtime
call ebx
push esi
push dword [0x4baff9]
mov dword [0x4ba7c8], eax
push str.ProgressBarStyle
push str.Runtime
call ebx
push esi
push dword [0x4b9d44]
mov dword [0x4baff9], eax
push str.Percent
push str.Runtime
call ebx
push esi
push dword [0x4b9d48]
mov dword [0x4b9d44], eax
push str.TrayIcon
push str.Runtime
call ebx
push esi
push dword [0x4bfdc1]
mov dword [0x4b9d48], eax
push str.LanguageSystem
push str.Runtime
call ebx
push esi
push dword [0x4bfdb9]
mov dword [0x4bfdc1], eax
push str.LanguageDefault
push str.Runtime
call ebx
push esi
push dword [0x4bfdc9]
mov dword [0x4bfdb9], eax
push str.RemoveBracketLang
push str.Runtime
call ebx
push esi
push 0x104
push 0x4b9d84
push 0x487854
push str.ExtraBinaryFile
push str.Runtime
mov dword [0x4bfdc9], eax
call edi
xor ecx, ecx
cmp ecx, eax
push esi
sbb eax, eax
neg eax
push 0x104
mov dword [0x4b9d60], eax
lea eax, [ebp - 0x660]
push eax
push 0x488e14
push str.TotFilesSize
push str.Runtime
call edi
lea eax, [ebp - 0x660]
push eax
call fcn.0046d138
add esp, 4
mov dword [0x4bfdcd], eax
mov dword [0x4bfdd1], edx
push esi
movzx eax, byte [0x4baff8]
push eax
push str.StatusType
push str.Dialogs
call ebx
push esi
push dword [0x4b9d4c]
mov byte [0x4baff8], al
push str.DialogInRun
push str.Dialogs
call ebx
push esi
push dword [0x4b9b08]
mov dword [0x4b9d4c], eax
push str.TimeExec
push str.Dialogs
call ebx
push esi
push dword [0x4b9d58]
mov dword [0x4b9b08], eax
push str.HideCancelButton
push str.Dialogs
call ebx
push esi
push dword [0x4b9d5c]
mov dword [0x4b9d58], eax
push str.RemoveSystemMenu
push str.Dialogs
call ebx
push esi
push dword [0x4b9d70]
mov dword [0x4b9d5c], eax
push str.MessageBegin
push str.Dialogs
call ebx
push esi
push dword [0x4b9d74]
mov dword [0x4b9d70], eax
push str.MessageMiddle
push str.Dialogs
call ebx
push esi
push dword [0x4b9d78]
mov dword [0x4b9d74], eax
push str.MessageEnd
push str.Dialogs
call ebx
push esi
push dword [0x4b9d7c]
mov dword [0x4b9d78], eax
push str.MessageError
push str.Dialogs
call ebx
push esi
push dword [0x4b9d80]
mov dword [0x4b9d7c], eax
push str.GlobalMsgError
push str.Dialogs
call ebx
push esi
push 0x104
push 0x4b4938
push 0x487854
push str.LicenseFile
push str.Dialogs
mov dword [0x4b9d80], eax
call edi
push esi
push dword [0x4bfdc5]
push str.ChoiceLang
push str.Dialogs
call ebx
mov dword [0x4bfdc5], eax
xorps xmm0, xmm0
xor eax, eax
push esi
mov word [ebp - 0x48], ax
lea eax, [ebp - 0x48]
movdqu xmmword [ebp - 0x46], xmm0
push 0x22
movdqu xmmword [ebp - 0x36], xmm0
push eax
push 0x490ef0
push str.Dialogs
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStructW]
test eax, eax
je 0x451aec
push 0
push 0x11
lea eax, [ebp - 0x48]
push 0x4b94a6
push eax
call fcn.0042c770
add esp, 0x10
mov dword [0x4b9d3c], eax
push esi
push dword [0x4bfdd8]
push 0x490020
push str.GoogleAnalytics
call ebx
mov dword [0x4bfdd8], eax
test eax, eax
je 0x451ca9
push esi
push 0x104
push 0x4c01f0
push 0x487854
push str.TrackingId
push str.GoogleAnalytics
call edi
push esi
push dword [0x4c049a]
push str.NoUpdateProductName
push str.GoogleAnalytics
call ebx
push esi
push 0x51
push 0x4c03f8
push 0x487854
push 0x48f84c
push str.GoogleAnalytics
mov dword [0x4c049a], eax
call edi
push esi
push dword [0x4c0540]
push str.NoUpdateProductVersion
push str.GoogleAnalytics
call ebx
push esi
push 0x51
push 0x4c049e
push 0x487854
push 0x48d8c4
push str.GoogleAnalytics
mov dword [0x4c0540], eax
call edi
push esi
push 0x104
push 0x4c0544
push 0x4c0544
push str.Description
push str.GoogleAnalytics
call edi
push esi
push 0x104
push 0x4bfde0
push 0x4bfde0
push str.PrefsFile
push str.GoogleAnalytics
call edi
push esi
push 0x104
push 0x4bffe8
push 0x4bffe8
push str.RegKey
push str.GoogleAnalytics
call edi
push esi
push 0x65
push 0x4c0d56
push 0x4c0d56
push str.CampaignId
push str.GoogleAnalytics
call edi
push esi
push 0x104
push 0x4c074c
push 0x4c074c
push str.CampaignContent
push str.GoogleAnalytics
call edi
push esi
push 0x65
push 0x4c0954
push 0x4c0954
push str.CampaignName
push str.GoogleAnalytics
call edi
push esi
push 0x65
push 0x4c0a1e
push 0x4c0a1e
push str.CampaignSource
push str.GoogleAnalytics
call edi
push esi
push 0x33
push 0x4c0ae8
push 0x4c0ae8
push str.CampaignMedium
push str.GoogleAnalytics
call edi
push esi
push 0x104
push 0x4c0b4e
push 0x4c0b4e
push str.CampaignKeyword
push str.GoogleAnalytics
call edi
push esi
push dword [0x4bfddc]
push str.OnlyReg
push str.GoogleAnalytics
call ebx
push 0x4c01f0
push str.ReadConfigFile____TrackingId:__s
mov dword [0x4bfddc], eax
call fcn.0045f4c0
mov eax, dword [0x4bfdd8]
add esp, 8
push eax
push str.ReadConfigFile____GA:__d
call fcn.0045f4c0
movzx eax, byte [0x4c0e20]
add esp, 8
push esi
push eax
push 0x4910e0
push str.AQTools
call ebx
push esi
push dword [0x4c0e21]
mov byte [0x4c0e20], al
push 0x491100
push str.AQTools
call ebx
push esi
push dword [0x4c0e25]
mov dword [0x4c0e21], eax
push 0x491108
push str.AQTools
call ebx
push esi
push dword [0x4c0e29]
mov dword [0x4c0e25], eax
push 0x48d8a4
push str.AQTools
call ebx
push esi
push dword [0x4c0e2d]
mov dword [0x4c0e29], eax
push str.Aqcts
push str.AQTools
call ebx
push esi
push dword [0x4c0e31]
mov dword [0x4c0e2d], eax
push str.IAMC
push str.AQTools
call ebx
test eax, eax
je 0x451d69
mov eax, dword [0x4ab194]
cmp eax, 5
ja 0x451d5d
jne 0x451d69
cmp dword [0x4ab198], 0
jbe 0x451d69
mov dword [0x4c0e31], 1
jmp 0x451d73
mov dword [0x4c0e31], 0
push esi
push 0xd
push 0x4c103d
push 0x487854
push str.MasterID
push str.AQTools
call edi
push esi
push 0x104
push 0x4c1057
push 0x487854
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.0046a330
add esp, 0xc
lea eax, [ebp - 0x458]
push esi
push 0x104
push eax
push 0x487854
push str.SerialNumber
push str.AQTools
call edi
test eax, eax
je 0x451e42
lea ecx, [ebp - 0x458]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x451df1
sub ecx, edx
sar ecx, 1
inc ecx
cmp ecx, 0x3fffffff
jle 0x451e0d
xor eax, eax
jmp 0x451e2f
lea edi, [ecx + ecx]
mov eax, edi
call fcn.0046db50
mov eax, esp
lea ecx, [ebp - 0x458]
push 3
push edi
push ecx
push eax
call fcn.0044f9b0
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push eax
push 0x104
push 0x4c0e35
call fcn.0046a482
add esp, 0xc
push esi
push 0x104
lea eax, [ebp - 0x458]
push eax
push 0x487854
push str.SerialNumberTrial
push str.AQTools
call edi
test eax, eax
je 0x451ec1
lea ecx, [ebp - 0x458]
lea edx, [ecx + 2]
lea ecx, [ecx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x451e70
sub ecx, edx
sar ecx, 1
inc ecx
cmp ecx, 0x3fffffff
jle 0x451e8c
xor eax, eax
jmp 0x451eae
lea edi, [ecx + ecx]
mov eax, edi
call fcn.0046db50
mov eax, esp
lea ecx, [ebp - 0x458]
push 3
push edi
push ecx
push eax
call fcn.0044f9b0
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push eax
push 0x104
push 0x4c0f39
call fcn.0046a482
add esp, 0xc
movzx eax, byte [0x4c1260]
push esi
push eax
push str.ProductLanguage
push str.AQTools
call ebx
push esi
mov byte [0x4c1260], al
movzx eax, byte [0x4c125f]
push eax
push str.ProductType
push str.AQTools
call ebx
push esi
mov byte [0x4c125f], al
movzx eax, byte [0x4c1261]
push eax
push 0x48d8c4
push str.AQTools
call ebx
push esi
mov byte [0x4c1261], al
movzx eax, byte [0x4c1262]
push eax
push str.InstallMode
push str.AQTools
call ebx
push esi
mov byte [0x4c1262], al
movzx eax, byte [0x4c1263]
push eax
push str.CompanyCode
push str.AQTools
call ebx
push esi
mov byte [0x4c1263], al
movzx eax, byte [0x4c14e0]
push eax
push str.InstallMode
push str.AQToolsSerialV3
call ebx
push esi
mov byte [0x4c14e0], al
movzx eax, byte [0x4c14df]
push eax
push str.ProductType
push str.AQToolsSerialV3
call ebx
push esi
push dword [0x4c1280]
mov byte [0x4c14df], al
push str.AlrdySerial
push str.AQToolsSerialV3
call ebx
push esi
push dword [0x4c1268]
mov dword [0x4c1280], eax
push str.UserNameField
push str.AQToolsSerialV3
call ebx
push esi
push dword [0x4c126c]
mov dword [0x4c1268], eax
push str.CompanyField
push str.AQToolsSerialV3
call ebx
push esi
push dword [0x4c1270]
mov dword [0x4c126c], eax
push str.ButtonBuy
push str.AQToolsSerialV3
call ebx
push esi
push dword [0x4c1274]
mov dword [0x4c1270], eax
push str.ButtonPaste
push str.AQToolsSerialV3
call ebx
push esi
push dword [0x4c1278]
mov dword [0x4c1274], eax
push str.ButtonTrial
push str.AQToolsSerialV3
call ebx
push esi
push dword [0x4c127c]
mov dword [0x4c1278], eax
push str.OneSerialField
push str.AQToolsSerialV3
call ebx
push esi
push dword [0x4c1284]
mov dword [0x4c127c], eax
push str.DlgOptions
push str.AQToolsSerialV3
call ebx
push esi
push 0x27
push 0x4c1490
push 0x487854
push str.Guid
push str.AQToolsSerialV3
mov dword [0x4c1284], eax
call edi
movzx eax, byte [0x4c14de]
push esi
push eax
push str.ProductCode
push str.AQToolsSerialV3
call ebx
push esi
push 0x104
push 0x4c1288
push 0x4c1288
push str.UrlBuy
push str.AQToolsSerialV3
mov byte [0x4c14de], al
call edi
movzx eax, byte [0x4c1749]
push esi
push eax
push str.InstallMode
push str.AQToolsSerialV5
call ebx
push esi
mov byte [0x4c1749], al
movzx eax, byte [0x4c1748]
push eax
push str.ProductType
push str.AQToolsSerialV5
call ebx
push esi
push dword [0x4c1740]
mov byte [0x4c1748], al
push str.AlrdySerial
push str.AQToolsSerialV5
call ebx
push esi
push dword [0x4c1728]
mov dword [0x4c1740], eax
push str.UserNameField
push str.AQToolsSerialV5
call ebx
push esi
push dword [0x4c172c]
mov dword [0x4c1728], eax
push str.CompanyField
push str.AQToolsSerialV5
call ebx
push esi
push dword [0x4c1730]
mov dword [0x4c172c], eax
push str.ButtonBuy
push str.AQToolsSerialV5
call ebx
push esi
push dword [0x4c1734]
mov dword [0x4c1730], eax
push str.ButtonPaste
push str.AQToolsSerialV5
call ebx
mov dword [0x4c1734], eax
push esi
push dword [0x4c1738]
push str.ButtonTrial
push str.AQToolsSerialV5
call ebx
push esi
push dword [0x4c173c]
mov dword [0x4c1738], eax
push str.OneSerialField
push str.AQToolsSerialV5
call ebx
push esi
push dword [0x4c1744]
mov dword [0x4c173c], eax
push str.DlgOptions
push str.AQToolsSerialV5
call ebx
push esi
push 0x104
push 0x4c174a
push 0x4c174a
push str.UrlBuy
push str.AQToolsSerialV5
mov dword [0x4c1744], 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 0x487854
push str.SerialId
push str.AQToolsSerialV5
movdqu xmmword [ebp - 0x22], xmm0
movq qword [ebp - 0x12], xmm0
call edi
test eax, eax
je 0x45221b
lea ecx, [ebp - 0x24]
lea edx, [ecx + 2]
mov edi, edi
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4521d0
sub ecx, edx
sar ecx, 1
inc ecx
cmp ecx, 0x3fffffff
jle 0x4521ec
xor eax, eax
jmp 0x45220b
lea edi, [ecx + ecx]
mov eax, edi
call fcn.0046db50
mov eax, esp
lea ecx, [ebp - 0x24]
push 3
push edi
push ecx
push eax
call fcn.0044f9b0
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push eax
push 0xf
push 0x4c1952
call fcn.0046a482
add esp, 0xc
push esi
push dword [0x4abffc]
push str.NeedConnection
push str.AQToolsAP
call ebx
push esi
push dword [0x4c1968]
mov dword [0x4abffc], eax
push str.AlwaysInstall
push str.AQToolsToolbar
call ebx
push esi
push dword [0x4c196c]
movzx eax, al
push str.Install
push str.AQToolsToolbar
mov dword [0x4c1968], eax
call ebx
push esi
push dword [0x4c1970]
movzx eax, al
push str.HomePage
push str.AQToolsToolbar
mov dword [0x4c196c], eax
call ebx
push esi
push dword [0x4c1974]
movzx eax, al
push str.WebSearch
push str.AQToolsToolbar
mov dword [0x4c1970], eax
call ebx
push esi
push 0xb
push 0x4c1978
push 0x4c1978
push 0x4913e0
movzx eax, al
push str.AQToolsToolbar
mov dword [0x4c1974], eax
call edi
movzx eax, byte [0x4c1b99]
push esi
push eax
push str.DialogType
push str.AQToolsOLR
call ebx
push esi
push dword [0x4c1b9e]
mov byte [0x4c1b99], al
push str.OLRInformation
push str.AQToolsOLR
call ebx
push esi
mov dword [0x4c1b9e], eax
movzx eax, byte [0x4c1b98]
push eax
push 0x4910e0
push str.AQToolsOLR
call ebx
push esi
push dword [0x4c1daa]
mov byte [0x4c1b98], al
push str.Options
push str.AQToolsOLR
call ebx
push esi
push 0x104
push 0x4c1ba2
push 0x487854
push 0x4909f8
push str.AQToolsOLR
mov dword [0x4c1daa], eax
call edi
push esi
push dword [0x4c1fc4]
push str.AllDialogs
push str.AQToolsIAMC
call ebx
mov dword [0x4c1fc4], eax
push esi
push dword [0x4c1fc0]
push 0x491478
push str.AQToolsIAMC
call ebx
push esi
push dword [0x4c1fe2]
mov dword [0x4c1fc0], eax
push str.CountryCode
push str.AQToolsIAMC
call ebx
push esi
mov dword [0x4c1fe2], eax
movzx eax, byte [0x4c1fee]
push eax
push str.Border
push str.AQToolsIAMC
call ebx
push esi
push dword [0x4c1fe6]
mov byte [0x4c1fee], al
push str.Height
push str.AQToolsIAMC
call ebx
push esi
push dword [0x4c1fea]
mov dword [0x4c1fe6], eax
push str.TypeId
push str.AQToolsIAMC
call ebx
push esi
push 0x104
push 0x4c1fef
push 0x4c1fef
push 0x4914c8
push str.AQToolsIAMC
mov dword [0x4c1fea], eax
call edi
push esi
push 0x104
push 0x4c21f7
push 0x4c21f7
push str.LocalUrl
push str.AQToolsIAMC
call edi
push esi
push 0xd
push 0x4c1fc8
push 0x4c1fc8
push str.MasterId
push str.AQToolsIAMC
call edi
push esi
push dword [0x4c1db0]
push str.LiveUpdate
push str.AQToolsAQCTS
call ebx
push esi
push dword [0x4c1db4]
movzx eax, al
push str.CopyCTFiles
push str.AQToolsAQCTS
mov dword [0x4c1db0], eax
call ebx
push esi
push 0x104
push 0x4c1db8
push 0x4c1db8
push str.ProductExe
push str.AQToolsAQCTS
mov dword [0x4c1db4], eax
call edi
test eax, eax
je 0x4524d6
push 0x104
push 0x4c1db8
call fcn.00453150
add esp, 8
push 0x4c1db8
call dword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
test eax, eax
je 0x4524d6
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x250], ax
lea eax, [ebp - 0x24e]
push eax
call fcn.0046a330
add esp, 0xc
lea eax, [ebp - 0x250]
push 0x4c1db8
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x250]
push eax
push 0x4ba5a4
push 0x4c1db8
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 0x4c38b8
push esi
mov dword [ebp - 0x870], eax
call fcn.00452a80
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x452765
mov edx, dword [0x4c3894]
mov dword [ebp - 0x880], 0x3ff
test dx, dx
je 0x4525c2
mov edi, dword [0x4c38b8]
xor eax, eax
test ecx, ecx
je 0x45257f
movzx edx, dx
mov dword [ebp - 0x874], edx
lea edx, [edi + 0x618]
lea esp, [esp]
mov ebx, dword [ebp - 0x874]
cmp ebx, dword [edx]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
je 0x45261d
inc eax
add edx, 0x620
cmp eax, ecx
jb 0x452560
xor edx, edx
test ecx, ecx
je 0x4525c2
mov eax, dword [0x4c3894]
and eax, 0x3ff
add edi, 0x618
mov dword [ebp - 0x874], eax
jmp 0x4525a0
mov ax, word [edi]
and ax, word [ebp - 0x880]
cmp word [ebp - 0x874], ax
je 0x452639
inc edx
add edi, 0x620
cmp edx, ecx
jb 0x4525a0
cmp dword [0x4bfdc1], 0
je 0x452670
mov edx, dword [ebp - 0x87c]
test dx, dx
je 0x452670
xor eax, eax
test ecx, ecx
je 0x4526d2
mov edx, dword [0x4c38b8]
add edx, 0x618
mov edi, dword [ebp - 0x87c]
movzx ebx, di
cmp ebx, dword [edx]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edi, dword [0x4c38b8]
je 0x452654
inc eax
add edx, 0x620
cmp eax, ecx
jb 0x4525f4
jmp 0x4526d8
mov dword [0x4bfdbd], eax
imul eax, eax, 0x620
push dword [eax + edi + 0x618]
push str.ReadConfigFile____LangId_found_by_lcID_LangParam:__d
jmp 0x452a07
mov eax, dword [0x4c3894]
and eax, 0x3ff
mov dword [0x4bfdbd], edx
push eax
push str.ReadConfigFile____LangId_found_by_lcPrimaryID_LangParam:__d
jmp 0x452a07
mov dword [0x4bfdbd], eax
imul eax, eax, 0x620
push dword [eax + edi + 0x618]
push str.ReadConfigFile____LangId_found_by_lcID_system:__d
jmp 0x452a07
mov edx, dword [ebp - 0x878]
test dx, dx
je 0x4526d2
xor eax, eax
test ecx, ecx
je 0x4526d2
mov edx, dword [0x4c38b8]
add edx, 0x618
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 [0x4c38b8]
je 0x4526b6
inc eax
add edx, 0x620
cmp eax, ecx
jb 0x452690
jmp 0x4526d8
mov dword [0x4bfdbd], eax
imul eax, eax, 0x620
push dword [eax + edi + 0x618]
push str.ReadConfigFile____LangId_found_by_lcID_user:__d
jmp 0x452a07
mov edi, dword [0x4c38b8]
cmp dword [0x4bfdc1], 0
je 0x452993
cmp word [ebp - 0x870], 0
je 0x452993
xor edx, edx
test ecx, ecx
je 0x452722
add edi, 0x618
nop
mov ax, word [edi]
and ax, word [ebp - 0x880]
cmp word [ebp - 0x870], ax
je 0x452979
inc edx
add edi, 0x620
cmp edx, ecx
jb 0x452700
xor eax, eax
test ecx, ecx
je 0x45275f
mov edi, dword [0x4c38b8]
lea edx, [edi + 0x618]
jmp 0x452740
mov ebx, dword [0x4bfdb9]
cmp ebx, dword [edx]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
je 0x4529f0
inc eax
add edx, 0x620
cmp eax, ecx
jb 0x452740
mov edi, dword [ebp - 0x86c]
push 0x4ab1ac
push esi
call fcn.0042dbc0
add esp, 8
test eax, eax
je 0x45278b
push esi
push 0
push str.Conditions
push str.Runtime
call ebx
mov dword [0x4b9d50], eax
push 0x4b4938
push str.ReadConfigFile____LicenseFile_INTL:__s
call fcn.0045f4c0
push 0x4b8c86
push str.ReadConfigFile____ProductName:__s
call fcn.0045f4c0
push dword [0x4b9d28]
push dword [0x4b9d24]
push str.ReadConfigFile____Compress:__d_CompressType:__d
call fcn.0045f4c0
push dword [0x4baffd]
push 0x4ba194
push 0x4b9f8c
push str.ReadConfigFile____ExeFileName:__s_ExeCmdLine:__s_LaunchOptions:__d
call fcn.0045f4c0
push dword [0x4b9d34]
push str.ReadConfigFile____DelFiles:__d
call fcn.0045f4c0
push dword [0x4ba7bc]
push dword [0x4ba7b8]
push dword [0x4ba7b0]
push str.ReadConfigFile____LaunchExe_d_AllowModifyDest:__d_RestoreTree:__d
call fcn.0045f4c0
add esp, 0x44
push dword [0x4ba7ac]
push str.ReadConfigFile____ExeWinDisplay:__d
call fcn.0045f4c0
push dword [0x4ba7c8]
push str.ReadConfigFile____ProgressBar:__d
call fcn.0045f4c0
push dword [0x4baff9]
push str.ReadConfigFile____StyleProgress:__d
call fcn.0045f4c0
push 0x4ba5a4
push str.ReadConfigFile____TgdFolder:__s
call fcn.0045f4c0
push dword [0x4bfdb9]
push str.ReadConfigFile____LanguageDefault:__d
call fcn.0045f4c0
push dword [0x4b9d3c]
push str.ReadConfigFile____Password:__d
call fcn.0045f4c0
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.0045f4c0
add esp, 0x44
push 0x4ba7d4
push dword [0x4ba7cc]
push str.ReadConfigFile____RunScript:__d__:___s
call fcn.0045f4c0
push dword [0x4ba7d0]
push str.ReadConfigFile____ResumeSetup:__d
call fcn.0045f4c0
movzx eax, byte [0x4c1260]
push eax
push str.ReadConfigFile____AQTOOLSINFO.byProductLanguage:__d
call fcn.0045f4c0
movzx eax, byte [0x4c125f]
push eax
push str.ReadConfigFile____AQTOOLSINFO.byProductType:__d
call fcn.0045f4c0
movzx eax, byte [0x4c1261]
push eax
push str.ReadConfigFile____AQTOOLSINFO.byProductVersion:__d
call fcn.0045f4c0
movzx eax, byte [0x4c1262]
push eax
push str.ReadConfigFile____AQTOOLSINFO.byInstallMode:__d
call fcn.0045f4c0
movzx eax, byte [0x4c1263]
push eax
push str.ReadConfigFile____AQTOOLSINFO.byCompanyCode:__d
call fcn.0045f4c0
push dword [0x4c0e2d]
push str.ReadConfigFile____AQTOOLSINFO.bAQCTS:__d
call fcn.0045f4c0
add esp, 0x44
push dword [0x4c0e31]
push str.ReadConfigFile____AQTOOLSINFO.bIAMC:__d
call fcn.0045f4c0
push dword [0x4abffc]
push str.ReadConfigFile____AQTOOLSAP.bNeedConnection:__d
call fcn.0045f4c0
movzx eax, byte [0x4c1b99]
push eax
push str.ReadConfigFile____AQTOOLSOLR.byDialogType:__d
call fcn.0045f4c0
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.0046984a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x870]
movzx eax, ax
push eax
mov dword [0x4bfdbd], edx
push str.ReadConfigFile____LangId_found_by_lcPrimaryID_system:__d
jmp 0x452a07
cmp word [ebp - 0x86c], 0
je 0x452722
xor edx, edx
test ecx, ecx
je 0x452722
add edi, 0x618
mov ax, word [edi]
and ax, word [ebp - 0x880]
cmp word [ebp - 0x86c], ax
je 0x4529d4
inc edx
add edi, 0x620
cmp edx, ecx
jb 0x4529b1
jmp 0x452722
mov edi, dword [ebp - 0x86c]
movzx eax, di
push eax
push str.ReadConfigFile____LangId_found_by_lcPrimaryID_user:__d
mov dword [0x4bfdbd], edx
call fcn.0045f4c0
jmp 0x452a12
mov dword [0x4bfdbd], eax
imul eax, eax, 0x620
push dword [eax + edi + 0x618]
push str.ReadConfigFile____LangId_found_by_LanguageDefault:__d
call fcn.0045f4c0
mov edi, dword [ebp - 0x86c]
imul eax, dword [0x4bfdbd], 0x620
add esp, 8
add eax, dword [0x4c38b8]
push eax
push str.ReadConfigFile____LangFileName:__s
call fcn.0045f4c0
imul ecx, dword [0x4bfdbd], 0x620
mov eax, dword [0x4c38b8]
add ecx, 0x410
add eax, ecx
push eax
push str.ReadConfigFile____LicenseFile:__s
call fcn.0045f4c0
imul ecx, dword [0x4bfdbd], 0x620
mov eax, dword [0x4c38b8]
add eax, 0x408
add eax, ecx
push eax
push str.ReadConfigFile____LangISO3:__s
call fcn.0045f4c0
add esp, 0x18
jmp 0x452765