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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
sub esp, 4
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], 0xdc1abdc8
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
sub eax, 0x83359214
je 0x4079ec
jmp 0x40756b
mov eax, dword [ebp - 0x20]
sub eax, 0x99a53a45
je 0x4078e8
jmp 0x40757e
mov eax, dword [ebp - 0x20]
sub eax, 0xa1e830b5
je 0x4078dc
jmp 0x407591
mov eax, dword [ebp - 0x20]
sub eax, 0xb4326223
je 0x4076c7
jmp 0x4075a4
mov eax, dword [ebp - 0x20]
sub eax, 0xc0989dbd
je 0x4079f8
jmp 0x4075b7
mov eax, dword [ebp - 0x20]
sub eax, 0xc16ea692
je 0x4077fa
jmp 0x4075ca
mov eax, dword [ebp - 0x20]
sub eax, 0xdc1abdc8
je 0x40767a
jmp 0x4075dd
mov eax, dword [ebp - 0x20]
sub eax, 0xe5170e47
je 0x4076b5
jmp 0x4075f0
mov eax, dword [ebp - 0x20]
sub eax, 0xec70753c
je 0x4079b1
jmp 0x407603
mov eax, dword [ebp - 0x20]
sub eax, 0xf229a552
je 0x40769a
jmp 0x407616
mov eax, dword [ebp - 0x20]
sub eax, 0x1c11fb9
je 0x407732
jmp 0x407629
mov eax, dword [ebp - 0x20]
sub eax, 0x3925e413
je 0x407936
jmp 0x40763c
mov eax, dword [ebp - 0x20]
sub eax, 0x3deb1123
je 0x407806
jmp 0x40764f
mov eax, dword [ebp - 0x20]
sub eax, 0x56ac0dee
je 0x407871
jmp 0x407662
mov eax, dword [ebp - 0x20]
sub eax, 0x75d97c1b
je 0x4079a9
jmp 0x407675
jmp 0x4079ff
mov ecx, dword [ebp - 0x18]
mov edx, 0xffffffff
xor edx, 2
mov eax, ecx
xor eax, edx
and eax, ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], 0xf229a552
jmp 0x4079ff
mov edx, dword [ebp - 0x14]
mov eax, 0x99a53a45
mov ecx, 0xe5170e47
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x4079ff
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 0xb4326223
jmp 0x4079ff
mov ecx, dword [0x436544]
mov eax, dword [0x436540]
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, 0xec70753c
mov ecx, 0x1c11fb9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x4079ff
mov ecx, dword [ebp - 0x10]
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x24], eax
mov esi, 0xffffffff
xor esi, 2
mov edx, 0xffffffff
xor edx, 0xf1bb01f3
and eax, 0xf1bb01f3
and ecx, edx
mov edi, esi
and edi, 0xf1bb01f3
mov ebx, edx
and ebx, 2
or eax, ecx
mov ecx, dword [ebp - 0x24]
or edi, ebx
xor eax, edi
or ecx, esi
xor ecx, 0xffffffff
or edx, 0xf1bb01f3
and ecx, edx
or eax, ecx
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
sub esp, 8
mov ecx, dword [0x436544]
mov eax, dword [0x436540]
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, 0xec70753c
mov ecx, 0xc16ea692
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x4079ff
mov dword [ebp - 0x1c], 0x3deb1123
jmp 0x4079ff
mov ecx, dword [0x436544]
mov eax, dword [0x436540]
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, 0x83359214
mov ecx, 0x56ac0dee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x4079ff
mov ecx, dword [0x436544]
mov eax, dword [0x436540]
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, 0x83359214
mov ecx, 0xa1e830b5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x4079ff
mov dword [ebp - 0x1c], 0x99a53a45
jmp 0x4079ff
mov eax, dword [0x436544]
mov ecx, dword [0x436540]
mov edx, eax
sub edx, 0xe6b2a5a4
sub edx, 1
add edx, 0xe6b2a5a4
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, 0xc0989dbd
mov ecx, 0x3925e413
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x4079ff
mov ecx, dword [0x436544]
mov eax, dword [0x436540]
mov edx, ecx
add edx, 0xbed206dd
sub edx, 1
sub edx, 0xbed206dd
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, 0xc0989dbd
mov ecx, 0x75d97c1b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x4079ff
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov eax, ecx
and eax, 2
xor ecx, 2
or eax, ecx
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
sub esp, 8
mov dword [ebp - 0x1c], 0x1c11fb9
jmp 0x4079ff
mov dword [ebp - 0x1c], 0x56ac0dee
jmp 0x4079ff
mov dword [ebp - 0x1c], 0x3925e413
jmp 0x407555