Function at 0x40dd23
Capabilities:
Check if file exists
Delete file

Disassembly:
push 0xb4
mov eax, 0x41d0a5
call fcn.0041bcbb
and dword [ebp - 0xa4], 0
mov edi, ecx
lea esi, [edi + 0x3f4]
cmp dword [esi], 0
mov dword [ebp - 0xac], edi
mov dword [ebp - 0xb8], esi
je 0x40e045
mov eax, dword [edi + 0x3e4]
mov ebx, dword [eax]
mov dword [ebp - 0xa8], ebx
cmp ebx, eax
je 0x40e045
jmp 0x40dd74
mov ebx, dword [ebp - 0xa8]
cmp dword [ebx + 0x7c], 0
jne 0x40e031
cmp dword [esi], 2
push dword [ebx + 8]
je 0x40e029
call fcn.0040f6a6
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x40e026
mov ecx, 0xfde9
push ecx
lea ecx, [ebp - 0x2c]
add eax, 0x3c
push ecx
call fcn.0040245c
pop ecx
pop ecx
mov esi, eax
and dword [ebp - 4], 0
lea eax, [ebp - 0x80]
push eax
call fcn.0040e21a
mov ecx, eax
mov eax, esi
lea edi, [ebp - 0x9c]
mov byte [ebp - 4], 1
call fcn.0040e987
lea ecx, [ebx + 0x28]
mov ebx, eax
mov eax, ecx
mov byte [ebp - 4], 2
mov dword [ebp - 0xbc], ecx
call fcn.00402762
push 1
xor edi, edi
lea esi, [ebp - 0x9c]
call fcn.00401953
push 1
lea esi, [ebp - 0x80]
call fcn.00401953
or dword [ebp - 4], 0xffffffff
push 1
lea esi, [ebp - 0x2c]
call fcn.00401953
mov esi, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0xb0]
push 0xffffffffffffffff
lea edi, [esi + 0x60]
push 0
lea eax, [ebx + 4]
mov dword [ebp - 0xb4], edi
call fcn.00401cba
mov eax, 0xfde9
push eax
lea ecx, [ebp - 0x2c]
lea eax, [ebx + 0x58]
push ecx
call fcn.0040245c
pop ecx
pop ecx
mov ebx, eax
lea eax, [esi + 0x44]
mov dword [ebp - 4], 3
call fcn.00402762
or dword [ebp - 4], 0xffffffff
push 1
xor edi, edi
lea esi, [ebp - 0x2c]
call fcn.00401953
mov ebx, dword [ebp - 0xa8]
xor esi, esi
push edi
push dword [ebx + 8]
inc esi
mov dword [ebx + 0x7c], esi
call fcn.0040ce86
push esi
push dword [ebx + 8]
call fcn.0040ce41
lea edi, [ebx + 0x28]
add esp, 0x10
cmp dword [edi + 0x14], 8
jb 0x40de94
mov eax, dword [edi]
jmp 0x40de96
mov eax, edi
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x40df03
mov eax, dword [ebp - 0xb0]
add eax, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x40deb2
mov eax, dword [eax]
push eax
lea esi, [ebp - 0x48]
call fcn.004022eb
mov dword [ebp - 4], 4
or dword [ebp - 0xa4], 1
cmp dword [edi + 0x14], 8
jb 0x40ded1
mov edi, dword [edi]
push edi
lea esi, [ebp - 0x64]
call fcn.00401798
mov dword [ebp - 4], 5
or dword [ebp - 0xa4], 2
lea ebx, [ebp - 0x48]
mov edx, esi
call fcn.00402d93
mov ebx, dword [ebp - 0xa8]
mov byte [ebp - 0x9d], 1
test al, al
jne 0x40df0a
mov byte [ebp - 0x9d], 0
test byte [ebp - 0xa4], 2
je 0x40df26
and dword [ebp - 0xa4], 0xfffffffd
push 1
xor edi, edi
lea esi, [ebp - 0x64]
call fcn.00401953
or dword [ebp - 4], 0xffffffff
test byte [ebp - 0xa4], 1
je 0x40df46
and dword [ebp - 0xa4], 0xfffffffe
push 1
xor edi, edi
lea esi, [ebp - 0x48]
call fcn.00401d93
cmp byte [ebp - 0x9d], 0
je 0x40df87
lea ecx, [ebx + 0xc]
mov ebx, dword [ebx + 8]
push str.dl_success
mov esi, str.cache_found
call fcn.00405d10
mov esi, dword [ebp - 0xa8]
pop ecx
push 0x64
push dword [esi + 8]
call fcn.0040ce86
pop ecx
pop ecx
push dword [esi + 8]
push dword [ebp - 0xac]
call fcn.0040e29b
jmp 0x40dffe
mov edi, dword [ebp - 0xbc]
cmp dword [edi + 0x14], 8
jb 0x40df97
mov eax, dword [edi]
jmp 0x40df99
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebx + 0xc]
mov ebx, dword [ebx + 8]
push str.dl_start
mov esi, 0x4220a0
call fcn.00405d10
mov eax, dword [ebp - 0xb0]
pop ecx
mov ecx, dword [ebp - 0xac]
add eax, 0x20
cmp dword [eax + 0x14], 0x10
lea esi, [ecx + 0x24]
jb 0x40dfd0
mov eax, dword [eax]
cmp dword [edi + 0x14], 8
jb 0x40dfd8
mov edi, dword [edi]
mov edx, dword [ebp - 0xb4]
cmp dword [edx + 0x14], 0x10
jb 0x40dfe6
mov edx, dword [edx]
mov ecx, dword [ecx + 0x3e0]
mov ebx, dword [ecx]
push esi
mov esi, dword [ebp - 0xa8]
push dword [esi + 8]
push eax
push edi
push edx
call dword [ebx + 8]
mov eax, dword [ebp - 0xac]
push 0x202
push dword [eax + 4]
call dword [sym.imp.USER32.dll_KillTimer]
mov ebx, dword [ebp - 0xa8]
mov edi, dword [ebp - 0xac]
mov esi, dword [ebp - 0xb8]
jmp 0x40e031
push dword [ebx + 8]
lea ecx, [edi + 0x24]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ebx, dword [ebx]
mov dword [ebp - 0xa8], ebx
cmp ebx, dword [edi + 0x3e4]
jne 0x40dd6e
call fcn.0041bd05
ret