Function at 0x4c1d60
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0xc]
mov esi, ecx
push edi
push ebx
mov dword [ebp - 4], esi
lea ecx, [esi + 0x1c]
call fcn.004b69f0
test al, al
jne 0x4c1d93
mov ecx, ebx
call fcn.004a7c10
push 0x4f08b0
jmp 0x4c2003
push ecx
push ebx
lea ecx, [esi + 0x1c]
call fcn.004c2240
test al, al
je 0x4c1ff7
mov edx, dword [ebp + 0x10]
lea eax, [esi + 0x1c]
mov dword [esi + 0x234], eax
xor ecx, ecx
mov dword [esi + 8], edx
mov eax, 0x502ba0
nop dword [eax + eax]
cmp dword [eax], edx
je 0x4c1ed8
add ecx, 0x10
add eax, 0x10
cmp ecx, 0x40
jb 0x4c1dc0
mov eax, dword [ebx]
mov esi, ebx
test eax, eax
je 0x4c1de9
nop dword [eax + eax]
lea esi, [eax + 0x10]
mov eax, dword [esi]
test eax, eax
jne 0x4c1de0
push 0x14
call fcn.0044c480
add esp, 4
mov dword [ebp + 0xc], eax
mov dword [eax], vtable.t_str.0
push 4
mov dword [eax + 8], 0
call fcn.0046c3ce
mov ecx, dword [ebp + 0xc]
add esp, 4
mov dword [ecx + 8], eax
mov dword [eax], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 4], 0
mov edx, dword [ecx + 8]
mov eax, dword [edx]
cmp eax, 1
jae 0x4c1e6a
lea eax, [eax*2 + 0x10]
mov ecx, 1
and eax, 0xfff0
cmp eax, 1
cmova ecx, eax
mov dword [ebp + 8], ecx
lea eax, [ecx*2 + 4]
push eax
push edx
call fcn.00478579
mov ecx, dword [ebp + 0xc]
add esp, 8
mov edx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov dword [eax], edx
mov edx, dword [ecx + 8]
xor eax, eax
push 0x4f089c
mov word [edx + 4], ax
push 0x4e3d38
mov dword [ecx + 0x10], eax
push ecx
mov dword [esi], ecx
call fcn.004a4cb0
mov eax, dword [ebp + 0xc]
add esp, 0xc
push dword [ebp + 0x10]
push 0x4e3d04
push eax
call fcn.004a4cb0
mov esi, dword [edi + 8]
add esp, 0xc
mov ecx, ebx
call fcn.004a7c10
push 0x4f08d0
mov edi, eax
push 0x4e3d38
push edi
call fcn.004a4cb0
add esp, 0xc
lea ecx, [esi + 4]
push ecx
push 0x4e3d38
push edi
call fcn.004a4cb0
add esp, 0xc
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [eax + 4]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
push 0
push 0x80
push edx
mov dword [ebp + 0x10], eax
mov eax, dword [edi + 8]
push 0
push dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 8], ecx
push ecx
push eax
mov dword [ebp + 0xc], edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esi + 4], eax
mov esi, 1
cmp eax, 0xffffffff
jne 0x4c1f77
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x20
jne 0x4c1f30
cmp esi, 3
jge 0x4c1fac
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4c1f4c
cmp eax, 5
jne 0x4c1f94
cmp esi, 3
jge 0x4c1fac
mov eax, dword [edi + 8]
push 0x80
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov eax, dword [edi + 8]
push 0
push 0x80
push dword [ebp + 0xc]
add eax, 4
push 0
push dword [ebp + 0x10]
push dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ecx, dword [ebp - 4]
inc esi
mov dword [ecx + 4], eax
cmp eax, 0xffffffff
je 0x4c1f12
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 4]
add eax, 4
push eax
lea ecx, [ecx + 0xc]
call fcn.004a5ed0
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
test eax, eax
jne 0x4c1fac
mov esi, dword [edi + 8]
mov ecx, ebx
call fcn.004a7c10
push 0x4f08e0
jmp 0x4c1eab
mov edi, dword [edi + 8]
mov ecx, ebx
push eax
call fcn.004a7c10
mov ecx, eax
call fcn.004a7410
mov ecx, ebx
call fcn.004a7c10
push 0x4f0900
mov esi, eax
push 0x4e3d38
push esi
call fcn.004a4cb0
add esp, 0xc
lea ecx, [edi + 4]
push ecx
push 0x4e3d38
push esi
call fcn.004a4cb0
add esp, 0xc
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, ebx
call fcn.004a7c10
push 0x4f08c0
push 0x4e3d38
push eax
call fcn.004a4cb0
add esp, 0xc
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc