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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x2c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], 0x35f31a70
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
sub eax, 0x8a32d283
je 0x40cea8
jmp 0x40cd4b
mov eax, dword [ebp - 0x2c]
sub eax, 0x8ce38729
je 0x40d08f
jmp 0x40cd5e
mov eax, dword [ebp - 0x2c]
sub eax, 0xa8ca42a2
je 0x40d01b
jmp 0x40cd71
mov eax, dword [ebp - 0x2c]
sub eax, 0xac207f4f
je 0x40d106
jmp 0x40cd84
mov eax, dword [ebp - 0x2c]
sub eax, 0xe2fc6543
je 0x40cf39
jmp 0x40cd97
mov eax, dword [ebp - 0x2c]
sub eax, 0xe6c9f21f
je 0x40d12a
jmp 0x40cdaa
mov eax, dword [ebp - 0x2c]
sub eax, 0xf0565b53
je 0x40d027
jmp 0x40cdbd
mov eax, dword [ebp - 0x2c]
sub eax, 0xf683653c
je 0x40cf45
jmp 0x40cdd0
mov eax, dword [ebp - 0x2c]
sub eax, 0xfcf0b00d
je 0x40d136
jmp 0x40cde3
mov eax, dword [ebp - 0x2c]
sub eax, 0x1c1b4e2
je 0x40cf81
jmp 0x40cdf6
mov eax, dword [ebp - 0x2c]
sub eax, 0x13642e54
je 0x40cfc7
jmp 0x40ce09
mov eax, dword [ebp - 0x2c]
sub eax, 0x34ef81a0
je 0x40d0f3
jmp 0x40ce1c
mov eax, dword [ebp - 0x2c]
sub eax, 0x35f31a70
je 0x40ce5a
jmp 0x40ce2f
mov eax, dword [ebp - 0x2c]
sub eax, 0x38a3fda0
je 0x40d049
jmp 0x40ce42
mov eax, dword [ebp - 0x2c]
sub eax, 0x52450376
je 0x40d0ff
jmp 0x40ce55
jmp 0x40d153
mov eax, dword [0x43d54c]
mov ecx, dword [0x43d548]
mov edx, eax
add edx, 0x30855ded
sub edx, 1
sub edx, 0x30855ded
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, 0xac207f4f
mov ecx, 0x8a32d283
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40d153
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
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 eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov ecx, dword [0x43d54c]
mov eax, dword [0x43d548]
mov edx, ecx
add edx, 0x81a92b01
sub edx, 1
sub edx, 0x81a92b01
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, 0xac207f4f
mov ecx, 0xe2fc6543
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40d153
mov dword [ebp - 0x24], 0xf683653c
jmp 0x40d153
mov edx, dword [ebp - 0x18]
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 2
mov eax, 0xffffffff
xor eax, 0x6e268b8
or edx, ecx
or eax, 0x6e268b8
xor edx, 0xffffffff
and edx, eax
mov eax, 0x52450376
mov ecx, 0x1c1b4e2
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40d153
mov eax, dword [0x43d54c]
mov ecx, dword [0x43d548]
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, 0xe6c9f21f
mov ecx, 0x13642e54
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40d153
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov eax, dword [0x43d54c]
mov ecx, dword [0x43d548]
mov edx, eax
add edx, 0x54653943
sub edx, 1
sub edx, 0x54653943
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, 0xe6c9f21f
mov ecx, 0xa8ca42a2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40d153
mov dword [ebp - 0x24], 0xf0565b53
jmp 0x40d153
mov ecx, dword [ebp - 0x14]
mov eax, ecx
and eax, 2
xor ecx, 2
or eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x24], 0x38a3fda0
jmp 0x40d153
mov eax, dword [0x43d54c]
mov ecx, dword [0x43d548]
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, 0xfcf0b00d
mov ecx, 0x8ce38729
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40d153
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
sub esp, 8
mov eax, dword [0x43d54c]
mov ecx, dword [0x43d548]
mov edx, eax
add edx, 0x5f26babe
sub edx, 1
sub edx, 0x5f26babe
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, 0xfcf0b00d
mov ecx, 0x34ef81a0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40d153
mov dword [ebp - 0x24], 0x52450376
jmp 0x40d153
add esp, 0x2c
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
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], 0x8a32d283
jmp 0x40d153
mov dword [ebp - 0x24], 0x13642e54
jmp 0x40d153
mov eax, dword [ebp - 0x10]
mov ecx, 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 - 0x24], 0x8ce38729
jmp 0x40cd35