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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x28
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 0x6e7756c5
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
sub eax, 0xa7e77715
je 0x40c872
jmp 0x40c44c
mov eax, dword [ebp - 0x28]
sub eax, 0xb83e9212
je 0x40c894
jmp 0x40c45f
mov eax, dword [ebp - 0x28]
sub eax, 0xc993b418
je 0x40c791
jmp 0x40c472
mov eax, dword [ebp - 0x28]
sub eax, 0xd4503c8a
je 0x40c6ae
jmp 0x40c485
mov eax, dword [ebp - 0x28]
sub eax, 0xda038022
je 0x40c5c1
jmp 0x40c498
mov eax, dword [ebp - 0x28]
sub eax, 0xdbca4c03
je 0x40c866
jmp 0x40c4ab
mov eax, dword [ebp - 0x28]
sub eax, 0xee096a26
je 0x40c585
jmp 0x40c4be
mov eax, dword [ebp - 0x28]
sub eax, 0xf05a77a9
je 0x40c804
jmp 0x40c4d1
mov eax, dword [ebp - 0x28]
sub eax, 0xf2f164c3
je 0x40c60f
jmp 0x40c4e4
mov eax, dword [ebp - 0x28]
sub eax, 0x4d1ed290
je 0x40c6a2
jmp 0x40c4f7
mov eax, dword [ebp - 0x28]
sub eax, 0x60803ce1
je 0x40c6fc
jmp 0x40c50a
mov eax, dword [ebp - 0x28]
sub eax, 0x6632e11a
je 0x40c85e
jmp 0x40c51d
mov eax, dword [ebp - 0x28]
sub eax, 0x6e7756c5
je 0x40c55b
jmp 0x40c530
mov eax, dword [ebp - 0x28]
sub eax, 0x73a51189
je 0x40c852
jmp 0x40c543
mov eax, dword [ebp - 0x28]
sub eax, 0x762b6dd4
je 0x40c785
jmp 0x40c556
jmp 0x40c89b
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
sub esp, 4
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x20], 0xee096a26
jmp 0x40c89b
mov edx, dword [ebp - 0x14]
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 2
mov eax, 0xffffffff
xor eax, 0x6f1dc4c2
or edx, ecx
or eax, 0x6f1dc4c2
xor edx, 0xffffffff
and edx, eax
mov eax, 0x6632e11a
mov ecx, 0xda038022
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40c89b
mov eax, dword [0x43d57c]
mov ecx, dword [0x43d578]
mov edx, eax
add edx, 0x2c6fe501
sub edx, 1
sub edx, 0x2c6fe501
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, 0xdbca4c03
mov ecx, 0xf2f164c3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40c89b
mov ecx, dword [ebp - 0x1c]
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x2c], eax
mov esi, 0xffffffff
xor esi, 2
mov edx, 0xffffffff
xor edx, 0xc4e96a13
and eax, 0xc4e96a13
and ecx, edx
mov edi, esi
and edi, 0xc4e96a13
mov ebx, edx
and ebx, 2
or eax, ecx
mov ecx, dword [ebp - 0x2c]
or edi, ebx
xor eax, edi
or ecx, esi
xor ecx, 0xffffffff
or edx, 0xc4e96a13
and ecx, edx
or eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [0x43d57c]
mov ecx, dword [0x43d578]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
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, 0xdbca4c03
mov ecx, 0x4d1ed290
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40c89b
mov dword [ebp - 0x20], 0xd4503c8a
jmp 0x40c89b
mov eax, dword [0x43d57c]
mov ecx, dword [0x43d578]
mov edx, eax
add edx, 0xf97e928a
sub edx, 1
sub edx, 0xf97e928a
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, 0xa7e77715
mov ecx, 0x60803ce1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40c89b
mov ecx, dword [ebp - 0x18]
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 [0x43d57c]
mov eax, dword [0x43d578]
mov edx, ecx
add edx, 0xe97c7eb0
sub edx, 1
sub edx, 0xe97c7eb0
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, 0xa7e77715
mov ecx, 0x762b6dd4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40c89b
mov dword [ebp - 0x20], 0xc993b418
jmp 0x40c89b
mov ecx, dword [0x43d57c]
mov eax, dword [0x43d578]
mov edx, ecx
add edx, 0x6e848c80
sub edx, 1
sub edx, 0x6e848c80
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, 0xb83e9212
mov ecx, 0xf05a77a9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40c89b
mov eax, dword [0x43d57c]
mov ecx, dword [0x43d578]
mov edx, eax
add edx, 0x834c4740
sub edx, 1
sub edx, 0x834c4740
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, 0xb83e9212
mov ecx, 0x73a51189
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40c89b
mov dword [ebp - 0x20], 0x6632e11a
jmp 0x40c89b
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x20], 0xf2f164c3
jmp 0x40c89b
mov ecx, dword [ebp - 0x18]
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 - 0x20], 0x60803ce1
jmp 0x40c89b
mov dword [ebp - 0x20], 0xf05a77a9
jmp 0x40c436