Function at 0x4091c0
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 - 0x30], eax
mov eax, dword [0x438080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x439544]
mov eax, dword [0x439540]
mov edx, ecx
add edx, 0x2da96e23
sub edx, 1
sub edx, 0x2da96e23
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x26], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x25], al
mov dword [ebp - 0x2c], 0x85b1251b
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
sub eax, 0x814b74c3
je 0x4098f1
jmp 0x40922f
mov eax, dword [ebp - 0x34]
sub eax, 0x835bc5a8
je 0x4098ad
jmp 0x409242
mov eax, dword [ebp - 0x34]
sub eax, 0x85b1251b
je 0x4093c3
jmp 0x409255
mov eax, dword [ebp - 0x34]
sub eax, 0x90bedb87
je 0x4093e9
jmp 0x409268
mov eax, dword [ebp - 0x34]
sub eax, 0x9de2d074
je 0x40988b
jmp 0x40927b
mov eax, dword [ebp - 0x34]
sub eax, 0xbb19f45d
je 0x409488
jmp 0x40928e
mov eax, dword [ebp - 0x34]
sub eax, 0xc3bdef3d
je 0x40976f
jmp 0x4092a1
mov eax, dword [ebp - 0x34]
sub eax, 0xc60731d5
je 0x409793
jmp 0x4092b4
mov eax, dword [ebp - 0x34]
sub eax, 0xd588dbf5
je 0x409649
jmp 0x4092c7
mov eax, dword [ebp - 0x34]
sub eax, 0xfbaed29b
je 0x40947c
jmp 0x4092da
mov eax, dword [ebp - 0x34]
sub eax, 0x12b21ce1
je 0x4098c1
jmp 0x4092ed
mov eax, dword [ebp - 0x34]
sub eax, 0x17779a1f
je 0x409588
jmp 0x409300
mov eax, dword [ebp - 0x34]
sub eax, 0x1dede9a8
je 0x409551
jmp 0x409313
mov eax, dword [ebp - 0x34]
sub eax, 0x280262d7
je 0x4095f3
jmp 0x409326
mov eax, dword [ebp - 0x34]
sub eax, 0x2b77b4e1
je 0x409655
jmp 0x409339
mov eax, dword [ebp - 0x34]
sub eax, 0x2c33e901
je 0x4096c8
jmp 0x40934c
mov eax, dword [ebp - 0x34]
sub eax, 0x3b2dfcc7
je 0x409806
jmp 0x40935f
mov eax, dword [ebp - 0x34]
sub eax, 0x3d663ce8
je 0x40955d
jmp 0x409372
mov eax, dword [ebp - 0x34]
sub eax, 0x4ae6030f
je 0x4098d0
jmp 0x409385
mov eax, dword [ebp - 0x34]
sub eax, 0x54bd1ab0
je 0x409763
jmp 0x409398
mov eax, dword [ebp - 0x34]
sub eax, 0x55fd149d
je 0x409879
jmp 0x4093ab
mov eax, dword [ebp - 0x34]
sub eax, 0x7e4cbfe4
je 0x4094fb
jmp 0x4093be
jmp 0x4098f8
mov al, byte [ebp - 0x26]
mov cl, byte [ebp - 0x25]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x9de2d074
mov ecx, 0x90bedb87
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098f8
mov ecx, dword [ebp - 0x30]
push eax
mov eax, esp
mov dword [ebp - 0x24], eax
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x1c], eax
mov ecx, dword [0x439544]
mov eax, dword [0x439540]
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, 0x9de2d074
mov ecx, 0xfbaed29b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098f8
mov dword [ebp - 0x2c], 0xbb19f45d
jmp 0x4098f8
mov ecx, dword [0x439544]
mov eax, dword [0x439540]
mov edx, ecx
sub edx, 0xca9c4bbb
sub edx, 1
add edx, 0xca9c4bbb
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, 0x835bc5a8
mov ecx, 0x7e4cbfe4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098f8
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov eax, dword [0x439544]
mov ecx, dword [0x439540]
mov edx, eax
sub edx, 0x93a7220e
sub edx, 1
add edx, 0x93a7220e
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, 0x835bc5a8
mov ecx, 0x1dede9a8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098f8
mov dword [ebp - 0x2c], 0x3d663ce8
jmp 0x4098f8
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov ecx, 0xffffffff
xor ecx, 2
mov edx, eax
xor edx, ecx
and edx, eax
mov eax, 0xc60731d5
mov ecx, 0x17779a1f
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098f8
mov ecx, dword [0x439544]
mov eax, dword [0x439540]
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, 0x12b21ce1
mov ecx, 0x280262d7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098f8
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, dword [0x439544]
mov ecx, dword [0x439540]
mov edx, eax
sub edx, 0x218d0117
sub edx, 1
add edx, 0x218d0117
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, 0x12b21ce1
mov ecx, 0xd588dbf5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098f8
mov dword [ebp - 0x2c], 0x2b77b4e1
jmp 0x4098f8
mov ecx, dword [0x439544]
mov eax, dword [0x439540]
mov edx, ecx
add edx, 0xedd3f57c
sub edx, 1
sub edx, 0xedd3f57c
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, 0x4ae6030f
mov ecx, 0x2c33e901
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098f8
mov ecx, dword [ebp - 0x18]
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x38], eax
mov esi, 0xffffffff
xor esi, 2
mov edx, 0xffffffff
xor edx, 0x9beebec4
and eax, 0x9beebec4
and ecx, edx
mov edi, esi
and edi, 0x9beebec4
mov ebx, edx
and ebx, 2
or eax, ecx
mov ecx, dword [ebp - 0x38]
or edi, ebx
xor eax, edi
or ecx, esi
xor ecx, 0xffffffff
or edx, 0x9beebec4
and ecx, edx
or eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [0x439544]
mov ecx, dword [0x439540]
mov edx, eax
add edx, 0xe5b88770
sub edx, 1
sub edx, 0xe5b88770
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, 0x4ae6030f
mov ecx, 0x54bd1ab0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098f8
mov dword [ebp - 0x2c], 0xc3bdef3d
jmp 0x4098f8
mov eax, dword [ebp - 0x24]
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 - 0x2c], 0xc60731d5
jmp 0x4098f8
mov ecx, dword [0x439544]
mov eax, dword [0x439540]
mov edx, ecx
sub edx, 0x5e7ba42a
sub edx, 1
add edx, 0x5e7ba42a
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, 0x814b74c3
mov ecx, 0x3b2dfcc7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098f8
mov ecx, dword [0x439544]
mov eax, dword [0x439540]
mov edx, ecx
add edx, 0xd01dd275
sub edx, 1
sub edx, 0xd01dd275
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, 0x814b74c3
mov ecx, 0x55fd149d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x4098f8
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00421e20
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x30]
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 - 0x2c], 0x90bedb87
jmp 0x4098f8
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [ebp - 0x2c], 0x7e4cbfe4
jmp 0x4098f8
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], 0x280262d7
jmp 0x4098f8
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 - 0x2c], 0x2c33e901
jmp 0x4098f8
mov dword [ebp - 0x2c], 0x3b2dfcc7
jmp 0x409219