Function at 0x41c180
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 - 0x2c], eax
mov eax, dword [0x44b080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x44c53c]
mov eax, dword [0x44c538]
mov edx, ecx
add edx, 0x55a15997
sub edx, 1
sub edx, 0x55a15997
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x22], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x21], al
mov dword [ebp - 0x28], 0xe5b05b87
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], eax
sub eax, 0x90eb17da
je 0x41c5f5
jmp 0x41c1ee
mov eax, dword [ebp - 0x30]
sub eax, 0x979c4577
je 0x41c5e4
jmp 0x41c201
mov eax, dword [ebp - 0x30]
sub eax, 0xa6195ef3
je 0x41c55e
jmp 0x41c214
mov eax, dword [ebp - 0x30]
sub eax, 0xa7f0c369
je 0x41c420
jmp 0x41c227
mov eax, dword [ebp - 0x30]
sub eax, 0xd4498b61
je 0x41c504
jmp 0x41c23a
mov eax, dword [ebp - 0x30]
sub eax, 0xd4b5903a
je 0x41c43b
jmp 0x41c24d
mov eax, dword [ebp - 0x30]
sub eax, 0xd97191f1
je 0x41c35b
jmp 0x41c260
mov eax, dword [ebp - 0x30]
sub eax, 0xdbf27fe2
je 0x41c5c0
jmp 0x41c273
mov eax, dword [ebp - 0x30]
sub eax, 0xe5b05b87
je 0x41c310
jmp 0x41c286
mov eax, dword [ebp - 0x30]
sub eax, 0x1184454f
je 0x41c510
jmp 0x41c299
mov eax, dword [ebp - 0x30]
sub eax, 0x2caa0cb6
je 0x41c609
jmp 0x41c2ac
mov eax, dword [ebp - 0x30]
sub eax, 0x3a290dae
je 0x41c3c9
jmp 0x41c2bf
mov eax, dword [ebp - 0x30]
sub eax, 0x3a982fae
je 0x41c489
jmp 0x41c2d2
mov eax, dword [ebp - 0x30]
sub eax, 0x590503b1
je 0x41c5b4
jmp 0x41c2e5
mov eax, dword [ebp - 0x30]
sub eax, 0x6cbc7c1c
je 0x41c618
jmp 0x41c2f8
mov eax, dword [ebp - 0x30]
sub eax, 0x743f90a0
je 0x41c3bd
jmp 0x41c30b
jmp 0x41c625
mov bl, byte [ebp - 0x22]
mov dh, byte [ebp - 0x21]
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, 0x90eb17da
mov ecx, 0xd97191f1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x41c625
mov ecx, dword [ebp - 0x2c]
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
push eax
mov eax, esp
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
mov eax, dword [0x44c53c]
mov ecx, dword [0x44c538]
mov edx, eax
sub edx, 0x6a5b78df
sub edx, 1
add edx, 0x6a5b78df
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, 0x90eb17da
mov ecx, 0x743f90a0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x41c625
mov dword [ebp - 0x28], 0x3a290dae
jmp 0x41c625
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 2
mov ecx, 0xffffffff
xor ecx, 0xda3f7a73
or eax, edx
or ecx, 0xda3f7a73
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x15], al
mov dword [ebp - 0x28], 0xa7f0c369
jmp 0x41c625
mov dl, byte [ebp - 0x15]
mov eax, 0x979c4577
mov ecx, 0xd4b5903a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x41c625
mov eax, dword [0x44c53c]
mov ecx, dword [0x44c538]
mov edx, eax
add edx, 0x1f5f8665
sub edx, 1
sub edx, 0x1f5f8665
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, 0x2caa0cb6
mov ecx, 0x3a982fae
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x41c625
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x44c53c]
mov eax, dword [0x44c538]
mov edx, ecx
sub edx, 0xd6478600
sub edx, 1
add edx, 0xd6478600
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, 0x2caa0cb6
mov ecx, 0xd4498b61
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x41c625
mov dword [ebp - 0x28], 0x1184454f
jmp 0x41c625
mov eax, dword [0x44c53c]
mov ecx, dword [0x44c538]
mov edx, eax
add edx, 0x1316897d
sub edx, 1
sub edx, 0x1316897d
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, 0x6cbc7c1c
mov ecx, 0xa6195ef3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x41c625
mov ecx, dword [ebp - 0x14]
mov eax, ecx
and eax, 2
xor ecx, 2
or eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [0x44c53c]
mov ecx, dword [0x44c538]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
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, 0x6cbc7c1c
mov ecx, 0x590503b1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x41c625
mov dword [ebp - 0x28], 0xdbf27fe2
jmp 0x41c625
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x10]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov dword [ebp - 0x28], 0x979c4577
jmp 0x41c625
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00433d30
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x2c]
push eax
mov eax, esp
mov dword [eax], ecx
mov dword [ebp - 0x28], 0xd97191f1
jmp 0x41c625
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], 0x3a982fae
jmp 0x41c625
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], 0xa6195ef3
jmp 0x41c1d8