Function at 0x538388
Capabilities:
Delete directory
Get file attributes
Set file attributes

Disassembly:
push 0x1cc
mov eax, 0x6a21a7
call fcn.0056e23b
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x1c4], eax
and dword [ebp - 4], 0
xor esi, esi
cmp dword [edi + 8], esi
jne 0x538472
lea ecx, [ebp - 0x2c]
call fcn.004173bc
mov byte [ebp - 4], 1
lea eax, [ebp - 0x2c]
push eax
push ebx
call fcn.005656cd
pop ecx
pop ecx
test eax, eax
je 0x53845e
cmp dword [ebp - 0x18], esi
je 0x53845e
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
test bl, 1
je 0x53843e
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
mov edi, dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmovae ecx, dword [ebp - 0x28]
and eax, 0xfffffffe
push eax
push ecx
call edi
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x538461
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
push ebx
cmovae ecx, dword [ebp - 0x28]
mov esi, eax
push ecx
call edi
jmp 0x538461
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x538461
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x538461
push 2
pop esi
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call fcn.0041786a
jmp 0x5385c9
lea ecx, [ebp - 0x1d0]
call fcn.00532e53
mov byte [ebp - 4], 2
xor ecx, ecx
mov eax, dword [edi + 4]
mov edx, dword [edi]
mov dword [ebp - 0x1d4], eax
mov eax, edx
and eax, 1
or eax, ecx
je 0x53849a
push 0x20
pop ecx
mov eax, edx
and eax, 2
or eax, 0
je 0x5384a7
or ecx, 0x40
and edx, 4
or edx, 0
je 0x5384b5
or ecx, 0x80
push dword [edi + 0xc]
push ecx
push dword [edi + 8]
lea ecx, [ebp - 0x1d0]
call fcn.00457787
mov esi, dword [ebp - 0x1c4]
lea eax, [ebp - 0x1d0]
push esi
push eax
lea ecx, [ebp - 0x1c0]
call fcn.0047dd5d
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xc4]
call fcn.004d2654
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c0]
push 1
push ebx
call fcn.0047d3e8
lea ecx, [ebp - 0x1c0]
call fcn.0047ccc3
movzx eax, ax
lea ecx, [ebp - 0xc4]
push eax
call fcn.004d2843
test eax, eax
jne 0x538599
lea ecx, [ebp - 0xc4]
call fcn.004d281a
cmp eax, 5
lea ecx, [ebp - 0xc4]
sete byte [ebp - 0x1c4]
call fcn.004d2741
lea ecx, [ebp - 0x1c0]
call fcn.0047cd07
push eax
call fcn.0042894d
pop ecx
test eax, eax
je 0x538592
sub esp, 0x28
lea eax, [ebp + 0x14]
mov ecx, esp
mov dword [ebp - 0x1d4], esp
push eax
call fcn.0058f9a0
mov byte [ebp - 4], 5
lea eax, [ebp - 0x1c0]
push esi
push dword [edi + 4]
push dword [edi]
push 0
push dword [ebp - 0x1c4]
push eax
mov byte [ebp - 4], 4
call fcn.00537c38
add esp, 0x40
mov esi, eax
jmp 0x53859c
mov esi, 0x91
jmp 0x53859c
push 2
pop esi
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xc4]
call fcn.004d26ba
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1c0]
call fcn.0047df72
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1d0]
call fcn.00401d20
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x14]
call fcn.0046e111
mov eax, esi
call fcn.0056e1e5
ret