Function at 0x4beb58
Capabilities:
Delete directory
Set file attributes

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
xor eax, eax
push ebx
push esi
push edi
mov byte [ebp - 0x13], 0
mov byte [ebp - 0x14], 0
mov byte [ebp - 0x15], 0
mov dword [ebp - 8], eax
mov edx, dword [ebp + 0x1c]
push edx
call fcn.00414b4c
pop ecx
mov dword [ebp - 0xc], eax
push 0
mov ecx, dword [ebp + 0x1c]
push ecx
call fcn.00414b90
add esp, 8
mov esi, eax
push 0
mov eax, dword [ebp + 0x20]
push eax
call fcn.00414b90
add esp, 8
mov edi, eax
jmp 0x4bed36
lea eax, [ebp - 0x10]
push eax
push esi
mov edx, dword [ebp + 0x1c]
push edx
call fcn.00414c40
add esp, 0xc
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x10]
push ecx
push edi
mov eax, dword [ebp + 0x20]
push eax
call fcn.00414c40
add esp, 0xc
mov ebx, eax
push esi
mov eax, dword [ebp + 0x1c]
push eax
call fcn.00414bbc
add esp, 8
mov esi, eax
push edi
mov edx, dword [ebp + 0x20]
push edx
call fcn.00414bbc
add esp, 8
mov edi, eax
push ebx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
call fcn.00413cd0
add esp, 8
test al, al
jne 0x4bec10
push ebx
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
push ecx
call fcn.00413d94
add esp, 8
jmp 0x4becc0
mov al, byte [ebp + 0x14]
cmp al, byte [ebp + 0x18]
jne 0x4bec9d
cmp word [ebp + 0x26], 0
je 0x4bec7a
lea edx, [ebp + 0x18]
push edx
lea ecx, [ebp + 0x14]
push ecx
lea eax, [ebp - 0x12]
push eax
lea edx, [ebp - 0x11]
push edx
push ebx
mov ecx, dword [ebp - 4]
push ecx
mov eax, dword [ebp + 0xc]
push eax
mov edx, dword [ebp + 0x28]
push edx
call dword [ebp + 0x24]
add esp, 0x20
mov byte [ebp - 0x13], al
cmp byte [ebp - 0x13], 0
jne 0x4becc0
cmp byte [ebp - 0x12], 0
jne 0x4bec5b
cmp byte [ebp + 0x18], 0
je 0x4becc0
push 0x10
push ebx
call sub.KERNEL32.DLL_SetFileAttributesA
push ebx
call sub.KERNEL32.DLL_RemoveDirectoryA
push ebx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
call fcn.00413d94
add esp, 8
jmp 0x4becc0
push 0x10
push ebx
call sub.KERNEL32.DLL_SetFileAttributesA
push ebx
call sub.KERNEL32.DLL_RemoveDirectoryA
test eax, eax
je 0x4becc0
push ebx
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
push ecx
call fcn.00413d94
add esp, 8
jmp 0x4becc0
cmp byte [ebp + 0x18], 0
je 0x4becc0
push 0x10
push ebx
call sub.KERNEL32.DLL_SetFileAttributesA
push ebx
call sub.KERNEL32.DLL_RemoveDirectoryA
push ebx
mov eax, dword [ebp + 8]
mov edx, dword [eax]
push edx
call fcn.00413d94
add esp, 8
cmp word [ebp + 0x2e], 0
je 0x4bed19
lea ecx, [ebp - 0x15]
lea eax, [ebp - 0x14]
push ecx
push eax
mov edx, dword [ebp - 0xc]
push edx
mov ecx, dword [ebp - 8]
push ecx
push ebx
mov eax, dword [ebp - 4]
push eax
mov dl, byte [ebp + 0x10]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 0x30]
push eax
call dword [ebp + 0x2c]
add esp, 0x24
mov dl, byte [ebp - 0x15]
mov byte [ebp - 0x13], dl
xor ecx, ecx
mov cl, byte [ebp - 0x15]
cmp ecx, 1
sbb eax, eax
neg eax
and byte [ebp - 0x14], al
cmp byte [ebp - 0x14], 0
je 0x4bed13
push 0x1f4
call sub.KERNEL32.DLL_Sleep
cmp byte [ebp - 0x14], 0
jne 0x4becc7
cmp byte [ebp + 0x10], 0
je 0x4bed33
push 0x10
mov edx, dword [ebp - 4]
push edx
call sub.KERNEL32.DLL_SetFileAttributesA
mov ecx, dword [ebp - 4]
push ecx
call sub.KERNEL32.DLL_RemoveDirectoryA
inc dword [ebp - 8]
cmp byte [ebp - 0x13], 0
jne 0x4bed48
test esi, esi
je 0x4bed48
test edi, edi
jne 0x4beba4
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret