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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
xor ecx, ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x463f5c
push dword fs:[eax]
mov dword fs:[eax], esp
test dl, dl
je 0x463c42
mov byte [ebp - 5], 1
jmp 0x463f46
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xac0]
call fcn.004611e0
xor eax, eax
push ebp
push 0x463f3f
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 6], 1
mov eax, dword [ebp - 4]
cmp word [eax + 0x8fa], 0
je 0x463ccf
mov eax, dword [ebp - 4]
call fcn.00461c00
test al, al
je 0x463ca6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa18]
push eax
lea eax, [ebp - 6]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xa38]
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x8fc]
call dword [ebx + 0x8f8]
jmp 0x463ccf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa18]
push eax
lea eax, [ebp - 6]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xb98]
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x8fc]
call dword [ebx + 0x8f8]
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x3c]
test al, al
jne 0x463ce1
cmp byte [ebp - 6], 0
jne 0x463cef
mov byte [ebp - 5], 0
call fcn.004038d8
jmp 0x463f46
mov eax, dword [ebp - 4]
call fcn.00461c00
test al, al
jne 0x463d12
mov byte [ebp - 5], 1
mov eax, dword [ebp - 4]
inc dword [eax + 0xa18]
call fcn.004038d8
jmp 0x463f46
mov eax, dword [ebp - 4]
cmp byte [eax + 0x8d5], 0
jne 0x463d45
mov eax, dword [ebp - 4]
cmp byte [eax + 0x9cc], 0
sete byte [ebp - 5]
cmp byte [ebp - 5], 0
je 0x463d3b
mov eax, dword [ebp - 4]
inc dword [eax + 0xa18]
call fcn.004038d8
jmp 0x463f46
mov eax, dword [ebp - 4]
mov byte [eax + 0x9cc], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa38]
call fcn.004660dc
test al, al
je 0x463ee7
mov eax, dword [ebp - 4]
cmp word [eax + 0xb8a], 0
je 0x463ebd
lea eax, [ebp - 0xc]
call fcn.00403d68
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 4]
add eax, 0x9cc
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xa38]
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0xb8c]
call dword [ebx + 0xb88]
cmp dword [ebp - 0xc], 0
jne 0x463dbd
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xa38]
call fcn.00403e00
mov eax, dword [ebp - 4]
cmp byte [eax + 0x9cc], 0
jne 0x463df4
cmp dword [ebp - 0xc], 0
je 0x463df4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa38]
mov edx, dword [ebp - 0xc]
call fcn.00409014
test eax, eax
je 0x463e22
mov eax, dword [ebp - 4]
add eax, 0xa38
mov edx, dword [ebp - 0xc]
call fcn.00403dbc
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x3c]
test al, al
jne 0x463e22
mov eax, dword [ebp - 4]
cmp byte [eax + 0x9cc], 1
je 0x463e22
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa38]
call fcn.004660dc
test al, al
jne 0x463d76
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x3c]
test al, al
jne 0x463ee7
mov eax, dword [ebp - 4]
cmp byte [eax + 0x9cc], 1
je 0x463ee7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa38]
call fcn.004041ac
push eax
call sub.kernel32.dll_GetFileAttributesA
mov ebx, eax
call sub.kernel32.dll_GetLastError_1
test eax, eax
jne 0x463ee7
test ebx, 1
jle 0x463ee7
test bl, 4
jne 0x463e92
test bl, 0x10
jne 0x463e92
push 0x80
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa38]
call fcn.004041ac
push eax
call sub.kernel32.dll_SetFileAttributesA
jmp 0x463ee7
push 0x463f74
push 0x6230
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xa38]
xor ecx, ecx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x6c]
mov byte [ebp - 5], 0
call fcn.004038d8
jmp 0x463f46
push 0x463f74
push 0x62b6
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xa38]
mov ecx, 0x463f80
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x6c]
mov eax, dword [ebp - 4]
mov byte [eax + 0x9cc], 1
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x3c]
test al, al
jne 0x463f0b
mov eax, dword [ebp - 4]
cmp byte [eax + 0x9cc], 0
jne 0x463f0b
mov eax, dword [ebp - 4]
cmp dword [eax + 0xa38], 0
jne 0x463f0f
xor eax, eax
jmp 0x463f11
mov al, 1
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x463f23
mov eax, dword [ebp - 4]
inc dword [eax + 0xa18]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x463f46
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xac0]
call fcn.004611f4
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x463f63
lea eax, [ebp - 0xc]
call fcn.00403d68
ret