Function at 0x410dea
Capabilities:
Check if file exists
Delete directory
Delete file
Enumerate files on windows
Get common file path
Get file attributes
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb0c
mov eax, dword [0x437084]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x42e64c
mov esi, 0x43a948
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x4111ea
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push esi
lea eax, [ebp - 0x428]
push eax
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x42fd2c
lea eax, [ebp - 0x428]
push eax
call ebx
lea eax, [ebp - 0xb00]
push eax
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0xb04], eax
cmp eax, 0xffffffff
je 0x411097
lea eax, [ebp - 0xad4]
push eax
push esi
push 0x42ea24
lea eax, [ebp - 0x110]
push 0x104
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x14
test byte [ebp - 0xb00], 0x10
jne 0x410ea6
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp eax, 1
je 0x41107c
jmp 0x41106b
cmp byte [ebp - 0xad4], 0x2e
je 0x41107c
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x638]
push eax
call edi
push str..
lea eax, [ebp - 0x638]
push eax
call ebx
lea eax, [ebp - 0x9c0]
push eax
lea eax, [ebp - 0x638]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0xb0c], eax
cmp eax, 0xffffffff
je 0x411048
lea eax, [ebp - 0x994]
push eax
lea eax, [ebp - 0x110]
push eax
push str._s_s
lea eax, [ebp - 0x218]
push 0x104
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x14
test byte [ebp - 0x9c0], 0x10
jne 0x410f40
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp eax, 1
je 0x41102d
jmp 0x41101c
cmp byte [ebp - 0x994], 0x2e
je 0x41102d
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x530]
push eax
call edi
push str..
lea eax, [ebp - 0x530]
push eax
call ebx
lea eax, [ebp - 0x880]
push eax
lea eax, [ebp - 0x530]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0xb08], eax
cmp eax, 0xffffffff
je 0x41102d
lea eax, [ebp - 0x854]
push eax
lea eax, [ebp - 0x218]
push eax
push str._s_s
lea eax, [ebp - 0x740]
push 0x104
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x14
test byte [ebp - 0x880], 0x10
jne 0x410fe2
lea eax, [ebp - 0x740]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp eax, 1
je 0x410fe2
push 5
push 0
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
lea eax, [ebp - 0x880]
push eax
push dword [ebp - 0xb08]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x410f8e
push dword [ebp - 0xb08]
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
jne 0x41102d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 5
push 0
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
lea eax, [ebp - 0x9c0]
push eax
push dword [ebp - 0xb0c]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x410ef4
push dword [ebp - 0xb0c]
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
jne 0x41107c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 5
push 0
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
lea eax, [ebp - 0xb00]
push eax
push dword [ebp - 0xb04]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x410e60
push dword [ebp - 0xb04]
call dword [sym.imp.KERNEL32.dll_FindClose]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, esi
push esi
mov byte [eax + ecx - 1], 0
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
jne 0x4110c6
push 5
push eax
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
mov esi, 0x103
push esi
lea eax, [ebp - 0x31f]
push 0
push eax
mov byte [ebp - 0x320], 0
call fcn.0041b1d0
add esp, 0xc
lea eax, [ebp - 0x320]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
je 0x4111ea
push esi
lea eax, [ebp - 0x217]
push 0
push eax
mov byte [ebp - 0x218], 0
call fcn.0041b1d0
add esp, 0xc
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x218]
push eax
call edi
push str.wbk.tmp
lea eax, [ebp - 0x218]
push eax
call ebx
lea eax, [ebp - 0x880]
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x4111e3
lea eax, [ebp - 0x854]
push eax
lea eax, [ebp - 0x320]
push eax
push 0x42ea24
lea eax, [ebp - 0x110]
push 0x104
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x14
lea eax, [ebp - 0x87c]
push eax
push 0x43a8b8
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 0xffffffff
lea eax, [ebp - 0x110]
push eax
sete bl
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0x10
je 0x4111cd
test bl, bl
je 0x4111cd
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp eax, 1
jne 0x4111cd
push 5
push 0
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
lea eax, [ebp - 0x880]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x411154
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00416782
leave
ret