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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x30], eax
mov eax, dword [0x43d080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x26], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x25], al
mov dword [ebp - 0x2c], 0x3f3228e8
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
sub eax, 0x92f6770a
je 0x40e276
jmp 0x40e167
mov eax, dword [ebp - 0x34]
sub eax, 0x995c5516
je 0x40e48c
jmp 0x40e17a
mov eax, dword [ebp - 0x34]
sub eax, 0xa0df229b
je 0x40e301
jmp 0x40e18d
mov eax, dword [ebp - 0x34]
sub eax, 0xa1762334
je 0x40e2f5
jmp 0x40e1a0
mov eax, dword [ebp - 0x34]
sub eax, 0xab4f929b
je 0x40e374
jmp 0x40e1b3
mov eax, dword [ebp - 0x34]
sub eax, 0xbf495e50
je 0x40e41f
jmp 0x40e1c6
mov eax, dword [ebp - 0x34]
sub eax, 0xc689c56a
je 0x40e4ce
jmp 0x40e1d9
mov eax, dword [ebp - 0x34]
sub eax, 0xf9a5b4a0
je 0x40e4b0
jmp 0x40e1ec
mov eax, dword [ebp - 0x34]
sub eax, 0x30df68a8
je 0x40e4c2
jmp 0x40e1ff
mov eax, dword [ebp - 0x34]
sub eax, 0x3f3228e8
je 0x40e250
jmp 0x40e212
mov eax, dword [ebp - 0x34]
sub eax, 0x55584299
je 0x40e3f8
jmp 0x40e225
mov eax, dword [ebp - 0x34]
sub eax, 0x623970e0
je 0x40e404
jmp 0x40e238
mov eax, dword [ebp - 0x34]
sub eax, 0x77ced87c
je 0x40e433
jmp 0x40e24b
jmp 0x40e4f8
mov al, byte [ebp - 0x26]
mov cl, byte [ebp - 0x25]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x30df68a8
mov ecx, 0x92f6770a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x40e4f8
push eax
mov eax, esp
mov dword [ebp - 0x24], eax
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
add edx, 0x6688e354
sub edx, 1
sub edx, 0x6688e354
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, 0x30df68a8
mov ecx, 0xa1762334
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x40e4f8
mov dword [ebp - 0x2c], 0xa0df229b
jmp 0x40e4f8
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
sub edx, 0xa113645d
sub edx, 1
add edx, 0xa113645d
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, 0xc689c56a
mov ecx, 0xab4f929b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x40e4f8
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
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 - 0x20]
mov dword [eax], ecx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov edx, 0xffffffff
xor edx, 2
mov eax, ecx
xor eax, edx
and eax, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [0x43e55c]
mov ecx, dword [0x43e558]
mov edx, eax
sub edx, 0xc05a2bc1
sub edx, 1
add edx, 0xc05a2bc1
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, 0xc689c56a
mov ecx, 0x55584299
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x40e4f8
mov dword [ebp - 0x2c], 0x623970e0
jmp 0x40e4f8
mov edx, dword [ebp - 0x1c]
mov eax, 0xf9a5b4a0
mov ecx, 0xbf495e50
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x40e4f8
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x2c], 0x77ced87c
jmp 0x40e4f8
mov ecx, dword [ebp - 0x18]
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x38], eax
mov esi, 0xffffffff
xor esi, 2
mov edx, 0xffffffff
xor edx, 0xbe4943c3
and eax, 0xbe4943c3
and ecx, edx
mov edi, esi
and edi, 0xbe4943c3
mov ebx, edx
and ebx, 2
or eax, ecx
mov ecx, dword [ebp - 0x38]
or edi, ebx
xor eax, edi
or ecx, esi
xor ecx, 0xffffffff
or edx, 0xbe4943c3
and ecx, edx
or eax, ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x2c], 0x995c5516
jmp 0x40e4f8
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x14]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov dword [ebp - 0x2c], 0xf9a5b4a0
jmp 0x40e4f8
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004270e0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x2c], 0x92f6770a
jmp 0x40e4f8
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
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 - 0x20]
mov dword [eax], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], 0xab4f929b
jmp 0x40e151