Function at 0x40e70a
Capabilities:
Delete directory
Delete file
Enumerate files on windows
Enumerate files recursively
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x260
mov eax, dword [0x42f080]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, 0x103
push edi
lea eax, [ebp - 0x113]
push 0
push eax
mov dword [ebp - 0x25c], ebx
mov byte [ebp - 0x114], 0
call fcn.00414930
and dword [ebp - 0x260], 0
add esp, 0xc
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 0x10
jne 0x40e777
push 0x80
push ebx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
neg eax
sbb eax, eax
neg eax
jmp 0x40e946
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push ebx
call esi
test eax, eax
jne 0x40e78b
xor eax, eax
jmp 0x40e946
push ebx
call esi
cmp eax, 0xff
jbe 0x40e79f
push 0x6f
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x40e784
push edi
lea eax, [ebp - 0x114]
push ebx
push eax
call fcn.00412db0
add esp, 0xc
lea eax, [ebp - 0x114]
push 0x5c
push eax
call fcn.004143f0
pop ecx
mov dword [ebp - 0x258], eax
pop ecx
lea eax, [ebp - 0x114]
push eax
call esi
lea eax, [ebp + eax - 0x114]
cmp dword [ebp - 0x258], eax
je 0x40e7f1
lea eax, [ebp - 0x114]
push 0x42ac40
push eax
call fcn.0040ebc7
pop ecx
pop ecx
lea eax, [ebp - 0x114]
push 0x42b664
push eax
call fcn.0040ebc7
pop ecx
pop ecx
lea eax, [ebp - 0x254]
push eax
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x258], eax
cmp eax, 0xffffffff
jne 0x40e82e
jmp 0x40e784
mov ebx, dword [ebp - 0x25c]
push edi
lea eax, [ebp - 0x114]
push ebx
push eax
call fcn.00412db0
add esp, 0xc
lea eax, [ebp - 0x228]
push eax
call esi
mov ebx, eax
lea eax, [ebp - 0x114]
push eax
call esi
add ebx, eax
cmp ebx, edi
ja 0x40e880
lea eax, [ebp - 0x114]
push 0x42ac40
push eax
call fcn.0040ebc7
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x114]
push eax
call fcn.0040ebc7
add esp, 0x10
test byte [ebp - 0x254], 0x10
je 0x40e8b7
cmp byte [ebp - 0x228], 0x2e
je 0x40e8dc
cmp dword [ebp + 0xc], 0
je 0x40e8dc
push dword [ebp + 0x10]
lea eax, [ebp - 0x114]
push dword [ebp + 0xc]
push eax
call fcn.0040e70a
add esp, 0xc
test eax, eax
je 0x40e784
jmp 0x40e8dc
push 0x80
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
cmp dword [ebp + 0x10], 0
jne 0x40e8dc
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x254]
push eax
push dword [ebp - 0x258]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x40e908
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
jne 0x40e955
mov dword [ebp - 0x260], 1
cmp dword [ebp - 0x260], 0
je 0x40e828
push dword [ebp - 0x258]
call dword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
je 0x40e784
push 0x80
push dword [ebp - 0x25c]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push dword [ebp - 0x25c]
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00411d8c
leave
ret
push dword [ebp - 0x258]
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x40e784