Function at 0x409720
Capabilities:
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [0x435080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], 0xb51a60d6
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
sub eax, 0x84768112
je 0x409867
jmp 0x409756
mov eax, dword [ebp - 0x2c]
sub eax, 0x8ccec082
je 0x409974
jmp 0x409769
mov eax, dword [ebp - 0x2c]
sub eax, 0xb51a60d6
je 0x4097f3
jmp 0x40977c
mov eax, dword [ebp - 0x2c]
sub eax, 0xbd94fa69
je 0x4098c9
jmp 0x40978f
mov eax, dword [ebp - 0x2c]
sub eax, 0xd0ec3573
je 0x409986
jmp 0x4097a2
mov eax, dword [ebp - 0x2c]
sub eax, 0xf028567e
je 0x409968
jmp 0x4097b5
mov eax, dword [ebp - 0x2c]
sub eax, 0xff73b84
je 0x40995c
jmp 0x4097c8
mov eax, dword [ebp - 0x2c]
sub eax, 0x35d8ac54
je 0x40984c
jmp 0x4097db
mov eax, dword [ebp - 0x2c]
sub eax, 0x6e71da66
je 0x40987b
jmp 0x4097ee
jmp 0x4099f9
mov eax, dword [ebp - 0x28]
push eax
mov ecx, esp
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
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, 0x47f4149
or eax, edx
or ecx, 0x47f4149
xor eax, 0xffffffff
and eax, ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x24], 0x35d8ac54
jmp 0x4099f9
mov edx, dword [ebp - 0x18]
mov eax, 0x8ccec082
mov ecx, 0x84768112
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x4099f9
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], 0x6e71da66
jmp 0x4099f9
mov eax, dword [0x4365a4]
mov ecx, dword [0x4365a0]
mov edx, eax
sub edx, 0x5f7ec7a6
sub edx, 1
add edx, 0x5f7ec7a6
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, 0xd0ec3573
mov ecx, 0xbd94fa69
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x4099f9
mov ecx, dword [ebp - 0x14]
mov eax, ecx
and eax, 2
xor ecx, 2
or eax, ecx
mov ecx, dword [ebp - 0x20]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ecx, dword [0x4365a4]
mov eax, dword [0x4365a0]
mov edx, ecx
add edx, 0x5b8d27f5
sub edx, 1
sub edx, 0x5b8d27f5
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, 0xd0ec3573
mov ecx, 0xff73b84
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x4099f9
mov dword [ebp - 0x24], 0xf028567e
jmp 0x4099f9
mov dword [ebp - 0x24], 0x8ccec082
jmp 0x4099f9
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041f4d0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x30], eax
mov esi, 0xffffffff
xor esi, 2
mov edx, 0xffffffff
xor edx, 0x6263230
and eax, 0x6263230
and ecx, edx
mov edi, esi
and edi, 0x6263230
mov ebx, edx
and ebx, 2
or eax, ecx
mov ecx, dword [ebp - 0x30]
or edi, ebx
xor eax, edi
or ecx, esi
xor ecx, 0xffffffff
or edx, 0x6263230
and ecx, edx
or eax, ecx
mov ecx, dword [ebp - 0x20]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov dword [ebp - 0x24], 0xbd94fa69
jmp 0x409740