Function at 0x40dca0
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 eax, dword [ebp + 8]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
sub esp, 4
mov dword [ebp - 0x1c], eax
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 dword [ebp - 0x20], 0x33f83cb4
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
sub eax, 0xadffdfe1
je 0x40de37
jmp 0x40dcee
mov eax, dword [ebp - 0x24]
sub eax, 0xc031600d
je 0x40dfd9
jmp 0x40dd01
mov eax, dword [ebp - 0x24]
sub eax, 0xc38aba3c
je 0x40dfca
jmp 0x40dd14
mov eax, dword [ebp - 0x24]
sub eax, 0xd0d520c4
je 0x40df79
jmp 0x40dd27
mov eax, dword [ebp - 0x24]
sub eax, 0xd7dff3e5
je 0x40deb0
jmp 0x40dd3a
mov eax, dword [ebp - 0x24]
sub eax, 0xe1bfbe23
je 0x40ded7
jmp 0x40dd4d
mov eax, dword [ebp - 0x24]
sub eax, 0xebbec58e
je 0x40dfc3
jmp 0x40dd60
mov eax, dword [ebp - 0x24]
sub eax, 0x217ffe3e
je 0x40df85
jmp 0x40dd73
mov eax, dword [ebp - 0x24]
sub eax, 0x33f83cb4
je 0x40ddc4
jmp 0x40dd86
mov eax, dword [ebp - 0x24]
sub eax, 0x3749bf51
je 0x40df25
jmp 0x40dd99
mov eax, dword [ebp - 0x24]
sub eax, 0x3cff922b
je 0x40debc
jmp 0x40ddac
mov eax, dword [ebp - 0x24]
sub eax, 0x57ad33d7
je 0x40dfa1
jmp 0x40ddbf
jmp 0x40dfe0
mov ecx, dword [0x44156c]
mov eax, dword [0x441568]
mov edx, ecx
add edx, 0x6f56d9d
sub edx, 1
sub edx, 0x6f56d9d
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, 0xc38aba3c
mov ecx, 0xadffdfe1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40dfe0
mov eax, dword [ebp - 0x18]
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x11], al
mov ecx, dword [0x44156c]
mov eax, dword [0x441568]
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, 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, 0xc38aba3c
mov ecx, 0xd7dff3e5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40dfe0
mov dword [ebp - 0x20], 0x3cff922b
jmp 0x40dfe0
mov dl, byte [ebp - 0x11]
mov eax, 0xebbec58e
mov ecx, 0xe1bfbe23
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40dfe0
mov eax, dword [0x44156c]
mov ecx, dword [0x441568]
mov edx, eax
sub edx, 0x5e02ea4c
sub edx, 1
add edx, 0x5e02ea4c
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, 0xc031600d
mov ecx, 0x3749bf51
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40dfe0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
mov eax, dword [0x44156c]
mov ecx, dword [0x441568]
mov edx, eax
sub edx, 0xed19200c
sub edx, 1
add edx, 0xed19200c
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, 0xc031600d
mov ecx, 0xd0d520c4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40dfe0
mov dword [ebp - 0x20], 0x217ffe3e
jmp 0x40dfe0
mov ecx, dword [ebp - 0x10]
mov eax, ecx
and eax, 2
xor ecx, 2
or eax, ecx
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x20], 0x57ad33d7
jmp 0x40dfe0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
sub esp, 8
mov dword [ebp - 0x20], 0xebbec58e
jmp 0x40dfe0
add esp, 0x24
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], 0xadffdfe1
jmp 0x40dfe0
mov dword [ebp - 0x20], 0x3749bf51
jmp 0x40dcd8