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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x28
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
sub esp, 4
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0x4c3f315d
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
sub eax, 0x9786beea
je 0x40ec43
jmp 0x40e961
mov eax, dword [ebp - 0x28]
sub eax, 0x9c2faf10
je 0x40eb2b
jmp 0x40e974
mov eax, dword [ebp - 0x28]
sub eax, 0xd1ad0662
je 0x40eb79
jmp 0x40e987
mov eax, dword [ebp - 0x28]
sub eax, 0xda6b55f5
je 0x40eca0
jmp 0x40e99a
mov eax, dword [ebp - 0x28]
sub eax, 0xeabc0da9
je 0x40ec65
jmp 0x40e9ad
mov eax, dword [ebp - 0x28]
sub eax, 0x903cef6
je 0x40ec71
jmp 0x40e9c0
mov eax, dword [ebp - 0x28]
sub eax, 0x30e56f51
je 0x40eb10
jmp 0x40e9d3
mov eax, dword [ebp - 0x28]
sub eax, 0x418ecf43
je 0x40eb04
jmp 0x40e9e6
mov eax, dword [ebp - 0x28]
sub eax, 0x4c3f315d
je 0x40ea37
jmp 0x40e9f9
mov eax, dword [ebp - 0x28]
sub eax, 0x5b5db8a1
je 0x40ec79
jmp 0x40ea0c
mov eax, dword [ebp - 0x28]
sub eax, 0x78aea8e1
je 0x40ec37
jmp 0x40ea1f
mov eax, dword [ebp - 0x28]
sub eax, 0x7f43a613
je 0x40eaaa
jmp 0x40ea32
jmp 0x40eca7
mov ecx, dword [0x44157c]
mov eax, dword [0x441578]
mov edx, ecx
add edx, 0xa4ee5092
sub edx, 1
sub edx, 0xa4ee5092
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x5b5db8a1
mov ecx, 0x7f43a613
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40eca7
mov ecx, dword [ebp - 0x1c]
mov edx, 0xffffffff
xor edx, 2
mov eax, ecx
xor eax, edx
and eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [0x44157c]
mov ecx, dword [0x441578]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x5b5db8a1
mov ecx, 0x418ecf43
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40eca7
mov dword [ebp - 0x24], 0x30e56f51
jmp 0x40eca7
mov edx, dword [ebp - 0x18]
mov eax, 0x903cef6
mov ecx, 0x9c2faf10
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40eca7
mov eax, dword [0x44157c]
mov ecx, dword [0x441578]
mov edx, eax
add edx, 0xae90afd2
sub edx, 1
sub edx, 0xae90afd2
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xda6b55f5
mov ecx, 0xd1ad0662
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40eca7
mov ecx, dword [ebp - 0x20]
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x2c], eax
mov esi, 0xffffffff
xor esi, 2
mov edx, 0xffffffff
xor edx, 0xff468c51
and eax, 0xff468c51
and ecx, edx
mov edi, esi
and edi, 0xff468c51
mov ebx, edx
and ebx, 2
or eax, ecx
mov ecx, dword [ebp - 0x2c]
or edi, ebx
xor eax, edi
or ecx, esi
xor ecx, 0xffffffff
or edx, 0xff468c51
and ecx, edx
or eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov ecx, dword [0x44157c]
mov eax, dword [0x441578]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xda6b55f5
mov ecx, 0x78aea8e1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40eca7
mov dword [ebp - 0x24], 0x9786beea
jmp 0x40eca7
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
sub esp, 8
mov dword [ebp - 0x24], 0xeabc0da9
jmp 0x40eca7
mov dword [ebp - 0x24], 0x903cef6
jmp 0x40eca7
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], 0x7f43a613
jmp 0x40eca7
mov dword [ebp - 0x24], 0xd1ad0662
jmp 0x40e94b