Function at 0x442690
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46bce8
mov eax, dword fs:[0]
push eax
sub esp, 0xfc
mov eax, dword [0x4a3a10]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
call fcn.0042edd0
push str.Try_to_install_service
mov ecx, eax
call fcn.0040a6d0
mov edx, dword [str.IQOptionUpdater]
xorps xmm0, xmm0
mov ecx, edx
mov dword [ebp - 0x60], 0
movups xmmword [ebp - 0x70], xmm0
mov dword [ebp - 0x5c], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4426f0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x70]
call fcn.00407230
push 0x4a7348
lea eax, [ebp - 0x70]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x100]
call fcn.0040f860
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 2
cmp ecx, 0x10
jb 0x442756
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44274c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x442baa
push ecx
push edx
call fcn.0044781c
add esp, 8
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
call fcn.00412ba0
test al, al
je 0x44280a
call fcn.0042edd0
mov esi, eax
lea ecx, [ebp - 0x100]
lea eax, [ebp - 0x40]
push eax
call fcn.00412db0
push eax
push 0x1c
push str.Service__already_installed
push 2
sub esp, 0xc
mov dword [ebp - 0x1c], 0
mov eax, esp
mov dword [ebp - 0x18], 0
movq xmm0, qword [ebp - 0x1c]
mov ecx, esi
mov byte [ebp - 4], 3
movq qword [eax], xmm0
mov dword [eax + 8], 0
call fcn.0040a7c0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 2
cmp ecx, 0x10
jb 0x442b10
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4427fb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x442baf
push ecx
push edx
call fcn.0044781c
add esp, 8
jmp 0x442b10
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 4
push eax
push 0x4a7348
call fcn.00440b30
mov ecx, dword [ebp - 0x14]
add esp, 8
test al, al
mov byte [ebp - 4], 2
sete al
mov byte [ebp - 0x104], al
cmp ecx, 0x10
jb 0x44287d
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44286d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x442bb4
push ecx
push edx
call fcn.0044781c
mov al, byte [ebp - 0x104]
add esp, 8
test al, al
jne 0x442b84
lea eax, [ebp - 0x40]
push 0x4a7348
push eax
call fcn.0041fb60
add esp, 8
cmp dword [eax + 0x14], 8
jb 0x44289e
mov eax, dword [eax]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea ecx, [ebp - 0x40]
mov esi, eax
call fcn.0040fe00
test esi, esi
je 0x442b84
mov edx, dword [str.A_service_that_keeps_your__platform_up_to_date._If_this_service_is_disabled_or_stopped__your_client_will_not_stay_up_to_date__and_some_features_may_not_work.]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4428c2
sub esp, 0x10
mov dword [ebp - 0x18], str.IQ_Option
mov eax, esp
sub ecx, esi
lea esi, [ebp - 0x18]
push ecx
mov dword [eax], 0xd
mov dword [eax + 4], 0
mov dword [eax + 8], esi
lea eax, [ebp - 0x40]
push edx
push eax
call fcn.0040c660
add esp, 0x1c
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x100]
call fcn.00414240
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.0040fdb0
call fcn.0042edd0
mov esi, eax
lea ecx, [ebp - 0x100]
lea eax, [ebp - 0x40]
push eax
call fcn.00412db0
push eax
sub esp, 8
mov byte [ebp - 4], 6
mov eax, esp
mov ecx, esi
mov dword [eax], str.Service__is_not_yet_installed
mov dword [eax + 4], 0x1f
call fcn.0040a780
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.0040fdb0
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00443f20
mov byte [ebp - 4], 7
call fcn.0042edd0
lea ecx, [ebp - 0x58]
push ecx
sub esp, 8
mov ecx, esp
mov dword [ecx], str.Recovery_program:_
mov dword [ecx + 4], 0x14
mov ecx, eax
call fcn.0040a780
cmp dword [ebp - 0x44], 0x10
lea edi, [ebp - 0x58]
mov esi, dword [ebp - 0x48]
cmovae edi, dword [ebp - 0x58]
test esi, esi
je 0x442a76
push esi
push 0x20
push edi
call fcn.004490c0
add esp, 0xc
test eax, eax
je 0x442a76
sub eax, edi
cmp eax, 0xffffffff
je 0x442a76
mov byte [ebp - 0x104], 0x22
cmp esi, 0x7fffffff
je 0x442bb9
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
push esi
cmovae eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x28]
push eax
push 1
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x108]
call fcn.00420540
push 0x22
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 8
call fcn.00413820
movups xmm0, xmmword [ebp - 0x28]
lea eax, [ebp - 0x40]
mov byte [ebp - 0x28], 0
push eax
movups xmmword [ebp - 0x40], xmm0
lea ecx, [ebp - 0x58]
movq xmm0, qword [ebp - 0x18]
movq qword [ebp - 0x30], xmm0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
call fcn.00441600
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x442a6a
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x442a60
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x442bbe
push ecx
push edx
call fcn.0044781c
add esp, 8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 7
call fcn.0040fdb0
push 0x14
push str.__recovery__fail_1_
lea ecx, [ebp - 0x58]
call fcn.0041e640
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x100]
call fcn.004144f0
call fcn.0042edd0
lea ecx, [ebp - 0x100]
mov esi, eax
call fcn.00412920
mov byte [ebp - 0x104], al
lea eax, [ebp - 0x104]
push eax
sub esp, 8
mov ecx, esp
mov dword [ecx], str.Service_installed:_
mov dword [ecx + 4], 0x15
mov ecx, esi
call fcn.00441060
call fcn.0042edd0
lea ecx, [ebp - 0x100]
mov esi, eax
call fcn.00410ec0
mov byte [ebp - 0x104], al
lea eax, [ebp - 0x104]
push eax
sub esp, 8
mov ecx, esp
mov dword [ecx], str.Set_parameters:____
mov dword [ecx + 4], 0x15
mov ecx, esi
call fcn.00441060
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 2
call fcn.0040fdb0
lea ecx, [ebp - 0x100]
call fcn.00412ca0
test al, al
jne 0x442b73
call fcn.0042edd0
lea ecx, [ebp - 0x100]
mov esi, eax
call fcn.00414920
mov byte [ebp - 0x104], al
mov ecx, esi
lea eax, [ebp - 0x104]
mov dword [ebp - 0x1c], 0
push eax
push 0x13
push str.Service_started:_
push 2
sub esp, 0xc
mov dword [ebp - 0x18], 0
movq xmm0, qword [ebp - 0x1c]
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], 0
call fcn.004410a0
jmp 0x442b84
call fcn.0042edd0
push str.Service_now_is_running
mov ecx, eax
call fcn.0040a6d0
lea ecx, [ebp - 0x100]
call fcn.0040ff60
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00447a97
mov esp, ebp
pop ebp
ret
call fcn.0044c8cf
call fcn.0044c8cf
call fcn.0044c8cf
call fcn.00410c50
call fcn.0044c8cf
int3