Function at 0x409330
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 dword [ebp - 0x30], eax
mov eax, dword [0x438080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x43957c]
mov eax, dword [0x439578]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x26], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x25], al
mov dword [ebp - 0x2c], 0x9a3d567a
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
sub eax, 0x88159183
je 0x4098e2
jmp 0x409397
mov eax, dword [ebp - 0x34]
sub eax, 0x9a3d567a
je 0x4094f2
jmp 0x4093aa
mov eax, dword [ebp - 0x34]
sub eax, 0xa7b5e8a1
je 0x409734
jmp 0x4093bd
mov eax, dword [ebp - 0x34]
sub eax, 0xa921e4d7
je 0x4098d6
jmp 0x4093d0
mov eax, dword [ebp - 0x34]
sub eax, 0xb2fcc9fd
je 0x4096a6
jmp 0x4093e3
mov eax, dword [ebp - 0x34]
sub eax, 0xe245cb5c
je 0x40953d
jmp 0x4093f6
mov eax, dword [ebp - 0x34]
sub eax, 0xf53f5c4e
je 0x409918
jmp 0x409409
mov eax, dword [ebp - 0x34]
sub eax, 0xfc42d910
je 0x409823
jmp 0x40941c
mov eax, dword [ebp - 0x34]
sub eax, 0x2eb8b31
je 0x4095c0
jmp 0x40942f
mov eax, dword [ebp - 0x34]
sub eax, 0x129fced4
je 0x4096c1
jmp 0x409442
mov eax, dword [ebp - 0x34]
sub eax, 0x1485f7db
je 0x4097dd
jmp 0x409455
mov eax, dword [ebp - 0x34]
sub eax, 0x2acb19cd
je 0x409896
jmp 0x409468
mov eax, dword [ebp - 0x34]
sub eax, 0x3c2cc70d
je 0x4098c4
jmp 0x40947b
mov eax, dword [ebp - 0x34]
sub eax, 0x3d8a0dea
je 0x409909
jmp 0x40948e
mov eax, dword [ebp - 0x34]
sub eax, 0x4846adb5
je 0x409622
jmp 0x4094a1
mov eax, dword [ebp - 0x34]
sub eax, 0x642c054a
je 0x4097d1
jmp 0x4094b4
mov eax, dword [ebp - 0x34]
sub eax, 0x657113b5
je 0x4095d4
jmp 0x4094c7
mov eax, dword [ebp - 0x34]
sub eax, 0x6b8cbc9e
je 0x4095b4
jmp 0x4094da
mov eax, dword [ebp - 0x34]
sub eax, 0x7d905781
je 0x4098a2
jmp 0x4094ed
jmp 0x409922
mov bl, byte [ebp - 0x26]
mov dh, byte [ebp - 0x25]
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, 0xa921e4d7
mov ecx, 0xe245cb5c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x409922
push eax
mov eax, esp
mov dword [ebp - 0x24], eax
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
mov ecx, dword [0x43957c]
mov eax, dword [0x439578]
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, 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, 0xa921e4d7
mov ecx, 0x6b8cbc9e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x409922
mov dword [ebp - 0x2c], 0x2eb8b31
jmp 0x409922
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov dword [eax], ecx
mov dword [ebp - 0x2c], 0x657113b5
jmp 0x409922
mov eax, dword [0x43957c]
mov ecx, dword [0x439578]
mov edx, eax
sub edx, 0x451aa1bc
sub edx, 1
add edx, 0x451aa1bc
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, 0x88159183
mov ecx, 0x4846adb5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x409922
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
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 eax, dword [0x43957c]
mov ecx, dword [0x439578]
mov edx, eax
add edx, 0x4cda84c1
sub edx, 1
sub edx, 0x4cda84c1
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, 0x88159183
mov ecx, 0xb2fcc9fd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x409922
mov dl, byte [ebp - 0x19]
mov eax, 0x3c2cc70d
mov ecx, 0x129fced4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x409922
mov ecx, dword [0x43957c]
mov eax, dword [0x439578]
mov edx, ecx
sub edx, 0x1720bb3c
sub edx, 1
add edx, 0x1720bb3c
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, 0x3d8a0dea
mov ecx, 0xa7b5e8a1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x409922
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x38], eax
mov esi, 0xffffffff
xor esi, 2
mov edx, 0xffffffff
xor edx, 0x728cc42e
and eax, 0x728cc42e
and ecx, edx
mov edi, esi
and edi, 0x728cc42e
mov ebx, edx
and ebx, 2
or eax, ecx
mov ecx, dword [ebp - 0x38]
or edi, ebx
xor eax, edi
or ecx, esi
xor ecx, 0xffffffff
or edx, 0x728cc42e
and ecx, edx
or eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [0x43957c]
mov ecx, dword [0x439578]
mov edx, eax
sub edx, 0x676d6b5d
sub edx, 1
add edx, 0x676d6b5d
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, 0x3d8a0dea
mov ecx, 0x642c054a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x409922
mov dword [ebp - 0x2c], 0x1485f7db
jmp 0x409922
mov eax, dword [0x43957c]
mov ecx, dword [0x439578]
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, 0xf53f5c4e
mov ecx, 0xfc42d910
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x409922
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x43957c]
mov eax, dword [0x439578]
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, 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, 0xf53f5c4e
mov ecx, 0x2acb19cd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x409922
mov dword [ebp - 0x2c], 0x7d905781
jmp 0x409922
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov dword [ebp - 0x2c], 0x3c2cc70d
jmp 0x409922
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004218f0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x2c], 0xe245cb5c
jmp 0x409922
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], 0x4846adb5
jmp 0x409922
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], 0xa7b5e8a1
jmp 0x409922
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], 0xfc42d910
jmp 0x409381