Function at 0x416a20
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 - 0x2c], eax
mov eax, dword [0x449080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x44a57c]
mov eax, dword [0x44a578]
mov edx, ecx
add edx, 0x603a232e
sub edx, 1
sub edx, 0x603a232e
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x22], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x21], al
mov dword [ebp - 0x28], 0xdab8390c
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], eax
sub eax, 0x95449aff
je 0x416cdf
jmp 0x416a8e
mov eax, dword [ebp - 0x30]
sub eax, 0x98c71573
je 0x4170d5
jmp 0x416aa1
mov eax, dword [ebp - 0x30]
sub eax, 0xa15eba40
je 0x417095
jmp 0x416ab4
mov eax, dword [ebp - 0x30]
sub eax, 0xbc0220e4
je 0x416e87
jmp 0x416ac7
mov eax, dword [ebp - 0x30]
sub eax, 0xc0aea206
je 0x416ceb
jmp 0x416ada
mov eax, dword [ebp - 0x30]
sub eax, 0xdab8390c
je 0x416c22
jmp 0x416aed
mov eax, dword [ebp - 0x30]
sub eax, 0xe2b7b3c8
je 0x416e14
jmp 0x416b00
mov eax, dword [ebp - 0x30]
sub eax, 0xeda26d01
je 0x416f77
jmp 0x416b13
mov eax, dword [ebp - 0x30]
sub eax, 0xf079bcc9
je 0x416dc6
jmp 0x416b26
mov eax, dword [ebp - 0x30]
sub eax, 0x552422
je 0x416f93
jmp 0x416b39
mov eax, dword [ebp - 0x30]
sub eax, 0x7402a0f
je 0x4170a6
jmp 0x416b4c
mov eax, dword [ebp - 0x30]
sub eax, 0x173837d1
je 0x4170e4
jmp 0x416b5f
mov eax, dword [ebp - 0x30]
sub eax, 0x179d34d9
je 0x417022
jmp 0x416b72
mov eax, dword [ebp - 0x30]
sub eax, 0x1bb8729d
je 0x416ea2
jmp 0x416b85
mov eax, dword [ebp - 0x30]
sub eax, 0x227541e7
je 0x416d39
jmp 0x416b98
mov eax, dword [ebp - 0x30]
sub eax, 0x266082ab
je 0x416f15
jmp 0x416bab
mov eax, dword [ebp - 0x30]
sub eax, 0x37cca90d
je 0x416dba
jmp 0x416bbe
mov eax, dword [ebp - 0x30]
sub eax, 0x492703e1
je 0x416f6b
jmp 0x416bd1
mov eax, dword [ebp - 0x30]
sub eax, 0x4a98981e
je 0x416fb7
jmp 0x416be4
mov eax, dword [ebp - 0x30]
sub eax, 0x6fbf9f59
je 0x4170f0
jmp 0x416bf7
mov eax, dword [ebp - 0x30]
sub eax, 0x72072729
je 0x4170ff
jmp 0x416c0a
mov eax, dword [ebp - 0x30]
sub eax, 0x73315dae
je 0x416c48
jmp 0x416c1d
jmp 0x417106
mov al, byte [ebp - 0x22]
mov cl, byte [ebp - 0x21]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x7402a0f
mov ecx, 0x73315dae
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x417106
mov ecx, dword [ebp - 0x2c]
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
push eax
mov eax, esp
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
mov eax, dword [ebp - 0x20]
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 - 0x1c]
mov dword [eax], ecx
mov ecx, dword [0x44a57c]
mov eax, dword [0x44a578]
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, 0x7402a0f
mov ecx, 0x95449aff
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x417106
mov dword [ebp - 0x28], 0xc0aea206
jmp 0x417106
mov eax, dword [0x44a57c]
mov ecx, dword [0x44a578]
mov edx, eax
add edx, 0xd392ef52
sub edx, 1
sub edx, 0xd392ef52
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, 0x98c71573
mov ecx, 0x227541e7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x417106
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 2
mov ecx, 0xffffffff
xor ecx, 0x326ef674
or eax, edx
or ecx, 0x326ef674
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x15], al
mov eax, dword [0x44a57c]
mov ecx, dword [0x44a578]
mov edx, eax
add edx, 0x39979e10
sub edx, 1
sub edx, 0x39979e10
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, 0x98c71573
mov ecx, 0x37cca90d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x417106
mov dword [ebp - 0x28], 0xf079bcc9
jmp 0x417106
mov eax, dword [0x44a57c]
mov ecx, dword [0x44a578]
mov edx, eax
add edx, 0x407f2901
sub edx, 1
sub edx, 0x407f2901
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, 0x173837d1
mov ecx, 0xe2b7b3c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x417106
mov ecx, dword [0x44a57c]
mov eax, dword [0x44a578]
mov edx, ecx
add edx, 0x45262ac9
sub edx, 1
sub edx, 0x45262ac9
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, 0x173837d1
mov ecx, 0xbc0220e4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x417106
mov dl, byte [ebp - 0x15]
mov eax, 0x4a98981e
mov ecx, 0x1bb8729d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x417106
mov ecx, dword [0x44a57c]
mov eax, dword [0x44a578]
mov edx, ecx
add edx, 0x80ec15ef
sub edx, 1
sub edx, 0x80ec15ef
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, 0x6fbf9f59
mov ecx, 0x266082ab
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x417106
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [0x44a57c]
mov ecx, dword [0x44a578]
mov edx, eax
sub edx, 0xc5fd7b86
sub edx, 1
add edx, 0xc5fd7b86
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, 0x6fbf9f59
mov ecx, 0x492703e1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x417106
mov dword [ebp - 0x28], 0xeda26d01
jmp 0x417106
mov ecx, dword [ebp - 0x14]
mov eax, ecx
and eax, 2
xor ecx, 2
or eax, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], 0x552422
jmp 0x417106
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x10]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov dword [ebp - 0x28], 0x4a98981e
jmp 0x417106
mov ecx, dword [0x44a57c]
mov eax, dword [0x44a578]
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, 0x72072729
mov ecx, 0x179d34d9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x417106
mov ecx, dword [0x44a57c]
mov eax, dword [0x44a578]
mov edx, ecx
sub edx, 0xd9ab4d90
sub edx, 1
add edx, 0xd9ab4d90
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, 0x72072729
mov ecx, 0xa15eba40
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x417106
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00431640
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x2c]
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0x34], edx
mov dword [eax], ecx
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 - 0x34]
mov dword [eax], ecx
mov dword [ebp - 0x28], 0x73315dae
jmp 0x417106
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], 0x227541e7
jmp 0x417106
mov dword [ebp - 0x28], 0xe2b7b3c8
jmp 0x417106
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], 0x266082ab
jmp 0x417106
mov dword [ebp - 0x28], 0x179d34d9
jmp 0x416a78