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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x30
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], 0x9c398476
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], eax
sub eax, 0x9c398476
je 0x40ee0b
jmp 0x40ecfc
mov eax, dword [ebp - 0x30]
sub eax, 0xb0dc5a59
je 0x40ef31
jmp 0x40ed0f
mov eax, dword [ebp - 0x30]
sub eax, 0xc538d223
je 0x40ee2f
jmp 0x40ed22
mov eax, dword [ebp - 0x30]
sub eax, 0xcf7ad41c
je 0x40eea2
jmp 0x40ed35
mov eax, dword [ebp - 0x30]
sub eax, 0xd2016aed
je 0x40f17d
jmp 0x40ed48
mov eax, dword [ebp - 0x30]
sub eax, 0xe375dfbe
je 0x40f044
jmp 0x40ed5b
mov eax, dword [ebp - 0x30]
sub eax, 0xecdc805d
je 0x40f1ab
jmp 0x40ed6e
mov eax, dword [ebp - 0x30]
sub eax, 0xf551facd
je 0x40f038
jmp 0x40ed81
mov eax, dword [ebp - 0x30]
sub eax, 0x6b32e5d
je 0x40f1bf
jmp 0x40ed94
mov eax, dword [ebp - 0x30]
sub eax, 0x2adb4b76
je 0x40efbf
jmp 0x40eda7
mov eax, dword [ebp - 0x30]
sub eax, 0x5b61ff9b
je 0x40f189
jmp 0x40edba
mov eax, dword [ebp - 0x30]
sub eax, 0x675b7cfa
je 0x40f1cb
jmp 0x40edcd
mov eax, dword [ebp - 0x30]
sub eax, 0x736669f4
je 0x40f0b7
jmp 0x40ede0
mov eax, dword [ebp - 0x30]
sub eax, 0x750d4848
je 0x40ef4c
jmp 0x40edf3
mov eax, dword [ebp - 0x30]
sub eax, 0x7957506d
je 0x40f1b3
jmp 0x40ee06
jmp 0x40f1db
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
sub esp, 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], 0xc538d223
jmp 0x40f1db
mov ecx, dword [0x43f544]
mov eax, dword [0x43f540]
mov edx, ecx
add edx, 0xf2dd16bf
sub edx, 1
sub edx, 0xf2dd16bf
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, 0x7957506d
mov ecx, 0xcf7ad41c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40f1db
mov ecx, dword [ebp - 0x24]
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 - 0x19], al
mov ecx, dword [0x43f544]
mov eax, dword [0x43f540]
mov edx, ecx
sub edx, 0xb0184819
sub edx, 1
add edx, 0xb0184819
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, 0x7957506d
mov ecx, 0xb0dc5a59
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40f1db
mov dl, byte [ebp - 0x19]
mov eax, 0xecdc805d
mov ecx, 0x750d4848
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40f1db
mov ecx, dword [0x43f544]
mov eax, dword [0x43f540]
mov edx, ecx
add edx, 0x8016c24b
sub edx, 1
sub edx, 0x8016c24b
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, 0x6b32e5d
mov ecx, 0x2adb4b76
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40f1db
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov ecx, dword [0x43f544]
mov eax, dword [0x43f540]
mov edx, ecx
sub edx, 0xeb4e6970
sub edx, 1
add edx, 0xeb4e6970
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, 0x6b32e5d
mov ecx, 0xf551facd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40f1db
mov dword [ebp - 0x28], 0xe375dfbe
jmp 0x40f1db
mov ecx, dword [0x43f544]
mov eax, dword [0x43f540]
mov edx, ecx
add edx, 0xffc98d3b
sub edx, 1
sub edx, 0xffc98d3b
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, 0x675b7cfa
mov ecx, 0x736669f4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40f1db
mov ecx, dword [ebp - 0x18]
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x34], eax
mov esi, 0xffffffff
xor esi, 2
mov edx, 0xffffffff
xor edx, 0x8a0fdb40
and eax, 0x8a0fdb40
and ecx, edx
mov edi, esi
and edi, 0x8a0fdb40
mov ebx, edx
and ebx, 2
or eax, ecx
mov ecx, dword [ebp - 0x34]
or edi, ebx
xor eax, edi
or ecx, esi
xor ecx, 0xffffffff
or edx, 0x8a0fdb40
and ecx, edx
or eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
mov ecx, dword [0x43f544]
mov eax, dword [0x43f540]
mov edx, ecx
add edx, 0xbfc23e63
sub edx, 1
sub edx, 0xbfc23e63
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, 0x675b7cfa
mov ecx, 0xd2016aed
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40f1db
mov dword [ebp - 0x28], 0x5b61ff9b
jmp 0x40f1db
mov eax, dword [ebp - 0x14]
mov ecx, 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 - 0x28], 0xecdc805d
jmp 0x40f1db
add esp, 0x30
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x28], 0xcf7ad41c
jmp 0x40f1db
mov dword [ebp - 0x28], 0x2adb4b76
jmp 0x40f1db
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], 0x736669f4
jmp 0x40ece6