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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [0x43d080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], 0xf8ba778c
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
sub eax, 0x81affa9e
je 0x40dea8
jmp 0x40da06
mov eax, dword [ebp - 0x28]
sub eax, 0xd034f4bd
je 0x40dd2d
jmp 0x40da19
mov eax, dword [ebp - 0x28]
sub eax, 0xd1303322
je 0x40db81
jmp 0x40da2c
mov eax, dword [ebp - 0x28]
sub eax, 0xe7253d5d
je 0x40de99
jmp 0x40da3f
mov eax, dword [ebp - 0x28]
sub eax, 0xf8ba778c
je 0x40db15
jmp 0x40da52
mov eax, dword [ebp - 0x28]
sub eax, 0x2646a5f
je 0x40deca
jmp 0x40da65
mov eax, dword [ebp - 0x28]
sub eax, 0x276e4ce
je 0x40ddb6
jmp 0x40da78
mov eax, dword [ebp - 0x28]
sub eax, 0x5631f81
je 0x40dcae
jmp 0x40da8b
mov eax, dword [ebp - 0x28]
sub eax, 0xa552108
je 0x40dcba
jmp 0x40da9e
mov eax, dword [ebp - 0x28]
sub eax, 0x25330193
je 0x40ddc2
jmp 0x40dab1
mov eax, dword [ebp - 0x28]
sub eax, 0x30242e25
je 0x40de87
jmp 0x40dac4
mov eax, dword [ebp - 0x28]
sub eax, 0x4396d308
je 0x40dbf4
jmp 0x40dad7
mov eax, dword [ebp - 0x28]
sub eax, 0x4c54360a
je 0x40de7b
jmp 0x40daea
mov eax, dword [ebp - 0x28]
sub eax, 0x4dbda8d2
je 0x40db27
jmp 0x40dafd
mov eax, dword [ebp - 0x28]
sub eax, 0x63bcd0fb
je 0x40de2d
jmp 0x40db10
jmp 0x40ded1
push eax
mov eax, esp
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], 0x4dbda8d2
jmp 0x40ded1
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 2
mov eax, 0xffffffff
xor eax, 0x86852288
or edx, ecx
or eax, 0x86852288
xor edx, 0xffffffff
and edx, eax
mov eax, 0x30242e25
mov ecx, 0xd1303322
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40ded1
mov ecx, dword [0x43e544]
mov eax, dword [0x43e540]
mov edx, ecx
sub edx, 0x21a9d8a0
sub edx, 1
add edx, 0x21a9d8a0
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, 0xe7253d5d
mov ecx, 0x4396d308
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40ded1
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x2c], eax
mov esi, 0xffffffff
xor esi, 2
mov edx, 0xffffffff
xor edx, 0xd547ac1f
and eax, 0xd547ac1f
and ecx, edx
mov edi, esi
and edi, 0xd547ac1f
mov ebx, edx
and ebx, 2
or eax, ecx
mov ecx, dword [ebp - 0x2c]
or edi, ebx
xor eax, edi
or ecx, esi
xor ecx, 0xffffffff
or edx, 0xd547ac1f
and ecx, edx
or eax, ecx
mov dword [ebp - 0x14], eax
mov ecx, dword [0x43e544]
mov eax, dword [0x43e540]
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, 0xe7253d5d
mov ecx, 0x5631f81
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40ded1
mov dword [ebp - 0x20], 0xa552108
jmp 0x40ded1
mov ecx, dword [0x43e544]
mov eax, dword [0x43e540]
mov edx, ecx
add edx, 0x7166892a
sub edx, 1
sub edx, 0x7166892a
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, 0x81affa9e
mov ecx, 0xd034f4bd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40ded1
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ecx, dword [0x43e544]
mov eax, dword [0x43e540]
mov edx, ecx
add edx, 0x97dfe590
sub edx, 1
sub edx, 0x97dfe590
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, 0x81affa9e
mov ecx, 0x276e4ce
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40ded1
mov dword [ebp - 0x20], 0x25330193
jmp 0x40ded1
mov ecx, dword [0x43e544]
mov eax, dword [0x43e540]
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, 0x2646a5f
mov ecx, 0x63bcd0fb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40ded1
mov eax, dword [0x43e544]
mov ecx, dword [0x43e540]
mov edx, eax
sub edx, 0x860bd48e
sub edx, 1
add edx, 0x860bd48e
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, 0x2646a5f
mov ecx, 0x4c54360a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x40ded1
mov dword [ebp - 0x20], 0x30242e25
jmp 0x40ded1
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00426b40
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], 0x4396d308
jmp 0x40ded1
mov ecx, dword [ebp - 0x1c]
mov eax, 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 - 0x20], 0xd034f4bd
jmp 0x40ded1
mov dword [ebp - 0x20], 0x63bcd0fb
jmp 0x40d9f0