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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x24
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 0x4da8ad94
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
sub eax, 0x8e935289
je 0x402d8b
jmp 0x402b7b
mov eax, dword [ebp - 0x24]
sub eax, 0xba9d1cdc
je 0x402e48
jmp 0x402b8e
mov eax, dword [ebp - 0x24]
sub eax, 0xc093c8d6
je 0x402cb9
jmp 0x402ba1
mov eax, dword [ebp - 0x24]
sub eax, 0xc232e6c8
je 0x402e4f
jmp 0x402bb4
mov eax, dword [ebp - 0x24]
sub eax, 0xc53918d6
je 0x402cd5
jmp 0x402bc7
mov eax, dword [ebp - 0x24]
sub eax, 0xc5d0ea44
je 0x402df6
jmp 0x402bda
mov eax, dword [ebp - 0x24]
sub eax, 0xd73bda60
je 0x402e3c
jmp 0x402bed
mov eax, dword [ebp - 0x24]
sub eax, 0xddd75bb5
je 0x402e71
jmp 0x402c00
mov eax, dword [ebp - 0x24]
sub eax, 0xdfeb14a8
je 0x402c9e
jmp 0x402c13
mov eax, dword [ebp - 0x24]
sub eax, 0x1517ea1a
je 0x402d23
jmp 0x402c26
mov eax, dword [ebp - 0x24]
sub eax, 0x23a25341
je 0x402d7f
jmp 0x402c39
mov eax, dword [ebp - 0x24]
sub eax, 0x4da8ad94
je 0x402c51
jmp 0x402c4c
jmp 0x402e78
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
sub esp, 4
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 2
mov ecx, 0xffffffff
xor ecx, 0x37cf265
or eax, edx
or ecx, 0x37cf265
xor eax, 0xffffffff
and eax, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 0xdfeb14a8
jmp 0x402e78
mov edx, dword [ebp - 0x10]
mov eax, 0xba9d1cdc
mov ecx, 0xc093c8d6
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x402e78
mov ecx, dword [ebp - 0x18]
mov eax, ecx
and eax, 2
xor ecx, 2
or eax, ecx
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1c], 0xc53918d6
jmp 0x402e78
mov eax, dword [0x421384]
mov ecx, dword [0x421380]
mov edx, eax
sub edx, 0xb81a327a
sub edx, 1
add edx, 0xb81a327a
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, 0xc232e6c8
mov ecx, 0x1517ea1a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x402e78
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
sub esp, 8
mov eax, dword [0x421384]
mov ecx, dword [0x421380]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
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, 0xc232e6c8
mov ecx, 0x23a25341
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x402e78
mov dword [ebp - 0x1c], 0x8e935289
jmp 0x402e78
mov ecx, dword [0x421384]
mov eax, dword [0x421380]
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, 0xddd75bb5
mov ecx, 0xc5d0ea44
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x402e78
mov eax, dword [0x421384]
mov ecx, dword [0x421380]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
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, 0xddd75bb5
mov ecx, 0xd73bda60
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x402e78
mov dword [ebp - 0x1c], 0xba9d1cdc
jmp 0x402e78
add esp, 0x24
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
sub esp, 8
mov dword [ebp - 0x1c], 0x1517ea1a
jmp 0x402e78
mov dword [ebp - 0x1c], 0xc5d0ea44
jmp 0x402b65