Function at 0x40f970
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push 0x3e8
push dword [ebx + 0x48]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x40f9b5
mov esi, dword [ebp + 0xc]
push 0x4153b9
call fcn.004099a2
lea eax, [ebp + 0x10]
call fcn.00409a00
lea eax, [ebp + 0x20]
call fcn.00409a00
mov eax, esi
jmp 0x40fdb4
lea esi, [esp + 0x20]
call fcn.0040993c
mov eax, str.Clear
lea edi, [ebp + 0x10]
call fcn.00409b1a
test al, al
je 0x40fa11
lea eax, [ebx + 0x30]
push eax
call fcn.0040ffe2
and dword [ebx + 0x3c], 0
push str.task.xml
lea esi, [esp + 0x34]
call fcn.004099a2
lea eax, [ebx + 4]
push eax
lea eax, [esp + 0x14]
call fcn.0040996d
mov edi, esi
lea esi, [esp + 0x10]
call fcn.00409c0b
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x40fb6a
mov eax, str.AddTask
lea edi, [ebp + 0x10]
call fcn.00409b1a
test al, al
je 0x40fab7
push 4
call fcn.004095ce
xor edi, edi
pop ecx
cmp eax, edi
je 0x40fa38
mov dword [eax], edi
mov edi, eax
mov eax, dword [ebp + 0x20]
mov ebx, edi
call fcn.0040efc9
push dword [edi]
call fcn.0040d4cb
pop ecx
mov dword [esp + 0xc], eax
call fcn.004089d4
push dword [esp + 0xc]
mov ebx, dword [ebp + 8]
lea eax, [esp + 0x34]
push eax
call fcn.0040f54a
lea esi, [esp + 0x20]
call fcn.00409bba
lea eax, [esp + 0x30]
call fcn.00409a00
push str.task.xml
lea esi, [esp + 0x34]
call fcn.004099a2
add ebx, 4
push ebx
lea eax, [esp + 0x14]
call fcn.0040996d
mov edi, esi
lea esi, [esp + 0x10]
call fcn.00409c0b
push dword [esp + 0x10]
push dword [esp + 0x10]
call fcn.0040d7b6
mov eax, esi
call fcn.00409a00
mov eax, edi
jmp 0x40fd7a
mov eax, str.EnableTask
lea edi, [ebp + 0x10]
call fcn.00409b1a
test al, al
je 0x40fafa
sub esp, 0x10
lea ecx, [ebp + 0x20]
mov eax, esp
push ecx
call fcn.0040996d
mov eax, ebx
call fcn.0040f5e3
mov esi, eax
mov dword [esp + 0xc], esi
test esi, esi
je 0x40fd82
call fcn.0040d14d
test al, al
je 0x40fb37
mov byte [esi + 4], 1
jmp 0x40fb37
mov eax, str.DisableTask
lea edi, [ebp + 0x10]
call fcn.00409b1a
test al, al
je 0x40fb81
sub esp, 0x10
lea ecx, [ebp + 0x20]
mov eax, esp
push ecx
call fcn.0040996d
mov eax, ebx
call fcn.0040f5e3
mov dword [esp + 0xc], eax
test eax, eax
je 0x40fd82
mov esi, eax
mov byte [eax + 4], 0
call fcn.0040d1af
push str.task.xml
lea esi, [esp + 0x34]
call fcn.004099a2
lea eax, [ebx + 4]
push eax
lea eax, [esp + 0x14]
call fcn.0040996d
mov edi, esi
lea esi, [esp + 0x10]
call fcn.00409c0b
push dword [esp + 0x10]
push dword [esp + 0x10]
call fcn.0040d7b6
lea eax, [esp + 0x10]
call fcn.00409a00
lea eax, [esp + 0x30]
call fcn.00409a00
jmp 0x40fd82
mov eax, str.SkipWarnRun
lea edi, [ebp + 0x10]
call fcn.00409b1a
test al, al
je 0x40fbb5
sub esp, 0x10
lea ecx, [ebp + 0x20]
mov eax, esp
push ecx
call fcn.0040996d
mov eax, ebx
call fcn.0040f5e3
test eax, eax
je 0x40fd82
mov byte [eax + 6], 1
jmp 0x40fbe7
mov eax, str.SkipWarnCancel
lea edi, [ebp + 0x10]
call fcn.00409b1a
test al, al
je 0x40fbf8
sub esp, 0x10
lea ecx, [ebp + 0x20]
mov eax, esp
push ecx
call fcn.0040996d
mov eax, ebx
call fcn.0040f5e3
test eax, eax
je 0x40fd82
mov byte [eax + 6], 0
push dword [eax + 0x9c]
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp 0x40fd82
mov eax, 0x417554
lea edi, [ebp + 0x10]
call fcn.00409b1a
test al, al
je 0x40fc73
push 0x2c
pop esi
lea eax, [ebp + 0x20]
call fcn.00409dc2
lea ecx, [esp + 0x10]
push ecx
lea ecx, [ebp + 0x20]
push ecx
xor ebx, ebx
call fcn.00409e2c
mov ecx, dword [esp + 0x18]
mov eax, dword [ebp + 0x28]
sub eax, ecx
lea ebx, [ecx + 1]
lea ecx, [esp + 0x30]
push ecx
lea ecx, [ebp + 0x20]
dec eax
push ecx
call fcn.00409e2c
sub esp, 0x10
lea ecx, [esp + 0x20]
mov eax, esp
push ecx
call fcn.0040996d
mov eax, dword [ebp + 8]
call fcn.0040f5e3
sub esp, 0x10
mov esi, eax
lea ecx, [esp + 0x40]
mov eax, esp
push ecx
call fcn.0040996d
mov eax, esi
call fcn.0040d0f5
jmp 0x40fd6d
mov eax, str.RunTask
lea edi, [ebp + 0x10]
call fcn.00409b1a
test al, al
je 0x40fcad
sub esp, 0x10
lea ecx, [ebp + 0x20]
mov eax, esp
push ecx
call fcn.0040996d
mov eax, ebx
call fcn.0040f5e3
test eax, eax
je 0x40fd82
mov edi, eax
call fcn.0040d338
jmp 0x40fd82
mov eax, str.ExecuteAction
lea edi, [ebp + 0x10]
call fcn.00409b1a
test al, al
je 0x40fd82
push 4
call fcn.004095ce
xor edi, edi
pop ecx
cmp eax, edi
je 0x40fcd4
mov dword [eax], edi
mov edi, eax
mov eax, dword [ebp + 0x20]
mov ebx, edi
call fcn.0040efc9
push dword [edi]
call fcn.0040cb77
pop ecx
mov esi, eax
call fcn.004089d4
test esi, esi
je 0x40fd7f
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x40]
test eax, eax
je 0x40fd03
push esi
call eax
pop ecx
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
test al, al
jne 0x40fd7f
mov eax, dword [ebp + 8]
cmp dword [eax + 0x44], 0
je 0x40fd7f
lea eax, [esp + 0x10]
call fcn.0040c020
mov edi, eax
mov eax, dword [esi + 4]
push dword [eax + 0xc]
lea esi, [esp + 0x34]
call fcn.004099a2
sub esp, 0x10
mov esi, edi
mov ebx, esp
sub esp, 0x10
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
mov edi, esp
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
movsd dword es:[edi], dword [esi]
mov esi, esp
push str.Failed_to_execute_action_0:_1
call fcn.004099a2
mov eax, ebx
call fcn.00409fa8
mov eax, dword [ebp + 8]
add esp, 0x30
call dword [eax + 0x44]
add esp, 0x10
lea eax, [esp + 0x30]
call fcn.00409a00
lea eax, [esp + 0x10]
call fcn.00409a00
mov ebx, dword [ebp + 8]
push dword [ebx + 0x48]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
lea eax, [esp + 0x20]
push eax
mov eax, dword [ebp + 0xc]
call fcn.0040996d
lea eax, [esp + 0x20]
call fcn.00409a00
lea eax, [ebp + 0x10]
call fcn.00409a00
lea eax, [ebp + 0x20]
call fcn.00409a00
mov eax, dword [ebp + 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x28