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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x30
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [0x43b080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x43c544]
mov eax, dword [0x43c540]
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 - 0x2a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x29], al
mov dword [ebp - 0x30], 0x1c361f4e
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
sub eax, 0x8e1c5be6
je 0x40c4fb
jmp 0x40c0c7
mov eax, dword [ebp - 0x38]
sub eax, 0x97880407
je 0x40c704
jmp 0x40c0da
mov eax, dword [ebp - 0x38]
sub eax, 0xd18f6913
je 0x40c739
jmp 0x40c0ed
mov eax, dword [ebp - 0x38]
sub eax, 0xde05d539
je 0x40c60d
jmp 0x40c100
mov eax, dword [ebp - 0x38]
sub eax, 0xdf1cffe9
je 0x40c564
jmp 0x40c113
mov eax, dword [ebp - 0x38]
sub eax, 0xe1dd9c82
je 0x40c75e
jmp 0x40c126
mov eax, dword [ebp - 0x38]
sub eax, 0xedccae63
je 0x40c281
jmp 0x40c139
mov eax, dword [ebp - 0x38]
sub eax, 0xee75bb3e
je 0x40c406
jmp 0x40c14c
mov eax, dword [ebp - 0x38]
sub eax, 0xc48e7b5
je 0x40c601
jmp 0x40c15f
mov eax, dword [ebp - 0x38]
sub eax, 0xef39ea1
je 0x40c716
jmp 0x40c172
mov eax, dword [ebp - 0x38]
sub eax, 0x1018752c
je 0x40c371
jmp 0x40c185
mov eax, dword [ebp - 0x38]
sub eax, 0x120acb1c
je 0x40c306
jmp 0x40c198
mov eax, dword [ebp - 0x38]
sub eax, 0x1c361f4e
je 0x40c25b
jmp 0x40c1ab
mov eax, dword [ebp - 0x38]
sub eax, 0x28ed0526
je 0x40c76d
jmp 0x40c1be
mov eax, dword [ebp - 0x38]
sub eax, 0x36bc4b4f
je 0x40c722
jmp 0x40c1d1
mov eax, dword [ebp - 0x38]
sub eax, 0x3a26e0dc
je 0x40c65b
jmp 0x40c1e4
mov eax, dword [ebp - 0x38]
sub eax, 0x44c0d4be
je 0x40c516
jmp 0x40c1f7
mov eax, dword [ebp - 0x38]
sub eax, 0x472334d5
je 0x40c6d6
jmp 0x40c20a
mov eax, dword [ebp - 0x38]
sub eax, 0x563878b0
je 0x40c2fa
jmp 0x40c21d
mov eax, dword [ebp - 0x38]
sub eax, 0x757e9ce9
je 0x40c454
jmp 0x40c230
mov eax, dword [ebp - 0x38]
sub eax, 0x77014b9d
je 0x40c6e2
jmp 0x40c243
mov eax, dword [ebp - 0x38]
sub eax, 0x7ed4c596
je 0x40c3fa
jmp 0x40c256
jmp 0x40c777
mov al, byte [ebp - 0x2a]
mov cl, byte [ebp - 0x29]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xef39ea1
mov ecx, 0xedccae63
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x40c777
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
mov ecx, dword [0x43c544]
mov eax, dword [0x43c540]
mov edx, ecx
add edx, 0x7466c694
sub edx, 1
sub edx, 0x7466c694
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, 0xef39ea1
mov ecx, 0x563878b0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x40c777
mov dword [ebp - 0x30], 0x120acb1c
jmp 0x40c777
mov ecx, dword [0x43c544]
mov eax, dword [0x43c540]
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, 0x36bc4b4f
mov ecx, 0x1018752c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x40c777
mov ecx, dword [ebp - 0x34]
push eax
mov eax, esp
mov dword [ebp - 0x24], 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 ecx, dword [0x43c544]
mov eax, dword [0x43c540]
mov edx, ecx
add edx, 0x8953f3a5
sub edx, 1
sub edx, 0x8953f3a5
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, 0x36bc4b4f
mov ecx, 0x7ed4c596
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x40c777
mov dword [ebp - 0x30], 0xee75bb3e
jmp 0x40c777
mov eax, dword [0x43c544]
mov ecx, dword [0x43c540]
mov edx, eax
add edx, 0x4fa4fa35
sub edx, 1
sub edx, 0x4fa4fa35
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, 0xd18f6913
mov ecx, 0x757e9ce9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x40c777
mov eax, dword [ebp - 0x20]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ecx, eax
mov eax, dword [ebp - 0x24]
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
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 [0x43c544]
mov eax, dword [0x43c540]
mov edx, ecx
sub edx, 0xd88d72e5
sub edx, 1
add edx, 0xd88d72e5
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, 0xd18f6913
mov ecx, 0x8e1c5be6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x40c777
mov dl, byte [ebp - 0x19]
mov eax, 0x97880407
mov ecx, 0x44c0d4be
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x40c777
mov eax, dword [0x43c544]
mov ecx, dword [0x43c540]
mov edx, eax
add edx, 0xab07e36d
sub edx, 1
sub edx, 0xab07e36d
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, 0xe1dd9c82
mov ecx, 0xdf1cffe9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x40c777
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x3c], eax
mov esi, 0xffffffff
xor esi, 2
mov edx, 0xffffffff
xor edx, 0xc1f9d9f5
and eax, 0xc1f9d9f5
and ecx, edx
mov edi, esi
and edi, 0xc1f9d9f5
mov ebx, edx
and ebx, 2
or eax, ecx
mov ecx, dword [ebp - 0x3c]
or edi, ebx
xor eax, edi
or ecx, esi
xor ecx, 0xffffffff
or edx, 0xc1f9d9f5
and ecx, edx
or eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [0x43c544]
mov ecx, dword [0x43c540]
mov edx, eax
add edx, 0x989b65a
sub edx, 1
sub edx, 0x989b65a
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, 0xe1dd9c82
mov ecx, 0xc48e7b5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x40c777
mov dword [ebp - 0x30], 0xde05d539
jmp 0x40c777
mov eax, dword [0x43c544]
mov ecx, dword [0x43c540]
mov edx, eax
add edx, 0x4f7636c2
sub edx, 1
sub edx, 0x4f7636c2
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, 0x28ed0526
mov ecx, 0x3a26e0dc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x40c777
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x43c544]
mov eax, dword [0x43c540]
mov edx, ecx
add edx, 0x32ead278
sub edx, 1
sub edx, 0x32ead278
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, 0x28ed0526
mov ecx, 0x472334d5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x40c777
mov dword [ebp - 0x30], 0x77014b9d
jmp 0x40c777
mov eax, dword [ebp - 0x18]
mov ecx, 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 - 0x30], 0x97880407
jmp 0x40c777
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00424c50
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x30], 0xedccae63
jmp 0x40c777
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov dword [eax], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], 0x1018752c
jmp 0x40c777
mov eax, dword [ebp - 0x20]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ecx, eax
mov eax, dword [ebp - 0x24]
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], 0x757e9ce9
jmp 0x40c777
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], 0xdf1cffe9
jmp 0x40c777
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], 0x3a26e0dc
jmp 0x40c0b1