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

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x28
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], 0x70504e5c
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
sub eax, 0x88fcc898
je 0x4093cf
jmp 0x40918d
mov eax, dword [ebp - 0x24]
sub eax, 0xa4c21bc8
je 0x40955b
jmp 0x4091a0
mov eax, dword [ebp - 0x24]
sub eax, 0xbb23fa45
je 0x409579
jmp 0x4091b3
mov eax, dword [ebp - 0x24]
sub eax, 0xd155b375
je 0x409381
jmp 0x4091c6
mov eax, dword [ebp - 0x24]
sub eax, 0xdf0fa29e
je 0x409594
jmp 0x4091d9
mov eax, dword [ebp - 0x24]
sub eax, 0xdfe0670f
je 0x40948b
jmp 0x4091ec
mov eax, dword [ebp - 0x24]
sub eax, 0xea40ca07
je 0x4092ea
jmp 0x4091ff
mov eax, dword [ebp - 0x24]
sub eax, 0x15aa5d26
je 0x4094ad
jmp 0x409212
mov eax, dword [ebp - 0x24]
sub eax, 0x244d33ad
je 0x409555
jmp 0x409225
mov eax, dword [ebp - 0x24]
sub eax, 0x24f44f97
je 0x409375
jmp 0x409238
mov eax, dword [ebp - 0x24]
sub eax, 0x4b45ff5d
je 0x4094fb
jmp 0x40924b
mov eax, dword [ebp - 0x24]
sub eax, 0x596cf96f
je 0x409549
jmp 0x40925e
mov eax, dword [ebp - 0x24]
sub eax, 0x5ce0c89f
je 0x40944e
jmp 0x409271
mov eax, dword [ebp - 0x24]
sub eax, 0x66c62d05
je 0x409469
jmp 0x409284
mov eax, dword [ebp - 0x24]
sub eax, 0x70504e5c
je 0x40929c
jmp 0x409297
jmp 0x40959b
mov eax, dword [0x43355c]
mov ecx, dword [0x433558]
mov edx, eax
add edx, 0x8c506df6
sub edx, 1
sub edx, 0x8c506df6
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, 0xa4c21bc8
mov ecx, 0xea40ca07
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40959b
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
sub esp, 4
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x43355c]
mov eax, dword [0x433558]
mov edx, ecx
add edx, 0xa965d574
sub edx, 1
sub edx, 0xa965d574
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, 0xa4c21bc8
mov ecx, 0x24f44f97
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40959b
mov dword [ebp - 0x20], 0xd155b375
jmp 0x40959b
mov eax, dword [0x43355c]
mov ecx, dword [0x433558]
mov edx, eax
sub edx, 0x2a477ef0
sub edx, 1
add edx, 0x2a477ef0
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, 0xbb23fa45
mov ecx, 0x88fcc898
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40959b
mov eax, dword [ebp - 0x14]
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 2
mov ecx, 0xffffffff
xor ecx, 0x4532ee17
or eax, edx
or ecx, 0x4532ee17
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0xd], al
mov eax, dword [0x43355c]
mov ecx, dword [0x433558]
mov edx, eax
sub edx, 0x7e400b83
sub edx, 1
add edx, 0x7e400b83
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, 0xbb23fa45
mov ecx, 0x5ce0c89f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40959b
mov dl, byte [ebp - 0xd]
mov eax, 0x244d33ad
mov ecx, 0x66c62d05
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40959b
mov ecx, dword [ebp - 0x1c]
mov eax, ecx
and eax, 2
xor ecx, 2
or eax, ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
mov dword [ebp - 0x20], 0xdfe0670f
jmp 0x40959b
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
sub esp, 8
mov dword [ebp - 0x20], 0x15aa5d26
jmp 0x40959b
mov eax, dword [0x43355c]
mov ecx, dword [0x433558]
mov edx, eax
add edx, 0x6a281c96
sub edx, 1
sub edx, 0x6a281c96
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, 0xdf0fa29e
mov ecx, 0x4b45ff5d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40959b
mov eax, dword [0x43355c]
mov ecx, dword [0x433558]
mov edx, eax
add edx, 0xd1689a81
sub edx, 1
sub edx, 0xd1689a81
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, 0xdf0fa29e
mov ecx, 0x596cf96f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40959b
mov dword [ebp - 0x20], 0x244d33ad
jmp 0x40959b
add esp, 0x28
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
sub esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], 0xea40ca07
jmp 0x40959b
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], 0x88fcc898
jmp 0x40959b
mov dword [ebp - 0x20], 0x4b45ff5d
jmp 0x409177