Function at 0x408f00
Capabilities:
Check if file exists
Delete file
Set file attributes
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x41c
mov eax, dword [0x460df4]
xor eax, esp
mov dword [esp + 0x418], eax
push ebx
mov ebx, ecx
push esi
mov dword [ebx + 0xcc], 0
mov esi, dword [ebx + 0xe8]
cmp esi, dword [ebx + 0xec]
push edi
mov dword [esp + 0xc], ebx
jbe 0x408f40
call fcn.0043364c
mov edi, esi
mov dword [esp + 0x14], edi
jmp 0x408f50
mov esi, dword [ebx + 0xec]
add ebx, 0xe4
cmp dword [ebx + 4], esi
jbe 0x408f66
call fcn.0043364c
test ebx, ebx
je 0x408f6e
cmp ebx, ebx
je 0x408f73
call fcn.0043364c
cmp edi, esi
je 0x409165
test ebx, ebx
jne 0x408f84
call fcn.0043364c
cmp edi, dword [ebx + 8]
jb 0x408f8e
call fcn.0043364c
mov eax, dword [edi + 4]
mov esi, dword [eax]
mov ebx, edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], esi
lea ecx, [ecx]
mov eax, dword [esp + 0xc]
add eax, 0xe4
cmp edi, dword [eax + 8]
jb 0x408fb3
call fcn.0043364c
test ebx, ebx
mov edi, dword [edi + 4]
je 0x408fc0
cmp ebx, dword [esp + 0x14]
je 0x408fc5
call fcn.0043364c
cmp esi, edi
je 0x409135
test ebx, ebx
jne 0x408fd6
call fcn.0043364c
cmp esi, dword [ebx + 4]
jne 0x408fe0
call fcn.0043364c
mov edi, 0x10
cmp dword [esi + 0x28], edi
jb 0x408fef
mov eax, dword [esi + 0x14]
jmp 0x408ff2
lea eax, [esi + 0x14]
test eax, eax
je 0x40911b
cmp esi, dword [ebx + 4]
jne 0x409004
call fcn.0043364c
cmp dword [esi + 0x28], edi
jb 0x40900e
mov edx, dword [esi + 0x14]
jmp 0x409011
lea edx, [esi + 0x14]
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x409016
sub eax, edi
mov edi, dword [esp + 0xc]
push eax
push edx
lea ecx, [edi + 0x78]
call fcn.00402e40
mov eax, dword [edi]
test eax, eax
je 0x40904a
mov ecx, dword [edi + 0xc0]
push 0
push ecx
push 0x4401
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp esi, dword [ebx + 4]
jne 0x409054
call fcn.0043364c
cmp dword [esi + 0x28], 0x10
jb 0x40905f
mov eax, dword [esi + 0x14]
jmp 0x409062
lea eax, [esi + 0x14]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x409113
cmp esi, dword [ebx + 4]
jne 0x40907b
call fcn.0043364c
cmp dword [esi + 0x28], 0x10
jb 0x409086
mov eax, dword [esi + 0x14]
jmp 0x409089
lea eax, [esi + 0x14]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
je 0x4090bc
cmp esi, dword [ebx + 4]
jne 0x4090a3
call fcn.0043364c
cmp dword [esi + 0x28], 0x10
jb 0x4090ae
mov eax, dword [esi + 0x14]
jmp 0x4090b1
lea eax, [esi + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x409113
cmp esi, dword [ebx + 4]
jne 0x4090c6
call fcn.0043364c
cmp dword [esi + 0x28], 0x10
jb 0x4090d1
mov esi, dword [esi + 0x14]
jmp 0x4090d4
add esi, 0x14
push esi
lea edx, [esp + 0x24]
push str.Can_not_delete:__s_n
push edx
call fcn.004340f9
lea eax, [esp + 0x2c]
add esp, 0xc
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4090f0
mov ecx, dword [edi + 4]
sub eax, edx
test ecx, ecx
je 0x409113
push ecx
push eax
lea eax, [esp + 0x28]
push 1
push eax
call fcn.00433a0b
add esp, 0x10
push 0x12
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [esp + 0x18]
call fcn.00407f80
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
jmp 0x408fa0
mov eax, dword [esp + 0xc]
add dword [eax + 0xcc], 1
mov ecx, dword [esp + 0x14]
add eax, 0xe4
cmp ecx, dword [eax + 8]
jb 0x409153
call fcn.0043364c
add dword [esp + 0x14], 0xc
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
jmp 0x408f50
mov ecx, dword [esp + 0x424]
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 1
call fcn.00432bb9
mov esp, ebp
pop ebp
ret 4