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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x28
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [0x439080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x43a574]
mov eax, dword [0x43a570]
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 - 0x1e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x1d], al
mov dword [ebp - 0x24], 0xf42e09f
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
sub eax, 0x8a7c94e7
je 0x40a744
jmp 0x40a446
mov eax, dword [ebp - 0x2c]
sub eax, 0xb2e6cfe5
je 0x40a555
jmp 0x40a459
mov eax, dword [ebp - 0x2c]
sub eax, 0xbc4ba1c4
je 0x40a5cf
jmp 0x40a46c
mov eax, dword [ebp - 0x2c]
sub eax, 0xce039c4a
je 0x40a5db
jmp 0x40a47f
mov eax, dword [ebp - 0x2c]
sub eax, 0xe6197d3e
je 0x40a6c5
jmp 0x40a492
mov eax, dword [ebp - 0x2c]
sub eax, 0xfca17644
je 0x40a784
jmp 0x40a4a5
mov eax, dword [ebp - 0x2c]
sub eax, 0xf42e09f
je 0x40a52f
jmp 0x40a4b8
mov eax, dword [ebp - 0x2c]
sub eax, 0x3fc2e455
je 0x40a61a
jmp 0x40a4cb
mov eax, dword [ebp - 0x2c]
sub eax, 0x418e5c34
je 0x40a755
jmp 0x40a4de
mov eax, dword [ebp - 0x2c]
sub eax, 0x568e6557
je 0x40a635
jmp 0x40a4f1
mov eax, dword [ebp - 0x2c]
sub eax, 0x586cc417
je 0x40a649
jmp 0x40a504
mov eax, dword [ebp - 0x2c]
sub eax, 0x6a3137ca
je 0x40a677
jmp 0x40a517
mov eax, dword [ebp - 0x2c]
sub eax, 0x785816c1
je 0x40a738
jmp 0x40a52a
jmp 0x40a78b
mov al, byte [ebp - 0x1e]
mov cl, byte [ebp - 0x1d]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x418e5c34
mov ecx, 0xb2e6cfe5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40a78b
mov ecx, dword [ebp - 0x28]
push eax
mov eax, esp
mov dword [ebp - 0x1c], eax
push eax
mov eax, esp
mov dword [ebp - 0x18], eax
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 [0x43a574]
mov ecx, dword [0x43a570]
mov edx, eax
sub edx, 0xbfa7d99e
sub edx, 1
add edx, 0xbfa7d99e
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, 0x418e5c34
mov ecx, 0xbc4ba1c4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40a78b
mov dword [ebp - 0x24], 0xce039c4a
jmp 0x40a78b
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 2
mov ecx, 0xffffffff
xor ecx, 0x28350316
or eax, edx
or ecx, 0x28350316
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x11], al
mov dword [ebp - 0x24], 0x3fc2e455
jmp 0x40a78b
mov dl, byte [ebp - 0x11]
mov eax, 0x8a7c94e7
mov ecx, 0x568e6557
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40a78b
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], 0x586cc417
jmp 0x40a78b
mov ecx, dword [ebp - 0x10]
mov eax, ecx
and eax, 2
xor ecx, 2
or eax, ecx
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov dword [ebp - 0x24], 0x6a3137ca
jmp 0x40a78b
mov eax, dword [0x43a574]
mov ecx, dword [0x43a570]
mov edx, eax
add edx, 0x8a1619c9
sub edx, 1
sub edx, 0x8a1619c9
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, 0xfca17644
mov ecx, 0xe6197d3e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40a78b
mov ecx, dword [0x43a574]
mov eax, dword [0x43a570]
mov edx, ecx
sub edx, 0x7b73620f
sub edx, 1
add edx, 0x7b73620f
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, 0xfca17644
mov ecx, 0x785816c1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40a78b
mov dword [ebp - 0x24], 0x8a7c94e7
jmp 0x40a78b
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00423340
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x28]
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0x30], edx
mov dword [eax], ecx
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 - 0x30]
mov dword [eax], ecx
mov dword [ebp - 0x24], 0xb2e6cfe5
jmp 0x40a78b
mov dword [ebp - 0x24], 0xe6197d3e
jmp 0x40a430