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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x28
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [0x434080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], 0x1709dd77
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
sub eax, 0x822d3427
je 0x409a03
jmp 0x4095b6
mov eax, dword [ebp - 0x2c]
sub eax, 0x8641ab1a
je 0x4099b7
jmp 0x4095c9
mov eax, dword [ebp - 0x2c]
sub eax, 0x86c5b6b4
je 0x4099ab
jmp 0x4095dc
mov eax, dword [ebp - 0x2c]
sub eax, 0x88cb450b
je 0x409900
jmp 0x4095ef
mov eax, dword [ebp - 0x2c]
sub eax, 0xe6dfea74
je 0x409730
jmp 0x409602
mov eax, dword [ebp - 0x2c]
sub eax, 0xad6eb3f
je 0x4097fa
jmp 0x409615
mov eax, dword [ebp - 0x2c]
sub eax, 0x1709dd77
je 0x4096c5
jmp 0x409628
mov eax, dword [ebp - 0x2c]
sub eax, 0x1c3d8674
je 0x4099d5
jmp 0x40963b
mov eax, dword [ebp - 0x2c]
sub eax, 0x32d5778c
je 0x4099c3
jmp 0x40964e
mov eax, dword [ebp - 0x2c]
sub eax, 0x3b7494cd
je 0x4097ac
jmp 0x409661
mov eax, dword [ebp - 0x2c]
sub eax, 0x3ee33565
je 0x40989e
jmp 0x409674
mov eax, dword [ebp - 0x2c]
sub eax, 0x61a7f451
je 0x409a12
jmp 0x409687
mov eax, dword [ebp - 0x2c]
sub eax, 0x6ca7f157
je 0x4098b2
jmp 0x40969a
mov eax, dword [ebp - 0x2c]
sub eax, 0x74f25f42
je 0x409883
jmp 0x4096ad
mov eax, dword [ebp - 0x2c]
sub eax, 0x7a8e64cb
je 0x4097a0
jmp 0x4096c0
jmp 0x409a4e
mov ecx, dword [0x435584]
mov eax, dword [0x435580]
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, 0x1c3d8674
mov ecx, 0xe6dfea74
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x409a4e
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 [0x435584]
mov ecx, dword [0x435580]
mov edx, eax
sub edx, 0xce281aa8
sub edx, 1
add edx, 0xce281aa8
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, 0x1c3d8674
mov ecx, 0x7a8e64cb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x409a4e
mov dword [ebp - 0x24], 0x3b7494cd
jmp 0x409a4e
mov eax, dword [0x435584]
mov ecx, dword [0x435580]
mov edx, eax
add edx, 0xc50abf9a
sub edx, 1
sub edx, 0xc50abf9a
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, 0x822d3427
mov ecx, 0xad6eb3f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x409a4e
mov eax, dword [ebp - 0x1c]
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 - 0x15], al
mov ecx, dword [0x435584]
mov eax, dword [0x435580]
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, 0x822d3427
mov ecx, 0x74f25f42
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x409a4e
mov dl, byte [ebp - 0x15]
mov eax, 0x32d5778c
mov ecx, 0x3ee33565
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x409a4e
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], 0x6ca7f157
jmp 0x409a4e
mov eax, dword [0x435584]
mov ecx, dword [0x435580]
mov edx, eax
sub edx, 0x1a71622b
sub edx, 1
add edx, 0x1a71622b
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, 0x61a7f451
mov ecx, 0x88cb450b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x409a4e
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, 0xed5676d1
and eax, 0xed5676d1
and ecx, edx
mov edi, esi
and edi, 0xed5676d1
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, 0xed5676d1
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 eax, dword [0x435584]
mov ecx, dword [0x435580]
mov edx, eax
sub edx, 0x7b0d1457
sub edx, 1
add edx, 0x7b0d1457
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, 0x61a7f451
mov ecx, 0x86c5b6b4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x409a4e
mov dword [ebp - 0x24], 0x8641ab1a
jmp 0x409a4e
mov dword [ebp - 0x24], 0x32d5778c
jmp 0x409a4e
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041e250
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x28]
push eax
mov ecx, esp
mov dword [ebp - 0x34], 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 - 0x34]
mov dword [eax], ecx
mov dword [ebp - 0x24], 0xe6dfea74
jmp 0x409a4e
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], 0xad6eb3f
jmp 0x409a4e
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 eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
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 dword [ebp - 0x24], 0x88cb450b
jmp 0x4095a0