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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8c0
mov eax, dword [0x4cd724]
xor eax, ebp
mov dword [ebp - 0xc], eax
push esi
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x444a79
xor eax, eax
jmp 0x446201
xor ecx, ecx
mov word [ebp - 0x688], cx
push 0x206
push 0
lea edx, [ebp - 0x686]
push edx
call fcn.004677c0
add esp, 0xc
xor eax, eax
mov word [ebp - 0x478], ax
push 0x206
push 0
lea ecx, [ebp - 0x476]
push ecx
call fcn.004677c0
add esp, 0xc
call fcn.004040e0
mov dword [ebp - 0x26c], eax
mov edx, dword [ebp + 8]
push edx
push 0x27
push 0x4d3660
push 0x4b6964
push 0x4b6968
push 0x4b6974
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [ebp + 8]
push eax
push 0x51
push 0x4d3006
push 0x4b6984
push 0x4b6988
push 0x4b69a8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, dword [ebp + 8]
push ecx
push 0x104
push 0x4d36ae
push 0x4b69b8
push 0x4b69bc
push 0x4b69d4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edx, dword [ebp + 8]
push edx
push 0x51
push 0x4d2e20
push 0x4b69e4
push 0x4b69e8
push 0x4b6a00
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d4300]
push ecx
push 0x4b6a10
push 0x4b6a18
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4300], eax
cmp dword [0x4d4300], 0
je 0x444c57
mov edx, dword [ebp + 8]
push edx
push 0x104
push 0x4d3ef0
push 0x4b6a30
push 0x4b6a34
push 0x4b6a3c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [ebp + 8]
push eax
push 0x104
push 0x4d40f8
push 0x4b6a54
push str.ExeParams
push 0x4b6a6c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d4304]
push edx
push str.CheckDate
push 0x4b6a98
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4304], eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d4308]
push ecx
push str.CheckSize
push 0x4b6ac4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4308], eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d430c]
push eax
push str.Mandatory
push 0x4b6af0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d430c], eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d4314]
push edx
push str.PromptUser
push 0x4b6b20
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4314], eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d4310]
push ecx
push str.Fail
push 0x4b6b44
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4310], eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d452c]
push eax
push str.Files
push 0x4b6b68
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d452c], eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d4534]
push edx
push str.CompressFiles
push 0x4b6b94
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4534], eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d4538]
push ecx
push str.CompressType
push 0x4b6bc0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4538], eax
mov edx, dword [ebp + 8]
push edx
push 0x208
lea eax, [ebp - 0x478]
push eax
push str.WebDownloadUrl
push 0x4b6bf0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStructW]
test eax, eax
je 0x444cf5
push 0
push 0x104
push 0x4d51c8
lea ecx, [ebp - 0x478]
push ecx
call fcn.0040bd30
add esp, 0x10
mov edx, dword [ebp + 8]
push edx
push 0x104
push 0x4d4778
push 0x4d4778
push str.CmdLine
push 0x4b6c10
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d4544]
push ecx
push str.DeleteFiles
push 0x4b6c38
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4544], eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d4548]
push eax
push str.CopyToTemp
push 0x4b6c60
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4548], eax
cmp dword [0x4d4548], 0
jne 0x444d95
mov ecx, dword [ebp + 8]
push ecx
push 0x104
push 0x4d4b88
push 0x4d4b88
push str.TargetFolder
push 0x4b6c8c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0x104
push 0x4d4b88
call fcn.00446fc0
add esp, 8
mov edx, dword [ebp + 8]
push edx
push 0x104
push 0x4d4570
push 0x4d4570
push str.ExeFileName
push 0x4b6cb4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d4d94]
push ecx
push str.LaunchExe
push 0x4b6cd8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4d94], eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d53d9]
push eax
push str.LaunchOptions
push 0x4b6d04
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d53d9], eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d4d9c]
push edx
push str.ModifyDest
push 0x4b6d2c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4d9c], eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d4da0]
push ecx
push str.RestoreFolders
push 0x4b6d5c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4da0], eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d4da4]
push eax
push str.NeedReboot
push 0x4b6d84
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4da4], eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d4da8]
push edx
push str.NeedElevation
push 0x4b6db0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4da8], eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d4db0]
push ecx
push str.RunScript
push 0x4b6dd4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4db0], eax
mov edx, dword [ebp + 8]
push edx
push 0x104
push 0x4d4db8
push 0x4b6de4
push str.ScriptFile
push 0x4b6e00
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d4db4]
push ecx
push str.ResumeSetup
push 0x4b6e28
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4db4], eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d4d90]
push eax
push str.WindowStyle
push 0x4b6e50
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4d90], eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d4dac]
push edx
push str.ProgressBar
push 0x4b6e78
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4dac], eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d53d5]
push ecx
push str.ProgressBarStyle
push 0x4b6eac
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d53d5], eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d4554]
push eax
push str.Percent
push 0x4b6ecc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4554], eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d4558]
push edx
push str.TrayIcon
push 0x4b6ef0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4558], eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4da18c]
push ecx
push str.LanguageDefault
push 0x4b6f20
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4da18c], eax
mov edx, dword [ebp + 8]
push edx
push 0x104
lea eax, [ebp - 0x688]
push eax
push 0x4b6f30
push 0x4b6f34
push 0x4b6f50
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea ecx, [ebp - 0x688]
push ecx
call fcn.0046aa0b
add esp, 4
mov dword [0x4da194], eax
mov dword [0x4da198], edx
mov edx, dword [ebp + 8]
push edx
movzx eax, byte [0x4d53d4]
push eax
push str.StatusType
push 0x4b6f78
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov byte [0x4d53d4], al
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d455c]
push edx
push str.DialogInRun
push 0x4b6fa0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d455c], eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d4318]
push ecx
push str.TimeExec
push 0x4b6fc4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4318], eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d4568]
push eax
push str.HideCancelButton
push 0x4b6ff8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4568], eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d456c]
push edx
push str.RemoveSystemMenu
push 0x4b702c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d456c], eax
mov eax, dword [ebp + 8]
push eax
push 0x104
push 0x4e2cf0
push 0x4b703c
push str.LicenseFile
push 0x4b7058
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor ecx, ecx
mov word [ebp - 0x25c], cx
xor edx, edx
mov dword [ebp - 0x25a], edx
mov dword [ebp - 0x256], edx
mov dword [ebp - 0x252], edx
mov dword [ebp - 0x24e], edx
mov dword [ebp - 0x24a], edx
mov dword [ebp - 0x246], edx
mov dword [ebp - 0x242], edx
mov dword [ebp - 0x23e], edx
mov eax, dword [ebp + 8]
push eax
push 0x22
lea ecx, [ebp - 0x25c]
push ecx
push 0x4b7068
push str.Dialogs
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStructW]
test eax, eax
je 0x445112
push 0
push 0x11
push 0x4d3ece
lea edx, [ebp - 0x25c]
push edx
call fcn.0040bd30
add esp, 0x10
mov dword [0x4d454c], eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d1de0]
push ecx
push 0x4b708c
push 0x4b7094
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d1de0], eax
cmp dword [0x4d1de0], 0
je 0x4452e3
mov edx, dword [ebp + 8]
push edx
push 0x104
push 0x4d21f4
push 0x4b70b4
push str.TrackingId
push 0x4b70d0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [ebp + 8]
push eax
push 0x51
push 0x4d23fc
push 0x4b70f0
push 0x4b70f4
push 0x4b710c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, dword [ebp + 8]
push ecx
push 0x51
push 0x4d249e
push 0x4b712c
push 0x4b7130
push 0x4b7150
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edx, dword [ebp + 8]
push edx
push 0x104
push 0x4d2540
push 0x4d2540
push str.Description
push 0x4b7188
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [ebp + 8]
push eax
push 0x104
push 0x4d1de4
push 0x4d1de4
push str.PrefsFile
push 0x4b71bc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, dword [ebp + 8]
push ecx
push 0x104
push 0x4d1fec
push 0x4d1fec
push str.RegKey
push 0x4b71ec
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edx, dword [ebp + 8]
push edx
push 0x65
push 0x4d2d52
push 0x4d2d52
push str.CampaignId
push 0x4b7224
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [ebp + 8]
push eax
push 0x104
push 0x4d2748
push 0x4d2748
push str.CampaignContent
push 0x4b7264
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, dword [ebp + 8]
push ecx
push 0x65
push 0x4d2950
push 0x4d2950
push str.CampaignName
push 0x4b72a0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edx, dword [ebp + 8]
push edx
push 0x65
push 0x4d2a1a
push 0x4d2a1a
push str.CampaignSource
push 0x4b72e0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [ebp + 8]
push eax
push 0x33
push 0x4d2ae4
push 0x4d2ae4
push str.CampaignMedium
push 0x4b7320
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, dword [ebp + 8]
push ecx
push 0x104
push 0x4d2b4a
push 0x4d2b4a
push str.CampaignKeyword
push str.GoogleAnalytics
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0x4d21f4
push str.ReadConfigFile____TrackingId_s
call fcn.00456a00
add esp, 8
mov edx, dword [0x4d1de0]
push edx
push str.ReadConfigFile____GA_d
call fcn.00456a00
add esp, 8
mov eax, dword [ebp + 8]
push eax
movzx ecx, byte [0x4d1998]
push ecx
push 0x4b73f0
push 0x4b7400
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov byte [0x4d1998], al
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d1999]
push eax
push 0x4b7410
push 0x4b7418
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d1999], eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d199d]
push edx
push 0x4b7428
push 0x4b7438
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d199d], eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d19a1]
push ecx
push 0x4b7448
push 0x4b7450
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d19a1], eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d19a5]
push eax
push str.Aqcts
push 0x4b746c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d19a5], eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d19a9]
push edx
push str.IAMC
push 0x4b7488
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x4453dc
cmp dword [0x4cf830], 5
ja 0x4453d0
cmp dword [0x4cf830], 5
jne 0x4453dc
cmp dword [0x4cf834], 0
jbe 0x4453dc
mov dword [ebp - 0x89c], 1
jmp 0x4453e6
mov dword [ebp - 0x89c], 0
mov eax, dword [ebp - 0x89c]
mov dword [0x4d19a9], eax
mov ecx, dword [ebp + 8]
push ecx
push 0xd
push 0x4d1bb5
push 0x4b7498
push str.MasterID
push 0x4b74b0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edx, dword [ebp + 8]
push edx
push 0x104
push 0x4d1bcf
push 0x4b74c0
push 0x4b74c4
push 0x4b74dc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov word [ebp - 0x238], ax
push 0x206
push 0
lea ecx, [ebp - 0x236]
push ecx
call fcn.004677c0
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
push 0x104
lea eax, [ebp - 0x238]
push eax
push 0x4b74ec
push str.SerialNumber
push 0x4b750c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jbe 0x445524
lea ecx, [ebp - 0x238]
mov dword [ebp - 0x260], ecx
cmp dword [ebp - 0x260], 0
jne 0x4454a1
mov dword [ebp - 0x8a0], 0
jmp 0x44550b
mov edx, dword [ebp - 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x3fffffff
jle 0x4454c9
mov dword [ebp - 0x8a4], 0
jmp 0x4454ff
mov eax, dword [ebp - 4]
shl eax, 1
call fcn.0046d420
mov dword [ebp - 0x8a8], esp
mov eax, dword [ebp - 0x26c]
push eax
mov ecx, dword [ebp - 4]
shl ecx, 1
push ecx
mov edx, dword [ebp - 0x260]
push edx
mov eax, dword [ebp - 0x8a8]
push eax
call fcn.004234b0
mov dword [ebp - 0x8a4], eax
mov ecx, dword [ebp - 0x8a4]
mov dword [ebp - 0x8a0], ecx
mov edx, dword [ebp - 0x8a0]
push edx
push 0x104
push 0x4d19ad
call fcn.00469f5d
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
push 0x104
lea ecx, [ebp - 0x238]
push ecx
push 0x4b751c
push str.SerialNumberTrial
push 0x4b7544
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jbe 0x4455f5
lea edx, [ebp - 0x238]
mov dword [ebp - 0x260], edx
cmp dword [ebp - 0x260], 0
jne 0x445572
mov dword [ebp - 0x8ac], 0
jmp 0x4455dc
mov eax, dword [ebp - 0x260]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x3fffffff
jle 0x44559a
mov dword [ebp - 0x8b0], 0
jmp 0x4455d0
mov eax, dword [ebp - 4]
shl eax, 1
call fcn.0046d420
mov dword [ebp - 0x8b4], esp
mov ecx, dword [ebp - 0x26c]
push ecx
mov edx, dword [ebp - 4]
shl edx, 1
push edx
mov eax, dword [ebp - 0x260]
push eax
mov ecx, dword [ebp - 0x8b4]
push ecx
call fcn.004234b0
mov dword [ebp - 0x8b0], eax
mov edx, dword [ebp - 0x8b0]
mov dword [ebp - 0x8ac], edx
mov eax, dword [ebp - 0x8ac]
push eax
push 0x104
push 0x4d1ab1
call fcn.00469f5d
add esp, 0xc
mov ecx, dword [ebp + 8]
push ecx
movzx edx, byte [0x4d1dd8]
push edx
push str.ProductLanguage
push 0x4b7574
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov byte [0x4d1dd8], al
mov eax, dword [ebp + 8]
push eax
movzx ecx, byte [0x4d1dd7]
push ecx
push 0x4b7584
push 0x4b759c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov byte [0x4d1dd7], al
mov edx, dword [ebp + 8]
push edx
movzx eax, byte [0x4d1dd9]
push eax
push 0x4b75ac
push 0x4b75cc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov byte [0x4d1dd9], al
mov ecx, dword [ebp + 8]
push ecx
movzx edx, byte [0x4d1dda]
push edx
push 0x4b75dc
push 0x4b75f4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov byte [0x4d1dda], al
mov eax, dword [ebp + 8]
push eax
movzx ecx, byte [0x4d1ddb]
push ecx
push str.CompanyCode
push str.AQTools
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov byte [0x4d1ddb], al
mov edx, dword [ebp + 8]
push edx
movzx eax, byte [0x4d1990]
push eax
push 0x4b762c
push 0x4b7644
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov byte [0x4d1990], al
mov ecx, dword [ebp + 8]
push ecx
movzx edx, byte [0x4d198f]
push edx
push 0x4b7664
push 0x4b767c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov byte [0x4d198f], al
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d1730]
push ecx
push 0x4b769c
push 0x4b76b4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d1730], eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d1718]
push eax
push 0x4b76d4
push 0x4b76f0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d1718], eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d171c]
push edx
push 0x4b7710
push 0x4b772c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d171c], eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d1720]
push ecx
push 0x4b774c
push 0x4b7760
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d1720], eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d1724]
push eax
push 0x4b7780
push 0x4b7798
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d1724], eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d1728]
push edx
push 0x4b77b8
push 0x4b77d0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d1728], eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d172c]
push ecx
push 0x4b77f0
push 0x4b7810
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d172c], eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d1734]
push eax
push 0x4b7830
push 0x4b7848
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d1734], eax
mov ecx, dword [ebp + 8]
push ecx
push 0x27
push 0x4d1940
push 0x4b7868
push str.Guid
push 0x4b7878
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edx, dword [ebp + 8]
push edx
movzx eax, byte [0x4d198e]
push eax
push str.ProductCode
push 0x4b78b0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov byte [0x4d198e], al
mov ecx, dword [ebp + 8]
push ecx
push 0x104
push 0x4d1738
push 0x4d1738
push 0x4b78d0
push str.AQToolsSerialV3
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edx, dword [ebp + 8]
push edx
movzx eax, byte [0x4d12b9]
push eax
push str.InstallMode
push 0x4b7918
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov byte [0x4d12b9], al
mov ecx, dword [ebp + 8]
push ecx
movzx edx, byte [0x4d12b8]
push edx
push str.ProductType
push 0x4b7950
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov byte [0x4d12b8], al
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d12b0]
push ecx
push str.AlrdySerial
push 0x4b7988
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d12b0], eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d1298]
push eax
push str.UserNameField
push 0x4b79c4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d1298], eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d129c]
push edx
push str.CompanyField
push 0x4b7a00
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d129c], eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d12a0]
push ecx
push str.ButtonBuy
push 0x4b7a34
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d12a0], eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d12a4]
push eax
push str.ButtonPaste
push 0x4b7a6c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d12a4], eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d12a8]
push edx
push str.ButtonTrial
push 0x4b7aa4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d12a8], eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d12ac]
push ecx
push str.OneSerialField
push 0x4b7ae4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d12ac], eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d12b4]
push eax
push str.DlgOptions
push 0x4b7b1c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d12b4], eax
mov ecx, dword [ebp + 8]
push ecx
push 0x104
push 0x4d12ba
push 0x4d12ba
push str.UrlBuy
push 0x4b7b4c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor edx, edx
mov word [ebp - 0x2c], dx
xor eax, eax
mov dword [ebp - 0x2a], eax
mov dword [ebp - 0x26], eax
mov dword [ebp - 0x22], eax
mov dword [ebp - 0x1e], eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], eax
mov dword [ebp - 0x12], eax
mov ecx, dword [ebp + 8]
push ecx
push 0xf
lea edx, [ebp - 0x2c]
push edx
push 0x4b7b6c
push str.SerialId
push str.AQToolsSerialV5
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jbe 0x445a81
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x260], eax
cmp dword [ebp - 0x260], 0
jne 0x445a01
mov dword [ebp - 0x8b8], 0
jmp 0x445a6b
mov ecx, dword [ebp - 0x260]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x3fffffff
jle 0x445a29
mov dword [ebp - 0x8bc], 0
jmp 0x445a5f
mov eax, dword [ebp - 4]
shl eax, 1
call fcn.0046d420
mov dword [ebp - 0x8c0], esp
mov edx, dword [ebp - 0x26c]
push edx
mov eax, dword [ebp - 4]
shl eax, 1
push eax
mov ecx, dword [ebp - 0x260]
push ecx
mov edx, dword [ebp - 0x8c0]
push edx
call fcn.004234b0
mov dword [ebp - 0x8bc], eax
mov eax, dword [ebp - 0x8bc]
mov dword [ebp - 0x8b8], eax
mov ecx, dword [ebp - 0x8b8]
push ecx
push 0xf
push 0x4d14c2
call fcn.00469f5d
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d07fc]
push eax
push str.NeedConnection
push str.AQToolsAP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d07fc], eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d1068]
push edx
push str.AlwaysInstall
push 0x4b7bf4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
movzx eax, al
mov dword [0x4d1068], eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d106c]
push edx
push str.Install
push 0x4b7c24
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
movzx eax, al
mov dword [0x4d106c], eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d1070]
push edx
push str.HomePage
push 0x4b7c58
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
movzx eax, al
mov dword [0x4d1070], eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d1074]
push edx
push str.WebSearch
push 0x4b7c8c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
movzx eax, al
mov dword [0x4d1074], eax
mov ecx, dword [ebp + 8]
push ecx
push 0xb
push 0x4d1078
push 0x4d1078
push 0x4b7cac
push str.AQToolsToolbar
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edx, dword [ebp + 8]
push edx
movzx eax, byte [0x4d0e51]
push eax
push str.DialogType
push 0x4b7cec
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov byte [0x4d0e51], al
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d0e56]
push edx
push str.OLRInformation
push 0x4b7d24
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d0e56], eax
mov eax, dword [ebp + 8]
push eax
movzx ecx, byte [0x4d0e50]
push ecx
push 0x4b7d3c
push 0x4b7d4c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov byte [0x4d0e50], al
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d1062]
push eax
push str.Options
push 0x4b7d74
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d1062], eax
mov ecx, dword [ebp + 8]
push ecx
push 0x104
push 0x4d0e5a
push 0x4b7d8c
push 0x4b7d90
push str.AQToolsOLR
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d0a14]
push eax
push str.AllDialogs
push 0x4b7dc8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d0a14], eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d0a10]
push edx
push 0x4b7de0
push 0x4b7de8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d0a10], eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d0a32]
push ecx
push str.CountryCode
push 0x4b7e18
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d0a32], eax
mov edx, dword [ebp + 8]
push edx
movzx eax, byte [0x4d0a3e]
push eax
push str.Border
push 0x4b7e40
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov byte [0x4d0a3e], al
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4d0a36]
push edx
push str.Height
push 0x4b7e68
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d0a36], eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x4d0a3a]
push ecx
push str.TypeId
push 0x4b7e90
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d0a3a], eax
mov edx, dword [ebp + 8]
push edx
push 0x104
push 0x4d0a3f
push 0x4d0a3f
push 0x4b7ea8
push 0x4b7eb0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [ebp + 8]
push eax
push 0x104
push 0x4d0c47
push 0x4d0c47
push str.LocalUrl
push 0x4b7edc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, dword [ebp + 8]
push ecx
push 0xd
push 0x4d0a18
push 0x4d0a18
push str.MasterId
push str.AQToolsIAMC
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d0800]
push eax
push str.LiveUpdate
push 0x4b7f38
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
movzx ecx, al
mov dword [0x4d0800], ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [0x4d0804]
push eax
push str.CopyCTFiles
push 0x4b7f6c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d0804], eax
mov ecx, dword [ebp + 8]
push ecx
push 0x104
push 0x4d0808
push 0x4d0808
push str.ProductExe
push str.AQToolsAQCTS
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jbe 0x445de8
push 0x104
push 0x4d0808
call fcn.00446fc0
add esp, 8
push 0x4d0808
call dword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
test eax, eax
je 0x445de8
xor edx, edx
mov word [ebp - 0x890], dx
push 0x206
push 0
lea eax, [ebp - 0x88e]
push eax
call fcn.004677c0
add esp, 0xc
push 0x4d0808
lea ecx, [ebp - 0x890]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea edx, [ebp - 0x890]
push edx
push 0x4d4b88
push 0x4d0808
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov word [ebp - 8], ax
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov word [ebp - 0x264], ax
push 0x4e7830
mov eax, dword [ebp + 8]
push eax
call fcn.004447e0
add esp, 8
mov dword [ebp - 0x268], eax
cmp dword [ebp - 0x268], 0
jbe 0x445fcc
mov dword [ebp - 0x894], 0
mov dword [ebp - 0x898], 0
movzx ecx, word [0x4da1b4]
test ecx, ecx
je 0x445ea5
mov dword [ebp - 0x894], 0
jmp 0x445e5d
mov edx, dword [ebp - 0x894]
add edx, 1
mov dword [ebp - 0x894], edx
mov eax, dword [ebp - 0x894]
cmp eax, dword [ebp - 0x268]
jae 0x445ea5
movzx esi, word [0x4da1b4]
mov ecx, dword [ebp - 0x894]
push ecx
mov ecx, 0x4e7830
call fcn.004087b0
cmp esi, dword [eax + 0x410]
jne 0x445ea3
mov edx, dword [ebp - 0x894]
mov dword [0x4da190], edx
mov dword [ebp - 0x898], 1
jmp 0x445ea5
jmp 0x445e4e
cmp dword [ebp - 0x898], 0
jne 0x445f16
movzx eax, word [ebp - 8]
test eax, eax
je 0x445f16
mov dword [ebp - 0x894], 0
jmp 0x445ed1
mov ecx, dword [ebp - 0x894]
add ecx, 1
mov dword [ebp - 0x894], ecx
mov edx, dword [ebp - 0x894]
cmp edx, dword [ebp - 0x268]
jae 0x445f16
movzx esi, word [ebp - 8]
mov eax, dword [ebp - 0x894]
push eax
mov ecx, 0x4e7830
call fcn.004087b0
cmp esi, dword [eax + 0x410]
jne 0x445f14
mov ecx, dword [ebp - 0x894]
mov dword [0x4da190], ecx
mov dword [ebp - 0x898], 1
jmp 0x445f16
jmp 0x445ec2
cmp dword [ebp - 0x898], 0
jne 0x445f80
mov dword [ebp - 0x894], 0
jmp 0x445f3a
mov edx, dword [ebp - 0x894]
add edx, 1
mov dword [ebp - 0x894], edx
mov eax, dword [ebp - 0x894]
cmp eax, dword [ebp - 0x268]
jae 0x445f80
mov ecx, dword [ebp - 0x894]
push ecx
mov ecx, 0x4e7830
call fcn.004087b0
mov edx, dword [0x4da18c]
cmp edx, dword [eax + 0x410]
jne 0x445f7e
mov eax, dword [ebp - 0x894]
mov dword [0x4da190], eax
mov dword [ebp - 0x898], 1
jmp 0x445f80
jmp 0x445f2b
cmp dword [ebp - 0x898], 0
je 0x445fcc
mov ecx, dword [0x4da190]
push ecx
mov ecx, 0x4e7830
call fcn.004087b0
push eax
push str.ReadConfigFile____LangFileName_s
call fcn.00456a00
add esp, 8
mov edx, dword [0x4da190]
push edx
mov ecx, 0x4e7830
call fcn.004087b0
add eax, 0x208
push eax
push str.ReadConfigFile____LicenseFile_s
call fcn.00456a00
add esp, 8
push 0x4cf968
mov eax, dword [ebp + 8]
push eax
call fcn.0040f1c0
add esp, 8
test eax, eax
jbe 0x445ffc
mov ecx, dword [ebp + 8]
push ecx
push 0
push str.Conditions
push str.Runtime
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x4d4560], eax
push 0x4e2cf0
push str.ReadConfigFile____LicenseFile_INTL_s
call fcn.00456a00
add esp, 8
push 0x4d36ae
push str.ReadConfigFile____ProductName_s
call fcn.00456a00
add esp, 8
mov edx, dword [0x4d4538]
push edx
mov eax, dword [0x4d4534]
push eax
push str.ReadConfigFile____Compress_d_CompressType_d
call fcn.00456a00
add esp, 0xc
mov ecx, dword [0x4d53d9]
push ecx
push 0x4d4778
push 0x4d4570
push str.ReadConfigFile____ExeFileName_s_ExeCmdLine_s_LaunchOptions_d
call fcn.00456a00
add esp, 0x10
mov edx, dword [0x4d4544]
push edx
push str.ReadConfigFile____DelFiles_d
call fcn.00456a00
add esp, 8
mov eax, dword [0x4d4da0]
push eax
mov ecx, dword [0x4d4d9c]
push ecx
mov edx, dword [0x4d4d94]
push edx
push str.ReadConfigFile____LaunchExe_d_AllowModifyDest_d_RestoreTree_d
call fcn.00456a00
add esp, 0x10
mov eax, dword [0x4d4d90]
push eax
push str.ReadConfigFile____ExeWinDisplay_d
call fcn.00456a00
add esp, 8
mov ecx, dword [0x4d4dac]
push ecx
push str.ReadConfigFile____ProgressBar_d
call fcn.00456a00
add esp, 8
mov edx, dword [0x4d53d5]
push edx
push str.ReadConfigFile____StyleProgress_d
call fcn.00456a00
add esp, 8
push 0x4d4b88
push str.ReadConfigFile____TgdFolder_s
call fcn.00456a00
add esp, 8
mov eax, dword [0x4da18c]
push eax
push str.ReadConfigFile____LanguageDefault_d
call fcn.00456a00
add esp, 8
mov ecx, dword [0x4d454c]
push ecx
push str.ReadConfigFile____Password_d
call fcn.00456a00
add esp, 8
movzx edx, word [ebp - 0x264]
push edx
movzx eax, word [ebp - 8]
push eax
push str.ReadConfigFile____lcID_user_d_lcID_system_d
call fcn.00456a00
add esp, 0xc
mov ecx, dword [0x4d4db0]
push ecx
push str.ReadConfigFile____RunScript_d
call fcn.00456a00
add esp, 8
mov edx, dword [0x4d4db4]
push edx
push str.ReadConfigFile____ResumeSetup_d
call fcn.00456a00
add esp, 8
movzx eax, byte [0x4d1dd8]
push eax
push str.ReadConfigFile____AQTOOLSINFO.byProductLanguage_d
call fcn.00456a00
add esp, 8
movzx ecx, byte [0x4d1dd7]
push ecx
push str.ReadConfigFile____AQTOOLSINFO.byProductType_d
call fcn.00456a00
add esp, 8
movzx edx, byte [0x4d1dd9]
push edx
push str.ReadConfigFile____AQTOOLSINFO.byProductVersion_d
call fcn.00456a00
add esp, 8
movzx eax, byte [0x4d1dda]
push eax
push str.ReadConfigFile____AQTOOLSINFO.byInstallMode_d
call fcn.00456a00
add esp, 8
movzx ecx, byte [0x4d1ddb]
push ecx
push str.ReadConfigFile____AQTOOLSINFO.byCompanyCode_d
call fcn.00456a00
add esp, 8
mov edx, dword [0x4d19a5]
push edx
push str.ReadConfigFile____AQTOOLSINFO.bAQCTS_d
call fcn.00456a00
add esp, 8
mov eax, dword [0x4d19a9]
push eax
push str.ReadConfigFile____AQTOOLSINFO.bIAMC_d
call fcn.00456a00
add esp, 8
mov ecx, dword [0x4d07fc]
push ecx
push str.ReadConfigFile____AQTOOLSAP.bNeedConnection_d
call fcn.00456a00
add esp, 8
movzx edx, byte [0x4d0e51]
push edx
push str.ReadConfigFile____AQTOOLSOLR.byDialogType_d
call fcn.00456a00
add esp, 8
mov eax, 1
lea esp, [ebp - 0x8c4]
pop esi
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.004677af
mov esp, ebp
pop ebp
ret