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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x28
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 0x2885fb09
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
sub eax, 0x8aa88562
je 0x409a25
jmp 0x40961b
mov eax, dword [ebp - 0x28]
sub eax, 0x8c5d1f53
je 0x4098f4
jmp 0x40962e
mov eax, dword [ebp - 0x28]
sub eax, 0x8cd715f2
je 0x409848
jmp 0x409641
mov eax, dword [ebp - 0x28]
sub eax, 0x9cbce878
je 0x409a00
jmp 0x409654
mov eax, dword [ebp - 0x28]
sub eax, 0xc5818e0a
je 0x40981b
jmp 0x409667
mov eax, dword [ebp - 0x28]
sub eax, 0xd10d4c26
je 0x409a13
jmp 0x40967a
mov eax, dword [ebp - 0x28]
sub eax, 0xd31a26e5
je 0x409922
jmp 0x40968d
mov eax, dword [ebp - 0x28]
sub eax, 0xe3d7d52
je 0x4097b9
jmp 0x4096a0
mov eax, dword [ebp - 0x28]
sub eax, 0x1471dc07
je 0x40998d
jmp 0x4096b3
mov eax, dword [ebp - 0x28]
sub eax, 0x25b0d524
je 0x40974e
jmp 0x4096c6
mov eax, dword [ebp - 0x28]
sub eax, 0x2885fb09
je 0x40972a
jmp 0x4096d9
mov eax, dword [ebp - 0x28]
sub eax, 0x2939f1ee
je 0x409896
jmp 0x4096ec
mov eax, dword [ebp - 0x28]
sub eax, 0x2bf933d1
je 0x409900
jmp 0x4096ff
mov eax, dword [ebp - 0x28]
sub eax, 0x314d288e
je 0x409a07
jmp 0x409712
mov eax, dword [ebp - 0x28]
sub eax, 0x798f7ea2
je 0x409836
jmp 0x409725
jmp 0x409a2c
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
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], 0x25b0d524
jmp 0x409a2c
mov ecx, dword [0x433554]
mov eax, dword [0x433550]
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, 0x314d288e
mov ecx, 0xe3d7d52
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x409a2c
mov ecx, dword [ebp - 0x1c]
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 - 0x11], al
mov eax, dword [0x433554]
mov ecx, dword [0x433550]
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, 0x314d288e
mov ecx, 0xc5818e0a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x409a2c
mov dl, byte [ebp - 0x11]
mov eax, 0xd31a26e5
mov ecx, 0x798f7ea2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x409a2c
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], 0x8cd715f2
jmp 0x409a2c
mov eax, dword [0x433554]
mov ecx, dword [0x433550]
mov edx, eax
add edx, 0x70202e78
sub edx, 1
sub edx, 0x70202e78
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, 0xd10d4c26
mov ecx, 0x2939f1ee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x409a2c
mov ecx, dword [ebp - 0x10]
mov eax, ecx
and eax, 2
xor ecx, 2
or eax, ecx
mov dword [ebp - 0xc], eax
mov eax, dword [0x433554]
mov ecx, dword [0x433550]
mov edx, eax
add edx, 0x2037a93d
sub edx, 1
sub edx, 0x2037a93d
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, 0xd10d4c26
mov ecx, 0x8c5d1f53
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x409a2c
mov dword [ebp - 0x20], 0x2bf933d1
jmp 0x409a2c
mov ecx, dword [ebp - 0x18]
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 - 0x20], 0xd31a26e5
jmp 0x409a2c
mov ecx, dword [0x433554]
mov eax, dword [0x433550]
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, 0x8aa88562
mov ecx, 0x1471dc07
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x409a2c
mov ecx, dword [0x433554]
mov eax, dword [0x433550]
mov edx, ecx
sub edx, 0x23291410
sub edx, 1
add edx, 0x23291410
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, 0x8aa88562
mov ecx, 0x9cbce878
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x409a2c
add esp, 0x28
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x20], 0xe3d7d52
jmp 0x409a2c
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], 0x2939f1ee
jmp 0x409a2c
mov dword [ebp - 0x20], 0x1471dc07
jmp 0x409605