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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x34
mov eax, dword [ebp + 8]
mov dword [ebp - 0x38], eax
mov eax, dword [0x43a080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x43b564]
mov eax, dword [0x43b560]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x2e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x2d], al
mov dword [ebp - 0x34], 0x5b86ac7b
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3c], eax
sub eax, 0x808d0178
je 0x40a9d0
jmp 0x40a487
mov eax, dword [ebp - 0x3c]
sub eax, 0x885a25f8
je 0x40a9e2
jmp 0x40a49a
mov eax, dword [ebp - 0x3c]
sub eax, 0x9e43826b
je 0x40a672
jmp 0x40a4ad
mov eax, dword [ebp - 0x3c]
sub eax, 0xbdd685f0
je 0x40aa23
jmp 0x40a4c0
mov eax, dword [ebp - 0x3c]
sub eax, 0xc6b8b43d
je 0x40a6a8
jmp 0x40a4d3
mov eax, dword [ebp - 0x3c]
sub eax, 0xc7e80c6c
je 0x40a608
jmp 0x40a4e6
mov eax, dword [ebp - 0x3c]
sub eax, 0xe323434d
je 0x40a785
jmp 0x40a4f9
mov eax, dword [ebp - 0x3c]
sub eax, 0xf1e4d800
je 0x40a8f2
jmp 0x40a50c
mov eax, dword [ebp - 0x3c]
sub eax, 0xf2d3fd81
je 0x40a7b4
jmp 0x40a51f
mov eax, dword [ebp - 0x3c]
sub eax, 0xf8b5b7a6
je 0x40aa11
jmp 0x40a532
mov eax, dword [ebp - 0x3c]
sub eax, 0x278fce84
je 0x40a6f6
jmp 0x40a545
mov eax, dword [ebp - 0x3c]
sub eax, 0x31c8a036
je 0x40a95d
jmp 0x40a558
mov eax, dword [ebp - 0x3c]
sub eax, 0x5a729622
je 0x40a7a0
jmp 0x40a56b
mov eax, dword [ebp - 0x3c]
sub eax, 0x5b86ac7b
je 0x40a5e2
jmp 0x40a57e
mov eax, dword [ebp - 0x3c]
sub eax, 0x645127d2
je 0x40a8c2
jmp 0x40a591
mov eax, dword [ebp - 0x3c]
sub eax, 0x6aadda58
je 0x40a9f6
jmp 0x40a5a4
mov eax, dword [ebp - 0x3c]
sub eax, 0x6ea66c30
je 0x40a67e
jmp 0x40a5b7
mov eax, dword [ebp - 0x3c]
sub eax, 0x710c2022
je 0x40a8ce
jmp 0x40a5ca
mov eax, dword [ebp - 0x3c]
sub eax, 0x75d961a9
je 0x40a802
jmp 0x40a5dd
jmp 0x40aa2a
mov al, byte [ebp - 0x2e]
mov cl, byte [ebp - 0x2d]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x885a25f8
mov ecx, 0xc7e80c6c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x40aa2a
mov ecx, dword [ebp - 0x38]
push eax
mov eax, esp
mov dword [ebp - 0x2c], eax
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x2c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [0x43b564]
mov ecx, dword [0x43b560]
mov edx, eax
sub edx, 0x1c7810d8
sub edx, 1
add edx, 0x1c7810d8
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, 0x885a25f8
mov ecx, 0x9e43826b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x40aa2a
mov dword [ebp - 0x34], 0x6ea66c30
jmp 0x40aa2a
mov eax, dword [ebp - 0x24]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ecx, eax
mov eax, dword [ebp - 0x28]
mov dword [eax], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x34], 0xc6b8b43d
jmp 0x40aa2a
mov eax, dword [0x43b564]
mov ecx, dword [0x43b560]
mov edx, eax
sub edx, 0xe5f141ae
sub edx, 1
add edx, 0xe5f141ae
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, 0x6aadda58
mov ecx, 0x278fce84
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x40aa2a
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 ecx, dword [0x43b564]
mov eax, dword [0x43b560]
mov edx, ecx
add edx, 0x62fbf4d3
sub edx, 1
sub edx, 0x62fbf4d3
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, 0x6aadda58
mov ecx, 0xe323434d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x40aa2a
mov dl, byte [ebp - 0x19]
mov eax, 0xf1e4d800
mov ecx, 0x5a729622
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x40aa2a
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x34], 0xf2d3fd81
jmp 0x40aa2a
mov eax, dword [0x43b564]
mov ecx, dword [0x43b560]
mov edx, eax
add edx, 0xf4973b51
sub edx, 1
sub edx, 0xf4973b51
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, 0xf8b5b7a6
mov ecx, 0x75d961a9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x40aa2a
mov ecx, dword [ebp - 0x18]
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x40], eax
mov esi, 0xffffffff
xor esi, 2
mov edx, 0xffffffff
xor edx, 0x1e0fd0eb
and eax, 0x1e0fd0eb
and ecx, edx
mov edi, esi
and edi, 0x1e0fd0eb
mov ebx, edx
and ebx, 2
or eax, ecx
mov ecx, dword [ebp - 0x40]
or edi, ebx
xor eax, edi
or ecx, esi
xor ecx, 0xffffffff
or edx, 0x1e0fd0eb
and ecx, edx
or eax, ecx
mov dword [ebp - 0x14], eax
mov ecx, dword [0x43b564]
mov eax, dword [0x43b560]
mov edx, ecx
add edx, 0x535d9b8f
sub edx, 1
sub edx, 0x535d9b8f
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, 0xf8b5b7a6
mov ecx, 0x645127d2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x40aa2a
mov dword [ebp - 0x34], 0x710c2022
jmp 0x40aa2a
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
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 - 0x34], 0xf1e4d800
jmp 0x40aa2a
mov ecx, dword [0x43b564]
mov eax, dword [0x43b560]
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, 0xbdd685f0
mov ecx, 0x31c8a036
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x40aa2a
mov ecx, dword [0x43b564]
mov eax, dword [0x43b560]
mov edx, ecx
add edx, 0x9eefe946
sub edx, 1
sub edx, 0x9eefe946
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, 0xbdd685f0
mov ecx, 0x808d0178
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x40aa2a
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00423ad0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x38]
push eax
mov eax, esp
mov dword [eax], ecx
mov dword [ebp - 0x34], 0xc7e80c6c
jmp 0x40aa2a
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 - 0x34], 0x278fce84
jmp 0x40aa2a
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x34], 0x75d961a9
jmp 0x40aa2a
mov dword [ebp - 0x34], 0x31c8a036
jmp 0x40a471