Function at 0x10003b70
Capabilities:
Schedule task via itaskservice

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10024e2e
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
mov eax, dword [0x10033024]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 1
mov esi, dword [0x100344d8]
mov eax, dword [esi + 4]
cmp dword [eax - 0xc], 0
je 0x1000460f
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc], 0
je 0x1000460f
cmp byte [ebp + 0x10], 0
push 0
je 0x10003bd6
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
jmp 0x10003bdc
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [esi], eax
test eax, eax
jns 0x10003c6b
push eax
push str.Failed_to_CoInitialize:__x
push 0x10034548
call fcn.1000e180
add esp, 8
mov dword [ebp - 0x48], esp
mov esi, dword [0x10034548]
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x10003c2f
cmp ecx, dword [esi - 0x10]
jne 0x10003c2f
lea edi, [esi - 0x10]
lock inc dword [eax]
mov ecx, dword [ebp - 0x48]
lea eax, [edi + 0x10]
mov dword [ecx], eax
jmp 0x10004656
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
mov eax, dword [eax]
call eax
mov edi, eax
test edi, edi
je 0x100046bf
mov eax, dword [esi - 0xc]
lea ecx, [edi + 0x10]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
inc eax
lea edx, [eax + eax]
push edx
push esi
call fcn.1000f640
mov ecx, dword [ebp - 0x48]
lea eax, [edi + 0x10]
add esp, 8
mov dword [ecx], eax
jmp 0x10004656
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push eax
push 0x100274c8
push 1
push 0
push 0x100274d8
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov dword [esi], eax
test eax, eax
jns 0x10003c9b
push eax
push str.Failed_to_create_an_instance_of_ITaskService:__x
jmp 0x10003bec
mov edi, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x8c]
push eax
call edi
movups xmm0, xmmword [ebp - 0x8c]
lea eax, [ebp - 0x7c]
push eax
movups xmmword [ebp - 0x9c], xmm0
call edi
movups xmm0, xmmword [ebp - 0x7c]
lea eax, [ebp - 0x6c]
push eax
movups xmmword [ebp - 0xac], xmm0
call edi
movups xmm0, xmmword [ebp - 0x6c]
lea eax, [ebp - 0x5c]
push eax
movups xmmword [ebp - 0xbc], xmm0
call edi
mov byte [ebp - 4], 6
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x9c]
mov ecx, dword [ebp - 0x1c]
mov eax, esp
sub esp, 0x10
mov edx, dword [ecx]
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0xac]
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0xbc]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [ebp - 0x5c]
push ecx
movups xmmword [eax], xmm0
call dword [edx + 0x28]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [esi], eax
lea eax, [ebp - 0x5c]
push eax
call edi
lea eax, [ebp - 0x6c]
push eax
call edi
lea eax, [ebp - 0x7c]
push eax
call edi
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 1
push eax
call edi
mov eax, dword [esi]
test eax, eax
jns 0x10003de8
push eax
push str.ITaskService::Connect_failed:__x
push 0x10034548
call fcn.1000e180
add esp, 8
mov dword [ebp - 0x48], esp
mov esi, dword [0x10034548]
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x10003d95
cmp ecx, dword [esi - 0x10]
jne 0x10003d95
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x10003dc4
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
mov eax, dword [eax]
call eax
mov edi, eax
test edi, edi
je 0x100046c4
mov eax, dword [esi - 0xc]
lea ecx, [edi + 0x10]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
inc eax
lea edx, [eax + eax]
push edx
push esi
call fcn.1000f640
add esp, 8
mov ecx, dword [ebp - 0x48]
lea eax, [edi + 0x10]
mov dword [ecx], eax
call fcn.10002910
mov eax, dword [ebp - 0x1c]
add esp, 4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x1000465e
push 0x1002d9d4
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x18], 0
call fcn.10003750
mov byte [ebp - 4], 7
mov eax, dword [eax]
test eax, eax
je 0x10003e0a
mov edx, dword [eax]
jmp 0x10003e0c
xor edx, edx
mov eax, dword [ebp - 0x1c]
lea edi, [ebp - 0x18]
push edi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov byte [ebp - 4], 1
mov edi, dword [ebp - 0x48]
mov dword [esi], eax
test edi, edi
je 0x10003e6b
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
dec eax
jne 0x10003e6b
test edi, edi
je 0x10003e6b
mov eax, dword [edi]
test eax, eax
je 0x10003e49
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x10003e60
push eax
call fcn.1000fedc
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.1000fe9e
add esp, 8
mov eax, dword [esi]
test eax, eax
jns 0x10003e7c
push eax
push 0x1002d9d8
jmp 0x10003d5d
push str.MSI_Task_Host
lea ecx, [ebp - 0x48]
call fcn.10003750
mov byte [ebp - 4], 8
mov edx, dword [eax]
test edx, edx
je 0x10003e97
mov edx, dword [edx]
jmp 0x10003e99
xor edx, edx
mov eax, dword [ebp - 0x18]
push 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov byte [ebp - 4], 1
mov edi, dword [ebp - 0x48]
test edi, edi
je 0x10003ef4
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
dec eax
jne 0x10003ef4
test edi, edi
je 0x10003ef4
mov eax, dword [edi]
test eax, eax
je 0x10003ed2
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x10003ee9
push eax
call fcn.1000fedc
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.1000fe9e
add esp, 8
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x14]
push edx
mov dword [ebp - 0x14], 0
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esi]
test eax, eax
jns 0x10003fb0
push eax
push str.Failed_to_create_a_task_definition:__x
push 0x10034548
call fcn.1000e180
add esp, 8
mov dword [ebp - 0x48], esp
mov esi, dword [0x10034548]
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x10003f5d
cmp ecx, dword [esi - 0x10]
jne 0x10003f5d
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x10003f8c
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
mov eax, dword [eax]
call eax
mov edi, eax
test edi, edi
je 0x100046c9
mov eax, dword [esi - 0xc]
lea ecx, [edi + 0x10]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
inc eax
lea edx, [eax + eax]
push edx
push esi
call fcn.1000f640
add esp, 8
mov ecx, dword [ebp - 0x48]
lea eax, [edi + 0x10]
mov dword [ecx], eax
call fcn.10002910
mov eax, dword [ebp - 0x18]
add esp, 4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x1000465e
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x24]
mov dword [ebp - 0x24], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov dword [esi], eax
test eax, eax
jns 0x10004068
push eax
push str._nCannot_get_identification_pointer:__x
push 0x10034548
call fcn.1000e180
add esp, 8
mov dword [ebp - 0x48], esp
mov esi, dword [0x10034548]
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x1000400c
cmp ecx, dword [esi - 0x10]
jne 0x1000400c
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x1000403b
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
mov eax, dword [eax]
call eax
mov edi, eax
test edi, edi
je 0x100046ce
mov eax, dword [esi - 0xc]
lea ecx, [edi + 0x10]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
inc eax
lea edx, [eax + eax]
push edx
push esi
call fcn.1000f640
add esp, 8
mov ecx, dword [ebp - 0x48]
lea eax, [edi + 0x10]
mov dword [ecx], eax
call fcn.10002910
mov eax, dword [ebp - 0x18]
add esp, 4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x1000465e
mov eax, dword [ebp - 0x24]
push 0x1002dad0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov dword [esi], eax
test eax, eax
jns 0x10004087
push eax
push str._nCannot_put_identification_info:__x
jmp 0x10003fd4
mov eax, dword [ebp - 0x24]
push str.MSI_HPET_Host
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov dword [esi], eax
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esi]
test eax, eax
jns 0x100040b1
push eax
push str._nCannot_put_identification_info:__x
jmp 0x10003fd4
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov dword [esi], eax
test eax, eax
jns 0x100040d6
push eax
push str._nCannot_get_principal_pointer:__x
jmp 0x10003fd4
push dword [esi + 4]
lea ecx, [ebp - 0x48]
call fcn.100037f0
mov byte [ebp - 4], 9
mov edx, dword [eax]
test edx, edx
je 0x100040ef
mov edx, dword [edx]
jmp 0x100040f1
xor edx, edx
mov eax, dword [ebp - 0x28]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov byte [ebp - 4], 1
mov edi, dword [ebp - 0x48]
mov dword [esi], eax
test edi, edi
je 0x1000414c
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
dec eax
jne 0x1000414c
test edi, edi
je 0x1000414c
mov eax, dword [edi]
test eax, eax
je 0x1000412a
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x10004141
push eax
call fcn.1000fedc
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.1000fe9e
add esp, 8
mov eax, dword [esi]
test eax, eax
jns 0x1000415d
push eax
push str._nCannot_put_principal_GroupId:__x
jmp 0x10003fd4
mov eax, dword [ebp - 0x28]
push 4
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dword [esi], eax
test eax, eax
jns 0x10004179
push eax
push str._nCannot_put_principal_LogonType:__x
jmp 0x10003fd4
mov eax, dword [ebp - 0x28]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov dword [esi], eax
test eax, eax
jns 0x10004195
push eax
push str._nCannot_put_principal_RunLevel:__x
jmp 0x10003fd4
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x20]
mov dword [ebp - 0x20], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov dword [esi], eax
test eax, eax
jns 0x100041ba
push eax
push str._nCannot_get_settings_pointer:__x
jmp 0x10003fd4
mov eax, dword [ebp - 0x20]
push 4
push eax
mov ecx, dword [eax]
call dword [ecx + 0x88]
mov dword [esi], eax
test eax, eax
jns 0x100041d9
push eax
push str._nCannot_get_Priority:__x
jmp 0x10003fd4
mov eax, dword [ebp - 0x20]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov dword [esi], eax
test eax, eax
jns 0x100041f5
push eax
push str._nCannot_get_Disallow_Start_If_On_Batteries:__x
jmp 0x10003fd4
mov eax, dword [ebp - 0x20]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov dword [esi], eax
test eax, eax
jns 0x10004211
push eax
push str._nCannot_get_Start_When_Available:__x
jmp 0x10003fd4
mov eax, dword [ebp - 0x20]
push 2
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dword [esi], eax
test eax, eax
jns 0x1000422d
push eax
push str._nCannot_get_Multiple_Instances:__x
jmp 0x10003fd4
mov eax, dword [ebp - 0x20]
push 0xffffffffffffffff
push eax
mov ecx, dword [eax]
call dword [ecx + 0x78]
mov dword [esi], eax
test eax, eax
jns 0x10004249
push eax
push str._nCannot_put_setting_Enabled:__x
jmp 0x10003fd4
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x34]
mov dword [ebp - 0x34], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov dword [esi], eax
test eax, eax
jns 0x1000426e
push eax
push str._nCannot_get_trigger_collection:__x
jmp 0x10003fd4
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x38]
push edx
mov dword [ebp - 0x38], 0
push 9
mov ecx, dword [eax]
push eax
call dword [ecx + 0x28]
mov dword [esi], eax
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esi]
test eax, eax
jns 0x100042a0
push eax
push str._nCannot_create_the_trigger_logon:__x
jmp 0x10003fd4
mov eax, dword [ebp - 0x38]
push 0xffffffffffffffff
push eax
mov ecx, dword [eax]
call dword [ecx + 0x4c]
mov dword [esi], eax
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esi]
test eax, eax
jns 0x100042c7
push eax
push str._nCannot_enabled_for_trigger:__x
jmp 0x10003fd4
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov dword [esi], eax
test eax, eax
jns 0x100042ec
push eax
push str._nCannot_get_Task_collection_pointer:__x
jmp 0x10003fd4
mov eax, dword [ebp - 0x3c]
lea edx, [ebp - 0x40]
push edx
mov dword [ebp - 0x40], 0
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
mov dword [esi], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esi]
test eax, eax
jns 0x1000431e
push eax
push str._nCannot_create_the_action:__x
jmp 0x10003fd4
mov eax, dword [ebp - 0x40]
lea edx, [ebp - 0x2c]
push edx
mov dword [ebp - 0x2c], 0
push str.MbLk
mov ecx, dword [eax]
push eax
call dword [ecx]
mov dword [esi], eax
mov eax, dword [ebp - 0x40]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esi]
test eax, eax
jns 0x10004352
push eax
push str._nQueryInterface_call_failed_for_IExecAction:__x
jmp 0x10003fd4
push dword [ebp + 8]
lea ecx, [ebp - 0x48]
call fcn.100037f0
mov byte [ebp - 4], 0xa
mov edx, dword [eax]
test edx, edx
je 0x1000436b
mov edx, dword [edx]
jmp 0x1000436d
xor edx, edx
mov eax, dword [ebp - 0x2c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov byte [ebp - 4], 1
mov edi, dword [ebp - 0x48]
mov dword [esi], eax
test edi, edi
je 0x100043c8
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
dec eax
jne 0x100043c8
test edi, edi
je 0x100043c8
mov eax, dword [edi]
test eax, eax
je 0x100043a6
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x100043bd
push eax
call fcn.1000fedc
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.1000fe9e
add esp, 8
mov eax, dword [esi]
test eax, eax
jns 0x100043d9
push eax
push str._nCannot_set_path_of_executable:__x
jmp 0x10003fd4
push dword [ebp + 0xc]
lea ecx, [ebp - 0x48]
call fcn.100037f0
mov byte [ebp - 4], 0xb
mov edx, dword [eax]
test edx, edx
je 0x100043f2
mov edx, dword [edx]
jmp 0x100043f4
xor edx, edx
mov eax, dword [ebp - 0x2c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov byte [ebp - 4], 1
mov edi, dword [ebp - 0x48]
mov dword [esi], eax
test edi, edi
je 0x1000444f
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
dec eax
jne 0x1000444f
test edi, edi
je 0x1000444f
mov eax, dword [edi]
test eax, eax
je 0x1000442d
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x10004444
push eax
call fcn.1000fedc
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.1000fe9e
add esp, 8
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esi]
test eax, eax
jns 0x10004469
push eax
push str._nCannot_set_Arguments_of_executable:__x
jmp 0x10003fd4
mov edi, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x6c]
push eax
mov dword [ebp - 0x30], 0
call edi
movups xmm0, xmmword [ebp - 0x6c]
lea eax, [ebp - 0x7c]
push eax
movups xmmword [ebp - 0xbc], xmm0
call edi
movups xmm0, xmmword [ebp - 0x7c]
lea eax, [ebp - 0x8c]
push eax
movups xmmword [ebp - 0xac], xmm0
call edi
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x48]
movups xmm0, xmmword [ebp - 0x8c]
push str.MSI_Task_Host
movups xmmword [ebp - 0x9c], xmm0
call fcn.10003750
mov byte [ebp - 4], 0xf
mov edi, dword [eax]
test edi, edi
je 0x100044ce
mov edi, dword [edi]
jmp 0x100044d0
xor edi, edi
movups xmm0, xmmword [ebp - 0xbc]
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x30]
push eax
sub esp, 0x10
mov eax, esp
mov edx, dword [ecx]
push 2
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0xac]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [ebp - 0x9c]
push 6
push dword [ebp - 0x14]
movups xmmword [eax], xmm0
push edi
push ecx
call dword [edx + 0x44]
mov edi, dword [ebp - 0x48]
mov dword [esi], eax
test edi, edi
je 0x10004566
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
dec eax
jne 0x1000455f
test edi, edi
je 0x1000455f
mov eax, dword [edi]
test eax, eax
je 0x1000453d
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x10004554
push eax
call fcn.1000fedc
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.1000fe9e
add esp, 8
mov dword [ebp - 0x48], 0
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x8c]
push eax
call edi
lea eax, [ebp - 0x7c]
push eax
call edi
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 1
push eax
call edi
mov eax, dword [esi]
test eax, eax
jns 0x10004596
push eax
push str._nError_saving_the_Task_:__x
jmp 0x10003fd4
mov eax, dword [ebp - 0x30]
push 0xffffffffffffffff
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, 8
mov dword [ebp - 0x44], 0
push str.MSI_Task_Host
mov word [ebp - 0x5c], ax
call fcn.1000fb80
mov dword [ebp - 0x54], eax
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x44]
mov ecx, dword [ebp - 0x30]
movups xmm0, xmmword [ebp - 0x5c]
push eax
sub esp, 0x10
mov edx, dword [ecx]
mov eax, esp
push ecx
movups xmmword [eax], xmm0
call dword [edx + 0x30]
mov dword [esi], eax
lea eax, [ebp - 0x5c]
push eax
mov byte [ebp - 4], 1
call edi
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, 1
jmp 0x10004660
push ecx
mov esi, esp
mov dword [ebp - 0x4c], esi
call fcn.1000f150
mov ecx, eax
test ecx, ecx
je 0x100046d3
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
push str.Failed_to_get_GroupName___RunExePath.
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.1000f3d0
test al, al
jne 0x10004652
push 0x25
push str.Failed_to_get_GroupName___RunExePath.
mov ecx, esi
call fcn.1000f710
mov byte [ebp - 4], 1
call fcn.10002910
add esp, 4
xor esi, esi
mov byte [ebp - 4], 0
or edi, 0xffffffff
mov edx, dword [ebp + 8]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10004681
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
lock xadd dword [eax + 0xc], edi
dec edi
test edi, edi
jg 0x100046a0
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, esi
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.1000fe6a
mov esp, ebp
pop ebp
ret 0xc
call fcn.1000e170
call fcn.1000e170
call fcn.1000e170
call fcn.1000e170
push 0x80004005
call fcn.1000f6f0
int3