Function at 0x40d050
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], 0xc2f8ae92
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
sub eax, 0x928a849c
je 0x40d4d7
jmp 0x40d07b
mov eax, dword [ebp - 0x28]
sub eax, 0x9c9bb19a
je 0x40d3c3
jmp 0x40d08e
mov eax, dword [ebp - 0x28]
sub eax, 0xc2f8ae92
je 0x40d18a
jmp 0x40d0a1
mov eax, dword [ebp - 0x28]
sub eax, 0xcde81f1a
je 0x40d32e
jmp 0x40d0b4
mov eax, dword [ebp - 0x28]
sub eax, 0xceb1a984
je 0x40d4a6
jmp 0x40d0c7
mov eax, dword [ebp - 0x28]
sub eax, 0xd5cb7d1d
je 0x40d4b9
jmp 0x40d0da
mov eax, dword [ebp - 0x28]
sub eax, 0x18a1cc4
je 0x40d4e3
jmp 0x40d0ed
mov eax, dword [ebp - 0x28]
sub eax, 0xeb4cefb
je 0x40d19c
jmp 0x40d100
mov eax, dword [ebp - 0x28]
sub eax, 0x22e20620
je 0x40d458
jmp 0x40d113
mov eax, dword [ebp - 0x28]
sub eax, 0x23ad2dc7
je 0x40d4b2
jmp 0x40d126
mov eax, dword [ebp - 0x28]
sub eax, 0x2a2e3e8d
je 0x40d2a8
jmp 0x40d139
mov eax, dword [ebp - 0x28]
sub eax, 0x311627f0
je 0x40d207
jmp 0x40d14c
mov eax, dword [ebp - 0x28]
sub eax, 0x35732c80
je 0x40d2c3
jmp 0x40d15f
mov eax, dword [ebp - 0x28]
sub eax, 0x3e675c84
je 0x40d3b7
jmp 0x40d172
mov eax, dword [ebp - 0x28]
sub eax, 0x56758126
je 0x40d3e5
jmp 0x40d185
jmp 0x40d4ea
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], 0xeb4cefb
jmp 0x40d4ea
mov ecx, dword [0x43e594]
mov eax, dword [0x43e590]
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, 0xd5cb7d1d
mov ecx, 0x311627f0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40d4ea
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 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 ecx, dword [0x43e594]
mov eax, dword [0x43e590]
mov edx, ecx
add edx, 0x5991ebfe
sub edx, 1
sub edx, 0x5991ebfe
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, 0xd5cb7d1d
mov ecx, 0x2a2e3e8d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40d4ea
mov dl, byte [ebp - 0x11]
mov eax, 0x23ad2dc7
mov ecx, 0x35732c80
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40d4ea
mov ecx, dword [0x43e594]
mov eax, dword [0x43e590]
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, 0x928a849c
mov ecx, 0xcde81f1a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40d4ea
mov ecx, dword [ebp - 0x1c]
mov eax, ecx
and eax, 2
xor ecx, 2
or eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xc], eax
mov ecx, dword [0x43e594]
mov eax, dword [0x43e590]
mov edx, ecx
sub edx, 0xb7a5c2eb
sub edx, 1
add edx, 0xb7a5c2eb
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, 0x928a849c
mov ecx, 0x3e675c84
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40d4ea
mov dword [ebp - 0x20], 0x9c9bb19a
jmp 0x40d4ea
mov eax, dword [ebp - 0x10]
mov ecx, 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], 0x56758126
jmp 0x40d4ea
mov ecx, dword [0x43e594]
mov eax, dword [0x43e590]
mov edx, ecx
add edx, 0x7d17d13b
sub edx, 1
sub edx, 0x7d17d13b
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, 0x18a1cc4
mov ecx, 0x22e20620
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40d4ea
mov eax, dword [0x43e594]
mov ecx, dword [0x43e590]
mov edx, eax
sub edx, 0xe4b9157d
sub edx, 1
add edx, 0xe4b9157d
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, 0x18a1cc4
mov ecx, 0xceb1a984
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40d4ea
mov dword [ebp - 0x20], 0x23ad2dc7
jmp 0x40d4ea
add esp, 0x28
pop esi
pop ebx
pop ebp
ret
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], 0x311627f0
jmp 0x40d4ea
mov dword [ebp - 0x20], 0xcde81f1a
jmp 0x40d4ea
mov dword [ebp - 0x20], 0x22e20620
jmp 0x40d065