Function at 0x404a20
Capabilities:
Delete directory
Delete file
Enumerate files on windows
Move file
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa5c
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 0x14]
push esi
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0xa54], eax
mov eax, dword [0x41a00c]
mov dword [ebp - 0xa5c], eax
cmp word [edi], 0
jne 0x404a72
push 0x10
push 0x415d68
push 0x415d70
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x418], ax
lea eax, [ebp - 0x416]
push eax
call fcn.00408ec0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push eax
call fcn.00408ec0
add esp, 0x18
lea eax, [ebp - 0x418]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x415e90
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0
push 0
push 0
lea eax, [ebp - 0xa50]
push eax
push 0
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileExW]
mov dword [ebp - 0xa58], eax
cmp eax, 0xffffffff
jne 0x404b07
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004057df
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpW]
lea ecx, [ecx]
test byte [ebp - 0xa50], 0x10
lea eax, [ebp - 0xa24]
push 0x415e98
push eax
jne 0x404c33
call esi
test eax, eax
je 0x404cc7
push 0x415e9c
lea eax, [ebp - 0xa24]
push eax
call esi
test eax, eax
je 0x404cc7
lea eax, [ebp - 0xa24]
push eax
push 0x4156d4
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
jne 0x404cc7
push 0x208
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.00408ec0
add esp, 0xc
lea eax, [ebp - 0x210]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x415910
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0xa24]
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
cmp dword [ebp - 0xa54], 0
je 0x404c09
test ebx, ebx
je 0x404c09
xor eax, eax
push 0x3e6
push eax
mov word [ebp - 0x800], ax
lea eax, [ebp - 0x7fe]
push eax
call fcn.00408ec0
lea eax, [ebp - 0xa24]
push eax
lea eax, [ebp - 0x800]
push str.ck_W_Rd
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
lea eax, [ebp - 0x800]
push eax
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov ecx, dword [ebp - 0xa54]
call fcn.00404680
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x404cc7
push 4
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
jmp 0x404cc7
call esi
test eax, eax
je 0x404cc7
push 0x415e9c
lea eax, [ebp - 0xa24]
push eax
call esi
test eax, eax
je 0x404cc7
lea eax, [ebp - 0xa24]
push eax
push 0x4156d4
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
jne 0x404cc7
push 0x208
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.00408ec0
add esp, 0xc
lea eax, [ebp - 0x210]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x415910
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0xa24]
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov ecx, dword [ebp - 0xa5c]
lea eax, [ebp - 0x210]
push ebx
push dword [ebp - 0xa54]
push eax
call fcn.00404730
lea eax, [ebp - 0xa50]
push eax
push dword [ebp - 0xa58]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x404b10
push dword [ebp - 0xa58]
call dword [sym.imp.KERNEL32.dll_FindClose]
push edi
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov ecx, dword [ebp - 4]
cmp eax, 1
pop edi
sete al
xor ecx, ebp
pop esi
pop ebx
call fcn.004057df
mov esp, ebp
pop ebp
ret 0x10