Function at 0x4ea2e0
Capabilities:
Check if file exists

Disassembly:
push 0x54
mov eax, 0x5f81af
call fcn.0059bbd7
mov esi, ecx
push 0x7530
push ecx
push 0
push 3
call fcn.004e9bfa
call fcn.004e9713
test eax, eax
je 0x4ea327
push ecx
mov ecx, esi
call fcn.004e9d4b
test al, al
jne 0x4ea327
push 0x4e20
push ecx
push 0
push 6
mov ecx, esi
call fcn.004e9bfa
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 0x4ea4af
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 0x4ea36c
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 0x4ea44e
mov dword [ebp - 4], 1
cmp dword [eax + 0x14], 8
jb 0x4ea3b7
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 0x4ea49b
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 0x4ea404
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.004e9cc4
mov eax, dword [edi]
mov ecx, edi
push 0
push 0
call dword [eax + 0x2c]
push eax
mov ecx, esi
call fcn.004e9bc7
push 1
jmp 0x4ea494
mov dword [ebp - 4], 3
cmp dword [eax + 0x14], 8
jb 0x4ea45d
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.004ea5ac
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 0x4ea33c
mov ecx, esi
call fcn.004ea635
call fcn.004ea7fb
test eax, eax
je 0x4ea4e9
push 0x1af
push str.TaskRunner::ShouldTask
push str.__s__d___ShouldTask_Update:_SUCCESS
call fcn.0040a649
add esp, 0xc
mov ecx, esi
call fcn.004ea803
mov ecx, esi
call fcn.004ea570
jmp 0x4ea56a
push 0x633d40
lea ecx, [ebp - 0x58]
call fcn.0040b0d5
lea edx, [ebp - 0x58]
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x40]
call fcn.004c9bd2
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 6
call fcn.0040b67e
call fcn.004d3f00
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.004d2526
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.0059bb81
ret