Function at 0x4047e0
Capabilities:
Schedule task via itaskservice

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ca9f2
mov eax, dword fs:[0]
push eax
sub esp, 0x2f8
mov eax, dword [0x4f86c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
mov edi, ecx
mov ebx, dword [ebp + 8]
push 0
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jns 0x404838
push eax
push str.ConInitializeEx_failed:_x_n
call fcn.004aa3ac
add esp, 8
xor eax, eax
jmp 0x405305
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 0x404876
cmp eax, 0x80010119
je 0x404876
push eax
push str.CoInitializeSecurity_failed:_x_n
call fcn.004aa3ac
add esp, 8
call dword [sym.imp.ole32.dll_CoUninitialize]
xor eax, eax
jmp 0x405305
xor eax, eax
mov dword [ebp - 0x228], 7
push 0xffffffffffffffff
push eax
push esi
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x22c], 0
mov word [ebp - 0x23c], ax
call fcn.004085c0
lea eax, [ebp - 0x260]
mov dword [ebp - 4], 0
push eax
push 0x4df9e4
push 1
push 0
push 0x4dfbf4
mov dword [ebp - 0x260], 0
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x4048ed
push eax
push str.Failed_to_create_an_instance_of_ITaskService:_x_n
call fcn.004aa3ac
add esp, 8
call dword [sym.imp.ole32.dll_CoUninitialize]
xor esi, esi
jmp 0x4052ec
mov esi, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x2b4]
push eax
call esi
movdqu xmm0, xmmword [ebp - 0x2b4]
lea eax, [ebp - 0x2c4]
push eax
movdqu xmmword [ebp - 0x2d4], xmm0
call esi
movdqu xmm0, xmmword [ebp - 0x2c4]
lea eax, [ebp - 0x304]
push eax
movdqu xmmword [ebp - 0x2e4], xmm0
call esi
movdqu xmm0, xmmword [ebp - 0x304]
lea eax, [ebp - 0x2a4]
push eax
movdqu xmmword [ebp - 0x2f4], xmm0
call esi
mov byte [ebp - 4], 4
sub esp, 0x10
movdqu xmm0, xmmword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x260]
mov eax, esp
sub esp, 0x10
mov edx, dword [ecx]
movdqu xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movdqu xmm0, xmmword [ebp - 0x2e4]
movdqu xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movdqu xmm0, xmmword [ebp - 0x2f4]
movdqu xmmword [eax], xmm0
mov eax, esp
movdqu xmm0, xmmword [ebp - 0x2a4]
push ecx
movdqu xmmword [eax], xmm0
call dword [edx + 0x28]
mov esi, eax
lea eax, [ebp - 0x2a4]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x304]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x2c4]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x2b4]
mov byte [ebp - 4], 0
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test esi, esi
jns 0x404a00
push esi
push str.ITaskService::Connect_failed:__x
call fcn.004aa3ac
mov eax, dword [ebp - 0x260]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
xor esi, esi
jmp 0x4052ec
push 0x4e6770
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x258], 0
call fcn.00408390
mov byte [ebp - 4], 5
mov eax, dword [eax]
test eax, eax
je 0x404a28
mov edx, dword [eax]
jmp 0x404a2a
xor edx, edx
mov eax, dword [ebp - 0x260]
lea esi, [ebp - 0x258]
push esi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0
mov esi, eax
call fcn.00408330
test esi, esi
jns 0x404a7a
push esi
push str.Cannot_get_Root_Folder_pointer:__x
call fcn.004aa3ac
mov eax, dword [ebp - 0x260]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
xor esi, esi
jmp 0x4052ec
cmp dword [edi + 0x14], 8
jb 0x404a84
mov eax, dword [edi]
jmp 0x404a86
mov eax, edi
push eax
lea ecx, [ebp - 0x250]
call fcn.00408390
mov byte [ebp - 4], 6
mov eax, dword [eax]
test eax, eax
je 0x404aa0
mov edx, dword [eax]
jmp 0x404aa2
xor edx, edx
mov eax, dword [ebp - 0x258]
push 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0
call fcn.00408330
mov eax, dword [ebp - 0x260]
lea edx, [ebp - 0x254]
push edx
mov dword [ebp - 0x254], 0
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
mov ecx, dword [ebp - 0x260]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x404b18
push esi
push str.Failed_to_CoCreate_an_instance_of_the_TaskService_class:__x
call fcn.004aa3ac
mov eax, dword [ebp - 0x258]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
xor esi, esi
jmp 0x4052ec
mov eax, dword [ebp - 0x254]
lea edx, [ebp - 0x280]
mov dword [ebp - 0x280], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
jns 0x404b44
push eax
push str._nCannot_get_identification_pointer:__x
jmp 0x405286
push str.Author_Name
lea ecx, [ebp - 0x250]
call fcn.00408390
mov byte [ebp - 4], 7
mov eax, dword [eax]
test eax, eax
je 0x404b62
mov edx, dword [eax]
jmp 0x404b64
xor edx, edx
mov eax, dword [ebp - 0x280]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0
mov esi, eax
call fcn.00408330
mov ecx, dword [ebp - 0x280]
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x404b9d
push esi
push str._nCannot_put_identification_info:__x
jmp 0x405286
mov eax, dword [ebp - 0x254]
lea edx, [ebp - 0x270]
mov dword [ebp - 0x270], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
test eax, eax
jns 0x404bc9
push eax
push str._nCannot_get_trigger_collection:__x
jmp 0x405286
mov eax, dword [ebp - 0x270]
lea edx, [ebp - 0x264]
push edx
mov dword [ebp - 0x264], 0
push 9
mov ecx, dword [eax]
push eax
call dword [ecx + 0x28]
test eax, eax
jns 0x404bf7
push eax
push str._nCannot_create_the_trigger:__x
jmp 0x405286
mov eax, dword [ebp - 0x264]
lea edx, [ebp - 0x274]
push edx
mov dword [ebp - 0x274], 0
push 0x4dfa94
mov ecx, dword [eax]
push eax
call dword [ecx]
mov ecx, dword [ebp - 0x264]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x404c35
push esi
push str._nQueryInterface_call_failed_for_ILogonTrigger:__x
jmp 0x405286
push str.Trigger1
lea ecx, [ebp - 0x250]
call fcn.00408390
mov byte [ebp - 4], 8
mov eax, dword [eax]
test eax, eax
je 0x404c53
mov edx, dword [eax]
jmp 0x404c55
xor edx, edx
mov eax, dword [ebp - 0x274]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0
mov esi, eax
call fcn.00408330
test esi, esi
jns 0x404c85
push esi
push str._nCannot_put_the_trigger_ID:__x
call fcn.004aa3ac
add esp, 8
push 0x4e6774
lea ecx, [ebp - 0x250]
call fcn.00408390
mov byte [ebp - 4], 9
mov eax, dword [eax]
test eax, eax
je 0x404ca3
mov edx, dword [eax]
jmp 0x404ca5
xor edx, edx
mov eax, dword [ebp - 0x274]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x5c]
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0
mov esi, eax
call fcn.00408330
mov ecx, dword [ebp - 0x274]
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x404cde
push esi
push str._nCannot_add_user_ID_to_logon_trigger:__x
jmp 0x405286
mov eax, dword [ebp - 0x270]
lea edx, [ebp - 0x264]
push edx
push 2
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov ecx, dword [ebp - 0x270]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x404d10
push esi
push str._nCannot_create_the_trigger:__x
jmp 0x405286
mov eax, dword [ebp - 0x264]
lea edx, [ebp - 0x25c]
push edx
mov dword [ebp - 0x25c], 0
push 0x4dfad4
mov ecx, dword [eax]
push eax
call dword [ecx]
mov ecx, dword [ebp - 0x264]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x404d4e
push esi
push str._nQueryInterface_call_on_IDailyTrigger_failed:__x
jmp 0x405286
push str.Trigger2
lea ecx, [ebp - 0x250]
call fcn.00408390
mov byte [ebp - 4], 0xa
mov eax, dword [eax]
test eax, eax
je 0x404d6c
mov edx, dword [eax]
jmp 0x404d6e
xor edx, edx
mov eax, dword [ebp - 0x25c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0
mov esi, eax
call fcn.00408330
test esi, esi
jns 0x404d9e
push esi
push str._nCannot_put_trigger_ID:__x
call fcn.004aa3ac
add esp, 8
lea eax, [ebp - 0x24c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
lea eax, [ebp - 0x288]
push eax
lea eax, [ebp - 0x24c]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov ecx, dword [ebp - 0x284]
lea eax, [ebp - 0x224]
add dword [ebp - 0x288], 0x23c34600
push eax
lea eax, [ebp - 0x288]
adc ecx, 0
push eax
mov dword [ebp - 0x284], ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
xor eax, eax
push 0x1fc
push eax
mov word [ebp - 0x214], ax
lea eax, [ebp - 0x212]
push eax
call fcn.004aceb0
movzx eax, word [ebp - 0x218]
push eax
movzx eax, word [ebp - 0x21a]
push eax
movzx eax, word [ebp - 0x21c]
push eax
movzx eax, word [ebp - 0x21e]
push eax
movzx eax, word [ebp - 0x222]
push eax
movzx eax, word [ebp - 0x224]
push eax
lea eax, [ebp - 0x214]
push str._4d__02d__02dT_02d:_02d:_02d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x2c
lea eax, [ebp - 0x214]
lea ecx, [ebp - 0x250]
push eax
call fcn.00408390
mov byte [ebp - 4], 0xb
mov edx, dword [eax]
test edx, edx
je 0x404e6c
mov edx, dword [edx]
jmp 0x404e6e
xor edx, edx
mov eax, dword [ebp - 0x25c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0
mov esi, eax
call fcn.00408330
test esi, esi
jns 0x404e9e
push esi
push str._nCannot_put_start_boundary:__x
call fcn.004aa3ac
add esp, 8
mov eax, dword [ebp - 0x25c]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x54]
test eax, eax
jns 0x404ed5
push eax
push str._nCannot_put_days_interval:__x
call fcn.004aa3ac
mov eax, dword [ebp - 0x258]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x25c]
jmp 0x405294
mov eax, dword [ebp - 0x25c]
lea edx, [ebp - 0x268]
mov dword [ebp - 0x268], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov ecx, dword [ebp - 0x25c]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x404f0f
push esi
push str._nCannot_get_repetition_pattern:__x
jmp 0x405286
push str.PT24H
lea ecx, [ebp - 0x250]
call fcn.00408390
mov byte [ebp - 4], 0xc
mov eax, dword [eax]
test eax, eax
je 0x404f2d
mov edx, dword [eax]
jmp 0x404f2f
xor edx, edx
mov eax, dword [ebp - 0x268]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0
mov esi, eax
call fcn.00408330
test esi, esi
jns 0x404f76
push esi
push str._nCannot_put_repetition_duration:__x
call fcn.004aa3ac
mov eax, dword [ebp - 0x258]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x268]
jmp 0x405294
push str.PT1H
lea ecx, [ebp - 0x250]
call fcn.00408390
mov byte [ebp - 4], 0xd
mov eax, dword [eax]
test eax, eax
je 0x404f94
mov edx, dword [eax]
jmp 0x404f96
xor edx, edx
mov eax, dword [ebp - 0x268]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0
mov esi, eax
call fcn.00408330
mov ecx, dword [ebp - 0x268]
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x404fcf
push esi
push str._nCannot_put_repetition_interval:__x
jmp 0x405286
mov eax, dword [ebp - 0x254]
lea edx, [ebp - 0x278]
mov dword [ebp - 0x278], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
test eax, eax
jns 0x404ffb
push eax
push str._nCannot_get_task_collection_pointer:__x
jmp 0x405286
mov eax, dword [ebp - 0x278]
lea edx, [ebp - 0x27c]
push edx
mov dword [ebp - 0x27c], 0
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
mov ecx, dword [ebp - 0x278]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x405037
push esi
push str._nCannot_create_action:__x
jmp 0x405286
mov eax, dword [ebp - 0x27c]
lea edx, [ebp - 0x26c]
push edx
mov dword [ebp - 0x26c], 0
push str.MbLk
mov ecx, dword [eax]
push eax
call dword [ecx]
mov ecx, dword [ebp - 0x27c]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x405075
push esi
push str._nQueryInterface_call_failed_for_IExecAction:__x
jmp 0x405286
cmp dword [ebp - 0x228], 8
lea eax, [ebp - 0x23c]
lea ecx, [ebp - 0x250]
cmovae eax, dword [ebp - 0x23c]
push eax
call fcn.00408390
mov byte [ebp - 4], 0xe
mov edx, dword [eax]
test edx, edx
je 0x4050a3
mov edx, dword [edx]
jmp 0x4050a5
xor edx, edx
mov eax, dword [ebp - 0x26c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0
mov esi, eax
call fcn.00408330
cmp dword [ebx + 0x14], 8
jb 0x4050cb
mov ebx, dword [ebx]
push ebx
lea ecx, [ebp - 0x250]
call fcn.00408390
mov byte [ebp - 4], 0xf
mov edx, dword [eax]
test edx, edx
je 0x4050e5
mov edx, dword [edx]
jmp 0x4050e7
xor edx, edx
mov eax, dword [ebp - 0x26c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0
call fcn.00408330
mov eax, dword [ebp - 0x26c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
test esi, esi
jns 0x40511e
push esi
push str._nCannot_put_the_executable_path:__x
jmp 0x405286
mov eax, 8
mov dword [ebp - 0x28c], 0
push 0x4e6774
mov word [ebp - 0x2a4], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x29c], eax
test eax, eax
jne 0x405153
push 0x8007000e
call fcn.004c9910
mov byte [ebp - 4], 0x10
movdqu xmm0, xmmword [ebp - 0x2a4]
push ecx
lea ecx, [ebp - 0x294]
movdqu xmmword [ebp - 0x2f4], xmm0
call fcn.00408250
push eax
lea ecx, [ebp - 0x2c4]
mov byte [ebp - 4], 0x11
call fcn.004082e0
mov byte [ebp - 4], 0x12
movdqu xmm0, xmmword [eax]
push ecx
lea ecx, [ebp - 0x290]
movdqu xmmword [ebp - 0x2e4], xmm0
call fcn.00408250
push eax
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 0x13
call fcn.004082e0
mov byte [ebp - 4], 0x14
cmp dword [edi + 0x14], 8
movdqu xmm0, xmmword [eax]
movdqu xmmword [ebp - 0x2d4], xmm0
jb 0x4051c7
mov edi, dword [edi]
push edi
lea ecx, [ebp - 0x250]
call fcn.00408390
mov byte [ebp - 4], 0x15
mov eax, dword [eax]
test eax, eax
je 0x4051e1
mov esi, dword [eax]
jmp 0x4051e3
xor esi, esi
movdqu xmm0, xmmword [ebp - 0x2f4]
mov ecx, dword [ebp - 0x258]
lea eax, [ebp - 0x28c]
push eax
sub esp, 0x10
mov eax, esp
mov edx, dword [ecx]
push 3
sub esp, 0x10
movdqu xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movdqu xmm0, xmmword [ebp - 0x2e4]
movdqu xmmword [eax], xmm0
mov eax, esp
movdqu xmm0, xmmword [ebp - 0x2d4]
push 6
push dword [ebp - 0x254]
movdqu xmmword [eax], xmm0
push esi
push ecx
call dword [edx + 0x44]
lea ecx, [ebp - 0x250]
mov esi, eax
call fcn.00408330
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x2b4]
push eax
call ebx
lea ecx, [ebp - 0x290]
call fcn.00408330
lea eax, [ebp - 0x2c4]
push eax
call ebx
lea ecx, [ebp - 0x294]
call fcn.00408330
lea eax, [ebp - 0x2a4]
mov byte [ebp - 4], 0
push eax
call ebx
test esi, esi
jns 0x4052b0
push esi
push str._nError_saving_the_Task_:__x
call fcn.004aa3ac
mov eax, dword [ebp - 0x258]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x254]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
xor esi, esi
jmp 0x4052ec
push str._n_Success__Task_successfully_registered.
call fcn.004aa3ac
mov eax, dword [ebp - 0x258]
add esp, 4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x254]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x28c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, 1
cmp dword [ebp - 0x228], 8
jb 0x405303
push dword [ebp - 0x23c]
call fcn.004a7f26
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004a768e
mov esp, ebp
pop ebp
ret