Function at 0x4e2524
Capabilities:
Check if file exists

Disassembly:
push 0x54
mov eax, 0x5ef251
call fcn.00593b07
mov esi, ecx
push 0x7530
push ecx
push 0
push 3
call fcn.004e1e3e
call fcn.004e1957
test eax, eax
je 0x4e256b
push ecx
mov ecx, esi
call fcn.004e1f8f
test al, al
jne 0x4e256b
push 0x4e20
push ecx
push 0
push 6
mov ecx, esi
call fcn.004e1e3e
mov byte [esi + 0x78], 1
mov eax, dword [esi + 0x64]
xor ebx, ebx
mov ecx, dword [esi + 0x60]
sub eax, ecx
sar eax, 2
test eax, eax
je 0x4e26f3
mov edi, dword [ecx + ebx*4]
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 8]
mov edx, dword [edi]
mov cl, al
xor eax, eax
mov byte [ebp - 0x59], cl
test cl, cl
mov ecx, edi
setne al
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x28]
push eax
call dword [edx + 4]
and dword [ebp - 4], 0
cmp dword [eax + 0x14], 8
jb 0x4e25b0
mov eax, dword [eax]
push dword [ebp - 0x60]
push eax
push 0x198
push str.TaskRunner::ShouldTask
push str.__s__d____s_:__d
call fcn.0040a649
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
add esp, 0x14
call fcn.0040b67e
mov eax, dword [edi]
lea ecx, [ebp - 0x28]
push ecx
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0x59], 0
je 0x4e2692
mov dword [ebp - 4], 1
cmp dword [eax + 0x14], 8
jb 0x4e25fb
mov eax, dword [eax]
push eax
push 0x19b
push str.TaskRunner::ShouldTask
push str.__s__d____s_task_enable__check_running
call fcn.0040a649
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
add esp, 0x10
call fcn.0040b67e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1c]
test al, al
jne 0x4e26df
mov eax, dword [edi]
lea ecx, [ebp - 0x28]
push ecx
mov ecx, edi
call dword [eax + 4]
mov dword [ebp - 4], 2
cmp dword [eax + 0x14], 8
jb 0x4e2648
mov eax, dword [eax]
push eax
push 0x19e
push str.TaskRunner::ShouldTask
push str.__s__d____s_task_start_running
call fcn.0040a649
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
add esp, 0x10
call fcn.0040b67e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x28]
push eax
mov ecx, esi
call fcn.004e1f08
mov eax, dword [edi]
mov ecx, edi
push 0
push 0
call dword [eax + 0x2c]
push eax
mov ecx, esi
call fcn.004e1e0b
push 1
jmp 0x4e26d8
mov dword [ebp - 4], 3
cmp dword [eax + 0x14], 8
jb 0x4e26a1
mov eax, dword [eax]
push eax
push 0x1a5
push str.TaskRunner::ShouldTask
push str.__s__d____s_task_unenable_del_task
call fcn.0040a649
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
add esp, 0x10
call fcn.0040b67e
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x28]
push eax
mov ecx, esi
call fcn.004e27f0
push 0
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x20]
mov eax, dword [esi + 0x64]
inc ebx
mov ecx, dword [esi + 0x60]
sub eax, ecx
sar eax, 2
cmp ebx, eax
jb 0x4e2580
mov ecx, esi
call fcn.004e2879
call fcn.004e2a3f
test eax, eax
je 0x4e272d
push 0x1af
push str.TaskRunner::ShouldTask
push str.__s__d___ShouldTask_Update:_SUCCESS
call fcn.0040a649
add esp, 0xc
mov ecx, esi
call fcn.004e2a47
mov ecx, esi
call fcn.004e27b4
jmp 0x4e27ae
push 0x62abf0
lea ecx, [ebp - 0x58]
call fcn.0040b0d5
lea edx, [ebp - 0x58]
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x40]
call fcn.004c240b
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 6
call fcn.0040b67e
call fcn.004cbfc8
test eax, eax
lea eax, [ebp - 0x40]
setne bl
cmp dword [ebp - 0x2c], 8
cmovae eax, dword [ebp - 0x40]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov esi, eax
call fcn.004ca5ee
xor ecx, ecx
test eax, eax
setne cl
push ecx
movzx ecx, bl
push ecx
xor ecx, ecx
test esi, esi
setne cl
push ecx
push 0x1b8
push str.TaskRunner::ShouldTask
push str.__s__d___bHasSe___d_bHasWs___d_bHasHb__d
call fcn.0040a649
add esp, 0x18
lea ecx, [ebp - 0x40]
call fcn.0040b67e
call fcn.00593ab1
ret