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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x24
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [0x43c080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x43d544]
mov eax, dword [0x43d540]
mov edx, ecx
sub edx, 0x2bef7c59
sub edx, 1
add edx, 0x2bef7c59
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x1e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x1d], al
mov dword [ebp - 0x24], 0x7da7fd6
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
sub eax, 0x831e2878
je 0x40e199
jmp 0x40de7e
mov eax, dword [ebp - 0x2c]
sub eax, 0x897505e4
je 0x40e00c
jmp 0x40de91
mov eax, dword [ebp - 0x2c]
sub eax, 0x9794b0b7
je 0x40e1b6
jmp 0x40dea4
mov eax, dword [ebp - 0x2c]
sub eax, 0xa05e7f27
je 0x40e18d
jmp 0x40deb7
mov eax, dword [ebp - 0x2c]
sub eax, 0xa459b743
je 0x40e066
jmp 0x40deca
mov eax, dword [ebp - 0x2c]
sub eax, 0xb410124b
je 0x40e018
jmp 0x40dedd
mov eax, dword [ebp - 0x2c]
sub eax, 0xc4bef673
je 0x40e130
jmp 0x40def0
mov eax, dword [ebp - 0x2c]
sub eax, 0xc4d86bc0
je 0x40e124
jmp 0x40df03
mov eax, dword [ebp - 0x2c]
sub eax, 0xf0ddb701
je 0x40e14b
jmp 0x40df16
mov eax, dword [ebp - 0x2c]
sub eax, 0xf5ca8a
je 0x40e169
jmp 0x40df29
mov eax, dword [ebp - 0x2c]
sub eax, 0x7da7fd6
je 0x40df67
jmp 0x40df3c
mov eax, dword [ebp - 0x2c]
sub eax, 0x198d9706
je 0x40df8d
jmp 0x40df4f
mov eax, dword [ebp - 0x2c]
sub eax, 0x44d0491b
je 0x40e1aa
jmp 0x40df62
jmp 0x40e1e0
mov al, byte [ebp - 0x1e]
mov cl, byte [ebp - 0x1d]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x44d0491b
mov ecx, 0x198d9706
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40e1e0
push eax
mov eax, esp
mov dword [ebp - 0x1c], eax
push eax
mov eax, esp
mov dword [ebp - 0x18], eax
mov ecx, dword [0x43d544]
mov eax, dword [0x43d540]
mov edx, ecx
add edx, 0x76e7039b
sub edx, 1
sub edx, 0x76e7039b
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, 0x44d0491b
mov ecx, 0x897505e4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40e1e0
mov dword [ebp - 0x24], 0xb410124b
jmp 0x40e1e0
mov eax, dword [0x43d544]
mov ecx, dword [0x43d540]
mov edx, eax
sub edx, 0xbe642f7f
sub edx, 1
add edx, 0xbe642f7f
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, 0x9794b0b7
mov ecx, 0xa459b743
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40e1e0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 2
mov ecx, 0xffffffff
xor ecx, 0x96fbf534
or eax, edx
or ecx, 0x96fbf534
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x11], al
mov ecx, dword [0x43d544]
mov eax, dword [0x43d540]
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, 0x9794b0b7
mov ecx, 0xc4d86bc0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40e1e0
mov dword [ebp - 0x24], 0xc4bef673
jmp 0x40e1e0
mov dl, byte [ebp - 0x11]
mov eax, 0x831e2878
mov ecx, 0xf0ddb701
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40e1e0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov eax, ecx
and eax, 2
xor ecx, 2
or eax, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], 0xf5ca8a
jmp 0x40e1e0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x10]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov dword [ebp - 0x24], 0xa05e7f27
jmp 0x40e1e0
mov dword [ebp - 0x24], 0x831e2878
jmp 0x40e1e0
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00425ee0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x24], 0x198d9706
jmp 0x40e1e0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], 0xa459b743
jmp 0x40de68