Function at 0x100013c0
Capabilities:
Schedule task via itaskservice

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1001698d
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x728
mov eax, dword [0x1001f010]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
push 0
mov dword [ebp - 4], 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
js 0x10001438
push 0
push 0
push 0
push 3
push 6
push 0
push 0
push 0xffffffffffffffff
push 0
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
jns 0x1000147a
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, 1
mov ecx, dword [ebx + 0x1c]
cmp ecx, 8
jb 0x100024c5
mov edx, dword [ebx + 8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100024bb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100024e5
jmp 0x100024bb
cmp dword [ebx + 0x1c], 8
lea eax, [ebx + 8]
mov edi, dword [ebx + 0x18]
xorps xmm0, xmm0
cmovae eax, dword [ebx + 8]
mov dword [ebp - 0x628], 0
mov dword [ebp - 0x624], 0
mov dword [ebp - 0x63c], eax
movups xmmword [ebp - 0x638], xmm0
cmp edi, 0x7ffffffe
ja 0x100024ea
mov dword [ebp - 0x624], 7
cmp edi, 8
jae 0x100014e1
push 0x10
push eax
lea eax, [ebp - 0x638]
mov dword [ebp - 0x628], edi
push eax
call fcn.10005bb0
jmp 0x1000158d
mov esi, edi
or esi, 7
mov dword [ebp - 0x6c4], esi
cmp esi, 0x7ffffffe
jbe 0x10001502
mov eax, SysReAllocString
mov esi, SysReAllocString
add eax, eax
jmp 0x1000152d
mov eax, 0xa
mov dword [ebp - 0x6c8], 0xa
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x7fffffff
ja 0x10002549
add eax, eax
cmp eax, 0x1000
jb 0x10001554
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x10002549
push ecx
call fcn.100031a0
add esp, 4
test eax, eax
je 0x100024e5
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x10001567
test eax, eax
je 0x10001565
push eax
call fcn.100031a0
add esp, 4
mov ecx, eax
jmp 0x10001567
xor ecx, ecx
lea eax, [edi*2 + 2]
mov dword [ebp - 0x638], ecx
push eax
push dword [ebp - 0x63c]
mov dword [ebp - 0x628], edi
push ecx
mov dword [ebp - 0x624], esi
call fcn.10005bb0
add esp, 0xc
lea eax, [ebp - 0x64c]
mov byte [ebp - 4], 1
push eax
push 0x10017274
push 1
push 0
push 0x10017284
mov dword [ebp - 0x64c], 0
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x100015db
push eax
push str.Failed_to_create_an_instance_of_ITaskService:__x
call fcn.10001000
add esp, 8
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, 1
jmp 0x1000245d
mov eax, dword [ebp - 0x64c]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [eax]
mov esi, dword [eax + 0x28]
lea eax, [ebp - 0x708]
push eax
call edi
movups xmm0, xmmword [ebp - 0x708]
lea eax, [ebp - 0x6f8]
push eax
movups xmmword [ebp - 0x6c0], xmm0
call edi
movups xmm0, xmmword [ebp - 0x6f8]
lea eax, [ebp - 0x6e8]
push eax
movups xmmword [ebp - 0x6b0], xmm0
call edi
movups xmm0, xmmword [ebp - 0x6e8]
lea eax, [ebp - 0x6d8]
push eax
movups xmmword [ebp - 0x6a0], xmm0
call edi
mov byte [ebp - 4], 5
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x6c0]
mov eax, esp
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x6b0]
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x6a0]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [ebp - 0x6d8]
push dword [ebp - 0x64c]
movups xmmword [eax], xmm0
call esi
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov esi, eax
lea eax, [ebp - 0x6d8]
push eax
call edi
lea eax, [ebp - 0x6e8]
push eax
call edi
lea eax, [ebp - 0x6f8]
push eax
call edi
lea eax, [ebp - 0x708]
mov byte [ebp - 4], 1
push eax
call edi
test esi, esi
jns 0x100016e0
push esi
push str.ITaskService::Connect_failed:__x
call fcn.10001000
mov eax, dword [ebp - 0x64c]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, 1
jmp 0x1000245d
mov eax, dword [ebp - 0x64c]
mov dword [ebp - 0x640], 0
push 0xc
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x63c], eax
call fcn.100031a0
mov esi, eax
add esp, 4
mov dword [ebp - 0x648], esi
mov byte [ebp - 4], 6
mov edi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
test esi, esi
je 0x1000173c
push 0x1001cb10
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call edi
mov dword [esi], eax
test eax, eax
je 0x100024ef
jmp 0x1000173e
xor esi, esi
mov byte [ebp - 4], 1
mov dword [ebp - 0x674], esi
test esi, esi
je 0x100024ef
lea eax, [ebp - 0x640]
mov byte [ebp - 4], 7
push eax
push dword [esi]
push dword [ebp - 0x64c]
call dword [ebp - 0x63c]
mov dword [ebp - 0x63c], eax
or ecx, 0xffffffff
mov byte [ebp - 4], 1
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x100017b9
mov ecx, dword [esi]
test ecx, ecx
je 0x10001791
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x100017a8
push eax
call fcn.100031d0
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.10003192
mov eax, dword [ebp - 0x63c]
add esp, 8
mov dword [ebp - 0x674], 0
test eax, eax
jns 0x100017d2
push eax
push str.Cannot_get_Root_Folder_pointer:__x
jmp 0x100016bc
mov eax, dword [ebp - 0x640]
push 0xc
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x63c], eax
call fcn.100031a0
mov esi, eax
add esp, 4
mov dword [ebp - 0x648], esi
mov byte [ebp - 4], 8
test esi, esi
je 0x1000181e
push str.GoogleUpdateTaskMachineUACore
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call edi
mov dword [esi], eax
test eax, eax
je 0x100024f9
jmp 0x10001820
xor esi, esi
mov byte [ebp - 4], 1
mov dword [ebp - 0x678], esi
test esi, esi
je 0x100024ef
push 0
mov byte [ebp - 4], 9
push dword [esi]
push dword [ebp - 0x640]
call dword [ebp - 0x63c]
mov byte [ebp - 4], 1
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x1000188a
mov eax, dword [esi]
test eax, eax
je 0x10001868
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x1000187f
push eax
call fcn.100031d0
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.10003192
add esp, 8
mov ecx, dword [ebp - 0x64c]
lea edx, [ebp - 0x644]
push edx
mov dword [ebp - 0x644], 0
push 0
mov eax, dword [ecx]
push ecx
mov dword [ebp - 0x678], 0
call dword [eax + 0x24]
mov ecx, dword [ebp - 0x64c]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x100018ef
push esi
push str.Failed_to_CoCreate_an_instance_of_the_TaskService_class:__x
call fcn.10001000
mov eax, dword [ebp - 0x640]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, 1
jmp 0x1000245d
mov ecx, dword [ebp - 0x644]
lea edx, [ebp - 0x654]
mov dword [ebp - 0x654], 0
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x1c]
test eax, eax
jns 0x10001935
push eax
push str._nCannot_get_identification_pointer:__x
call fcn.10001000
mov eax, dword [ebp - 0x640]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x644]
jmp 0x100016ca
mov eax, dword [ebp - 0x654]
push 0xc
mov eax, dword [eax]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x63c], eax
call fcn.100031a0
mov esi, eax
add esp, 4
mov dword [ebp - 0x648], esi
mov byte [ebp - 4], 0xa
test esi, esi
je 0x10001981
push str.Keeps_your_Google_software_up_to_date._If_this_task_is_disabled_or_stopped__your_Google_software_will_not_be_kept_up_to_date__meaning_security_vulnerabilities_that_may_arise_cannot_be_fixed_and_features_may_not_work._This_task_uninstalls_itself_when_there_is_no_Google_software_using_it.
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call edi
mov dword [esi], eax
test eax, eax
je 0x10002503
jmp 0x10001983
xor esi, esi
mov byte [ebp - 4], 1
mov dword [ebp - 0x67c], esi
test esi, esi
je 0x100024ef
mov byte [ebp - 4], 0xb
push dword [esi]
push dword [ebp - 0x654]
call dword [ebp - 0x63c]
mov dword [ebp - 0x63c], eax
or ecx, 0xffffffff
mov byte [ebp - 4], 1
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x100019f7
mov ecx, dword [esi]
test ecx, ecx
je 0x100019cf
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x100019e6
push eax
call fcn.100031d0
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.10003192
mov eax, dword [ebp - 0x63c]
add esp, 8
mov dword [ebp - 0x67c], 0
test eax, eax
jns 0x10001a3b
push eax
push str._nCannot_put_description_info:__x
call fcn.10001000
mov eax, dword [ebp - 0x640]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x644]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, 1
jmp 0x1000245d
mov eax, dword [ebp - 0x654]
push 0xc
mov eax, dword [eax]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x63c], eax
call fcn.100031a0
mov esi, eax
add esp, 4
mov dword [ebp - 0x648], esi
mov byte [ebp - 4], 0xc
test esi, esi
je 0x10001a87
push 0x1001ce04
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call edi
mov dword [esi], eax
test eax, eax
je 0x1000250d
jmp 0x10001a89
xor esi, esi
mov byte [ebp - 4], 1
mov dword [ebp - 0x680], esi
test esi, esi
je 0x100024ef
mov byte [ebp - 4], 0xd
push dword [esi]
push dword [ebp - 0x654]
call dword [ebp - 0x63c]
mov dword [ebp - 0x63c], eax
or ecx, 0xffffffff
mov byte [ebp - 4], 1
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x10001af7
mov ecx, dword [esi]
test ecx, ecx
je 0x10001ad5
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x10001aec
push eax
call fcn.100031d0
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.10003192
add esp, 8
mov eax, dword [ebp - 0x654]
push eax
mov dword [ebp - 0x680], 0
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x63c]
test eax, eax
jns 0x10001b3c
push eax
push str._nCannot_put_identification_info:__x
call fcn.10001000
mov eax, dword [ebp - 0x640]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x644]
jmp 0x100016ca
mov ecx, dword [ebp - 0x644]
lea edx, [ebp - 0x660]
mov dword [ebp - 0x660], 0
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x24]
test eax, eax
jns 0x10001b93
push eax
push str._nCannot_get_trigger_collection:__x
call fcn.10001000
mov eax, dword [ebp - 0x640]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x644]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, 1
jmp 0x1000245d
mov ecx, dword [ebp - 0x660]
lea edx, [ebp - 0x664]
push edx
mov dword [ebp - 0x664], 0
push 2
mov eax, dword [ecx]
push ecx
call dword [eax + 0x28]
mov ecx, dword [ebp - 0x660]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x10001be9
push esi
push str._nCannot_create_the_trigger:__x
call fcn.10001000
mov eax, dword [ebp - 0x640]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x644]
jmp 0x100016ca
mov ecx, dword [ebp - 0x664]
lea edx, [ebp - 0x650]
push edx
mov dword [ebp - 0x650], 0
push 0x10017264
mov eax, dword [ecx]
push ecx
call dword [eax]
mov ecx, dword [ebp - 0x664]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x10001c52
push esi
push str._nQueryInterface_call_on_IDailyTrigger_failed:__x
call fcn.10001000
mov eax, dword [ebp - 0x640]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x644]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, 1
jmp 0x1000245d
mov eax, dword [ebp - 0x650]
push 0xc
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x63c], eax
call fcn.100031a0
mov esi, eax
add esp, 4
mov dword [ebp - 0x648], esi
mov byte [ebp - 4], 0xe
test esi, esi
je 0x10001c9e
push str.Daily
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call edi
mov dword [esi], eax
test eax, eax
je 0x10002517
jmp 0x10001ca0
xor esi, esi
mov byte [ebp - 4], 1
mov dword [ebp - 0x68c], esi
test esi, esi
je 0x100024ef
mov byte [ebp - 4], 0xf
push dword [esi]
push dword [ebp - 0x650]
call dword [ebp - 0x63c]
mov dword [ebp - 0x63c], eax
or ecx, 0xffffffff
mov byte [ebp - 4], 1
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x10001d14
mov ecx, dword [esi]
test ecx, ecx
je 0x10001cec
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x10001d03
push eax
call fcn.100031d0
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.10003192
mov eax, dword [ebp - 0x63c]
add esp, 8
mov dword [ebp - 0x68c], 0
test eax, eax
jns 0x10001d30
push eax
push str._nCannot_put_trigger_ID:__x
call fcn.10001000
add esp, 8
mov eax, dword [ebp - 0x650]
push 0xc
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x63c], eax
call fcn.100031a0
mov esi, eax
add esp, 4
mov dword [ebp - 0x648], esi
mov byte [ebp - 4], 0x10
test esi, esi
je 0x10001d7c
push str.2005_01_01T12:05:00
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call edi
mov dword [esi], eax
test eax, eax
je 0x10002521
jmp 0x10001d7e
xor esi, esi
mov byte [ebp - 4], 1
mov dword [ebp - 0x688], esi
test esi, esi
je 0x100024ef
mov byte [ebp - 4], 0x11
push dword [esi]
push dword [ebp - 0x650]
call dword [ebp - 0x63c]
mov dword [ebp - 0x63c], eax
or ecx, 0xffffffff
mov byte [ebp - 4], 1
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x10001df2
mov ecx, dword [esi]
test ecx, ecx
je 0x10001dca
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x10001de1
push eax
call fcn.100031d0
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.10003192
mov eax, dword [ebp - 0x63c]
add esp, 8
mov dword [ebp - 0x688], 0
test eax, eax
jns 0x10001e0e
push eax
push str._nCannot_put_start_boundary:__x
call fcn.10001000
add esp, 8
mov eax, dword [ebp - 0x650]
push 0xc
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
mov dword [ebp - 0x63c], eax
call fcn.100031a0
mov esi, eax
add esp, 4
mov dword [ebp - 0x648], esi
mov byte [ebp - 4], 0x12
test esi, esi
je 0x10001e5a
push str.2050_05_02T12:05:00
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call edi
mov dword [esi], eax
test eax, eax
je 0x1000252b
jmp 0x10001e5c
xor esi, esi
mov byte [ebp - 4], 1
mov dword [ebp - 0x690], esi
test esi, esi
je 0x100024ef
mov byte [ebp - 4], 0x13
push dword [esi]
push dword [ebp - 0x650]
call dword [ebp - 0x63c]
mov dword [ebp - 0x63c], eax
or ecx, 0xffffffff
mov byte [ebp - 4], 1
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x10001ed0
mov ecx, dword [esi]
test ecx, ecx
je 0x10001ea8
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x10001ebf
push eax
call fcn.100031d0
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.10003192
mov eax, dword [ebp - 0x63c]
add esp, 8
mov dword [ebp - 0x690], 0
test eax, eax
jns 0x10001eec
push eax
push str._nCannot_put_the_end_boundary:__x
call fcn.10001000
add esp, 8
mov ecx, dword [ebp - 0x650]
push 1
push ecx
mov eax, dword [ecx]
call dword [eax + 0x54]
test eax, eax
jns 0x10001f23
push eax
push str._nCannot_put_days_interval:__x
call fcn.10001000
mov eax, dword [ebp - 0x640]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x650]
jmp 0x10001ffa
mov ecx, dword [ebp - 0x644]
lea edx, [ebp - 0x668]
mov dword [ebp - 0x668], 0
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x44]
test eax, eax
jns 0x10001f7a
push eax
push str._nCannot_get_task_collection_pointer:__x
call fcn.10001000
mov eax, dword [ebp - 0x640]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x644]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, 1
jmp 0x1000245d
mov ecx, dword [ebp - 0x668]
lea edx, [ebp - 0x66c]
push edx
mov dword [ebp - 0x66c], 0
push 0
mov eax, dword [ecx]
push ecx
call dword [eax + 0x30]
mov ecx, dword [ebp - 0x668]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x10001fb3
push esi
push str._nCannot_create_action:__x
jmp 0x10001fec
mov ecx, dword [ebp - 0x66c]
lea edx, [ebp - 0x658]
push edx
mov dword [ebp - 0x658], 0
push str.MbLk
mov eax, dword [ecx]
push ecx
call dword [eax]
mov ecx, dword [ebp - 0x66c]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x1000201c
push esi
push str._nQueryInterface_call_failed_for_IExecAction:__x
call fcn.10001000
mov eax, dword [ebp - 0x640]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x644]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, 1
jmp 0x1000245d
mov eax, dword [ebp - 0x658]
cmp dword [ebp - 0x624], 8
push 0xc
mov eax, dword [eax]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x65c], eax
lea eax, [ebp - 0x638]
cmovae eax, dword [ebp - 0x638]
mov dword [ebp - 0x63c], eax
call fcn.100031a0
mov esi, eax
add esp, 4
mov dword [ebp - 0x648], esi
mov byte [ebp - 4], 0x14
test esi, esi
je 0x1000208b
push dword [ebp - 0x63c]
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call edi
mov dword [esi], eax
test eax, eax
jne 0x1000208d
cmp dword [ebp - 0x63c], eax
jne 0x10002535
jmp 0x1000208d
xor esi, esi
mov byte [ebp - 4], 1
mov dword [ebp - 0x63c], esi
test esi, esi
je 0x100024ef
mov byte [ebp - 4], 0x15
push dword [esi]
push dword [ebp - 0x658]
call dword [ebp - 0x65c]
mov dword [ebp - 0x65c], eax
or ecx, 0xffffffff
mov byte [ebp - 4], 1
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x100020fb
mov ecx, dword [esi]
test ecx, ecx
je 0x100020d9
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x100020f0
push eax
call fcn.100031d0
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.10003192
add esp, 8
mov eax, dword [ebp - 0x658]
push eax
mov dword [ebp - 0x63c], 0
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x65c]
test eax, eax
jns 0x10002126
push eax
push str._nCannot_put_the_executable_path:__x
jmp 0x10001fec
mov eax, dword [ebp - 0x628]
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.100031f8
cmp dword [ebp - 0x624], 8
lea edx, [ebp - 0x638]
mov ecx, dword [ebp - 0x628]
mov esi, eax
cmovae edx, dword [ebp - 0x638]
inc ecx
push edx
push ecx
push esi
call fcn.1000a1b7
add esp, 0x10
push esi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov ecx, dword [ebp - 0x658]
push esi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x3c]
test eax, eax
jns 0x100021c3
mov eax, dword [ebp - 0x658]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x644]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x640]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x64c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, 1
jmp 0x1000245d
push 0x402
lea eax, [ebp - 0x620]
push 0
push eax
call fcn.10004660
push 0x200
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.10004660
mov eax, dword [ebp - 0x640]
add esp, 0x18
mov dword [ebp - 0x670], 0
mov eax, dword [eax]
push 0x1001ce04
mov eax, dword [eax + 0x44]
mov dword [ebp - 0x684], eax
mov eax, 8
mov word [ebp - 0x6a0], ax
call edi
mov dword [ebp - 0x698], eax
test eax, eax
je 0x100024ef
movups xmm0, xmmword [ebp - 0x6a0]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x6c0]
push eax
movups xmmword [ebp - 0x718], xmm0
call esi
movups xmm0, xmmword [ebp - 0x6c0]
lea eax, [ebp - 0x6b0]
push eax
movups xmmword [ebp - 0x728], xmm0
call esi
mov byte [ebp - 4], 0x18
movups xmm0, xmmword [ebp - 0x6b0]
mov eax, dword [ebp - 0x644]
push 0xc
movups xmmword [ebp - 0x738], xmm0
mov dword [ebp - 0x65c], eax
call fcn.100031a0
mov esi, eax
add esp, 4
mov dword [ebp - 0x648], esi
mov byte [ebp - 4], 0x19
test esi, esi
je 0x100022b5
push str.GoogleUpdateTaskMachineUACore
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call edi
mov dword [esi], eax
test eax, eax
je 0x1000253f
jmp 0x100022b7
xor esi, esi
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x648], esi
test esi, esi
je 0x100024ef
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x670]
movups xmm0, xmmword [ebp - 0x718]
push eax
sub esp, 0x10
mov eax, esp
push 3
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x728]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [ebp - 0x738]
push 6
push dword [ebp - 0x65c]
movups xmmword [eax], xmm0
push dword [esi]
push dword [ebp - 0x640]
call dword [ebp - 0x684]
mov edi, eax
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x1000235b
mov ecx, dword [esi]
test ecx, ecx
je 0x10002339
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x10002350
push eax
call fcn.100031d0
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.10003192
add esp, 8
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x6b0]
push eax
mov dword [ebp - 0x648], 0
call esi
lea eax, [ebp - 0x6c0]
push eax
call esi
lea eax, [ebp - 0x6a0]
mov byte [ebp - 4], 1
push eax
call esi
test edi, edi
jns 0x100023f0
push edi
push str._nError_saving_the_Task_:__x
call fcn.10001000
mov eax, dword [ebp - 0x640]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x644]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, 0x402
lea eax, [ebp - 0x620]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x100023c5
mov ecx, 0x200
lea eax, [ebp - 0x218]
nop dword [eax + eax]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x100023e0
lea esi, [ecx + 1]
jmp 0x1000245d
push str._n_Success__Task_successfully_registered.
call fcn.10001000
mov eax, dword [ebp - 0x640]
add esp, 4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x644]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x670]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, 0x402
lea eax, [ebp - 0x620]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x10002432
mov ecx, 0x200
lea eax, [ebp - 0x218]
nop dword [eax + eax]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x10002450
xor esi, esi
mov ecx, dword [ebp - 0x624]
cmp ecx, 8
jb 0x10002499
mov edx, dword [ebp - 0x638]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000248f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100024e5
push ecx
push edx
call fcn.10003192
add esp, 8
xor eax, eax
mov dword [ebp - 0x628], 0
mov dword [ebp - 0x624], 7
mov word [ebp - 0x638], ax
jmp 0x1000143d
push ecx
push edx
call fcn.10003192
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10003184
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.1000a166
call fcn.100011f0
push 0x8007000e
call fcn.10002f20
push 0x8007000e
call fcn.10002f20
push 0x8007000e
call fcn.10002f20
push 0x8007000e
call fcn.10002f20
push 0x8007000e
call fcn.10002f20
push 0x8007000e
call fcn.10002f20
push 0x8007000e
call fcn.10002f20
push 0x8007000e
call fcn.10002f20
push 0x8007000e
call fcn.10002f20
call fcn.10001150
int3