Function at 0x4147e0
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 [0x446080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x447554]
mov eax, dword [0x447550]
mov edx, ecx
sub edx, 0x5450a02d
sub edx, 1
add edx, 0x5450a02d
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], 0xb984e72c
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3c], eax
sub eax, 0x85a373d0
je 0x414b46
jmp 0x41484f
mov eax, dword [ebp - 0x3c]
sub eax, 0x9d452f32
je 0x414983
jmp 0x414862
mov eax, dword [ebp - 0x3c]
sub eax, 0xaf77a319
je 0x414bef
jmp 0x414875
mov eax, dword [ebp - 0x3c]
sub eax, 0xb984e72c
je 0x414938
jmp 0x414888
mov eax, dword [ebp - 0x3c]
sub eax, 0xcd107108
je 0x4149e5
jmp 0x41489b
mov eax, dword [ebp - 0x3c]
sub eax, 0xd9fa54fb
je 0x414bc9
jmp 0x4148ae
mov eax, dword [ebp - 0x3c]
sub eax, 0xda55f9
je 0x4149f1
jmp 0x4148c1
mov eax, dword [ebp - 0x3c]
sub eax, 0x4345624
je 0x414bdb
jmp 0x4148d4
mov eax, dword [ebp - 0x3c]
sub eax, 0xeabab09
je 0x414b17
jmp 0x4148e7
mov eax, dword [ebp - 0x3c]
sub eax, 0x1f6dd657
je 0x414ba7
jmp 0x4148fa
mov eax, dword [ebp - 0x3c]
sub eax, 0x23fee4ab
je 0x414b32
jmp 0x41490d
mov eax, dword [ebp - 0x3c]
sub eax, 0x565bb594
je 0x414b0b
jmp 0x414920
mov eax, dword [ebp - 0x3c]
sub eax, 0x77c24c8d
je 0x414a64
jmp 0x414933
jmp 0x414c0f
mov bl, byte [ebp - 0x2e]
mov dh, byte [ebp - 0x2d]
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, 0x4345624
mov ecx, 0x9d452f32
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x414c0f
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 [0x447554]
mov ecx, dword [0x447550]
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, 0x4345624
mov ecx, 0xcd107108
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x414c0f
mov dword [ebp - 0x34], 0xda55f9
jmp 0x414c0f
mov ecx, dword [0x447554]
mov eax, dword [0x447550]
mov edx, ecx
sub edx, 0x27c7b3b4
sub edx, 1
add edx, 0x27c7b3b4
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, 0xaf77a319
mov ecx, 0x77c24c8d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x414c0f
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 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 - 0x1d], al
mov ecx, dword [0x447554]
mov eax, dword [0x447550]
mov edx, ecx
sub edx, 0xbb50be33
sub edx, 1
add edx, 0xbb50be33
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, 0xaf77a319
mov ecx, 0x565bb594
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x414c0f
mov dword [ebp - 0x34], 0xeabab09
jmp 0x414c0f
mov dl, byte [ebp - 0x1d]
mov eax, 0xd9fa54fb
mov ecx, 0x23fee4ab
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x414c0f
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x34], 0x85a373d0
jmp 0x414c0f
mov ecx, dword [ebp - 0x1c]
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x40], eax
mov esi, 0xffffffff
xor esi, 2
mov edx, 0xffffffff
xor edx, 0x32f5909f
and eax, 0x32f5909f
and ecx, edx
mov edi, esi
and edi, 0x32f5909f
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, 0x32f5909f
and ecx, edx
or eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x34], 0x1f6dd657
jmp 0x414c0f
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 - 0x34], 0xd9fa54fb
jmp 0x414c0f
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042e880
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], 0x9d452f32
jmp 0x414c0f
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 dword [ebp - 0x34], 0x77c24c8d
jmp 0x414839