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

Disassembly:
push 0x2b0
mov eax, 0x4f5ff5
call fcn.004bcbbf
mov eax, dword [ebp + 8]
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x38], esi
mov word [ebp - 0x48], cx
push eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], esi
call fcn.00447100
cmp dword [ebp - 0x38], esi
jne 0x46be05
mov bl, 1
lea ecx, [ebp - 0x48]
call fcn.00412770
mov al, bl
call fcn.004bcc42
ret
lea eax, [ebp - 0x2bc]
push eax
lea ecx, [ebp - 0x48]
call fcn.0041eff0
mov eax, dword [eax]
cmp word [eax - 2], 0x5c
je 0x46be2a
push 0x51175c
lea ecx, [ebp - 0x48]
call fcn.004120e0
xor ecx, ecx
cmp dword [ebp - 0x38], esi
jbe 0x46be5d
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x46be3d
lea eax, [ebp - 0x48]
cmp word [eax + ecx*2], 0x2f
jne 0x46be57
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x46be50
lea eax, [ebp - 0x48]
push 0x5c
pop edx
mov word [eax + ecx*2], dx
inc ecx
cmp ecx, dword [ebp - 0x38]
jb 0x46be31
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x64]
call fcn.00411e40
push 0x51d640
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.004120e0
push 0x250
lea eax, [ebp - 0x2b4]
push esi
push eax
call fcn.004b9c30
mov eax, dword [ebp - 0x64]
add esp, 0xc
cmp dword [ebp - 0x50], 8
jae 0x46be9b
lea eax, [ebp - 0x64]
lea ecx, [ebp - 0x2b4]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x2bc], eax
cmp eax, 0xffffffff
jne 0x46bec3
lea ecx, [ebp - 0x64]
call fcn.00412770
xor bl, bl
jmp 0x46bdf5
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00411e40
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.004120e0
test byte [ebp - 0x2b4], 0x10
je 0x46bf44
lea eax, [ebp - 0x288]
push 0x51d648
push eax
call fcn.004bc988
pop ecx
pop ecx
test eax, eax
je 0x46bf9f
lea eax, [ebp - 0x288]
push 0x51d64c
push eax
call fcn.004bc988
pop ecx
pop ecx
test eax, eax
je 0x46bf9f
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x46bf3b
lea eax, [ebp - 0x2c]
push eax
call fcn.0046bdb8
pop ecx
jmp 0x46bf9f
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x46bf50
lea eax, [ebp - 0x2c]
push eax
call esi
test eax, eax
jne 0x46bf9f
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x46bf9f
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x46bf6e
lea eax, [ebp - 0x2c]
push eax
call edi
cmp dword [ebp - 0x18], 8
mov ecx, dword [ebp - 0x2c]
jae 0x46bf7d
lea ecx, [ebp - 0x2c]
and eax, 0xfffffffe
push eax
push ecx
call ebx
test eax, eax
je 0x46c01d
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x46bf98
lea eax, [ebp - 0x2c]
push eax
call esi
test eax, eax
je 0x46c01d
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.00412770
lea eax, [ebp - 0x2b4]
push eax
push dword [ebp - 0x2bc]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x46bed5
push dword [ebp - 0x2bc]
call dword [sym.imp.KERNEL32.dll_FindClose]
push dword [ebp - 0x2b8]
mov esi, dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
call esi
test eax, eax
jne 0x46c010
push dword [ebp - 0x2b8]
call edi
and eax, 0xfffffffe
push eax
push dword [ebp - 0x2b8]
call ebx
test eax, eax
je 0x46beb4
push dword [ebp - 0x2b8]
call esi
test eax, eax
je 0x46beb4
lea ecx, [ebp - 0x64]
call fcn.00412770
jmp 0x46bdf3
lea ecx, [ebp - 0x2c]
call fcn.00412770
jmp 0x46beb4