Function at 0x411b90
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 [0x43c59c]
mov eax, dword [0x43c598]
mov edx, ecx
sub edx, 0x31d77d44
sub edx, 1
add edx, 0x31d77d44
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], 0x31470e6
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
sub eax, 0x83401d37
je 0x411fb4
jmp 0x411bff
mov eax, dword [ebp - 0x38]
sub eax, 0x9c511861
je 0x4122a5
jmp 0x411c12
mov eax, dword [ebp - 0x38]
sub eax, 0x9d0b68d3
je 0x41200a
jmp 0x411c25
mov eax, dword [ebp - 0x38]
sub eax, 0xb09e37eb
je 0x411e4f
jmp 0x411c38
mov eax, dword [ebp - 0x38]
sub eax, 0xc12e40fc
je 0x412155
jmp 0x411c4b
mov eax, dword [ebp - 0x38]
sub eax, 0xc98b026c
je 0x412266
jmp 0x411c5e
mov eax, dword [ebp - 0x38]
sub eax, 0xda257a0e
je 0x412226
jmp 0x411c71
mov eax, dword [ebp - 0x38]
sub eax, 0xe091540b
je 0x4121a3
jmp 0x411c84
mov eax, dword [ebp - 0x38]
sub eax, 0xe7357a40
je 0x412089
jmp 0x411c97
mov eax, dword [ebp - 0x38]
sub eax, 0xfbe8d8cf
je 0x411f4b
jmp 0x411caa
mov eax, dword [ebp - 0x38]
sub eax, 0x31470e6
je 0x411d93
jmp 0x411cbd
mov eax, dword [ebp - 0x38]
sub eax, 0x7aab902
je 0x412275
jmp 0x411cd0
mov eax, dword [ebp - 0x38]
sub eax, 0x24da201e
je 0x412016
jmp 0x411ce3
mov eax, dword [ebp - 0x38]
sub eax, 0x3ec4ddce
je 0x412244
jmp 0x411cf6
mov eax, dword [ebp - 0x38]
sub eax, 0x40d0b50e
je 0x411e3b
jmp 0x411d09
mov eax, dword [ebp - 0x38]
sub eax, 0x43d0c76f
je 0x411eba
jmp 0x411d1c
mov eax, dword [ebp - 0x38]
sub eax, 0x464a1d09
je 0x411db9
jmp 0x411d2f
mov eax, dword [ebp - 0x38]
sub eax, 0x4c92cd99
je 0x411f66
jmp 0x411d42
mov eax, dword [ebp - 0x38]
sub eax, 0x4d6c68ac
je 0x412149
jmp 0x411d55
mov eax, dword [ebp - 0x38]
sub eax, 0x51f4dad4
je 0x412284
jmp 0x411d68
mov eax, dword [ebp - 0x38]
sub eax, 0x5397c797
je 0x412232
jmp 0x411d7b
mov eax, dword [ebp - 0x38]
sub eax, 0x711a4f37
je 0x411e2f
jmp 0x411d8e
jmp 0x4122c4
mov al, byte [ebp - 0x2a]
mov cl, byte [ebp - 0x29]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x3ec4ddce
mov ecx, 0x464a1d09
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x4122c4
mov ecx, dword [ebp - 0x34]
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
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]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x20], eax
mov eax, dword [0x43c59c]
mov ecx, dword [0x43c598]
mov edx, eax
add edx, 0xa3ec4961
sub edx, 1
sub edx, 0xa3ec4961
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, 0x3ec4ddce
mov ecx, 0x711a4f37
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x4122c4
mov dword [ebp - 0x30], 0x40d0b50e
jmp 0x4122c4
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
mov dword [eax], ecx
mov dword [ebp - 0x30], 0xb09e37eb
jmp 0x4122c4
mov ecx, dword [0x43c59c]
mov eax, dword [0x43c598]
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, 0xc98b026c
mov ecx, 0x43d0c76f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x4122c4
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 [0x43c59c]
mov eax, dword [0x43c598]
mov edx, ecx
sub edx, 0xf1023e04
sub edx, 1
add edx, 0xf1023e04
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, 0xc98b026c
mov ecx, 0xfbe8d8cf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x4122c4
mov dl, byte [ebp - 0x19]
mov eax, 0x5397c797
mov ecx, 0x4c92cd99
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x4122c4
mov eax, dword [0x43c59c]
mov ecx, dword [0x43c598]
mov edx, eax
add edx, 0xaea155a3
sub edx, 1
sub edx, 0xaea155a3
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, 0x7aab902
mov ecx, 0x83401d37
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x4122c4
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, dword [0x43c59c]
mov ecx, dword [0x43c598]
mov edx, eax
add edx, 0xd59510d2
sub edx, 1
sub edx, 0xd59510d2
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, 0x7aab902
mov ecx, 0x9d0b68d3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x4122c4
mov dword [ebp - 0x30], 0x24da201e
jmp 0x4122c4
mov ecx, dword [0x43c59c]
mov eax, dword [0x43c598]
mov edx, ecx
add edx, 0x42cc28f5
sub edx, 1
sub edx, 0x42cc28f5
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, 0x51f4dad4
mov ecx, 0xe7357a40
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x4122c4
mov ecx, dword [ebp - 0x18]
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x3c], eax
mov esi, 0xffffffff
xor esi, 2
mov edx, 0xffffffff
xor edx, 0x4dd186bb
and eax, 0x4dd186bb
and ecx, edx
mov edi, esi
and edi, 0x4dd186bb
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, 0x4dd186bb
and ecx, edx
or eax, ecx
mov dword [ebp - 0x14], eax
mov ecx, dword [0x43c59c]
mov eax, dword [0x43c598]
mov edx, ecx
add edx, 0xdad4183a
sub edx, 1
sub edx, 0xdad4183a
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, 0x51f4dad4
mov ecx, 0x4d6c68ac
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x4122c4
mov dword [ebp - 0x30], 0xc12e40fc
jmp 0x4122c4
mov eax, dword [0x43c59c]
mov ecx, dword [0x43c598]
mov edx, eax
sub edx, 0xa77c1e7e
sub edx, 1
add edx, 0xa77c1e7e
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, 0x9c511861
mov ecx, 0xe091540b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x4122c4
mov eax, dword [ebp - 0x28]
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 ecx, dword [0x43c59c]
mov eax, dword [0x43c598]
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, 0x9c511861
mov ecx, 0xda257a0e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x4122c4
mov dword [ebp - 0x30], 0x5397c797
jmp 0x4122c4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00423cc0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x34]
push eax
mov eax, esp
mov dword [eax], ecx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x30], 0x464a1d09
jmp 0x4122c4
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], 0x43d0c76f
jmp 0x4122c4
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], 0x83401d37
jmp 0x4122c4
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], 0xe7357a40
jmp 0x4122c4
mov eax, dword [ebp - 0x28]
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 - 0x30], 0xe091540b
jmp 0x411be9