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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x766de8
push 0x66eba0
mov eax, dword fs:[0]
push eax
add esp, 0xfffffb88
mov eax, dword [0x778400]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x484], ecx
mov dword [ebp - 0x46c], 0xffffffff
mov dword [ebp - 0x470], 1
push 0x6e6780
mov eax, dword [ebp + 8]
push eax
push 0x6e6784
push 0x104
lea ecx, [ebp - 0x328]
push ecx
call fcn.00673108
add esp, 0x14
mov edx, 1
imul eax, edx, 0x103
mov dword [ebp - 0x47c], eax
cmp dword [ebp - 0x47c], 0x104
jae 0x542f64
jmp 0x542f69
call fcn.0066e9b7
mov ecx, dword [ebp - 0x47c]
mov byte [ebp + ecx - 0x328], 0
mov dword [ebp - 4], 0
lea edx, [ebp - 0x468]
push edx
lea eax, [ebp - 0x328]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x46c], eax
cmp dword [ebp - 0x46c], 0xffffffff
jne 0x542fbd
mov dword [ebp - 0x480], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x480]
jmp 0x543194
push 0x6e678c
lea ecx, [ebp - 0x43c]
push ecx
call fcn.00670ab0
add esp, 8
test eax, eax
jne 0x542fda
jmp 0x54310c
push 0x6e6790
lea edx, [ebp - 0x43c]
push edx
call fcn.00670ab0
add esp, 8
test eax, eax
jne 0x542ff7
jmp 0x54310c
mov eax, dword [ebp - 0x468]
and eax, 0x10
je 0x543079
lea ecx, [ebp - 0x43c]
push ecx
mov edx, dword [ebp + 8]
push edx
push 0x6e6794
push 0x104
lea eax, [ebp - 0x224]
push eax
call fcn.00673108
add esp, 0x14
mov ecx, 1
imul edx, ecx, 0x103
mov dword [ebp - 0x478], edx
cmp dword [ebp - 0x478], 0x104
jae 0x543045
jmp 0x54304a
call fcn.0066e9b7
mov eax, dword [ebp - 0x478]
mov byte [ebp + eax - 0x224], 0
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x224]
push edx
mov ecx, dword [ebp - 0x484]
call fcn.00542ed0
mov dword [ebp - 0x470], eax
jmp 0x54310c
lea eax, [ebp - 0x43c]
push eax
mov ecx, dword [ebp + 8]
push ecx
push 0x6e679c
push 0x104
lea edx, [ebp - 0x120]
push edx
call fcn.00673108
add esp, 0x14
mov eax, 1
imul ecx, eax, 0x103
mov dword [ebp - 0x474], ecx
cmp dword [ebp - 0x474], 0x104
jae 0x5430bc
jmp 0x5430c1
call fcn.0066e9b7
mov edx, dword [ebp - 0x474]
mov byte [ebp + edx - 0x120], 0
cmp dword [ebp + 0xc], 0
je 0x5430db
cmp dword [ebp + 0xc], 1
jne 0x54310c
push 0x80
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [ebp - 0x120]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov dword [ebp - 0x470], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x488], eax
lea edx, [ebp - 0x468]
push edx
mov eax, dword [ebp - 0x46c]
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x542fbd
mov ecx, dword [ebp - 0x46c]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov dword [ebp - 0x46c], 0xffffffff
cmp dword [ebp + 0xc], 0
je 0x54314b
cmp dword [ebp + 0xc], 2
jne 0x543155
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov dword [ebp - 4], 0xfffffffe
jmp 0x54318e
mov eax, dword [ebp - 0x470]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.0066c98d
mov esp, ebp
pop ebp
ret 8