Function at 0x4f288d
Capabilities:
Set file attributes

Disassembly:
push 0xffffffffffffffff
push 0x559691
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x164
push ebx
push ebp
push esi
mov esi, ecx
xor ebp, ebp
push edi
lea ecx, [esp + 0x24]
mov dword [esp + 0x10], ebp
call fcn.004f1e90
lea ecx, [esp + 0x14]
mov dword [esp + 0x17c], ebp
call fcn.004f1e90
mov edi, dword [esp + 0x188]
lea ecx, [esp + 0x24]
push edi
mov byte [esp + 0x180], 1
call fcn.004f1f00
mov ebx, dword [esp + 0x184]
test ebx, ebx
je 0x4f2b05
test edi, edi
je 0x4f2b05
cmp byte [edi], 0
je 0x4f2b05
push ebp
push ebx
call fcn.004f14b0
add esp, 8
test eax, eax
jl 0x4f2b05
push ebp
lea ecx, [esp + 0x28]
call fcn.004f23b0
push eax
call fcn.004f14b0
add esp, 8
test eax, eax
jge 0x4f2931
push 1
lea ecx, [esp + 0x28]
call fcn.004f23b0
push eax
call fcn.004f25e0
add esp, 8
test eax, eax
jne 0x4f2931
xor edi, edi
jmp 0x4f2b08
push ebx
mov ecx, esi
call fcn.004f2750
test eax, eax
jne 0x4f2944
xor edi, edi
jmp 0x4f2b08
push edi
xor edi, edi
push 2
push edi
push ebx
call fcn.004f6d70
mov ebp, eax
add esp, 0x10
cmp ebp, edi
je 0x4f2b08
cmp dword [esi + 8], edi
je 0x4f297a
push ebp
mov ecx, esi
call fcn.004f2490
cmp eax, 0xffffffff
mov dword [esi + 0x1c], eax
jne 0x4f297a
mov dword [esi + 0x1c], edi
jmp 0x4f2b08
mov ebx, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x48]
push eax
push edi
push ebp
call fcn.004f6de0
add esp, 0xc
test eax, eax
jne 0x4f2abc
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x18]
call fcn.004f1f60
lea edx, [esp + 0x14]
push edx
call fcn.004f2520
lea eax, [esp + 0x50]
push eax
call fcn.004f25b0
add esp, 8
lea ecx, [esp + 0x4c]
push ecx
lea ecx, [esp + 0x18]
call fcn.004f1f80
test byte [esp + 0x150], 0x10
je 0x4f2a12
push 0
lea ecx, [esp + 0x18]
call fcn.004f23b0
push eax
call fcn.004f14b0
add esp, 8
test eax, eax
jge 0x4f2a77
push 1
lea ecx, [esp + 0x18]
call fcn.004f23b0
push eax
call fcn.004f25e0
add esp, 8
test eax, eax
je 0x4f293d
jmp 0x4f2a77
lea ecx, [esp + 0x34]
call fcn.004f1af0
push 2
push 0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x184], 2
call fcn.004f23a0
push eax
push edi
push ebp
call fcn.004f6ef0
add esp, 0x14
test eax, eax
jne 0x4f2a9f
lea edx, [esp + 0x34]
push 0x80
push edx
lea ecx, [esp + 0x1c]
call fcn.004f23a0
push eax
call fcn.004f1380
add esp, 8
push eax
call ebx
lea ecx, [esp + 0x34]
mov byte [esp + 0x17c], 1
mov dword [esp + 0x34], 0x720a60
call fcn.004f1cf0
mov dword [esi + 0x20], edi
lea eax, [esp + 0x14]
inc edi
push eax
lea ecx, [esi + 0xc]
mov dword [esp + 0x14], edi
call fcn.004f1f60
mov ecx, esi
call fcn.004f2460
mov eax, dword [esi + 4]
test eax, eax
jne 0x4f2ad0
jmp 0x4f2980
lea ecx, [esp + 0x34]
xor edi, edi
mov byte [esp + 0x17c], 1
mov dword [esp + 0x34], 0x720a60
call fcn.004f1cf0
jmp 0x4f2b08
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x20], ecx
mov ecx, esi
call fcn.004f2460
mov ecx, esi
call fcn.004f2420
push ebp
call fcn.004f6f40
add esp, 4
lea ecx, [esp + 0x14]
mov byte [esp + 0x17c], 0
call fcn.004f1eb0
lea ecx, [esp + 0x24]
mov dword [esp + 0x17c], 0xffffffff
call fcn.004f1eb0
mov eax, 1
jmp 0x4f2b50
or edi, 0xffffffff
mov edx, dword [esi + 0x1c]
mov ecx, esi
mov dword [esi + 0x20], edx
call fcn.004f2460
mov ecx, esi
call fcn.004f2420
test ebp, ebp
je 0x4f2b29
push ebp
call fcn.004f6f40
add esp, 4
lea ecx, [esp + 0x14]
mov byte [esp + 0x17c], 0
call fcn.004f1eb0
lea ecx, [esp + 0x24]
mov dword [esp + 0x17c], 0xffffffff
call fcn.004f1eb0
mov eax, edi
mov ecx, dword [esp + 0x174]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x170
ret 8