Function at 0x10047f0a
Capabilities:
Set file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x84
mov eax, dword [0x10086084]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor eax, eax
mov dword [ebp - 0x7c], ecx
push edi
push 0x34
mov ebx, eax
mov dword [ebp - 0x78], eax
push eax
mov dword [ebp - 0x74], eax
mov esi, edx
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x64]
push eax
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x70], ebx
call sub.msvcrt.dll_memset
add esp, 0xc
mov byte [ebp - 0x69], 1
xor eax, eax
lea edi, [ebp - 0x30]
mov edx, esi
push 0xa
pop ecx
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x7c]
lea eax, [ebp - 0x68]
push eax
push 0x200000
push 0x80000100
call fcn.100483a6
mov esi, eax
test esi, esi
jns 0x10047f80
push esi
push 0xe4
jmp 0x10048154
lea eax, [ebp - 0x64]
push eax
push dword [ebp - 0x68]
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
test eax, eax
jne 0x10047fcc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, 0x80070000
test eax, eax
jle 0x10047fa7
movzx eax, ax
or eax, edi
test eax, eax
jns 0x10047fbc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x10047fc1
movzx esi, si
or esi, edi
jmp 0x10047fc1
mov esi, 0x80004005
push esi
push 0xed
jmp 0x10048154
mov eax, dword [ebp - 0x3c]
xor edi, edi
mov dword [ebp - 0x84], eax
test eax, eax
je 0x1004815e
cmp dword [ebp - 0x68], 0
jne 0x1004800f
mov edx, dword [ebp - 0x80]
lea eax, [ebp - 0x68]
mov ecx, dword [ebp - 0x7c]
push eax
push 0x200000
push 0x80000000
call fcn.100483a6
mov esi, eax
test esi, esi
jns 0x10048040
push esi
push 0x102
jmp 0x10048154
push 4
push 0x28
lea eax, [ebp - 0x30]
mov dword [ebp - 0x10], 0x80
push eax
lea eax, [ebp - 0x78]
push eax
push dword [ebp - 0x68]
call dword [sym.imp.ntdll.dll_NtSetInformationFile]
mov esi, eax
test esi, esi
js 0x10048148
mov esi, dword [ebp - 0x78]
test esi, esi
js 0x1004813a
mov ecx, dword [ebp - 0x68]
lea edx, [ebp - 0x70]
call fcn.10048512
mov esi, eax
test esi, esi
js 0x10048125
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x10048118
xor eax, eax
cmp ax, word [ebx]
je 0x10048118
cmp ax, word [ebx + 2]
je 0x10048118
push dword [ebp - 0x68]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x80]
lea eax, [ebp - 0x68]
and dword [ebp - 0x68], 0
push eax
push 1
push 0x200000
push ecx
lea ecx, [ebx + 2]
call fcn.10048a21
mov esi, eax
test esi, esi
js 0x10048110
push 0xd
push 1
lea eax, [ebp - 0x69]
push eax
lea eax, [ebp - 0x78]
push eax
push dword [ebp - 0x68]
call dword [sym.imp.ntdll.dll_NtSetInformationFile]
test eax, eax
js 0x10048100
cmp dword [ebp - 0x78], 0
jl 0x100480ef
push dword [ebp - 0x68]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [ebp - 0x68], 0
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor ebx, ebx
inc edi
mov dword [ebp - 0x70], ebx
cmp edi, dword [ebp - 0x84]
jb 0x10047fdf
jmp 0x1004815e
mov esi, dword [ebp - 0x78]
or esi, 0x10000000
push esi
push 0x142
jmp 0x10048154
mov esi, eax
or esi, 0x10000000
push esi
push 0x141
jmp 0x10048154
push esi
push 0x13a
jmp 0x10048154
mov esi, 0x80004005
push esi
push 0x124
jmp 0x10048154
push esi
push 0x11b
mov ecx, 0x10009328
call fcn.1003a254
mov ebx, dword [ebp - 0x70]
jmp 0x1004815e
or esi, 0x10000000
push esi
push 0x112
jmp 0x10048154
or esi, 0x10000000
push esi
push 0x111
mov ecx, 0x10009328
call fcn.1003a254
cmp dword [ebp - 0x68], 0
je 0x1004816d
push dword [ebp - 0x68]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
je 0x10048181
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10083b20
mov esp, ebp
pop ebp
ret