Function at 0x40f160
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 - 0x28], 0x5b10166f
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
sub eax, 0x97bc5828
je 0x40f5e7
jmp 0x40f189
mov eax, dword [ebp - 0x2c]
sub eax, 0x9e594a43
je 0x40f30b
jmp 0x40f19c
mov eax, dword [ebp - 0x2c]
sub eax, 0x9ffaa97f
je 0x40f534
jmp 0x40f1af
mov eax, dword [ebp - 0x2c]
sub eax, 0xb5b2bcb4
je 0x40f452
jmp 0x40f1c2
mov eax, dword [ebp - 0x2c]
sub eax, 0xd5eee4e6
je 0x40f602
jmp 0x40f1d5
mov eax, dword [ebp - 0x2c]
sub eax, 0xdc7b4568
je 0x40f369
jmp 0x40f1e8
mov eax, dword [ebp - 0x2c]
sub eax, 0xed5c5668
je 0x40f3e8
jmp 0x40f1fb
mov eax, dword [ebp - 0x2c]
sub eax, 0x82dc079
je 0x40f46d
jmp 0x40f20e
mov eax, dword [ebp - 0x2c]
sub eax, 0x9472fcb
je 0x40f59f
jmp 0x40f221
mov eax, dword [ebp - 0x2c]
sub eax, 0x196e8a85
je 0x40f540
jmp 0x40f234
mov eax, dword [ebp - 0x2c]
sub eax, 0x1cbe095e
je 0x40f375
jmp 0x40f247
mov eax, dword [ebp - 0x2c]
sub eax, 0x1e24b0a7
je 0x40f5c1
jmp 0x40f25a
mov eax, dword [ebp - 0x2c]
sub eax, 0x26e83233
je 0x40f4e0
jmp 0x40f26d
mov eax, dword [ebp - 0x2c]
sub eax, 0x5b10166f
je 0x40f298
jmp 0x40f280
mov eax, dword [ebp - 0x2c]
sub eax, 0x7e1bf54c
je 0x40f5c9
jmp 0x40f293
jmp 0x40f609
mov ecx, dword [0x440544]
mov eax, dword [0x440540]
mov edx, ecx
sub edx, 0xff427ce7
sub edx, 1
add edx, 0xff427ce7
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, 0x7e1bf54c
mov ecx, 0x9e594a43
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40f609
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
sub esp, 4
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [0x440544]
mov ecx, dword [0x440540]
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, 0x7e1bf54c
mov ecx, 0xdc7b4568
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40f609
mov dword [ebp - 0x28], 0x1cbe095e
jmp 0x40f609
mov ecx, dword [0x440544]
mov eax, dword [0x440540]
mov edx, ecx
add edx, 0x9bf02a2f
sub edx, 1
sub edx, 0x9bf02a2f
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, 0x97bc5828
mov ecx, 0xed5c5668
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40f609
mov ecx, dword [ebp - 0x20]
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 - 0x19], al
mov eax, dword [0x440544]
mov ecx, dword [0x440540]
mov edx, eax
add edx, 0x6e0ac586
sub edx, 1
sub edx, 0x6e0ac586
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, 0x97bc5828
mov ecx, 0xb5b2bcb4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40f609
mov dl, byte [ebp - 0x19]
mov eax, 0x1e24b0a7
mov ecx, 0x82dc079
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40f609
mov ecx, dword [0x440544]
mov eax, dword [0x440540]
mov edx, ecx
add edx, 0x6f4cf954
sub edx, 1
sub edx, 0x6f4cf954
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, 0xd5eee4e6
mov ecx, 0x26e83233
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40f609
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [0x440544]
mov ecx, dword [0x440540]
mov edx, eax
add edx, 0xa12e436b
sub edx, 1
sub edx, 0xa12e436b
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, 0xd5eee4e6
mov ecx, 0x9ffaa97f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40f609
mov dword [ebp - 0x28], 0x196e8a85
jmp 0x40f609
mov ecx, dword [ebp - 0x18]
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x30], eax
mov esi, 0xffffffff
xor esi, 2
mov edx, 0xffffffff
xor edx, 0x95f3ce2c
and eax, 0x95f3ce2c
and ecx, edx
mov edi, esi
and edi, 0x95f3ce2c
mov ebx, edx
and ebx, 2
or eax, ecx
mov ecx, dword [ebp - 0x30]
or edi, ebx
xor eax, edi
or ecx, esi
xor ecx, 0xffffffff
or edx, 0x95f3ce2c
and ecx, edx
or eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], 0x9472fcb
jmp 0x40f609
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
sub esp, 8
mov dword [ebp - 0x28], 0x1e24b0a7
jmp 0x40f609
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
sub esp, 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], 0x9e594a43
jmp 0x40f609
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], 0xed5c5668
jmp 0x40f609
mov dword [ebp - 0x28], 0x26e83233
jmp 0x40f173