Function at 0x1011cedc
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 [0x101f6410]
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.10146c80
push esi
lea eax, [ebp + 0x1da]
push edi
push eax
mov word [ebp + 0x1d8], di
call fcn.10146c80
push ebx
push str._s.
push 0xffffffffffffffff
mov esi, 0x104
lea eax, [ebp + 0x1d8]
push esi
push eax
call fcn.1014612c
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 0x1011cf71
xor eax, eax
jmp 0x1011d0f0
push 4
pop ebx
mov ecx, 0x101a7204
lea eax, [ebp - 0x4c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1011cfa0
cmp dx, di
je 0x1011cf9c
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1011cfa0
add eax, ebx
add ecx, ebx
cmp dx, di
jne 0x1011cf7c
xor eax, eax
jmp 0x1011cfa5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x1011d0cf
mov ecx, 0x101a71fc
lea eax, [ebp - 0x4c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1011cfd9
cmp dx, di
je 0x1011cfd5
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1011cfd9
add eax, ebx
add ecx, ebx
cmp dx, di
jne 0x1011cfb5
xor eax, eax
jmp 0x1011cfde
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x1011d0cf
cmp dword [ebp + 0x5f8], edi
jne 0x1011d006
lea eax, [ebp - 0x4c]
push str.desktop.ini
push eax
call fcn.1014631e
test eax, eax
pop ecx
pop ecx
je 0x1011d0cf
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x7c]
lea eax, [ebp + 0x3e0]
push 0x101a1d40
push 0xffffffffffffffff
push esi
push eax
call fcn.1014612c
add esp, 0x18
lea eax, [ebp + 0x3e0]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 1
je 0x1011d046
and eax, 0xfffffffe
push eax
lea eax, [ebp + 0x3e0]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test byte [ebp - 0x78], 0x10
je 0x1011d076
push dword [ebp + 0x5fc]
lea eax, [ebp + 0x3e0]
push dword [ebp + 0x5f8]
push eax
call fcn.1011cedc
add esp, 0xc
lea eax, [ebp + 0x3e0]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x1011d0cf
cmp dword [ebp + 0x5fc], edi
je 0x1011d0a0
lea eax, [ebp - 0x4c]
push str.index.dat
push eax
call fcn.1014631e
test eax, eax
pop ecx
pop ecx
jne 0x1011d0a0
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x7c]
call fcn.1011c71c
pop ecx
pop ecx
lea eax, [ebp - 0x4c]
push 0x2e
push eax
call fcn.10148fd7
cmp eax, edi
pop ecx
pop ecx
je 0x1011d0c2
push str..msi
push eax
call fcn.1014631e
test eax, eax
pop ecx
pop ecx
je 0x1011d0cf
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 0x1011cf74
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.10145d71
add ebp, 0x5ec
leave
ret