Function at 0x40c4f0
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 - 0x2c], eax
mov eax, dword [0x436080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], 0xf088b7b9
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], eax
sub eax, 0x80658234
je 0x40c824
jmp 0x40c526
mov eax, dword [ebp - 0x30]
sub eax, 0x8ab7c0ad
je 0x40c72e
jmp 0x40c539
mov eax, dword [ebp - 0x30]
sub eax, 0xb0357892
je 0x40c809
jmp 0x40c54c
mov eax, dword [ebp - 0x30]
sub eax, 0xcc6cf109
je 0x40c7ad
jmp 0x40c55f
mov eax, dword [ebp - 0x30]
sub eax, 0xcedc6b40
je 0x40c9da
jmp 0x40c572
mov eax, dword [ebp - 0x30]
sub eax, 0xdbbcc52e
je 0x40c95d
jmp 0x40c585
mov eax, dword [ebp - 0x30]
sub eax, 0xf088b7b9
je 0x40c635
jmp 0x40c598
mov eax, dword [ebp - 0x30]
sub eax, 0x60a0a27
je 0x40c73a
jmp 0x40c5ab
mov eax, dword [ebp - 0x30]
sub eax, 0x1b009357
je 0x40c9cb
jmp 0x40c5be
mov eax, dword [ebp - 0x30]
sub eax, 0x2b37bb95
je 0x40c897
jmp 0x40c5d1
mov eax, dword [ebp - 0x30]
sub eax, 0x2c693238
je 0x40c99d
jmp 0x40c5e4
mov eax, dword [ebp - 0x30]
sub eax, 0x2e4023a7
je 0x40c951
jmp 0x40c5f7
mov eax, dword [ebp - 0x30]
sub eax, 0x556336fc
je 0x40c6a8
jmp 0x40c60a
mov eax, dword [ebp - 0x30]
sub eax, 0x67738131
je 0x40c98b
jmp 0x40c61d
mov eax, dword [ebp - 0x30]
sub eax, 0x6a1a8b1c
je 0x40c97f
jmp 0x40c630
jmp 0x40c9e4
mov ecx, dword [0x4375ac]
mov eax, dword [0x4375a8]
mov edx, ecx
add edx, 0x29c03d64
sub edx, 1
sub edx, 0x29c03d64
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, 0x2c693238
mov ecx, 0x556336fc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40c9e4
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, esp
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x24], eax
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 - 0x20]
mov dword [eax], ecx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov edx, 0xffffffff
xor edx, 2
mov eax, ecx
xor eax, edx
and eax, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4375ac]
mov ecx, dword [0x4375a8]
mov edx, eax
add edx, 0x17f8b834
sub edx, 1
sub edx, 0x17f8b834
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, 0x2c693238
mov ecx, 0x8ab7c0ad
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40c9e4
mov dword [ebp - 0x28], 0x60a0a27
jmp 0x40c9e4
mov ecx, dword [0x4375ac]
mov eax, dword [0x4375a8]
mov edx, ecx
add edx, 0xde1f70a9
sub edx, 1
sub edx, 0xde1f70a9
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, 0x1b009357
mov ecx, 0xcc6cf109
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40c9e4
mov eax, dword [ebp - 0x1c]
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x15], al
mov eax, dword [0x4375ac]
mov ecx, dword [0x4375a8]
mov edx, eax
sub edx, 0x88ceee2
sub edx, 1
add edx, 0x88ceee2
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, 0x1b009357
mov ecx, 0xb0357892
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40c9e4
mov dl, byte [ebp - 0x15]
mov eax, 0x67738131
mov ecx, 0x80658234
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40c9e4
mov ecx, dword [0x4375ac]
mov eax, dword [0x4375a8]
mov edx, ecx
add edx, 0x234246c1
sub edx, 1
sub edx, 0x234246c1
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, 0xcedc6b40
mov ecx, 0x2b37bb95
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40c9e4
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x34], eax
mov esi, 0xffffffff
xor esi, 2
mov edx, 0xffffffff
xor edx, 0x46b8ae5a
and eax, 0x46b8ae5a
and ecx, edx
mov edi, esi
and edi, 0x46b8ae5a
mov ebx, edx
and ebx, 2
or eax, ecx
mov ecx, dword [ebp - 0x34]
or edi, ebx
xor eax, edi
or ecx, esi
xor ecx, 0xffffffff
or edx, 0x46b8ae5a
and ecx, edx
or eax, ecx
mov dword [ebp - 0x14], eax
mov ecx, dword [0x4375ac]
mov eax, dword [0x4375a8]
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, 0xcedc6b40
mov ecx, 0x2e4023a7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40c9e4
mov dword [ebp - 0x28], 0xdbbcc52e
jmp 0x40c9e4
mov ecx, dword [ebp - 0x24]
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 - 0x28], 0x6a1a8b1c
jmp 0x40c9e4
mov dword [ebp - 0x28], 0x67738131
jmp 0x40c9e4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041f910
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, esp
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x24], eax
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 - 0x38]
mov dword [eax], ecx
mov dword [ebp - 0x28], 0x556336fc
jmp 0x40c9e4
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], 0xcc6cf109
jmp 0x40c9e4
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], 0x2b37bb95
jmp 0x40c510