Function at 0x409f90
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 eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x28], 0x5fe867f5
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
sub eax, 0x88bb20af
je 0x40a0ce
jmp 0x409fbf
mov eax, dword [ebp - 0x2c]
sub eax, 0xaabac7a6
je 0x40a218
jmp 0x409fd2
mov eax, dword [ebp - 0x2c]
sub eax, 0xc99dda73
je 0x40a0bc
jmp 0x409fe5
mov eax, dword [ebp - 0x2c]
sub eax, 0xcb74f61a
je 0x40a080
jmp 0x409ff8
mov eax, dword [ebp - 0x2c]
sub eax, 0x2251d43a
je 0x40a141
jmp 0x40a00b
mov eax, dword [ebp - 0x2c]
sub eax, 0x43efe88f
je 0x40a210
jmp 0x40a01e
mov eax, dword [ebp - 0x2c]
sub eax, 0x5fe867f5
je 0x40a05c
jmp 0x40a031
mov eax, dword [ebp - 0x2c]
sub eax, 0x764203f7
je 0x40a1e2
jmp 0x40a044
mov eax, dword [ebp - 0x2c]
sub eax, 0x76faa7dd
je 0x40a1ee
jmp 0x40a057
jmp 0x40a225
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 eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], 0xcb74f61a
jmp 0x40a225
mov edx, dword [ebp - 0x1c]
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 2
mov eax, 0xffffffff
xor eax, 0x3ff84da3
or edx, ecx
or eax, 0x3ff84da3
xor edx, 0xffffffff
and edx, eax
mov eax, 0x43efe88f
mov ecx, 0xc99dda73
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40a225
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], 0x88bb20af
jmp 0x40a225
mov ecx, dword [0x43b58c]
mov eax, dword [0x43b588]
mov edx, ecx
add edx, 0xbb840eec
sub edx, 1
sub edx, 0xbb840eec
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, 0xaabac7a6
mov ecx, 0x2251d43a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40a225
mov ecx, dword [ebp - 0x18]
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x30], eax
mov esi, 0xffffffff
xor esi, 2
mov edx, 0xffffffff
xor edx, 0xa0a65437
and eax, 0xa0a65437
and ecx, edx
mov edi, esi
and edi, 0xa0a65437
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, 0xa0a65437
and ecx, edx
or eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [0x43b58c]
mov ecx, dword [0x43b588]
mov edx, eax
sub edx, 0x33c8023
sub edx, 1
add edx, 0x33c8023
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, 0xaabac7a6
mov ecx, 0x764203f7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40a225
mov dword [ebp - 0x28], 0x76faa7dd
jmp 0x40a225
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], 0x43efe88f
jmp 0x40a225
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], 0x2251d43a
jmp 0x409fa9