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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x264
mov eax, dword [0x17d29168]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
push esi
push dword [eax + 4]
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x260], ecx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x17d084ad
xor esi, esi
jmp 0x17d086f5
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, 0xffff
mov edi, 0x80070000
test eax, eax
jle 0x17d084c7
and eax, ebx
or eax, edi
mov esi, eax
cmp esi, 0x80070002
jne 0x17d084d9
xor esi, esi
inc esi
jmp 0x17d086f3
cmp esi, 0x80070005
jne 0x17d08525
mov eax, dword [ebp - 0x258]
mov eax, dword [eax + 4]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
je 0x17d086f3
mov eax, dword [ebp - 0x258]
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x17d086f3
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x17d08523
and eax, ebx
or eax, edi
mov esi, eax
cmp esi, 0x80070091
jne 0x17d086f3
push 0x17c93104
push dword [ebp - 0x258]
call fcn.17d083d6
mov esi, eax
test esi, esi
jl 0x17d086f3
mov eax, dword [ebp - 0x258]
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x254]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x25c], eax
cmp eax, 0xffffffff
jne 0x17d085df
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x17d0857b
and eax, ebx
or eax, edi
mov esi, eax
cmp esi, 0x80070002
jne 0x17d086f3
push dword [ebp - 0x260]
push dword [ebp - 0x258]
call fcn.17d082d9
mov esi, eax
test esi, esi
jl 0x17d086de
mov eax, dword [ebp - 0x258]
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x17d086dc
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x17d085c9
and eax, ebx
or eax, edi
mov esi, eax
cmp esi, 0x80070002
jne 0x17d086de
xor esi, esi
inc esi
jmp 0x17d086de
mov eax, dword [ebp - 0x254]
shr eax, 4
and eax, 1
mov dword [ebp - 0x264], eax
je 0x17d0861b
cmp word [ebp - 0x228], 0x2e
jne 0x17d0861b
cmp word [ebp - 0x226], 0
je 0x17d0867c
cmp word [ebp - 0x226], 0x2e
jne 0x17d0861b
cmp word [ebp - 0x224], 0
je 0x17d0867c
push dword [ebp - 0x260]
push dword [ebp - 0x258]
call fcn.17d082d9
mov esi, eax
test esi, esi
jl 0x17d086de
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0x258]
call fcn.17d083d6
mov esi, eax
test esi, esi
jl 0x17d086de
cmp dword [ebp - 0x264], 0
je 0x17d08668
push dword [ebp - 0x258]
call fcn.17d08471
jmp 0x17d08676
mov eax, dword [ebp - 0x258]
push dword [eax + 4]
call fcn.17d083fe
mov esi, eax
test esi, esi
jl 0x17d086de
lea eax, [ebp - 0x254]
push eax
push dword [ebp - 0x25c]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x17d085df
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x17d086a5
and eax, ebx
or eax, edi
mov esi, eax
cmp esi, 0x80070012
jne 0x17d086de
push dword [ebp - 0x25c]
call dword [sym.imp.KERNEL32.dll_FindClose]
or dword [ebp - 0x25c], 0xffffffff
test eax, eax
jne 0x17d08589
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x17d086d8
and eax, ebx
or eax, edi
mov esi, eax
jmp 0x17d086f3
xor esi, esi
cmp dword [ebp - 0x25c], 0xffffffff
je 0x17d086f3
push dword [ebp - 0x25c]
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop ebx
push dword [ebp - 0x260]
push dword [ebp - 0x258]
call fcn.17d082d9
mov ecx, dword [ebp - 4]
mov eax, esi
xor ecx, ebp
pop esi
call fcn.17ce4923
leave
ret 4