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

Disassembly:
push ebp
lea ebp, [esp - 0x5ec]
sub esp, 0x66c
mov eax, dword [0x1019c8c8]
xor eax, ebp
mov dword [ebp + 0x5e8], eax
push ebx
mov ebx, dword [ebp + 0x5f4]
push esi
push edi
mov esi, 0x206
xor edi, edi
push esi
lea eax, [ebp + 0x3e2]
push edi
push eax
mov dword [ebp - 0x7c], ebx
mov word [ebp + 0x3e0], di
call fcn.101027c0
push esi
lea eax, [ebp + 0x1da]
push edi
push eax
mov word [ebp + 0x1d8], di
call fcn.101027c0
push ebx
push str._s.
push 0xffffffffffffffff
mov esi, 0x104
lea eax, [ebp + 0x1d8]
push esi
push eax
call fcn.10101c5e
add esp, 0x2c
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp + 0x1d8]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
mov dword [ebp - 0x80], eax
jne 0x100dd958
xor eax, eax
jmp 0x100ddad7
push 4
pop ebx
mov ecx, 0x101594f0
lea eax, [ebp - 0x4c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x100dd987
cmp dx, di
je 0x100dd983
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x100dd987
add eax, ebx
add ecx, ebx
cmp dx, di
jne 0x100dd963
xor eax, eax
jmp 0x100dd98c
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x100ddab6
mov ecx, 0x101594e8
lea eax, [ebp - 0x4c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x100dd9c0
cmp dx, di
je 0x100dd9bc
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x100dd9c0
add eax, ebx
add ecx, ebx
cmp dx, di
jne 0x100dd99c
xor eax, eax
jmp 0x100dd9c5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x100ddab6
cmp dword [ebp + 0x5f8], edi
jne 0x100dd9ed
lea eax, [ebp - 0x4c]
push str.desktop.ini
push eax
call fcn.10101e50
test eax, eax
pop ecx
pop ecx
je 0x100ddab6
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x7c]
lea eax, [ebp + 0x3e0]
push 0x10155274
push 0xffffffffffffffff
push esi
push eax
call fcn.10101c5e
add esp, 0x18
lea eax, [ebp + 0x3e0]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 1
je 0x100dda2d
and eax, 0xfffffffe
push eax
lea eax, [ebp + 0x3e0]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test byte [ebp - 0x78], 0x10
je 0x100dda5d
push dword [ebp + 0x5fc]
lea eax, [ebp + 0x3e0]
push dword [ebp + 0x5f8]
push eax
call fcn.100dd8c3
add esp, 0xc
lea eax, [ebp + 0x3e0]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x100ddab6
cmp dword [ebp + 0x5fc], edi
je 0x100dda87
lea eax, [ebp - 0x4c]
push str.index.dat
push eax
call fcn.10101e50
test eax, eax
pop ecx
pop ecx
jne 0x100dda87
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x7c]
call fcn.100dd0ce
pop ecx
pop ecx
lea eax, [ebp - 0x4c]
push 0x2e
push eax
call fcn.10104466
cmp eax, edi
pop ecx
pop ecx
je 0x100ddaa9
push str..msi
push eax
call fcn.10101e50
test eax, eax
pop ecx
pop ecx
je 0x100ddab6
lea eax, [ebp + 0x3e0]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x78]
push eax
push dword [ebp - 0x80]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x100dd95b
push dword [ebp - 0x80]
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
inc eax
mov ecx, dword [ebp + 0x5e8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.101018a3
add ebp, 0x5ec
leave
ret