Function at 0x4e0a31
Capabilities:
Check if file exists

Disassembly:
push 0x54
mov eax, 0x5ed41b
call fcn.00592017
mov esi, ecx
push 0x7530
push ecx
push 0
push 3
call fcn.004e034b
call fcn.004dfe64
test eax, eax
je 0x4e0a78
push ecx
mov ecx, esi
call fcn.004e049c
test al, al
jne 0x4e0a78
push 0x4e20
push ecx
push 0
push 6
mov ecx, esi
call fcn.004e034b
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 0x4e0c00
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 0x4e0abd
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.0040b67b
mov eax, dword [edi]
lea ecx, [ebp - 0x28]
push ecx
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0x59], 0
je 0x4e0b9f
mov dword [ebp - 4], 1
cmp dword [eax + 0x14], 8
jb 0x4e0b08
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.0040b67b
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1c]
test al, al
jne 0x4e0bec
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 0x4e0b55
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.0040b67b
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x28]
push eax
mov ecx, esi
call fcn.004e0415
mov eax, dword [edi]
mov ecx, edi
push 0
push 0
call dword [eax + 0x2c]
push eax
mov ecx, esi
call fcn.004e0318
push 1
jmp 0x4e0be5
mov dword [ebp - 4], 3
cmp dword [eax + 0x14], 8
jb 0x4e0bae
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.0040b67b
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x28]
push eax
mov ecx, esi
call fcn.004e0cfd
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 0x4e0a8d
mov ecx, esi
call fcn.004e0d86
call fcn.004e0f4c
test eax, eax
je 0x4e0c3a
push 0x1af
push str.TaskRunner::ShouldTask
push str.__s__d___ShouldTask_Update:_SUCCESS
call fcn.0040a649
add esp, 0xc
mov ecx, esi
call fcn.004e0f54
mov ecx, esi
call fcn.004e0cc1
jmp 0x4e0cbb
push 0x628bf8
lea ecx, [ebp - 0x58]
call fcn.0040b0d5
lea edx, [ebp - 0x58]
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x40]
call fcn.004c0cd4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 6
call fcn.0040b67b
call fcn.004ca500
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.004c8b26
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.0040b67b
call fcn.00591fc1
ret