Function at 0x4151c9
Capabilities:
Accept command line arguments
Check internet connectivity via wininet
Check os version
Create thread

Disassembly:
push ebp
lea ebp, [esp - 0x338]
sub esp, 0x898
mov eax, dword [0x4806f0]
xor eax, ebp
mov dword [ebp + 0x334], eax
push ebx
push esi
mov esi, dword [ebp + 0x340]
push edi
mov edi, ecx
xor ebx, ebx
lea ecx, [edi + 0xc]
push 0x4727a6
mov dword [ebp + 0x40], ebx
call fcn.0042f2d0
cmp esi, ebx
je 0x41526b
mov cl, byte [esi]
cmp cl, bl
je 0x41526b
cmp cl, 0x25
jne 0x415246
cmp byte [esi + 1], 0x32
jne 0x415246
lea eax, [esi + 2]
cmp byte [eax], 0x30
jne 0x415246
mov esi, eax
push 0x20
lea eax, [edi + 0xc]
push eax
lea eax, [ebp + 0x80]
push eax
call fcn.0042f6e0
add esp, 0xc
push eax
lea ecx, [edi + 0xc]
call fcn.0042f220
lea ecx, [ebp + 0x80]
jmp 0x415263
push ecx
lea eax, [edi + 0xc]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.0042f6e0
add esp, 0xc
push eax
lea ecx, [edi + 0xc]
call fcn.0042f220
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
inc esi
jne 0x415205
lea esi, [edi + 0xc]
push ebx
mov ecx, esi
call fcn.0042fbb0
push eax
call fcn.0047086f
pop ecx
push 0xffffffffffffffff
mov ecx, esi
call fcn.0042fc40
push str._log
lea ecx, [ebp + 0x80]
call fcn.0042f200
lea esi, [ebp + 0x80]
lea eax, [edi + 0xc]
call fcn.0040d5cd
lea ecx, [ebp + 0x80]
mov esi, eax
call fcn.0042f1e0
cmp esi, ebx
je 0x41531d
lea eax, [edi + 0xc]
cmp byte [eax + 7], 0xff
jne 0x4152c0
mov eax, dword [eax]
push str._log
push eax
call fcn.0044eb30
mov esi, eax
pop ecx
pop ecx
cmp esi, ebx
je 0x415316
push 0x472c08
lea ecx, [ebp + 0x80]
call fcn.0042f200
push ebx
add esi, 5
push esi
lea eax, [ebp + 0x80]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.0042f9d0
add esp, 0xc
push eax
mov ecx, edi
call fcn.004118f7
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
xor eax, eax
jmp 0x417303
lea ecx, [edi + 0x1a8]
push 0x4727a6
call fcn.0042f2d0
push str._stubselfupdate
lea ecx, [ebp + 0x80]
call fcn.0042f200
lea esi, [ebp + 0x80]
lea eax, [edi + 0xc]
call fcn.0040d5cd
lea ecx, [ebp + 0x80]
mov esi, eax
call fcn.0042f1e0
cmp esi, ebx
je 0x41539f
lea eax, [edi + 0xc]
cmp byte [eax + 7], 0xff
jne 0x415367
mov eax, dword [eax]
push str.stubselfupdate
push eax
call fcn.0044eb30
push 0x474684
mov esi, eax
call fcn.0044f080
add esp, 0xc
add esi, eax
je 0x41539f
movzx eax, byte [esi]
cmp al, bl
je 0x41539f
cmp al, 0x20
je 0x41539f
push eax
lea ecx, [edi + 0x1a8]
call fcn.0042f670
inc esi
jne 0x415385
lea esi, [edi + 0xc]
cmp byte [esi + 7], 0xff
mov eax, esi
jne 0x4153ac
mov eax, dword [esi]
push str._output
push eax
call fcn.0044eb30
pop ecx
pop ecx
test eax, eax
je 0x4153d1
push 0x472a8c
push str.c:logaction.txt
call fcn.00450908
pop ecx
pop ecx
mov dword [edi + 0x20], eax
cmp byte [esi + 7], 0xff
jne 0x4153d9
mov esi, dword [esi]
push str._debug
push esi
call fcn.0044eb30
pop ecx
pop ecx
test eax, eax
je 0x4153fe
push 0x472a8c
push str.c:logdebug.txt
call fcn.00450908
pop ecx
pop ecx
mov dword [edi + 0x24], eax
lea eax, [edi + 0x1d8]
push eax
push str._r_n_____________OEM:
mov eax, 0x474638
push eax
lea esi, [edi + 0x1b8]
push esi
push str._r_n_____________DistCode:
push eax
lea ecx, [edi + 0x1d0]
push ecx
push str._r_n_____________Version:
push eax
lea ecx, [edi + 0x1c8]
push ecx
push str._r_n_____________Prod:
push eax
lea eax, [edi + 0x1c0]
push eax
lea eax, [ebp + 0x38]
push str.Stamp_Data__Lang:
push eax
call fcn.0042fa40
add esp, 0xc
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.0042f9d0
add esp, 0xc
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0042f9d0
add esp, 0xc
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.0042f950
add esp, 0xc
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.0042f9d0
add esp, 0xc
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.0042f9d0
add esp, 0xc
push eax
lea eax, [ebp]
push eax
call fcn.0042f950
add esp, 0xc
push eax
lea eax, [ebp + 0x64]
push eax
call fcn.0042f9d0
add esp, 0xc
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0042f9d0
add esp, 0xc
push eax
lea eax, [ebp + 0x6c]
push eax
call fcn.0042f950
add esp, 0xc
push eax
lea eax, [ebp + 0x44]
push eax
call fcn.0042f9d0
add esp, 0xc
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.0042f9d0
add esp, 0xc
push eax
lea eax, [ebp + 0x80]
push eax
call fcn.0042f950
add esp, 0xc
push eax
mov ecx, edi
call fcn.0040da11
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
lea ecx, [ebp + 0x44]
call fcn.0042f1e0
lea ecx, [ebp + 0x6c]
call fcn.0042f1e0
lea ecx, [ebp - 0x20]
call fcn.0042f1e0
lea ecx, [ebp + 0x64]
call fcn.0042f1e0
lea ecx, [ebp]
call fcn.0042f1e0
lea ecx, [ebp + 0x18]
call fcn.0042f1e0
lea ecx, [ebp + 0x4c]
call fcn.0042f1e0
lea ecx, [ebp + 0x54]
call fcn.0042f1e0
lea ecx, [ebp - 0x18]
call fcn.0042f1e0
lea ecx, [ebp - 0x10]
call fcn.0042f1e0
lea ecx, [ebp + 0x38]
call fcn.0042f1e0
lea ecx, [ebp + 0x20]
call fcn.0042ef80
push ebx
lea eax, [ebp + 0x20]
push eax
push str.DistCode
push 3
call fcn.004056dc
add esp, 0x10
test eax, eax
je 0x4155b7
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x80]
push str.DistCode_Override_
push eax
call fcn.0042fa40
add esp, 0xc
push eax
mov ecx, edi
call fcn.0040da11
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea eax, [ebp + 0x20]
push eax
mov ecx, esi
call fcn.0042f220
lea esi, [edi + 0x148]
push esi
lea eax, [ebp + 0x80]
push str.Config_URL_
push eax
call fcn.0042fa40
add esp, 0xc
push eax
mov ecx, edi
call fcn.0040da11
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea ecx, [ebp + 0x30]
call fcn.0042ef80
push ebx
lea eax, [ebp + 0x30]
push eax
push 0x4745a0
push 3
call fcn.004056dc
add esp, 0x10
test eax, eax
je 0x41563b
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x80]
push str.Config_URL_Override_
push eax
call fcn.0042fa40
add esp, 0xc
push eax
mov ecx, edi
call fcn.0040da11
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea eax, [ebp + 0x30]
push eax
mov ecx, esi
call fcn.0042f220
lea esi, [edi + 0x150]
push esi
lea eax, [ebp + 0x80]
push str.Backup_Config_URL_
push eax
call fcn.0042fa40
add esp, 0xc
push eax
mov ecx, edi
call fcn.0040da11
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea ecx, [ebp + 0x10]
call fcn.0042ef80
push ebx
lea eax, [ebp + 0x10]
push eax
push str.BackupURL
push 3
call fcn.004056dc
add esp, 0x10
test eax, eax
je 0x4156bf
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp + 0x80]
push str.Backup_Config_URL_Override_
push eax
call fcn.0042fa40
add esp, 0xc
push eax
mov ecx, edi
call fcn.0040da11
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea eax, [ebp + 0x10]
push eax
mov ecx, esi
call fcn.0042f220
lea eax, [edi + 0xc]
cmp byte [eax + 7], 0xff
jne 0x4156ca
mov eax, dword [eax]
push str._add_log:
push eax
call fcn.0044eb30
mov esi, eax
pop ecx
pop ecx
cmp esi, ebx
je 0x41572d
add esi, 9
mov al, byte [esi]
inc esi
cmp al, 0x22
jne 0x41572d
lea ecx, [ebp + 0x80]
call fcn.0042ef80
cmp esi, ebx
je 0x415710
movzx eax, byte [esi]
cmp al, bl
je 0x415710
cmp al, 0x22
je 0x415710
push eax
lea ecx, [ebp + 0x80]
call fcn.0042f670
inc esi
jne 0x4156f6
lea eax, [ebp + 0x80]
push eax
lea ecx, [edi + 0xf0]
call fcn.0042f220
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea eax, [edi + 0xc]
cmp byte [eax + 7], 0xff
jne 0x415738
mov eax, dword [eax]
push str._loc
push eax
call fcn.0044eb30
mov esi, eax
pop ecx
pop ecx
cmp esi, ebx
je 0x41579b
add esi, 5
mov al, byte [esi]
inc esi
cmp al, 0x22
jne 0x41579b
lea ecx, [ebp + 0x80]
call fcn.0042ef80
cmp esi, ebx
je 0x41577e
movzx eax, byte [esi]
cmp al, bl
je 0x41577e
cmp al, 0x22
je 0x41577e
push eax
lea ecx, [ebp + 0x80]
call fcn.0042f670
inc esi
jne 0x415764
lea eax, [ebp + 0x80]
push eax
lea ecx, [edi + 0x108]
call fcn.0042f220
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea eax, [edi + 0xc]
cmp byte [eax + 7], 0xff
jne 0x4157a6
mov eax, dword [eax]
push str._home
push eax
call fcn.0044eb30
mov esi, eax
pop ecx
pop ecx
cmp esi, ebx
je 0x415809
add esi, 6
mov al, byte [esi]
inc esi
cmp al, 0x22
jne 0x415809
lea ecx, [ebp + 0x80]
call fcn.0042ef80
cmp esi, ebx
je 0x4157ec
movzx eax, byte [esi]
cmp al, bl
je 0x4157ec
cmp al, 0x22
je 0x4157ec
push eax
lea ecx, [ebp + 0x80]
call fcn.0042f670
inc esi
jne 0x4157d2
lea eax, [ebp + 0x80]
push eax
lea ecx, [edi + 0x118]
call fcn.0042f220
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
mov dword [ebp - 0x14], eax
call fcn.004521c4
pop ecx
push ebx
push ebx
mov esi, 0x104
push esi
lea eax, [ebp + 0x124]
push eax
push 0xffffffffffffffff
push dword [ebp - 0x14]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea eax, [ebp + 0x124]
push eax
lea ecx, [ebp + 0x28]
call fcn.0042f200
push str._location__
lea ecx, [ebp + 0x28]
call fcn.0042f060
lea ecx, [ebp + 0x28]
cmp eax, 0xffffffff
je 0x41589c
add eax, 0xb
push eax
lea eax, [ebp + 0x80]
push eax
lea esi, [edi + 0x110]
call fcn.0042fcb0
push eax
mov ecx, esi
call fcn.0042f220
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
push 0x4727bc
mov ecx, esi
call fcn.0042f060
cmp eax, 0xffffffff
je 0x415947
jmp 0x415925
push str._location
call fcn.0042f060
cmp eax, 0xffffffff
je 0x415947
lea eax, [edi + 0x118]
cmp byte [eax + 7], 0xff
mov ecx, eax
jne 0x4158bf
mov ecx, dword [eax]
cmp ecx, ebx
je 0x4158d1
push eax
lea ecx, [edi + 0x110]
call fcn.0042f220
jmp 0x415947
push esi
lea eax, [ebp + 0x22c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp + 0x22c]
lea esi, [edi + 0x110]
push eax
mov ecx, esi
call fcn.0042f2d0
push esi
lea eax, [ebp + 0x80]
push str.GetModuleFileName___
push eax
call fcn.0042fa40
add esp, 0xc
push eax
mov ecx, edi
call fcn.0040da11
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
push 0x5c
mov ecx, esi
call fcn.0042f030
push eax
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.0042f880
push eax
mov ecx, esi
call fcn.0042f220
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea esi, [edi + 0x110]
push esi
lea eax, [ebp + 0x80]
push str.m_strLocation_
push eax
call fcn.0042fa40
add esp, 0xc
push eax
mov ecx, edi
call fcn.0040da11
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
mov ecx, esi
call fcn.00401005
test al, al
jne 0x415a26
push esi
lea esi, [edi + 0x148]
lea eax, [ebp + 0x80]
push esi
push eax
call fcn.004022c0
add esp, 0xc
push eax
mov ecx, esi
call fcn.0042f220
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
push ebx
lea eax, [ebp + 0x80]
push esi
push eax
call fcn.004023e0
add esp, 0xc
push eax
mov ecx, esi
call fcn.0042f220
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea eax, [edi + 0x110]
push eax
lea esi, [edi + 0x150]
lea eax, [ebp + 0x80]
push esi
push eax
call fcn.004022c0
add esp, 0xc
push eax
mov ecx, esi
call fcn.0042f220
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
push ebx
lea eax, [ebp + 0x80]
push esi
push eax
call fcn.004023e0
add esp, 0xc
push eax
mov ecx, esi
call fcn.0042f220
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea eax, [edi + 0xc]
cmp byte [eax + 7], 0xff
jne 0x415a31
mov eax, dword [eax]
push 0x4744d8
push eax
call fcn.0044eb30
mov esi, eax
pop ecx
pop ecx
cmp esi, ebx
je 0x415a90
add esi, 0xa
mov al, byte [esi]
inc esi
cmp al, 0x22
jne 0x415a90
lea ecx, [ebp + 0x74]
call fcn.0042ef80
cmp esi, ebx
je 0x415a71
movzx eax, byte [esi]
cmp al, bl
je 0x415a71
cmp al, 0x22
je 0x415a71
push eax
lea ecx, [ebp + 0x74]
call fcn.0042f670
inc esi
jne 0x415a5a
lea ecx, [ebp + 0x74]
call fcn.0042fe10
lea eax, [ebp + 0x74]
push eax
lea ecx, [edi + 0x1b8]
call fcn.0042f220
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
lea eax, [edi + 0xc]
cmp byte [eax + 7], 0xff
jne 0x415a9b
mov eax, dword [eax]
push 0x4744d0
push eax
call fcn.0044eb30
mov esi, eax
pop ecx
pop ecx
cmp esi, ebx
je 0x415b1c
add esi, 5
cmp byte [esi], 0x2f
je 0x415b1c
lea ecx, [ebp + 0x80]
call fcn.0042ef80
movzx eax, byte [esi]
cmp al, bl
je 0x415adb
cmp al, 0x20
je 0x415adb
push eax
lea ecx, [ebp + 0x80]
call fcn.0042f670
inc esi
jne 0x415ac1
lea eax, [ebp + 0x80]
lea esi, [edi + 0x148]
push eax
mov ecx, esi
call fcn.0042f220
push esi
lea eax, [ebp + 0x74]
push str.Config_XML_URL_Cmdline_
push eax
call fcn.0042fa40
add esp, 0xc
push eax
mov ecx, edi
call fcn.0040da11
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea ecx, [ebp + 8]
call fcn.0042ef80
lea ecx, [ebp - 8]
call fcn.0042ef80
push ebx
lea eax, [ebp - 8]
push eax
push str.DistCode
mov esi, 0x4727c8
push esi
push SysReAllocStringLen
call fcn.004018a0
push ebx
lea eax, [ebp + 8]
push eax
push str.OrigCode
push esi
push SysReAllocStringLen
call fcn.004018a0
add esp, 0x28
lea eax, [ebp + 8]
push eax
lea ecx, [edi + 0xf8]
call fcn.0042f220
lea eax, [ebp - 8]
push eax
lea ecx, [edi + 0x100]
call fcn.0042f220
lea eax, [edi + 0x1b8]
push eax
lea ecx, [edi + 0x1b0]
mov dword [ebp + 0x5c], ebx
mov dword [ebp - 0x14], ebx
call fcn.0042f220
push str._update
lea ecx, [ebp + 0x80]
call fcn.0042f200
lea esi, [ebp + 0x80]
lea eax, [edi + 0xc]
call fcn.0040d5cd
lea ecx, [ebp + 0x80]
mov esi, eax
call fcn.0042f1e0
cmp esi, ebx
je 0x416b90
push str._update:baseinstall
lea ecx, [ebp + 0x80]
call fcn.0042f200
lea esi, [ebp + 0x80]
lea eax, [edi + 0xc]
call fcn.0040d5cd
lea ecx, [ebp + 0x80]
mov esi, eax
call fcn.0042f1e0
cmp esi, ebx
je 0x416900
push str.StubInstallBoot
call fcn.00403890
mov dword [esp], str.StubInstallPlayer
call fcn.00403890
mov dword [esp], str.StubInstallToast
call fcn.00403890
mov dword [esp], str.StubInstallUpdate
call fcn.00403890
mov dword [esp], str.StubInstallDaily
call fcn.00403890
pop ecx
lea ecx, [ebp + 0x54]
call fcn.0042ef80
push ebx
lea eax, [ebp + 0x54]
push eax
mov esi, str.Version
push esi
push 2
call fcn.004056dc
add esp, 0x10
lea ecx, [ebp + 0x18]
call fcn.0042ef80
push ebx
lea eax, [ebp + 0x18]
push eax
push str.Update
push 2
call fcn.004056dc
push 0x98
lea eax, [ebp + 0x8c]
push ebx
push eax
call fcn.0044f280
add esp, 0x1c
lea eax, [ebp + 0x88]
push eax
mov dword [ebp + 0x88], 0x9c
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
jne 0x415cb2
lea eax, [ebp + 0x88]
push eax
mov dword [ebp + 0x88], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov eax, dword [ebp + 0x98]
dec eax
dec eax
jne 0x415d1c
cmp dword [ebp + 0x8c], 5
jne 0x415d13
cmp dword [ebp + 0x90], 1
jb 0x415d1c
cmp word [ebp + 0x11c], 2
jb 0x415d1c
mov ecx, edi
call fcn.0040e2a1
test eax, eax
je 0x415d86
push ebx
push 2
call fcn.00403377
push ebx
lea eax, [ebp + 0x54]
push eax
push esi
push 1
call fcn.004057e7
add esp, 0x18
push str.actionupgradecheckvaluefailurereasonplus
lea ecx, [ebp + 0x74]
call fcn.0042f200
push str.plus
jmp 0x415d46
cmp dword [ebp + 0x8c], 6
jae 0x415cd8
push ebx
push 2
call fcn.00403377
push ebx
lea eax, [ebp + 0x54]
push eax
push esi
push 1
call fcn.004057e7
add esp, 0x18
push str.actionupgradecheckvaluefailurereasonoscheck
lea ecx, [ebp + 0x74]
call fcn.0042f200
push str.oscheck
lea ecx, [ebp + 0x80]
call fcn.0042f200
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x80]
push eax
mov ecx, edi
call fcn.00424472
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
lea ecx, [ebp + 0x18]
call fcn.0042f1e0
lea ecx, [ebp + 0x54]
jmp 0x4172c9
call fcn.0040fac8
test eax, eax
jne 0x415dbb
push ebx
push 2
call fcn.00403377
push ebx
lea eax, [ebp + 0x54]
push eax
push esi
push 1
call fcn.004057e7
add esp, 0x18
push str.actionupgradecheckvaluefailurereasonipm
lea ecx, [ebp + 0x74]
call fcn.0042f200
push 0x473864
jmp 0x415d46
lea ecx, [ebp]
call fcn.0042ef80
push ebx
lea eax, [ebp]
push eax
push ebx
push str.SoftwareRealNetworksUpdate6.0PreferencesBackgroundUpdate
push SysReAllocStringLen
call fcn.0040158e
add esp, 0x14
test eax, eax
je 0x415e5e
cmp byte [ebp + 7], 0xff
lea eax, [ebp]
jne 0x415deb
mov eax, dword [ebp]
push 0x472924
push eax
call fcn.0044ebc0
pop ecx
pop ecx
test eax, eax
jne 0x415e5e
push ebx
push 2
call fcn.00403377
push ebx
lea eax, [ebp + 0x54]
push eax
push esi
push 1
call fcn.004057e7
add esp, 0x18
push str.actionupgradecheckvaluefailurereasonau_pref
lea ecx, [ebp + 0x74]
call fcn.0042f200
push str.au_pref
lea ecx, [ebp + 0x80]
call fcn.0042f200
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x80]
push eax
mov ecx, edi
call fcn.00424472
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
lea ecx, [ebp]
jmp 0x415d71
lea ecx, [ebp + 0x4c]
mov dword [ebp - 0xc], ebx
call fcn.0042ef80
push ebx
lea eax, [ebp + 0x4c]
push eax
push esi
push 1
call fcn.004056dc
add esp, 0x10
test eax, eax
je 0x41609f
cmp byte [ebp + 0x5b], 0xff
lea eax, [ebp + 0x54]
jne 0x415e8d
mov eax, dword [ebp + 0x54]
cmp byte [ebp + 0x53], 0xff
lea ecx, [ebp + 0x4c]
jne 0x415e99
mov ecx, dword [ebp + 0x4c]
push eax
mov dword [ebp + 0x3c], ecx
call fcn.00453fc4
fstp qword [ebp + 0x80]
push dword [ebp + 0x3c]
call fcn.00453fc4
fcomp qword [ebp + 0x80]
pop ecx
pop ecx
fnstsw ax
test ah, 1
jne 0x415ece
push ebx
push 2
call fcn.00403377
pop ecx
pop ecx
lea ecx, [ebp + 0x4c]
jmp 0x415e51
lea ecx, [ebp + 0x64]
call fcn.0042ef80
push ebx
lea eax, [ebp + 0x64]
push eax
push esi
push ebx
call fcn.004056dc
add esp, 0x10
test eax, eax
je 0x415f3b
cmp byte [ebp + 0x53], 0xff
lea eax, [ebp + 0x4c]
jne 0x415ef5
mov eax, dword [ebp + 0x4c]
cmp byte [ebp + 0x6b], 0xff
lea ecx, [ebp + 0x64]
jne 0x415f01
mov ecx, dword [ebp + 0x64]
push eax
mov dword [ebp + 0x3c], ecx
call fcn.00453fc4
fstp qword [ebp + 0x80]
push dword [ebp + 0x3c]
call fcn.00453fc4
fcomp qword [ebp + 0x80]
pop ecx
pop ecx
fnstsw ax
test ah, 5
jp 0x415f3b
push ebx
push 2
call fcn.00403377
pop ecx
pop ecx
lea ecx, [ebp + 0x64]
call fcn.0042f1e0
jmp 0x415ec9
lea ecx, [ebp + 0x6c]
call fcn.0042ef80
push ebx
lea eax, [ebp + 0x6c]
push eax
push str.Impetus
push 1
call fcn.004056dc
add esp, 0x10
test eax, eax
je 0x416022
cmp byte [ebp + 0x73], 0xff
lea eax, [ebp + 0x6c]
jne 0x415f6b
mov eax, dword [ebp + 0x6c]
push str.update
push eax
call fcn.0044ebc0
pop ecx
pop ecx
test eax, eax
je 0x415f9d
cmp byte [ebp + 0x73], 0xff
lea eax, [ebp + 0x6c]
jne 0x415f88
mov eax, dword [ebp + 0x6c]
push str.dontremind
push eax
call fcn.0044ebc0
pop ecx
pop ecx
test eax, eax
jne 0x41608f
lea ecx, [ebp + 0x74]
call fcn.0042ef80
push ebx
lea eax, [ebp + 0x74]
push eax
push str.QualifyingRange
push 2
call fcn.004056dc
add esp, 0x10
test eax, eax
je 0x416087
cmp byte [ebp + 0x53], 0xff
lea eax, [ebp + 0x4c]
jne 0x415fcd
mov eax, dword [ebp + 0x4c]
cmp byte [ebp + 0x7b], 0xff
lea ecx, [ebp + 0x74]
jne 0x415fd9
mov ecx, dword [ebp + 0x74]
push eax
mov dword [ebp + 0x3c], ecx
call fcn.00453fc4
fstp qword [ebp + 0x80]
push dword [ebp + 0x3c]
call fcn.00453fc4
fcomp qword [ebp + 0x80]
pop ecx
pop ecx
fnstsw ax
test ah, 0x41
jp 0x416087
push ebx
push 2
call fcn.00403377
pop ecx
pop ecx
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
lea ecx, [ebp + 0x6c]
call fcn.0042f1e0
jmp 0x415f31
lea ecx, [ebp + 0x74]
call fcn.0042ef80
push ebx
lea eax, [ebp + 0x74]
push eax
push str.QualifyingRange
push 2
call fcn.004056dc
add esp, 0x10
test eax, eax
je 0x416087
cmp byte [ebp + 0x53], 0xff
lea eax, [ebp + 0x4c]
jne 0x41604e
mov eax, dword [ebp + 0x4c]
cmp byte [ebp + 0x7b], 0xff
lea ecx, [ebp + 0x74]
jne 0x41605a
mov ecx, dword [ebp + 0x74]
push eax
mov dword [ebp + 0x3c], ecx
call fcn.00453fc4
fstp qword [ebp + 0x80]
push dword [ebp + 0x3c]
call fcn.00453fc4
fcomp qword [ebp + 0x80]
pop ecx
pop ecx
fnstsw ax
test ah, 0x41
jp 0x416087
mov dword [ebp - 0xc], 1
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
lea ecx, [ebp + 0x6c]
call fcn.0042f1e0
lea ecx, [ebp + 0x64]
call fcn.0042f1e0
lea eax, [edi + 0xc]
cmp byte [eax + 7], 0xff
jne 0x4160aa
mov eax, dword [eax]
push str._basepath
push eax
call fcn.0044eb30
push str._basepath
mov dword [ebp + 0x3c], eax
call fcn.0044f080
mov ecx, dword [ebp + 0x3c]
add esp, 0xc
add ecx, eax
mov dword [ebp + 0x60], ecx
je 0x4160e1
mov eax, dword [ebp + 0x60]
mov al, byte [eax]
cmp al, bl
je 0x4160e1
cmp al, 0x20
jne 0x4160e1
inc dword [ebp + 0x60]
jne 0x4160cf
lea ecx, [ebp - 0x20]
call fcn.0042ef80
mov eax, dword [ebp + 0x60]
cmp byte [eax], 0x22
je 0x4161f1
push str._basepath
push eax
call fcn.0044eb30
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x20]
call fcn.0042f2d0
push 2
push 0x20
lea eax, [ebp + 0x80]
push eax
lea ecx, [ebp - 0x20]
call fcn.0042fac0
push eax
lea ecx, [ebp - 0x20]
call fcn.0042f220
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
push ebx
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp + 0x80]
push eax
call fcn.004023e0
add esp, 0xc
push eax
lea ecx, [edi + 0x98]
call fcn.0042f220
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea ecx, [edi + 0x98]
call fcn.00401005
test al, al
je 0x4161fb
push ebx
push 2
call fcn.00403377
push ebx
lea eax, [ebp + 0x54]
push eax
push esi
push 1
call fcn.004057e7
add esp, 0x18
push 0x4727a6
lea ecx, [ebp + 0x74]
call fcn.0042f200
push str.error
lea ecx, [ebp + 0x80]
call fcn.0042f200
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x80]
push eax
mov ecx, edi
call fcn.00424472
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
lea ecx, [ebp - 0x20]
jmp 0x415f34
mov eax, dword [ebp + 0x60]
movzx eax, byte [eax]
cmp al, bl
je 0x416132
cmp al, 0x22
je 0x416132
push eax
lea ecx, [ebp - 0x20]
call fcn.0042f670
inc dword [ebp + 0x60]
jne 0x4161d2
jmp 0x416132
push str.actionupgradecheckvaluesuccess
lea ecx, [ebp + 0x80]
call fcn.0042f200
push ebx
lea eax, [ebp + 0x80]
push eax
mov ecx, edi
call fcn.004118f7
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
push str.ReclaimerPlayer
call fcn.00403890
mov dword [esp], str.ReclaimerShutdown
call fcn.00403890
mov dword [esp], str.ReclaimerInstall
call fcn.00403890
mov dword [esp], str.ReclaimerBoot
call fcn.00403890
mov dword [esp], str.ReclaimerUpdate
call fcn.00403890
mov dword [esp], str.ReclaimerPlayerLaunch
call fcn.00403890
mov dword [esp], str.ReclaimerPlayerShutdown
call fcn.00403890
mov dword [esp], str.ReclaimerConverterLaunch
call fcn.00403890
mov dword [esp], str.ReclaimerConverterShutdown
call fcn.00403890
mov dword [esp], str.ReclaimerDownloaderLaunch
call fcn.00403890
mov dword [esp], str.ReclaimerDownloaderShutdown
call fcn.00403890
push ebx
push 2
call fcn.00403377
push ebx
push 1
call fcn.00403377
push ebx
lea eax, [ebp + 0x54]
push eax
push esi
push 1
call fcn.004057e7
push ebx
lea eax, [ebp + 0x54]
push eax
push esi
push ebx
call fcn.004057e7
push ebx
lea eax, [ebp + 0x18]
push eax
push str.Update
push ebx
call fcn.004057e7
add esp, 0x44
lea ecx, [ebp + 0x44]
mov dword [edi + 0x48], 1
call fcn.0042ef80
push ebx
lea eax, [ebp + 0x44]
push eax
push str.BasePath
push ebx
call fcn.004056dc
add esp, 0x10
test eax, eax
je 0x41645c
cmp dword [ebp - 0xc], ebx
je 0x416425
lea ecx, [ebp + 0x64]
call fcn.0042ef80
lea ecx, [ebp + 0x6c]
call fcn.0042ef80
lea ecx, [ebp + 0x74]
call fcn.0042ef80
lea ecx, [ebp + 0x80]
call fcn.0042ef80
push ebx
lea eax, [ebp + 0x64]
push eax
push str.CountBoot
push ebx
call fcn.004056dc
push ebx
lea eax, [ebp + 0x6c]
push eax
push str.CountPlayer_Launch
push ebx
call fcn.004056dc
add esp, 0x20
test eax, eax
jne 0x416373
push ebx
lea eax, [ebp + 0x6c]
push eax
push str.CountPlayer
push ebx
call fcn.004056dc
add esp, 0x10
push ebx
lea eax, [ebp + 0x74]
push eax
push str.CountPlayer_Shutdown
push ebx
call fcn.004056dc
add esp, 0x10
test eax, eax
jne 0x41639d
push ebx
lea eax, [ebp + 0x74]
push eax
push str.CountShutdown
push ebx
call fcn.004056dc
add esp, 0x10
push ebx
lea eax, [ebp + 0x80]
push eax
push str.Reminder
push ebx
call fcn.004056dc
push ebx
push ebx
call fcn.00403377
push ebx
lea eax, [ebp + 0x64]
push eax
push str.CountBoot
push ebx
call fcn.004057e7
push ebx
lea eax, [ebp + 0x6c]
push eax
push str.CountPlayer_Launch
push ebx
call fcn.004056dc
push ebx
lea eax, [ebp + 0x74]
push eax
push str.CountPlayer_Shutdown
push ebx
call fcn.004056dc
add esp, 0x48
push ebx
lea eax, [ebp + 0x80]
push eax
push str.Reminder
push ebx
call fcn.004057e7
add esp, 0x10
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
lea ecx, [ebp + 0x6c]
call fcn.0042f1e0
lea ecx, [ebp + 0x64]
call fcn.0042f1e0
jmp 0x41642e
push ebx
push ebx
call fcn.00403377
pop ecx
pop ecx
push ebx
lea eax, [ebp + 0x54]
push eax
push esi
push ebx
call fcn.004057e7
add esp, 0x10
lea ecx, [ebp + 0x44]
call fcn.00401005
test al, al
jne 0x41645c
cmp byte [ebp + 0x4b], 0xff
lea eax, [ebp + 0x44]
jne 0x416455
mov eax, dword [ebp + 0x44]
push eax
call fcn.004020a3
pop ecx
lea esi, [edi + 0x98]
push esi
lea ecx, [ebp + 0x74]
call fcn.0042f130
cmp byte [ebp + 0x7b], 0xff
lea eax, [ebp + 0x74]
jne 0x416477
mov eax, dword [ebp + 0x74]
push eax
call fcn.00402008
pop ecx
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
lea eax, [ebp + 0x80]
push eax
mov ecx, edi
call fcn.00408d5a
cmp byte [eax + 7], 0xff
jne 0x41649c
mov eax, dword [eax]
push eax
call fcn.00402008
pop ecx
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
push ebx
push esi
push str.BasePath
push ebx
call fcn.004057e7
xor esi, esi
add esp, 0x10
inc esi
push esi
mov ecx, edi
call fcn.004244f1
test eax, eax
jge 0x41652d
lea ecx, [ebp + 0x74]
mov dword [edi + 0x1c], esi
call fcn.0042ef80
push ebx
lea eax, [ebp + 0x74]
push eax
mov edi, str.Impetus
push edi
push esi
call fcn.004056dc
add esp, 0x10
test eax, eax
jne 0x41651d
push str.error
lea ecx, [ebp + 0x80]
call fcn.0042f200
push ebx
lea eax, [ebp + 0x80]
push eax
push edi
push esi
call fcn.004057e7
add esp, 0x10
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
lea ecx, [ebp + 0x44]
jmp 0x4161c5
lea ecx, [edi + 0x140]
call fcn.00401005
test al, al
je 0x416572
push str.actionerrorvaluexml_events_missing
lea ecx, [ebp + 0x6c]
call fcn.0042f200
push str.error
lea ecx, [ebp + 0x74]
call fcn.0042f200
lea eax, [ebp + 0x6c]
push eax
lea eax, [ebp + 0x74]
push eax
mov ecx, edi
call fcn.00424472
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
lea ecx, [ebp + 0x6c]
jmp 0x416520
push 0x7c
lea ecx, [edi + 0x140]
call fcn.0042efc0
cmp eax, esi
mov dword [ebp - 0xc], eax
jl 0x416601
push esi
push 0x7c
lea eax, [ebp + 0x64]
push eax
lea ecx, [edi + 0x140]
call fcn.0042fac0
cmp byte [ebp + 0x6b], 0xff
lea eax, [ebp + 0x64]
jne 0x4165a4
mov eax, dword [ebp + 0x64]
push str.OS_Boot
push eax
call fcn.0044ebc0
pop ecx
pop ecx
test eax, eax
je 0x4165f3
cmp byte [ebp + 0x6b], 0xff
lea eax, [ebp + 0x64]
jne 0x4165c1
mov eax, dword [ebp + 0x64]
push str.RP_Launch
push eax
call fcn.0044ebc0
pop ecx
pop ecx
test eax, eax
je 0x4165f3
cmp byte [ebp + 0x6b], 0xff
lea eax, [ebp + 0x64]
jne 0x4165de
mov eax, dword [ebp + 0x64]
push str.RP_Shutdown
push eax
call fcn.0044ebc0
pop ecx
pop ecx
test eax, eax
jne 0x4167aa
lea ecx, [ebp + 0x64]
call fcn.0042f1e0
inc esi
cmp esi, dword [ebp - 0xc]
jle 0x416586
lea ecx, [edi + 0x128]
call fcn.00401005
test al, al
jne 0x4167f3
lea esi, [edi + 0x130]
mov ecx, esi
call fcn.00401005
test al, al
jne 0x4167f3
lea ecx, [ebp + 0x74]
call fcn.0042ef80
push str.12.0PreferencesInstallTime
push esi
lea eax, [ebp + 0x64]
push str.SoftwareRealNetworks_
push eax
call fcn.0042fa40
add esp, 0xc
push eax
lea eax, [ebp + 0x6c]
push eax
call fcn.0042f9d0
add esp, 0xc
cmp byte [eax + 7], 0xff
jne 0x41665d
mov eax, dword [eax]
push ebx
lea ecx, [ebp + 0x74]
push ecx
push ebx
push eax
push SysReAllocStringLen
call fcn.0040158e
add esp, 0x14
lea ecx, [ebp + 0x6c]
call fcn.0042f1e0
lea ecx, [ebp + 0x64]
call fcn.0042f1e0
lea ecx, [ebp + 0x74]
call fcn.00401005
test al, al
jne 0x4167eb
lea eax, [ebp + 0x38]
push eax
call fcn.004032f5
cmp byte [ebp + 0x7b], 0xff
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp + 0x70], eax
mov dword [ebp + 0x6c], ecx
lea eax, [ebp + 0x74]
jne 0x4166b1
mov eax, dword [ebp + 0x74]
mov dword [ebp - 0xc], eax
lea eax, [edi + 0x128]
cmp byte [eax + 7], 0xff
jne 0x4166c2
mov eax, dword [eax]
push eax
call fcn.004500c6
pop ecx
push ebx
push 0x15180
push edx
push eax
call fcn.00453bc0
push dword [ebp - 0xc]
mov esi, eax
mov dword [ebp + 0x68], edx
call fcn.004500c6
add eax, esi
adc edx, dword [ebp + 0x68]
pop ecx
cmp dword [ebp + 0x70], edx
jg 0x4167eb
jl 0x4166fd
cmp dword [ebp + 0x6c], eax
jae 0x4167eb
push str.actionerrorvalueday_restriction
lea ecx, [ebp + 0x64]
call fcn.0042f200
push str.error
lea ecx, [ebp + 0x6c]
call fcn.0042f200
lea eax, [ebp + 0x64]
push eax
lea eax, [ebp + 0x6c]
push eax
mov ecx, edi
call fcn.00424472
lea ecx, [ebp + 0x6c]
call fcn.0042f1e0
lea ecx, [ebp + 0x64]
call fcn.0042f1e0
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
mov ebx, 0x80004005
lea ecx, [ebp + 0x44]
call fcn.0042f1e0
lea ecx, [ebp - 0x20]
call fcn.0042f1e0
lea ecx, [ebp + 0x4c]
call fcn.0042f1e0
lea ecx, [ebp]
call fcn.0042f1e0
lea ecx, [ebp + 0x18]
call fcn.0042f1e0
lea ecx, [ebp + 0x54]
call fcn.0042f1e0
lea ecx, [ebp - 8]
call fcn.0042f1e0
lea ecx, [ebp + 8]
call fcn.0042f1e0
lea ecx, [ebp + 0x28]
call fcn.0042f1e0
lea ecx, [ebp + 0x10]
call fcn.0042f1e0
lea ecx, [ebp + 0x30]
call fcn.0042f1e0
lea ecx, [ebp + 0x20]
call fcn.0042f1e0
mov eax, ebx
jmp 0x417303
push str.actionerrorvaluexml_events_invalid
lea ecx, [ebp + 0x6c]
call fcn.0042f200
push str.error
lea ecx, [ebp + 0x74]
call fcn.0042f200
lea eax, [ebp + 0x6c]
push eax
lea eax, [ebp + 0x74]
push eax
mov ecx, edi
call fcn.00424472
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
lea ecx, [ebp + 0x6c]
call fcn.0042f1e0
lea ecx, [ebp + 0x64]
jmp 0x416520
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
lea eax, [edi + 0x138]
cmp byte [eax + 7], 0xff
jne 0x416801
mov eax, dword [eax]
push eax
call fcn.004500bb
mov esi, eax
cmp esi, ebx
pop ecx
jle 0x416862
push 0x103
lea eax, [ebp + 0x22d]
push ebx
push eax
mov byte [ebp + 0x22c], bl
call fcn.0044f280
add esp, 0xc
push 0x104
lea eax, [ebp + 0x22c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
imul esi, esi, 0xe10
push str._update:install
push ebx
lea eax, [ebp + 0x22c]
push eax
push ebx
push esi
push str.ReclaimerInstall
call fcn.00403bf0
add esp, 0x18
test eax, eax
jge 0x416869
mov dword [ebp + 0x5c], 1
lea ecx, [ebp + 0x80]
call fcn.0042ef80
lea eax, [ebp + 0x6c]
push eax
call fcn.004032f5
push dword [eax + 4]
push dword [eax]
lea eax, [ebp + 0x80]
push str._I64u
push eax
call fcn.0042fd00
push ebx
lea eax, [ebp + 0x80]
push eax
mov esi, str.InstallTime
push esi
push ebx
call fcn.004057e7
push ebx
lea eax, [ebp + 0x80]
push eax
push esi
push 1
call fcn.004057e7
add esp, 0x30
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
cmp dword [ebp + 0x5c], ebx
je 0x416743
lea ecx, [ebp + 0x44]
call fcn.0042f1e0
lea ecx, [ebp - 0x20]
call fcn.0042f1e0
lea ecx, [ebp + 0x4c]
call fcn.0042f1e0
lea ecx, [ebp]
call fcn.0042f1e0
lea ecx, [ebp + 0x18]
call fcn.0042f1e0
lea ecx, [ebp + 0x54]
call fcn.0042f1e0
jmp 0x416926
push str._update:install
lea ecx, [ebp + 0x6c]
call fcn.0042f200
lea esi, [ebp + 0x6c]
lea eax, [edi + 0xc]
mov dword [ebp + 0x40], 1
call fcn.0040d5cd
mov byte [ebp + 0x7f], bl
test eax, eax
je 0x41692a
mov byte [ebp + 0x7f], 1
test byte [ebp + 0x40], 1
je 0x416938
lea ecx, [ebp + 0x6c]
call fcn.0042f1e0
cmp byte [ebp + 0x7f], bl
je 0x4169f9
xor eax, eax
inc eax
mov esi, str.ReclaimerUpdate
push esi
mov dword [edi + 0x28], eax
mov dword [edi + 0x48], eax
call fcn.00403890
mov dword [esp], str.ReclaimerInstall
call fcn.00403890
mov dword [esp], 0x103
lea eax, [ebp + 0x22d]
push ebx
push eax
mov byte [ebp + 0x22c], bl
call fcn.0044f280
add esp, 0xc
push 0x104
lea eax, [ebp + 0x22c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push str._update:daily
push ebx
lea eax, [ebp + 0x22c]
push eax
push 1
push 0x15180
push esi
call fcn.00403bf0
add esp, 0x18
test eax, eax
jge 0x41702c
push 0x4727a6
lea ecx, [ebp + 0x64]
call fcn.0042f200
push str.error
lea ecx, [ebp + 0x6c]
call fcn.0042f200
lea eax, [ebp + 0x64]
push eax
lea eax, [ebp + 0x6c]
push eax
mov ecx, edi
call fcn.00424472
lea ecx, [ebp + 0x6c]
call fcn.0042f1e0
lea ecx, [ebp + 0x64]
call fcn.0042f1e0
mov ebx, 0x80004005
jmp 0x416773
push str._update:daily
lea ecx, [ebp + 0x6c]
call fcn.0042f200
lea esi, [ebp + 0x6c]
lea eax, [edi + 0xc]
call fcn.0040d5cd
lea ecx, [ebp + 0x6c]
mov esi, eax
call fcn.0042f1e0
cmp esi, ebx
je 0x416a2d
xor eax, eax
inc eax
mov dword [edi + 0x28], eax
mov dword [edi + 0x48], eax
jmp 0x41702c
push str._update:boot
lea ecx, [ebp + 0x6c]
call fcn.0042f200
lea esi, [ebp + 0x6c]
lea eax, [edi + 0xc]
call fcn.0040d5cd
lea ecx, [ebp + 0x6c]
mov esi, eax
call fcn.0042f1e0
cmp esi, ebx
je 0x416a5f
mov dword [edi + 0x28], 2
jmp 0x416b84
push str._update:rp_launch
lea ecx, [ebp + 0x6c]
call fcn.0042f200
lea esi, [ebp + 0x6c]
lea eax, [edi + 0xc]
call fcn.0040d5cd
lea ecx, [ebp + 0x6c]
mov esi, eax
call fcn.0042f1e0
cmp esi, ebx
je 0x416a91
mov dword [edi + 0x28], 3
jmp 0x416b84
push str._update:rp_shutdown
lea ecx, [ebp + 0x6c]
call fcn.0042f200
lea esi, [ebp + 0x6c]
lea eax, [edi + 0xc]
call fcn.0040d5cd
lea ecx, [ebp + 0x6c]
mov esi, eax
call fcn.0042f1e0
cmp esi, ebx
je 0x416ac3
mov dword [edi + 0x28], 4
jmp 0x416b84
push str._update:converter_launch
lea ecx, [ebp + 0x6c]
call fcn.0042f200
lea esi, [ebp + 0x6c]
lea eax, [edi + 0xc]
call fcn.0040d5cd
lea ecx, [ebp + 0x6c]
mov esi, eax
call fcn.0042f1e0
cmp esi, ebx
je 0x416af5
mov dword [edi + 0x28], 5
jmp 0x416b84
push str._update:converter_shutdown
lea ecx, [ebp + 0x6c]
call fcn.0042f200
lea esi, [ebp + 0x6c]
lea eax, [edi + 0xc]
call fcn.0040d5cd
lea ecx, [ebp + 0x6c]
mov esi, eax
call fcn.0042f1e0
cmp esi, ebx
je 0x416b24
mov dword [edi + 0x28], 6
jmp 0x416b84
push str._update:downloader_launch
lea ecx, [ebp + 0x6c]
call fcn.0042f200
lea esi, [ebp + 0x6c]
lea eax, [edi + 0xc]
call fcn.0040d5cd
lea ecx, [ebp + 0x6c]
mov esi, eax
call fcn.0042f1e0
cmp esi, ebx
je 0x416b53
mov dword [edi + 0x28], 7
jmp 0x416b84
push str._update:downloader_shutdown
lea ecx, [ebp + 0x6c]
call fcn.0042f200
lea esi, [ebp + 0x6c]
lea eax, [edi + 0xc]
call fcn.0040d5cd
lea ecx, [ebp + 0x6c]
mov esi, eax
call fcn.0042f1e0
cmp esi, ebx
je 0x41702c
mov dword [edi + 0x28], 8
mov dword [edi + 0x48], 1
jmp 0x41702c
cmp dword [edi + 0x4c], ebx
jne 0x4169ef
push str._au_install
lea ecx, [ebp + 0x80]
mov dword [edi + 0x28], ebx
call fcn.0042f200
lea esi, [ebp + 0x80]
lea eax, [edi + 0xc]
call fcn.0040d5cd
lea ecx, [ebp + 0x80]
mov esi, eax
call fcn.0042f1e0
cmp esi, ebx
je 0x416bd2
mov dword [edi + 0x14], 1
lea eax, [ebp + 0x6c]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00438310
pop ecx
mov ecx, eax
call fcn.00437fd0
lea ecx, [ebp - 0x50]
call fcn.00437fa0
cmp byte [ebp + 0x73], 0xff
lea eax, [ebp + 0x6c]
jne 0x416bfb
mov eax, dword [ebp + 0x6c]
push eax
call fcn.00402008
pop ecx
lea ecx, [ebp + 0x44]
call fcn.0042ef80
push ebx
lea ecx, [ebp + 0x6c]
call fcn.0042fbb0
push ebx
push eax
mov esi, str._srninst_d_
lea eax, [ebp + 0x44]
push esi
push eax
call fcn.0042fd00
add esp, 0x10
mov dword [ebp + 0x5c], 1
jmp 0x416c5d
lea ecx, [ebp + 0x44]
call fcn.0042f1e0
lea ecx, [ebp + 0x44]
call fcn.0042ef80
push ebx
lea ecx, [ebp + 0x6c]
call fcn.0042fbb0
push dword [ebp + 0x5c]
push eax
lea eax, [ebp + 0x44]
push esi
push eax
call fcn.0042fd00
add esp, 0x10
inc dword [ebp + 0x5c]
lea eax, [ebp + 0x44]
push eax
lea ecx, [ebp - 0x50]
call fcn.00437f60
lea eax, [ebp - 0x50]
push eax
call fcn.00438270
neg eax
sbb al, al
inc al
pop ecx
lea ecx, [ebp - 0x50]
mov byte [ebp + 0x7f], al
call fcn.00437fa0
cmp byte [ebp + 0x7f], bl
je 0x416c30
lea eax, [ebp + 0x44]
lea esi, [edi + 0x98]
push eax
mov ecx, esi
call fcn.0042f220
lea ecx, [ebp + 0x44]
call fcn.0042f1e0
push esi
lea ecx, [ebp + 0x80]
call fcn.0042f130
cmp byte [ebp + 0x87], 0xff
lea eax, [ebp + 0x80]
jne 0x416cc3
mov eax, dword [ebp + 0x80]
push eax
call fcn.00402008
pop ecx
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea eax, [ebp + 0x74]
push eax
mov ecx, edi
call fcn.00408d5a
cmp byte [eax + 7], 0xff
jne 0x416ce8
mov eax, dword [eax]
push eax
call fcn.00402008
pop ecx
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
lea eax, [ebp + 0x3c]
push eax
push 0x20219
push ebx
xor esi, esi
push str.CLSIDf414c260_6ac0_11cf_b6d1_00aa00bbbb58
inc esi
push SysReAllocStringLen
mov dword [edi + 0x18], esi
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x3c], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x416d5c
push dword [ebp + 0x3c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp + 0x3c], ebx
lea ecx, [ebp + 0x64]
call fcn.0042ef80
mov eax, 0x104
push eax
push eax
lea ecx, [ebp + 0x64]
call fcn.0042fbb0
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
ja 0x416e31
lea ecx, [ebp + 0x64]
jmp 0x416e24
push str.actionwarningvaluejscript_disabled
lea ecx, [ebp + 0x80]
call fcn.0042f200
push ebx
lea eax, [ebp + 0x80]
push eax
mov ecx, edi
call fcn.004118f7
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
push str.jscript.dll
mov dword [ebp + 0x5c], ebx
mov dword [ebp + 0x40], ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [edi + 0x60], eax
cmp eax, ebx
je 0x416de8
push str.DllRegisterServer
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xc], eax
cmp eax, ebx
je 0x416dd6
push esi
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
call dword [ebp - 0xc]
test eax, eax
jl 0x416dc4
mov dword [ebp + 0x40], esi
jmp 0x416dcd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x5c], eax
push ebx
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
jmp 0x416ddf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x5c], eax
cmp dword [ebp + 0x40], ebx
jne 0x416d2d
lea ecx, [ebp - 0x10]
call fcn.0042ef80
push dword [ebp + 0x5c]
lea eax, [ebp - 0x10]
push str.actionerrorvaluejavascriptreturn_value_d
push eax
call fcn.0042fd00
add esp, 0xc
push ebx
lea eax, [ebp - 0x10]
push eax
mov ecx, edi
call fcn.004118f7
mov eax, dword [edi + 0x60]
cmp eax, ebx
je 0x416e21
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [edi + 0x60], ebx
lea ecx, [ebp - 0x10]
call fcn.0042f1e0
lea ecx, [ebp + 0x6c]
jmp 0x4169ea
push 0xffffffffffffffff
lea ecx, [ebp + 0x64]
call fcn.0042fc40
mov esi, 0x1a9
push esi
push 3
lea eax, [ebp + 0x80]
push eax
lea ecx, [ebp + 0x64]
call fcn.0042f880
push eax
mov ecx, edi
call fcn.0040e5a8
test eax, eax
lea ecx, [ebp + 0x80]
setl byte [ebp + 0x7f]
call fcn.0042f1e0
cmp byte [ebp + 0x7f], bl
je 0x416f05
push 0x473fb4
lea ecx, [edi + 0x218]
call fcn.0042f2d0
push 2
lea eax, [ebp + 0x74]
push eax
lea ecx, [ebp + 0x64]
call fcn.0042f880
push eax
lea ecx, [edi + 0x210]
call fcn.0042f220
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
push edi
lea ecx, [ebp - 0x3b0]
call fcn.0040aa10
push 2
push 0x463
lea ecx, [ebp - 0x3b0]
call fcn.0040a9c5
push str.actionerrorvaluelow_disk_space
lea ecx, [ebp + 0x80]
mov dword [edi + 0x30], 1
call fcn.0042f200
push ebx
lea eax, [ebp + 0x80]
push eax
mov ecx, edi
call fcn.004118f7
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea ecx, [ebp - 0x3b0]
call fcn.0040aaea
jmp 0x416d54
push str._progfiles_
lea ecx, [ebp + 0x64]
call fcn.0042f2d0
push ebx
lea eax, [ebp + 0x64]
push eax
lea eax, [ebp + 0x80]
push eax
call fcn.004023e0
add esp, 0xc
push eax
lea ecx, [ebp + 0x64]
call fcn.0042f220
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
push esi
push 3
lea eax, [ebp + 0x74]
push eax
lea ecx, [ebp + 0x64]
call fcn.0042f880
push eax
mov ecx, edi
call fcn.0040e5a8
test eax, eax
lea ecx, [ebp + 0x74]
setl byte [ebp + 0x7f]
call fcn.0042f1e0
cmp byte [ebp + 0x7f], bl
je 0x416ff4
push 0x473fb4
lea ecx, [edi + 0x218]
call fcn.0042f2d0
push 2
lea eax, [ebp + 0x74]
push eax
lea ecx, [ebp + 0x64]
call fcn.0042f880
push eax
lea ecx, [edi + 0x210]
call fcn.0042f220
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
push edi
lea ecx, [ebp - 0x560]
call fcn.0040aa10
push 2
push 0x463
lea ecx, [ebp - 0x560]
call fcn.0040a9c5
push str.actionerrorvaluelow_disk_space
lea ecx, [ebp + 0x80]
mov dword [edi + 0x30], 1
call fcn.0042f200
push ebx
lea eax, [ebp + 0x80]
push eax
mov ecx, edi
call fcn.004118f7
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea ecx, [ebp - 0x560]
jmp 0x416efb
lea ecx, [edi + 0x110]
call fcn.00401005
test al, al
push ebx
lea eax, [ebp + 0x40]
mov dword [ebp + 0x40], ebx
push eax
jne 0x417060
call dword [sym.imp.WININET.dll_InternetGetConnectedState]
test eax, eax
jne 0x41701c
mov dword [edi + 0x5c], 1
lea ecx, [ebp + 0x64]
call fcn.0042f1e0
lea ecx, [ebp + 0x6c]
call fcn.0042f1e0
lea ecx, [edi + 0x148]
call fcn.00401005
test al, al
je 0x4170c2
push str.actionerrorvaluemissing_xml_url
lea ecx, [ebp - 0x18]
call fcn.0042f200
push ebx
lea eax, [ebp - 0x18]
push eax
mov ecx, edi
call fcn.004118f7
lea ecx, [ebp - 0x18]
jmp 0x4169ea
mov esi, dword [sym.imp.WININET.dll_InternetGetConnectedState]
jmp 0x41709b
push edi
lea ecx, [ebp - 0x200]
call fcn.0040aa10
push 3
push 0xab
lea ecx, [ebp - 0x200]
call fcn.0040a9c5
lea ecx, [ebp - 0x200]
cmp eax, 6
jne 0x4170a6
call fcn.0040aaea
push ebx
lea eax, [ebp + 0x40]
push eax
call esi
test eax, eax
je 0x417068
jmp 0x41701c
mov dword [edi + 0x30], 1
call fcn.0040aaea
lea ecx, [ebp + 0x64]
call fcn.0042f1e0
lea ecx, [ebp + 0x6c]
jmp 0x41676e
cmp dword [edi + 0x28], 1
je 0x417190
mov esi, str.RealNetworks.Installer
lea ecx, [edi + 0x294]
push esi
call fcn.0040d4e7
test eax, eax
jne 0x41715b
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
lea ecx, [edi + 0x294]
call fcn.0040d4e7
test eax, eax
jne 0x41715b
push str.RealNetworks
push esi
call fcn.0040345e
pop ecx
pop ecx
mov dword [ebp + 0x60], eax
cmp eax, ebx
je 0x41714c
push eax
call dword [sym.imp.USER32.dll_SetActiveWindow]
push dword [ebp + 0x60]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov esi, dword [sym.imp.USER32.dll_SetWindowPos]
push 0x13
push ebx
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push dword [ebp + 0x60]
call esi
push 0x13
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp + 0x60]
call esi
push 0x13
push ebx
push ebx
push ebx
push ebx
push 0xfffffffffffffffe
push dword [ebp + 0x60]
call esi
mov dword [edi + 0x30], 1
mov dword [edi + 0x44], ebx
jmp 0x416773
cmp dword [ebp - 0x14], ebx
je 0x417190
lea ecx, [edi + 0x1a8]
call fcn.00401005
test al, al
je 0x417190
push str.actioninstallerstarted
lea ecx, [ebp - 0x18]
call fcn.0042f200
push ebx
lea eax, [ebp - 0x18]
push eax
mov ecx, edi
call fcn.004118f7
lea ecx, [ebp - 0x18]
call fcn.0042f1e0
cmp dword [edi + 0x28], ebx
jne 0x41719e
mov ecx, edi
call fcn.00414175
jmp 0x4171d6
lea eax, [ebp + 0x5c]
push eax
push 0x20219
push ebx
push str.CLSIDf414c260_6ac0_11cf_b6d1_00aa00bbbb58
push SysReAllocStringLen
mov dword [ebp + 0x5c], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x417247
push dword [ebp + 0x5c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, edi
mov dword [ebp + 0x5c], ebx
call fcn.004107ed
cmp eax, ebx
jl 0x4169ef
xor esi, esi
inc esi
cmp dword [edi + 0x28], esi
je 0x417217
lea eax, [ebp - 0x14]
push eax
push ebx
push edi
push 0x413dd9
push ebx
push ebx
mov dword [ebp - 0x14], ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [edi + 0x394], eax
cmp eax, ebx
je 0x4169ef
mov ecx, edi
mov dword [edi + 0x298], esi
call fcn.00414d3c
lea ecx, [ebp - 8]
call fcn.0042f1e0
lea ecx, [ebp + 8]
call fcn.0042f1e0
lea ecx, [ebp + 0x28]
call fcn.0042f1e0
lea ecx, [ebp + 0x10]
call fcn.0042f1e0
lea ecx, [ebp + 0x30]
call fcn.0042f1e0
lea ecx, [ebp + 0x20]
jmp 0x415311
push str.actionerrorvaluejscript_disabled
lea ecx, [ebp + 0x80]
call fcn.0042f200
push ebx
lea eax, [ebp + 0x80]
push eax
mov ecx, edi
call fcn.004118f7
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
cmp dword [edi + 0x28], ebx
je 0x4172ce
push ebx
lea eax, [edi + 0x98]
push eax
push str.BasePath
push ebx
call fcn.004056dc
add esp, 0x10
push 0x4727a6
lea ecx, [ebp + 0x74]
call fcn.0042f200
push str.error
lea ecx, [ebp + 0x80]
call fcn.0042f200
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x80]
push eax
mov ecx, edi
call fcn.00424472
lea ecx, [ebp + 0x80]
call fcn.0042f1e0
lea ecx, [ebp + 0x74]
call fcn.0042f1e0
lea ecx, [ebp - 8]
call fcn.0042f1e0
lea ecx, [ebp + 8]
call fcn.0042f1e0
lea ecx, [ebp + 0x28]
call fcn.0042f1e0
lea ecx, [ebp + 0x10]
call fcn.0042f1e0
lea ecx, [ebp + 0x30]
call fcn.0042f1e0
lea ecx, [ebp + 0x20]
call fcn.0042f1e0
mov eax, 0x80004005
mov ecx, dword [ebp + 0x334]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0044f6e0
add ebp, 0x338
leave
ret 4