Function at 0x40eda2
Capabilities:
Get file attributes
Set file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1005c
call fcn.00420940
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor eax, eax
push esi
push edi
lea ebx, [ebp - 0x1003c]
mov edi, ecx
mov dword [ebp - 0x1004c], eax
mov dword [ebp - 0x10044], eax
mov dword [ebp - 0x1003c], eax
call fcn.0040f23b
mov esi, eax
test esi, esi
je 0x40f0a8
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push 0x2000
push esi
mov dword [ebp - 0x10054], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
je 0x40f073
push 0
push 0x2200000
push 3
push 0
push 7
push 0x10000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
mov dword [ebp - 0x10050], ebx
cmp ebx, 0xffffffff
je 0x40f05c
lea eax, [ebp - 0x10038]
push eax
xor edi, edi
push ebx
mov dword [ebp - 0x10048], edi
mov byte [ebp - 0x1003d], 1
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
test eax, eax
je 0x40efb5
cmp dword [ebp - 0x10010], 1
jbe 0x40efb5
call fcn.0040ed3b
test eax, eax
je 0x40efb5
cmp dword [ebp - 0x1003c], edi
je 0x40efb5
push 0x10000
lea eax, [ebp - 0x10004]
push edi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push edi
lea eax, [ebp - 0x10004]
push eax
push 0x8000
push esi
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov dword [ebp - 0x1003c], eax
test eax, eax
je 0x40ef96
cmp word [ebp - 0x10004], di
je 0x40ef96
cmp word [ebp - 0x10002], 0x3a
jne 0x40ef96
lea eax, [ebp - 0x10004]
call fcn.0040f804
mov edi, eax
test edi, edi
je 0x40ef70
lea eax, [ebp - 0x10000]
push eax
lea eax, [ebp - 0x1003c]
push eax
push 0
push esi
mov dword [ebp - 0x1003c], 0x7ffc
call dword [0x422708]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x40ef58
lea eax, [ebp - 0x10004]
push edi
push eax
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x40ef47
lea eax, [ebp - 0x10000]
push eax
lea eax, [ebp - 0x1003c]
push eax
push ebx
mov dword [ebp - 0x1003c], 0x7ffc
call dword [0x42270c]
test eax, eax
jne 0x40ef0e
jmp 0x40ef51
mov dword [ebp - 0x10048], 1
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ebx, dword [ebp - 0x10050]
jmp 0x40ef8e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x404de8
push 0x3000000
push 0x422710
call fcn.0040e49c
add esp, 0x10
mov edi, dword [ebp - 0x10048]
jmp 0x40efb5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push 0x404e80
push 0x3000000
push 0x422710
call fcn.0040e49c
add esp, 0x14
push 0xd
push 1
lea eax, [ebp - 0x1003d]
push eax
lea eax, [ebp - 0x1005c]
push eax
push ebx
call dword [sym.imp.ntdll.dll_NtSetInformationFile]
test eax, eax
jns 0x40efe1
push eax
call dword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
mov dword [ebp - 0x10044], eax
jmp 0x40efeb
mov dword [ebp - 0x1004c], 1
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x40f098
xor ebx, ebx
lea ecx, [ebp - 0x10004]
call fcn.0040f23b
mov edi, eax
lea eax, [ebp - 0x10004]
push eax
push 0x404f00
mov ebx, 0x4000000
push ebx
push 0x422710
call fcn.0040e49c
push edi
push 0x404f58
push ebx
push 0x422710
call fcn.0040e49c
add esp, 0x20
push dword [ebp - 0x10054]
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test edi, edi
je 0x40f098
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x40f098
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
push ebx
push edi
mov dword [ebp - 0x10044], ebx
push 0x404fc0
jmp 0x40f086
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
mov dword [ebp - 0x10044], eax
push 0x405020
push 0x3000000
push 0x422710
call fcn.0040e49c
add esp, 0x14
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
push dword [ebp - 0x10044]
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1004c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041b8aa
leave
ret