Function at 0x409290
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 [0x433080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x434554]
mov eax, dword [0x434550]
mov edx, ecx
add edx, 0xd5cf2f51
sub edx, 1
sub edx, 0xd5cf2f51
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], 0x86466a64
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
sub eax, 0x86466a64
je 0x40945a
jmp 0x4092ff
mov eax, dword [ebp - 0x34]
sub eax, 0x9175b9c1
je 0x4097b0
jmp 0x409312
mov eax, dword [ebp - 0x34]
sub eax, 0x9d35952c
je 0x4098a6
jmp 0x409325
mov eax, dword [ebp - 0x34]
sub eax, 0xaf982248
je 0x4094e2
jmp 0x409338
mov eax, dword [ebp - 0x34]
sub eax, 0xb1364dc2
je 0x4098b5
jmp 0x40934b
mov eax, dword [ebp - 0x34]
sub eax, 0xb5651574
je 0x409837
jmp 0x40935e
mov eax, dword [ebp - 0x34]
sub eax, 0xd27dfacf
je 0x40986b
jmp 0x409371
mov eax, dword [ebp - 0x34]
sub eax, 0xd59c7dff
je 0x409859
jmp 0x409384
mov eax, dword [ebp - 0x34]
sub eax, 0xf9827b23
je 0x4095c7
jmp 0x409397
mov eax, dword [ebp - 0x34]
sub eax, 0xffd3290a
je 0x40973d
jmp 0x4093aa
mov eax, dword [ebp - 0x34]
sub eax, 0x31d44b73
je 0x4095d3
jmp 0x4093bd
mov eax, dword [ebp - 0x34]
sub eax, 0x33e6d8df
je 0x40982b
jmp 0x4093d0
mov eax, dword [ebp - 0x34]
sub eax, 0x34071baa
je 0x40987f
jmp 0x4093e3
mov eax, dword [ebp - 0x34]
sub eax, 0x4643bb26
je 0x40966f
jmp 0x4093f6
mov eax, dword [ebp - 0x34]
sub eax, 0x4b43d757
je 0x409561
jmp 0x409409
mov eax, dword [ebp - 0x34]
sub eax, 0x5d1b9326
je 0x409480
jmp 0x40941c
mov eax, dword [ebp - 0x34]
sub eax, 0x5dc8c262
je 0x4095fc
jmp 0x40942f
mov eax, dword [ebp - 0x34]
sub eax, 0x6a7901f7
je 0x4094ee
jmp 0x409442
mov eax, dword [ebp - 0x34]
sub eax, 0x783de24f
je 0x409731
jmp 0x409455
jmp 0x4098bf
mov al, byte [ebp - 0x26]
mov cl, byte [ebp - 0x25]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xd27dfacf
mov ecx, 0x5d1b9326
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098bf
mov ecx, dword [ebp - 0x30]
push eax
mov eax, esp
mov dword [ebp - 0x24], eax
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
mov dword [eax], ecx
mov eax, dword [0x434554]
mov ecx, dword [0x434550]
mov edx, eax
sub edx, 0xedf87a5d
sub edx, 1
add edx, 0xedf87a5d
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, 0xd27dfacf
mov ecx, 0xaf982248
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098bf
mov dword [ebp - 0x2c], 0x6a7901f7
jmp 0x4098bf
mov ecx, dword [0x434554]
mov eax, dword [0x434550]
mov edx, ecx
add edx, 0x9c802ff0
sub edx, 1
sub edx, 0x9c802ff0
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, 0x34071baa
mov ecx, 0x4b43d757
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098bf
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 eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x434554]
mov ecx, dword [0x434550]
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, 0x34071baa
mov ecx, 0xf9827b23
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098bf
mov dword [ebp - 0x2c], 0x31d44b73
jmp 0x4098bf
mov eax, dword [ebp - 0x1c]
mov ecx, 0xffffffff
xor ecx, 2
mov edx, eax
xor edx, ecx
and edx, eax
mov eax, 0xd59c7dff
mov ecx, 0x5dc8c262
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098bf
mov ecx, dword [0x434554]
mov eax, dword [0x434550]
mov edx, ecx
sub edx, 0x15d62475
sub edx, 1
add edx, 0x15d62475
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, 0x9d35952c
mov ecx, 0x4643bb26
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098bf
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, 0x830c9556
and eax, 0x830c9556
and ecx, edx
mov edi, esi
and edi, 0x830c9556
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, 0x830c9556
and ecx, edx
or eax, ecx
mov dword [ebp - 0x18], eax
mov ecx, dword [0x434554]
mov eax, dword [0x434550]
mov edx, ecx
sub edx, 0x67faf4f5
sub edx, 1
add edx, 0x67faf4f5
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, 0x9d35952c
mov ecx, 0x783de24f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098bf
mov dword [ebp - 0x2c], 0xffd3290a
jmp 0x4098bf
mov ecx, dword [0x434554]
mov eax, dword [0x434550]
mov edx, ecx
sub edx, 0xe07739c0
sub edx, 1
add edx, 0xe07739c0
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, 0xb1364dc2
mov ecx, 0x9175b9c1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098bf
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x434554]
mov eax, dword [0x434550]
mov edx, ecx
sub edx, 0x16f3ad9d
sub edx, 1
add edx, 0x16f3ad9d
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, 0xb1364dc2
mov ecx, 0x33e6d8df
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098bf
mov dword [ebp - 0x2c], 0xb5651574
jmp 0x4098bf
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], 0xd59c7dff
jmp 0x4098bf
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041cad0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x30]
push eax
mov eax, esp
mov dword [eax], ecx
mov dword [ebp - 0x2c], 0x5d1b9326
jmp 0x4098bf
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], 0x4b43d757
jmp 0x4098bf
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], 0x4643bb26
jmp 0x4098bf
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], 0x9175b9c1
jmp 0x4092e9