Function at 0x40e527
Capabilities:
Accept command line arguments

Disassembly:
push 0x178
mov eax, 0x57dde1
call fcn.00552e4a
mov esi, ecx
mov dword [ebp - 0x124], esi
push ecx
push ecx
push 0xa1
push str.NGSetupUtils::CTaskSchedulerWrapper::Run
push 0x5fb5c0
push dword [0x5fb2cc]
lea ecx, [ebp - 0x110]
call fcn.00404d12
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x11c], ebx
mov byte [ebp - 4], 2
lea ecx, [esi + 0xc]
call fcn.00403d10
push 8
pop ecx
cmp dword [eax + 0x14], ecx
jb 0x40e581
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x128]
call fcn.0040c323
mov byte [ebp - 4], 3
mov dword [ebp - 0x118], ebx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x44]
call fcn.00404928
mov byte [ebp - 4], 5
push ecx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x98]
call fcn.0040af74
mov byte [ebp - 4], 6
push str.user
lea ecx, [ebp - 0x2c]
call fcn.0040b522
mov byte [ebp - 4], 7
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x98]
call fcn.0040b37c
neg al
sbb al, al
inc al
mov byte [ebp - 0x111], al
mov byte [ebp - 4], 6
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.0040b69c
cmp byte [ebp - 0x111], 0
je 0x40e621
push str.Could_not_get__user__from_command_line._Task_might_not_start_properly.
push 0xac
push 0x40
lea eax, [ebp - 0x110]
push eax
call fcn.00405025
add esp, 0x10
lea ecx, [ebp - 0x184]
call fcn.0040c37b
push 8
pop ebx
mov byte [ebp - 4], bl
mov esi, eax
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x174]
call fcn.0040c37b
mov byte [ebp - 4], 9
mov esi, eax
lea edi, [ebp - 0x164]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x44]
call fcn.00403d10
mov esi, eax
cmp dword [esi + 0x14], ebx
jb 0x40e667
mov esi, dword [esi]
xor eax, eax
mov word [ebp - 0x150], ax
lea eax, [ebp - 0x150]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jns 0x40e687
push eax
call fcn.0040c30b
mov word [ebp - 0x150], bx
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x148], eax
test eax, eax
jne 0x40e6ba
test esi, esi
je 0x40e6ba
push 0xa
pop eax
mov word [ebp - 0x150], ax
mov eax, 0x8007000e
mov dword [ebp - 0x148], eax
jmp 0x40e681
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x124]
mov ecx, dword [edx + 4]
mov eax, dword [ecx]
lea esi, [ebp - 0x11c]
push esi
sub esp, 0x10
lea esi, [ebp - 0x24]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 3
sub esp, 0x10
lea esi, [ebp - 0x164]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
lea esi, [ebp - 0x150]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 6
push dword [edx + 8]
mov ebx, dword [ebp - 0x128]
push ebx
push ecx
call dword [eax + 0x44]
mov esi, eax
mov dword [ebp - 0x118], esi
mov byte [ebp - 4], 9
lea eax, [ebp - 0x150]
push eax
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call edi
mov byte [ebp - 4], 8
lea eax, [ebp - 0x174]
push eax
call edi
mov byte [ebp - 4], 6
lea eax, [ebp - 0x184]
push eax
call edi
test esi, esi
jns 0x40e760
mov dword [ebp - 0x12c], str.Could_not_register_task
push 0x5ea134
lea eax, [ebp - 0x12c]
push eax
call fcn.00557576
lea ecx, [ebp - 0x164]
call fcn.0040c37b
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ecx]
push 0
sub esp, 0x10
mov esi, eax
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
call dword [edx + 0x30]
mov esi, eax
mov dword [ebp - 0x118], esi
mov byte [ebp - 4], 6
lea eax, [ebp - 0x164]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test esi, esi
jns 0x40e7bc
mov dword [ebp - 0x130], str.Failed_to_Run_the_registered_task
push 0x5ea134
lea eax, [ebp - 0x130]
jmp 0x40e75a
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax]
lea edx, [ebp - 0x120]
push edx
push eax
call dword [ecx + 0x24]
mov dword [ebp - 0x118], eax
test eax, eax
jns 0x40e7f3
mov dword [ebp - 0x134], str.Failed_to_get_the_state._Will_not_wait_for_app_to_return
push 0x5ea134
lea eax, [ebp - 0x134]
jmp 0x40e75a
mov ecx, 0x5fb8ec
mov eax, dword [0x5fb8ec]
call dword [eax + 0x28]
mov edi, eax
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [ebp - 0x120]
cmp ecx, 4
je 0x40e884
cmp byte [ebp + 0xc], 0
je 0x40e849
mov ecx, 0x5fb8ec
mov eax, dword [0x5fb8ec]
call dword [eax + 0x28]
sub eax, edi
cmp eax, 0x1388
jbe 0x40e849
mov dword [ebp - 0x138], str.Timed_out_waiting_for_task_to_start._Will_not_wait_for_app_to_return
push 0x5ea134
lea eax, [ebp - 0x138]
jmp 0x40e75a
push 0x64
call esi
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax]
lea edx, [ebp - 0x120]
push edx
push eax
call dword [ecx + 0x24]
mov dword [ebp - 0x118], eax
test eax, eax
jns 0x40e808
mov dword [ebp - 0x13c], str.Failed_to_get_the_state._Will_not_wait_for_app_to_return
push 0x5ea134
lea eax, [ebp - 0x13c]
jmp 0x40e75a
cmp byte [ebp + 8], 0
je 0x40e8d2
cmp ecx, 4
jne 0x40e8d2
push 1
call esi
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax]
lea edx, [ebp - 0x120]
push edx
push eax
call dword [ecx + 0x24]
mov dword [ebp - 0x118], eax
test eax, eax
jns 0x40e8ca
mov dword [ebp - 0x140], str.Failed_to_get_the_state._Will_not_wait_for_app_to_return
push 0x5ea134
lea eax, [ebp - 0x140]
jmp 0x40e75a
mov ecx, dword [ebp - 0x120]
jmp 0x40e88a
mov edx, dword [ebp - 0x124]
mov eax, dword [edx + 4]
mov ecx, dword [eax]
push 0
push ebx
push eax
call dword [ecx + 0x3c]
mov esi, eax
mov dword [ebp - 0x118], esi
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x98]
call fcn.0040b2c2
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x44]
call fcn.00404340
mov dword [ebp - 4], 3
jmp 0x40e94a
movzx esi, si
mov byte [ebp - 4], 2
push ebx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x11c]
test ecx, ecx
je 0x40e96c
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x110]
call fcn.00404d7b
mov eax, esi
call fcn.00552d97
ret 8