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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
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 - 0x18], eax
mov dword [ebp - 0x20], 0x9e525849
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
sub eax, 0x914bbb6f
je 0x40a29c
jmp 0x409ee1
mov eax, dword [ebp - 0x24]
sub eax, 0x9e525849
je 0x40a029
jmp 0x409ef4
mov eax, dword [ebp - 0x24]
sub eax, 0xa400e5b9
je 0x40a22e
jmp 0x409f07
mov eax, dword [ebp - 0x24]
sub eax, 0xa92ce4c6
je 0x40a39b
jmp 0x409f1a
mov eax, dword [ebp - 0x24]
sub eax, 0xe1008351
je 0x40a0fa
jmp 0x409f2d
mov eax, dword [ebp - 0x24]
sub eax, 0xe382f0de
je 0x40a1b7
jmp 0x409f40
mov eax, dword [ebp - 0x24]
sub eax, 0xf6051656
je 0x40a375
jmp 0x409f53
mov eax, dword [ebp - 0x24]
sub eax, 0x3a1f33e
je 0x40a077
jmp 0x409f66
mov eax, dword [ebp - 0x24]
sub eax, 0x60136c9
je 0x40a0ee
jmp 0x409f79
mov eax, dword [ebp - 0x24]
sub eax, 0x1612b524
je 0x40a327
jmp 0x409f8c
mov eax, dword [ebp - 0x24]
sub eax, 0x1e04fbea
je 0x40a115
jmp 0x409f9f
mov eax, dword [ebp - 0x24]
sub eax, 0x1fc184e5
je 0x40a2a8
jmp 0x409fb2
mov eax, dword [ebp - 0x24]
sub eax, 0x27ab6e5f
je 0x40a2b4
jmp 0x409fc5
mov eax, dword [ebp - 0x24]
sub eax, 0x2bf9dc4d
je 0x40a3a7
jmp 0x409fd8
mov eax, dword [ebp - 0x24]
sub eax, 0x3259b389
je 0x40a37d
jmp 0x409feb
mov eax, dword [ebp - 0x24]
sub eax, 0x59133613
je 0x40a419
jmp 0x409ffe
mov eax, dword [ebp - 0x24]
sub eax, 0x61556768
je 0x40a163
jmp 0x40a011
mov eax, dword [ebp - 0x24]
sub eax, 0x750dfcb9
je 0x40a1c3
jmp 0x40a024
jmp 0x40a420
mov eax, dword [0x43555c]
mov ecx, dword [0x435558]
mov edx, eax
sub edx, 0xbd3fe860
sub edx, 1
add edx, 0xbd3fe860
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, 0x3259b389
mov ecx, 0x3a1f33e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40a420
mov eax, dword [ebp - 0x18]
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 2
mov ecx, 0xffffffff
xor ecx, 0xefbbfa87
or eax, edx
or ecx, 0xefbbfa87
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x11], al
mov eax, dword [0x43555c]
mov ecx, dword [0x435558]
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, 0x3259b389
mov ecx, 0x60136c9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40a420
mov dword [ebp - 0x20], 0xe1008351
jmp 0x40a420
mov dl, byte [ebp - 0x11]
mov eax, 0x27ab6e5f
mov ecx, 0x1e04fbea
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40a420
mov eax, dword [0x43555c]
mov ecx, dword [0x435558]
mov edx, eax
add edx, 0x677411fd
sub edx, 1
sub edx, 0x677411fd
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, 0xa92ce4c6
mov ecx, 0x61556768
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40a420
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
mov eax, dword [0x43555c]
mov ecx, dword [0x435558]
mov edx, eax
sub edx, 0x7348b4f4
sub edx, 1
add edx, 0x7348b4f4
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, 0xa92ce4c6
mov ecx, 0xe382f0de
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40a420
mov dword [ebp - 0x20], 0x750dfcb9
jmp 0x40a420
mov ecx, dword [0x43555c]
mov eax, dword [0x435558]
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, 0x2bf9dc4d
mov ecx, 0xa400e5b9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40a420
mov ecx, dword [ebp - 0x10]
mov eax, ecx
and eax, 2
xor ecx, 2
or eax, ecx
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 eax, dword [0x43555c]
mov ecx, dword [0x435558]
mov edx, eax
add edx, 0xa876a63a
sub edx, 1
sub edx, 0xa876a63a
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, 0x2bf9dc4d
mov ecx, 0x914bbb6f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40a420
mov dword [ebp - 0x20], 0x1fc184e5
jmp 0x40a420
mov dword [ebp - 0x20], 0x27ab6e5f
jmp 0x40a420
mov ecx, dword [0x43555c]
mov eax, dword [0x435558]
mov edx, ecx
sub edx, 0xb2e4250
sub edx, 1
add edx, 0xb2e4250
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, 0x59133613
mov ecx, 0x1612b524
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40a420
mov eax, dword [0x43555c]
mov ecx, dword [0x435558]
mov edx, eax
add edx, 0x483e3eaa
sub edx, 1
sub edx, 0x483e3eaa
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, 0x59133613
mov ecx, 0xf6051656
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40a420
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], 0x3a1f33e
jmp 0x40a420
mov dword [ebp - 0x20], 0x61556768
jmp 0x40a420
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x28], eax
mov esi, 0xffffffff
xor esi, 2
mov edx, 0xffffffff
xor edx, 0xf9985c01
and eax, 0xf9985c01
and ecx, edx
mov edi, esi
and edi, 0xf9985c01
mov ebx, edx
and ebx, 2
or eax, ecx
mov ecx, dword [ebp - 0x28]
or edi, ebx
xor eax, edi
or ecx, esi
xor ecx, 0xffffffff
or edx, 0xf9985c01
and ecx, edx
or eax, ecx
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], 0xa400e5b9
jmp 0x40a420
mov dword [ebp - 0x20], 0x1612b524
jmp 0x409ecb