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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x20
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], 0xe0d90ae2
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
sub eax, 0xe0d90ae2
je 0x409e47
jmp 0x409d38
mov eax, dword [ebp - 0x20]
sub eax, 0xe165071a
je 0x40a1aa
jmp 0x409d4b
mov eax, dword [ebp - 0x20]
sub eax, 0xe6666f77
je 0x40a1a3
jmp 0x409d5e
mov eax, dword [ebp - 0x20]
sub eax, 0x129d2b11
je 0x409e65
jmp 0x409d71
mov eax, dword [ebp - 0x20]
sub eax, 0x1bf88835
je 0x40a1cb
jmp 0x409d84
mov eax, dword [ebp - 0x20]
sub eax, 0x1c1b24ef
je 0x40a10e
jmp 0x409d97
mov eax, dword [ebp - 0x20]
sub eax, 0x371a7793
je 0x40a09b
jmp 0x409daa
mov eax, dword [ebp - 0x20]
sub eax, 0x4bed6aea
je 0x409fa1
jmp 0x409dbd
mov eax, dword [ebp - 0x20]
sub eax, 0x4d63a0fc
je 0x40a1b6
jmp 0x409dd0
mov eax, dword [ebp - 0x20]
sub eax, 0x54c23e6e
je 0x40a014
jmp 0x409de3
mov eax, dword [ebp - 0x20]
sub eax, 0x5b0758a1
je 0x40a08f
jmp 0x409df6
mov eax, dword [ebp - 0x20]
sub eax, 0x6817fcd1
je 0x409f74
jmp 0x409e09
mov eax, dword [ebp - 0x20]
sub eax, 0x688fe459
je 0x409ed8
jmp 0x409e1c
mov eax, dword [ebp - 0x20]
sub eax, 0x6bced937
je 0x40a197
jmp 0x409e2f
mov eax, dword [ebp - 0x20]
sub eax, 0x6cedfd8c
je 0x409f8f
jmp 0x409e42
jmp 0x40a1e8
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
sub esp, 4
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], 0x129d2b11
jmp 0x40a1e8
mov ecx, dword [0x435584]
mov eax, dword [0x435580]
mov edx, ecx
add edx, 0x29a86df2
sub edx, 1
sub edx, 0x29a86df2
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, 0xe165071a
mov ecx, 0x688fe459
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x40a1e8
mov eax, dword [ebp - 0x18]
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 2
mov ecx, 0xffffffff
xor ecx, 0x28e9180c
or eax, edx
or ecx, 0x28e9180c
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x11], al
mov ecx, dword [0x435584]
mov eax, dword [0x435580]
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, 0xe165071a
mov ecx, 0x6817fcd1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x40a1e8
mov dl, byte [ebp - 0x11]
mov eax, 0xe6666f77
mov ecx, 0x6cedfd8c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x40a1e8
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 0x4bed6aea
jmp 0x40a1e8
mov ecx, dword [0x435584]
mov eax, dword [0x435580]
mov edx, ecx
add edx, 0xd4524bc8
sub edx, 1
sub edx, 0xd4524bc8
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, 0x4d63a0fc
mov ecx, 0x54c23e6e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x40a1e8
mov ecx, dword [ebp - 0x10]
mov eax, ecx
and eax, 2
xor ecx, 2
or eax, ecx
mov dword [ebp - 0xc], eax
mov ecx, dword [0x435584]
mov eax, dword [0x435580]
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, 0x4d63a0fc
mov ecx, 0x5b0758a1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x40a1e8
mov dword [ebp - 0x1c], 0x371a7793
jmp 0x40a1e8
mov ecx, dword [0x435584]
mov eax, dword [0x435580]
mov edx, ecx
sub edx, 0x90cc3ff7
sub edx, 1
add edx, 0x90cc3ff7
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, 0x1bf88835
mov ecx, 0x1c1b24ef
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x40a1e8
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 ecx, dword [0x435584]
mov eax, dword [0x435580]
mov edx, ecx
add edx, 0x1b6fcad6
sub edx, 1
sub edx, 0x1b6fcad6
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, 0x1bf88835
mov ecx, 0x6bced937
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x40a1e8
mov dword [ebp - 0x1c], 0xe6666f77
jmp 0x40a1e8
add esp, 0x20
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x1c], 0x688fe459
jmp 0x40a1e8
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], 0x54c23e6e
jmp 0x40a1e8
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 - 0x1c], 0x1c1b24ef
jmp 0x409d22