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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c4
mov eax, dword [0x438040]
xor eax, ebp
mov dword [ebp - 4], eax
movups xmm0, xmmword [ebp + 8]
push ebx
push esi
mov esi, dword [sym.imp.ntdll.dll_NtOpenFile]
lea eax, [ebp - 0x2b0]
push edi
push 0x4021
push 7
push eax
lea eax, [ebp - 0x2a8]
push eax
movups xmmword [ebp - 0x2a8], xmm0
lea eax, [ebp - 0x27c]
movq xmm0, qword [ebp + 0x18]
push 0x100001
push eax
movq qword [ebp - 0x298], xmm0
call esi
mov edi, eax
test edi, edi
jne 0x40e33a
push edi
push edi
push 0xff
push 2
push 0x248
lea ecx, [ebp - 0x28c]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x2a0], ecx
lea eax, [ebp - 0x20c]
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x27c]
push ecx
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x2a4], eax
push ecx
push edi
push edi
push edi
push eax
call dword [sym.imp.ntdll.dll_ZwQueryDirectoryFile]
test eax, eax
jne 0x40e32c
nop dword [eax]
mov eax, dword [ebp - 0x214]
mov ebx, dword [ebp - 0x218]
mov word [ebp - 0x28a], ax
mov word [ebp - 0x28c], ax
test bl, 0x10
je 0x40e1e4
test ebx, 0x400
je 0x40e179
test dword [ebp - 0x210], 0x20000000
jne 0x40e1e4
jmp 0x40e1aa
sub eax, 2
je 0x40e19c
sub eax, 2
jne 0x40e1aa
cmp word [ebp - 0x20c], 0x2e
jne 0x40e1aa
cmp word [ebp - 0x20a], 0x2e
jne 0x40e1aa
jmp 0x40e2f4
cmp word [ebp - 0x20c], 0x2e
je 0x40e2f4
movups xmm0, xmmword [ebp - 0x2a8]
sub esp, 0x18
mov eax, esp
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x298]
movq qword [eax + 0x10], xmm0
call fcn.0040e080
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x40e2ec
mov ebx, dword [ebp - 0x218]
mov esi, dword [sym.imp.ntdll.dll_NtOpenFile]
test bl, 1
je 0x40e264
push 0x204020
push 7
lea eax, [ebp - 0x2b8]
xor ebx, 1
push eax
lea eax, [ebp - 0x2a8]
push eax
push 0x100100
lea eax, [ebp - 0x280]
push eax
call esi
mov esi, eax
test esi, esi
jne 0x40e2ec
push 4
push 0x28
lea eax, [ebp - 0x278]
mov dword [ebp - 0x258], ebx
push eax
lea eax, [ebp - 0x2b8]
xorps xmm0, xmm0
push eax
push dword [ebp - 0x280]
movups xmmword [ebp - 0x278], xmm0
movups xmmword [ebp - 0x268], xmm0
call dword [sym.imp.ntdll.dll_NtSetInformationFile]
push dword [ebp - 0x280]
mov esi, eax
call dword [sym.imp.ntdll.dll_NtClose]
test esi, esi
jne 0x40e2ec
lea ecx, [ebp - 0x2a8]
call fcn.0040e3e0
mov esi, eax
test esi, esi
je 0x40e2ee
mov ebx, dword [ebp - 0x218]
test bl, 1
je 0x40e2ec
push 0x204020
push 7
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x2a8]
push eax
push 0x100100
lea eax, [ebp - 0x284]
push eax
call dword [sym.imp.ntdll.dll_NtOpenFile]
test eax, eax
jne 0x40e2ec
push 4
push 0x28
lea eax, [ebp - 0x278]
mov dword [ebp - 0x258], ebx
push eax
lea eax, [ebp - 0x2c0]
xorps xmm0, xmm0
push eax
push dword [ebp - 0x284]
movups xmmword [ebp - 0x278], xmm0
movups xmmword [ebp - 0x268], xmm0
call dword [sym.imp.ntdll.dll_NtSetInformationFile]
push dword [ebp - 0x284]
call dword [sym.imp.ntdll.dll_NtClose]
mov edi, esi
mov esi, dword [sym.imp.ntdll.dll_NtOpenFile]
push 0
push 0
push 0xff
push 2
push 0x248
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x2b0]
push eax
push 0
push 0
push 0
push dword [ebp - 0x27c]
call dword [sym.imp.ntdll.dll_ZwQueryDirectoryFile]
test eax, eax
je 0x40e140
push dword [ebp - 0x27c]
call dword [sym.imp.ntdll.dll_NtClose]
mov eax, edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040e950
mov esp, ebp
pop ebp
ret