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

Disassembly:
push 0x2d8
mov eax, 0x450155
call fcn.00434d46
mov eax, dword [ebp + 8]
push dword [eax]
lea eax, [ebp - 0x2dc]
push eax
call fcn.0040890f
xor edi, edi
push 7
mov dword [ebp - 4], edi
pop eax
xor ecx, ecx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], edi
mov word [ebp - 0x64], cx
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x1c], edi
mov word [ebp - 0x2c], ax
lea eax, [ebp - 0x2dc]
mov byte [ebp - 4], 2
call fcn.004100cf
lea esi, [ebp - 0x2dc]
call fcn.00408a26
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00408f0a
push dword [ebp - 0x2dc]
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x40ef4d
mov bl, 1
push edi
push 1
lea esi, [ebp - 0x30]
call fcn.00408f92
push edi
push 1
lea esi, [ebp - 0x68]
call fcn.00408f92
mov eax, dword [ebp - 0x2dc]
add eax, 0xfffffff0
call fcn.0040117e
mov al, bl
call fcn.00434dc9
ret
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x40ef59
lea eax, [ebp - 0x2c]
push edi
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsSystemFolderW]
test eax, eax
je 0x40ef69
xor bl, bl
jmp 0x40ef21
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x68]
call fcn.00408e7e
push 0x459d98
lea eax, [ebp - 0x68]
push eax
call fcn.00408e55
push 0x24c
lea eax, [ebp - 0x2b8]
push edi
push eax
mov dword [ebp - 0x2bc], edi
call fcn.004345b0
mov eax, dword [ebp - 0x64]
add esp, 0xc
cmp dword [ebp - 0x50], 8
jae 0x40efac
lea eax, [ebp - 0x64]
lea ecx, [ebp - 0x2bc]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x2e4], eax
cmp eax, 0xffffffff
je 0x40ef65
push 4
pop ebx
push ebx
call fcn.00431a4a
pop ecx
cmp eax, edi
je 0x40efdd
lea ecx, [ebp - 0x2d4]
mov dword [eax], ecx
jmp 0x40efdf
xor eax, eax
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2c8], edi
mov dword [ebp - 0x2c4], edi
mov dword [ebp - 0x2c0], edi
mov byte [ebp - 4], 4
mov ecx, 0x459da0
lea eax, [ebp - 0x290]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40f02a
cmp dx, di
je 0x40f026
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40f02a
add eax, ebx
add ecx, ebx
cmp dx, di
jne 0x40f006
xor eax, eax
jmp 0x40f02f
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x40f112
mov ecx, 0x459da4
lea eax, [ebp - 0x290]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40f066
cmp dx, di
je 0x40f062
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40f066
add eax, ebx
add ecx, ebx
cmp dx, di
jne 0x40f042
xor eax, eax
jmp 0x40f06b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x40f112
lea eax, [ebp - 0x30]
push eax
lea esi, [ebp - 0x4c]
call fcn.00408ad4
lea eax, [ebp - 0x290]
push eax
mov eax, esi
push eax
mov byte [ebp - 4], 5
call fcn.00408e55
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x40f09e
lea eax, [ebp - 0x48]
mov ecx, dword [ebp - 0x2bc]
and ecx, 0xfffffffe
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test byte [ebp - 0x2bc], 0x10
je 0x40f0d7
push 0x459d5c
lea eax, [ebp - 0x4c]
push eax
call fcn.00408e55
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x2d4]
call fcn.0040dd8a
jmp 0x40f103
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x40f0e3
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x2d8]
push eax
call fcn.0040890f
call fcn.0040ee77
mov eax, dword [ebp - 0x2d8]
add eax, 0xfffffff0
call fcn.0040117e
push edi
push 1
lea esi, [ebp - 0x4c]
mov byte [ebp - 4], 4
call fcn.00408f92
lea eax, [ebp - 0x2bc]
push eax
push dword [ebp - 0x2e4]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x40effb
mov eax, dword [ebp - 0x2c4]
sub eax, dword [ebp - 0x2c8]
push 0x1c
cdq
pop ecx
idiv ecx
xor esi, esi
cmp eax, esi
jbe 0x40f215
cmp edi, eax
jb 0x40f152
call fcn.004318e6
mov eax, dword [ebp - 0x2c8]
add eax, esi
cmp dword [eax + 0x18], 8
jb 0x40f165
mov eax, dword [eax + 4]
jmp 0x40f168
add eax, 4
push eax
lea eax, [ebp - 0x2d8]
push eax
call fcn.0040890f
lea eax, [ebp - 0x2d8]
push eax
mov byte [ebp - 4], 6
call fcn.0040eeab
mov bl, al
neg bl
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x2d8]
sbb bl, bl
pop ecx
add eax, 0xfffffff0
inc bl
call fcn.0040117e
test bl, bl
je 0x40f1f5
mov eax, dword [ebp - 0x2c4]
sub eax, dword [ebp - 0x2c8]
push 0x1c
cdq
pop ecx
idiv ecx
cmp edi, eax
jb 0x40f1bf
call fcn.004318e6
mov eax, dword [ebp - 0x2c8]
add eax, esi
cmp dword [eax + 0x18], 8
jb 0x40f1d2
mov eax, dword [eax + 4]
jmp 0x40f1d5
add eax, 4
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.0040890f
call fcn.0040ee77
mov eax, dword [ebp - 0x2e0]
add eax, 0xfffffff0
call fcn.0040117e
mov eax, dword [ebp - 0x2c4]
sub eax, dword [ebp - 0x2c8]
push 0x1c
cdq
pop ecx
idiv ecx
inc edi
add esi, 0x1c
cmp edi, eax
jb 0x40f152
xor esi, esi
lea eax, [ebp - 0x2d4]
call fcn.0040ddf1
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
je 0x40f273
mov eax, dword [ebp - 0x2c8]
cmp eax, esi
je 0x40f24c
push dword [ebp - 0x2c4]
call fcn.0040dfc3
push dword [ebp - 0x2c8]
call fcn.004312db
pop ecx
push dword [ebp - 0x2d4]
mov dword [ebp - 0x2c8], esi
mov dword [ebp - 0x2c4], esi
mov dword [ebp - 0x2c0], esi
call fcn.004312db
xor bl, bl
pop ecx
xor edi, edi
jmp 0x40ef21
push dword [ebp - 0x2e4]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 0x2c]
push 8
pop edi
cmp dword [ebp - 0x18], edi
jae 0x40f28d
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jae 0x40f29f
lea ecx, [ebp - 0x2c]
and eax, 0xfffffffe
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 0x459d5c
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jae 0x40f2c0
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x40f2fb
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jae 0x40f2d6
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.0040890f
call fcn.0040ee77
mov eax, dword [ebp - 0x2e0]
add eax, 0xfffffff0
call fcn.0040117e
jmp 0x40f22b
mov eax, dword [ebp - 0x2c8]
cmp eax, esi
je 0x40f31c
push dword [ebp - 0x2c4]
call fcn.0040dfc3
push dword [ebp - 0x2c8]
call fcn.004312db
pop ecx
push dword [ebp - 0x2d4]
mov dword [ebp - 0x2c8], esi
mov dword [ebp - 0x2c4], esi
mov dword [ebp - 0x2c0], esi
call fcn.004312db
mov bl, 1
jmp 0x40f26b