Function at 0x40e4d0
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 - 0x28], eax
mov dword [ebp - 0x24], 0xc8760397
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
sub eax, 0xa0787a3c
je 0x40e66b
jmp 0x40e4fc
mov eax, dword [ebp - 0x2c]
sub eax, 0xa8a7a8e5
je 0x40e936
jmp 0x40e50f
mov eax, dword [ebp - 0x2c]
sub eax, 0xc0834bcf
je 0x40e6e7
jmp 0x40e522
mov eax, dword [ebp - 0x2c]
sub eax, 0xc8760397
je 0x40e60b
jmp 0x40e535
mov eax, dword [ebp - 0x2c]
sub eax, 0xd2664bf5
je 0x40e702
jmp 0x40e548
mov eax, dword [ebp - 0x2c]
sub eax, 0xd746dfdf
je 0x40e92a
jmp 0x40e55b
mov eax, dword [ebp - 0x2c]
sub eax, 0xe7fc7da2
je 0x40e8a1
jmp 0x40e56e
mov eax, dword [ebp - 0x2c]
sub eax, 0xef96ad24
je 0x40e7fa
jmp 0x40e581
mov eax, dword [ebp - 0x2c]
sub eax, 0xf0ca9ec8
je 0x40e93e
jmp 0x40e594
mov eax, dword [ebp - 0x2c]
sub eax, 0x2a59f1b
je 0x40e775
jmp 0x40e5a7
mov eax, dword [ebp - 0x2c]
sub eax, 0xd393cff
je 0x40e95c
jmp 0x40e5ba
mov eax, dword [ebp - 0x2c]
sub eax, 0x24659db4
je 0x40e7ee
jmp 0x40e5cd
mov eax, dword [ebp - 0x2c]
sub eax, 0x332d2b4f
je 0x40e853
jmp 0x40e5e0
mov eax, dword [ebp - 0x2c]
sub eax, 0x345c0d9d
je 0x40e968
jmp 0x40e5f3
mov eax, dword [ebp - 0x2c]
sub eax, 0x7c656f9b
je 0x40e61d
jmp 0x40e606
jmp 0x40e985
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0x7c656f9b
jmp 0x40e985
mov eax, dword [0x441514]
mov ecx, dword [0x441510]
mov edx, eax
sub edx, 0xc94afb77
sub edx, 1
add edx, 0xc94afb77
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, 0xf0ca9ec8
mov ecx, 0xa0787a3c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40e985
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
sub esp, 4
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
mov edx, 0xffffffff
xor edx, 2
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x15], al
mov eax, dword [0x441514]
mov ecx, dword [0x441510]
mov edx, eax
add edx, 0x63fb24bc
sub edx, 1
sub edx, 0x63fb24bc
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, 0xf0ca9ec8
mov ecx, 0xc0834bcf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40e985
mov dl, byte [ebp - 0x15]
mov eax, 0xa8a7a8e5
mov ecx, 0xd2664bf5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40e985
mov ecx, dword [0x441514]
mov eax, dword [0x441510]
mov edx, ecx
add edx, 0x2179a501
sub edx, 1
sub edx, 0x2179a501
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, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xd393cff
mov ecx, 0x2a59f1b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40e985
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x441514]
mov eax, dword [0x441510]
mov edx, ecx
sub edx, 0xb10054d9
sub edx, 1
add edx, 0xb10054d9
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, 0xd393cff
mov ecx, 0x24659db4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40e985
mov dword [ebp - 0x24], 0xef96ad24
jmp 0x40e985
mov ecx, dword [ebp - 0x14]
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x30], eax
mov esi, 0xffffffff
xor esi, 2
mov edx, 0xffffffff
xor edx, 0x711e376a
and eax, 0x711e376a
and ecx, edx
mov edi, esi
and edi, 0x711e376a
mov ebx, edx
and ebx, 2
or eax, ecx
mov ecx, dword [ebp - 0x30]
or edi, ebx
xor eax, edi
or ecx, esi
xor ecx, 0xffffffff
or edx, 0x711e376a
and ecx, edx
or eax, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], 0x332d2b4f
jmp 0x40e985
mov eax, dword [0x441514]
mov ecx, dword [0x441510]
mov edx, eax
sub edx, 0x9610dd8c
sub edx, 1
add edx, 0x9610dd8c
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, 0x345c0d9d
mov ecx, 0xe7fc7da2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40e985
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
sub esp, 8
mov ecx, dword [0x441514]
mov eax, dword [0x441510]
mov edx, ecx
sub edx, 0xad49a692
sub edx, 1
add edx, 0xad49a692
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, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x345c0d9d
mov ecx, 0xd746dfdf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40e985
mov dword [ebp - 0x24], 0xa8a7a8e5
jmp 0x40e985
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
sub esp, 4
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], 0xa0787a3c
jmp 0x40e985
mov dword [ebp - 0x24], 0x2a59f1b
jmp 0x40e985
mov ecx, dword [ebp - 0x1c]
mov eax, 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], 0xe7fc7da2
jmp 0x40e4e6