Function at 0x46c660
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 - 0x2c], eax
mov eax, dword [0x4c9080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x4ca5ec]
mov eax, dword [0x4ca5e8]
mov edx, ecx
add edx, 0x7357e182
sub edx, 1
sub edx, 0x7357e182
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], 0xc2bb2c71
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], eax
sub eax, 0x817e27c1
je 0x46d753
jmp 0x46c6ce
mov eax, dword [ebp - 0x30]
sub eax, 0x845d804e
je 0x46d346
jmp 0x46c6e1
mov eax, dword [ebp - 0x30]
sub eax, 0x854ee074
je 0x46df7e
jmp 0x46c6f4
mov eax, dword [ebp - 0x30]
sub eax, 0x8813d1aa
je 0x46e2c9
jmp 0x46c707
mov eax, dword [ebp - 0x30]
sub eax, 0x919e317d
je 0x46ce52
jmp 0x46c71a
mov eax, dword [ebp - 0x30]
sub eax, 0x91e7c0e4
je 0x46dd00
jmp 0x46c72d
mov eax, dword [ebp - 0x30]
sub eax, 0x93e6a769
je 0x46e1ed
jmp 0x46c740
mov eax, dword [ebp - 0x30]
sub eax, 0x97d48c76
je 0x46e74d
jmp 0x46c753
mov eax, dword [ebp - 0x30]
sub eax, 0x98407234
je 0x46da73
jmp 0x46c766
mov eax, dword [ebp - 0x30]
sub eax, 0xa19c93e0
je 0x46e62f
jmp 0x46c779
mov eax, dword [ebp - 0x30]
sub eax, 0xa2803d9f
je 0x46e471
jmp 0x46c78c
mov eax, dword [ebp - 0x30]
sub eax, 0xa48fcb63
je 0x46d1c8
jmp 0x46c79f
mov eax, dword [ebp - 0x30]
sub eax, 0xa6202923
je 0x46e4e4
jmp 0x46c7b2
mov eax, dword [ebp - 0x30]
sub eax, 0xa70cdb05
je 0x46d472
jmp 0x46c7c5
mov eax, dword [ebp - 0x30]
sub eax, 0xa71090e3
je 0x46dac1
jmp 0x46c7d8
mov eax, dword [ebp - 0x30]
sub eax, 0xaa3e1684
je 0x46d7ef
jmp 0x46c7eb
mov eax, dword [ebp - 0x30]
sub eax, 0xab5b439e
je 0x46e6fb
jmp 0x46c7fe
mov eax, dword [ebp - 0x30]
sub eax, 0xac88b97a
je 0x46d891
jmp 0x46c811
mov eax, dword [ebp - 0x30]
sub eax, 0xadf7faa5
je 0x46e2d5
jmp 0x46c824
mov eax, dword [ebp - 0x30]
sub eax, 0xaf1f05b9
je 0x46d9de
jmp 0x46c837
mov eax, dword [ebp - 0x30]
sub eax, 0xb73e8ec0
je 0x46e557
jmp 0x46c84a
mov eax, dword [ebp - 0x30]
sub eax, 0xb785b822
je 0x46d69a
jmp 0x46c85d
mov eax, dword [ebp - 0x30]
sub eax, 0xb8a58ba3
je 0x46e735
jmp 0x46c870
mov eax, dword [ebp - 0x30]
sub eax, 0xbe461ecf
je 0x46e465
jmp 0x46c883
mov eax, dword [ebp - 0x30]
sub eax, 0xc2bb2c71
je 0x46ce2c
jmp 0x46c896
mov eax, dword [ebp - 0x30]
sub eax, 0xc4ce8e46
je 0x46d593
jmp 0x46c8a9
mov eax, dword [ebp - 0x30]
sub eax, 0xc5a0e561
je 0x46de76
jmp 0x46c8bc
mov eax, dword [ebp - 0x30]
sub eax, 0xc8040bf5
je 0x46d0d6
jmp 0x46c8cf
mov eax, dword [ebp - 0x30]
sub eax, 0xcb8e5e76
je 0x46d2db
jmp 0x46c8e2
mov eax, dword [ebp - 0x30]
sub eax, 0xd0fb8d47
je 0x46e22d
jmp 0x46c8f5
mov eax, dword [ebp - 0x30]
sub eax, 0xd14fe64e
je 0x46e71e
jmp 0x46c908
mov eax, dword [ebp - 0x30]
sub eax, 0xd644dfa3
je 0x46e684
jmp 0x46c91b
mov eax, dword [ebp - 0x30]
sub eax, 0xd6b241a3
je 0x46df27
jmp 0x46c92e
mov eax, dword [ebp - 0x30]
sub eax, 0xdad35c72
je 0x46e6b3
jmp 0x46c941
mov eax, dword [ebp - 0x30]
sub eax, 0xdc56ee8a
je 0x46d520
jmp 0x46c954
mov eax, dword [ebp - 0x30]
sub eax, 0xe619a187
je 0x46cf1f
jmp 0x46c967
mov eax, dword [ebp - 0x30]
sub eax, 0xe6c7bdd8
je 0x46d7a1
jmp 0x46c97a
mov eax, dword [ebp - 0x30]
sub eax, 0xe8e6268b
je 0x46d15d
jmp 0x46c98d
mov eax, dword [ebp - 0x30]
sub eax, 0xec22c34f
je 0x46dd6b
jmp 0x46c9a0
mov eax, dword [ebp - 0x30]
sub eax, 0xf7bd551a
je 0x46d015
jmp 0x46c9b3
mov eax, dword [ebp - 0x30]
sub eax, 0xf9a89e33
je 0x46e5d6
jmp 0x46c9c6
mov eax, dword [ebp - 0x30]
sub eax, 0xf9aa00bf
je 0x46e459
jmp 0x46c9d9
mov eax, dword [ebp - 0x30]
sub eax, 0xfa41506b
je 0x46e413
jmp 0x46c9ec
mov eax, dword [ebp - 0x30]
sub eax, 0xfb9f3436
je 0x46e0c7
jmp 0x46c9ff
mov eax, dword [ebp - 0x30]
sub eax, 0xfc1735cf
je 0x46e16e
jmp 0x46ca12
mov eax, dword [ebp - 0x30]
sub eax, 0xfcba7d18
je 0x46e712
jmp 0x46ca25
mov eax, dword [ebp - 0x30]
sub eax, 0x3744ff7
je 0x46dbe5
jmp 0x46ca38
mov eax, dword [ebp - 0x30]
sub eax, 0x47aa937
je 0x46e63b
jmp 0x46ca4b
mov eax, dword [ebp - 0x30]
sub eax, 0x62870e0
je 0x46d64c
jmp 0x46ca5e
mov eax, dword [ebp - 0x30]
sub eax, 0x98d1c08
je 0x46d28d
jmp 0x46ca71
mov eax, dword [ebp - 0x30]
sub eax, 0x10046e48
je 0x46cf6d
jmp 0x46ca84
mov eax, dword [ebp - 0x30]
sub eax, 0x118b0e56
je 0x46d216
jmp 0x46ca97
mov eax, dword [ebp - 0x30]
sub eax, 0x11f6b029
je 0x46e6ef
jmp 0x46caaa
mov eax, dword [ebp - 0x30]
sub eax, 0x125cce64
je 0x46db72
jmp 0x46cabd
mov eax, dword [ebp - 0x30]
sub eax, 0x1410666f
je 0x46d42c
jmp 0x46cad0
mov eax, dword [ebp - 0x30]
sub eax, 0x18110a36
je 0x46ddb1
jmp 0x46cae3
mov eax, dword [ebp - 0x30]
sub eax, 0x1d7babf0
je 0x46db2c
jmp 0x46caf6
mov eax, dword [ebp - 0x30]
sub eax, 0x20092e21
je 0x46e741
jmp 0x46cb09
mov eax, dword [ebp - 0x30]
sub eax, 0x266ab10d
je 0x46d70d
jmp 0x46cb1c
mov eax, dword [ebp - 0x30]
sub eax, 0x26ff68d1
je 0x46d8df
jmp 0x46cb2f
mov eax, dword [ebp - 0x30]
sub eax, 0x270c7ad2
je 0x46e64f
jmp 0x46cb42
mov eax, dword [ebp - 0x30]
sub eax, 0x28a82f5a
je 0x46e3ad
jmp 0x46cb55
mov eax, dword [ebp - 0x30]
sub eax, 0x2ede7670
je 0x46e678
jmp 0x46cb68
mov eax, dword [ebp - 0x30]
sub eax, 0x2f97c519
je 0x46e65b
jmp 0x46cb7b
mov eax, dword [ebp - 0x30]
sub eax, 0x2fe48594
je 0x46e354
mov al, byte [ebp - 0x22]
mov cl, byte [ebp - 0x21]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xadf7faa5
mov ecx, 0x919e317d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
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, 0x47aa937
mov ecx, 0x36711361
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
mov edx, eax
sub edx, 0x327a40be
sub edx, 1
add edx, 0x327a40be
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, 0xadf7faa5
mov ecx, 0x10046e48
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
mov edx, eax
sub edx, 0xb8e228cb
sub edx, 1
add edx, 0xb8e228cb
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, 0x270c7ad2
mov ecx, 0x401fc65b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
mov edx, eax
sub edx, 0xfe2e1680
sub edx, 1
add edx, 0xfe2e1680
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, 0x62c7ed4b
mov ecx, 0x6258f982
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x18], eax
mov ecx, dword [0x4ca5ec]
mov eax, dword [0x4ca5e8]
mov edx, ecx
sub edx, 0xf9656bd5
sub edx, 1
add edx, 0xf9656bd5
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, 0x2f97c519
mov ecx, 0xe8e6268b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov ecx, dword [0x4ca5ec]
mov eax, dword [0x4ca5e8]
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, 0x62c7ed4b
mov ecx, 0xa48fcb63
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
mov edx, eax
add edx, 0x77bf140b
sub edx, 1
sub edx, 0x77bf140b
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, 0x2ede7670
mov ecx, 0x118b0e56
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov ecx, dword [0x4ca5ec]
mov eax, dword [0x4ca5e8]
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, 0x2ede7670
mov ecx, 0x4cbaf2cc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
mov edx, eax
sub edx, 0xa7580222
sub edx, 1
add edx, 0xa7580222
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, 0xd644dfa3
mov ecx, 0xcb8e5e76
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov ecx, dword [0x4ca5ec]
mov eax, dword [0x4ca5e8]
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, 0xd644dfa3
mov ecx, 0x845d804e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov ecx, dword [0x4ca5ec]
mov eax, dword [0x4ca5e8]
mov edx, ecx
add edx, 0xfd56ae53
sub edx, 1
sub edx, 0xfd56ae53
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, 0x854ee074
mov ecx, 0x4955abf2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
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, 0x533a7402
mov ecx, 0xa70cdb05
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 2
mov ecx, 0xffffffff
xor ecx, 0xb57686bb
or eax, edx
or ecx, 0xb57686bb
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x11], al
mov ecx, dword [0x4ca5ec]
mov eax, dword [0x4ca5e8]
mov edx, ecx
sub edx, 0x5f6b4147
sub edx, 1
add edx, 0x5f6b4147
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, 0x533a7402
mov ecx, 0xdc56ee8a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov ecx, dword [0x4ca5ec]
mov eax, dword [0x4ca5e8]
mov edx, ecx
sub edx, 0xb8fe0a23
sub edx, 1
add edx, 0xb8fe0a23
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, 0x578f0ea0
mov ecx, 0xc4ce8e46
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
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, 0x3e3a4ca8
mov ecx, 0x683f4971
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
mov edx, eax
add edx, 0x3e027850
sub edx, 1
sub edx, 0x3e027850
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, 0x854ee074
mov ecx, 0xb785b822
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov ecx, dword [0x4ca5ec]
mov eax, dword [0x4ca5e8]
mov edx, ecx
add edx, 0x8f5f7b6d
sub edx, 1
sub edx, 0x8f5f7b6d
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, 0x59546c23
mov ecx, 0x266ab10d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
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, 0xdad35c72
mov ecx, 0x817e27c1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
mov edx, eax
add edx, 0x445b41ba
sub edx, 1
sub edx, 0x445b41ba
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, 0xdad35c72
mov ecx, 0xe6c7bdd8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
mov edx, eax
sub edx, 0x2b30be39
sub edx, 1
add edx, 0x2b30be39
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, 0x59546c23
mov ecx, 0xaa3e1684
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov dl, byte [ebp - 0x11]
mov eax, 0x74569d0a
mov ecx, 0x4a9768c6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
mov edx, eax
add edx, 0xb910e0fe
sub edx, 1
sub edx, 0xb910e0fe
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, 0x6656fb83
mov ecx, 0x26ff68d1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov ecx, dword [0x4ca5ec]
mov eax, dword [0x4ca5e8]
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, 0x5901bf42
mov ecx, 0x71527309
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov ecx, dword [ebp - 0x10]
mov eax, ecx
and eax, 2
xor ecx, 2
or eax, ecx
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ecx, dword [0x4ca5ec]
mov eax, dword [0x4ca5e8]
mov edx, ecx
sub edx, 0x85ec169b
sub edx, 1
add edx, 0x85ec169b
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, 0x93e6a769
mov ecx, 0x98407234
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
mov edx, eax
add edx, 0x17959dc
sub edx, 1
sub edx, 0x17959dc
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, 0xbe461ecf
mov ecx, 0xa71090e3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov ecx, dword [0x4ca5ec]
mov eax, dword [0x4ca5e8]
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, 0x37e337a8
mov ecx, 0x1d7babf0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
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, 0x37e337a8
mov ecx, 0x125cce64
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov ecx, dword [0x4ca5ec]
mov eax, dword [0x4ca5e8]
mov edx, ecx
sub edx, 0xd97711fa
sub edx, 1
add edx, 0xd97711fa
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, 0xbe461ecf
mov ecx, 0x3744ff7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov dword [ebp - 0x28], 0x72dcb35d
jmp 0x46e75f
mov ecx, dword [0x4ca5ec]
mov eax, dword [0x4ca5e8]
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, 0x740c6d45
mov ecx, 0xec22c34f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
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, 0xa2803d9f
mov ecx, 0x18110a36
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov ecx, dword [0x4ca5ec]
mov eax, dword [0x4ca5e8]
mov edx, ecx
sub edx, 0x953be05e
sub edx, 1
add edx, 0x953be05e
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, 0xa2803d9f
mov ecx, 0x5b97d186
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
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, 0x7b4aa293
mov ecx, 0x75a7bd33
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
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, 0xd0fb8d47
mov ecx, 0x6d34919b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov ecx, dword [0x4ca5ec]
mov eax, dword [0x4ca5e8]
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, 0x11f6b029
mov ecx, 0x3319dba2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
mov edx, eax
sub edx, 0xc567add0
sub edx, 1
add edx, 0xc567add0
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, 0xab5b439e
mov ecx, 0x455740ac
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov ecx, dword [0x4ca5ec]
mov eax, dword [0x4ca5e8]
mov edx, ecx
sub edx, 0xd95e9be2
sub edx, 1
add edx, 0xd95e9be2
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, 0x3909e84e
mov ecx, 0x7f8199bd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov eax, ecx
and eax, 2
xor ecx, 2
or eax, ecx
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov dword [ebp - 0x28], 0xaf1f05b9
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
mov edx, eax
add edx, 0xd28fb59c
sub edx, 1
sub edx, 0xd28fb59c
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, 0xfcba7d18
mov ecx, 0x74098737
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov dword [ebp - 0x28], 0xd6b241a3
jmp 0x46e75f
mov ecx, dword [ebp - 0x2c]
push eax
mov eax, esp
mov dword [eax], ecx
mov dword [ebp - 0x28], 0x919e317d
jmp 0x46e75f
mov dword [ebp - 0x28], 0x1410666f
jmp 0x46e75f
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
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, 0xb8a58ba3
mov ecx, 0xf9aa00bf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov dword [ebp - 0x28], 0x71527309
jmp 0x46e75f
mov dword [ebp - 0x28], 0xa71090e3
jmp 0x46e75f
mov ecx, dword [0x4ca5ec]
mov eax, dword [0x4ca5e8]
mov edx, ecx
add edx, 0x5001c0ec
sub edx, 1
sub edx, 0x5001c0ec
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, 0x20092e21
mov ecx, 0xa6202923
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov ecx, dword [0x4ca5ec]
mov eax, dword [0x4ca5e8]
mov edx, ecx
sub edx, 0x36507be
sub edx, 1
add edx, 0x36507be
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, 0x20092e21
mov ecx, 0xb73e8ec0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov dword [ebp - 0x28], 0x18110a36
jmp 0x46e75f
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [0x4ca5ec]
mov ecx, dword [0x4ca5e8]
mov edx, eax
sub edx, 0xc658f862
sub edx, 1
add edx, 0xc658f862
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, 0x97d48c76
mov ecx, 0xa19c93e0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x46e75f
mov dword [ebp - 0x28], 0xfb9f3436
jmp 0x46e75f
mov ecx, dword [ebp - 0x2c]
push eax
mov eax, esp
mov dword [eax], ecx
mov dword [ebp - 0x28], 0x36711361
jmp 0x46e75f
mov dword [ebp - 0x28], 0x401fc65b
jmp 0x46e75f
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x28], 0xc8040bf5
jmp 0x46e75f
mov dword [ebp - 0x28], 0x118b0e56
jmp 0x46e75f
mov dword [ebp - 0x28], 0xcb8e5e76
jmp 0x46e75f
mov dword [ebp - 0x28], 0x817e27c1
jmp 0x46e75f
mov dword [ebp - 0x28], 0x3319dba2
jmp 0x46e75f
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], 0x455740ac
jmp 0x46e75f
mov dword [ebp - 0x28], 0x74098737
jmp 0x46e75f
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], 0x2fe48594
jmp 0x46e75f
mov dword [ebp - 0x28], 0xfa41506b
jmp 0x46e75f
mov dword [ebp - 0x28], 0xa6202923
jmp 0x46e75f
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], 0xf9a89e33
jmp 0x46c6b8