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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 4
push 0
push 0
dec ecx
jne 0x5396ec
push ecx
push ebx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x539b19
push dword fs:[eax]
mov dword fs:[eax], esp
test dl, dl
je 0x539713
mov byte [ebp - 5], 1
jmp 0x539afe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xac0]
call fcn.00536eac
xor eax, eax
push ebp
push 0x539af7
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 0x539844
mov eax, dword [ebp - 4]
call fcn.005378cc
test al, al
je 0x53981a
mov eax, dword [ebp - 4]
cmp word [eax + 0x982], 0
je 0x5397ee
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xa38]
call fcn.00403fa8
lea eax, [ebp - 0xc]
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 + 0x984]
call dword [ebx + 0x980]
cmp dword [ebp - 0xc], 0
je 0x5397ee
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0xc]
call fcn.00409adc
mov eax, dword [ebp - 0x10]
call fcn.0053c058
test al, al
jne 0x5397de
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0xc]
call fcn.00409c00
mov eax, dword [ebp - 0x14]
push eax
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa38]
call fcn.00409adc
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0xc]
pop ecx
call fcn.004041dc
mov eax, dword [ebp - 4]
add eax, 0xa38
mov edx, dword [ebp - 0xc]
call fcn.00403f64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa18]
inc eax
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 0x539844
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa18]
inc eax
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 0x539856
cmp byte [ebp - 6], 0
jne 0x539864
mov byte [ebp - 5], 0
call fcn.004039a8
jmp 0x539afe
mov eax, dword [ebp - 4]
call fcn.005378cc
test al, al
jne 0x539887
mov byte [ebp - 5], 1
mov eax, dword [ebp - 4]
inc dword [eax + 0xa18]
call fcn.004039a8
jmp 0x539afe
mov eax, dword [ebp - 4]
cmp byte [eax + 0x8d5], 0
jne 0x5398ba
mov eax, dword [ebp - 4]
cmp byte [eax + 0x9d4], 0
sete byte [ebp - 5]
cmp byte [ebp - 5], 0
je 0x5398b0
mov eax, dword [ebp - 4]
inc dword [eax + 0xa18]
call fcn.004039a8
jmp 0x539afe
mov eax, dword [ebp - 4]
mov byte [eax + 0x9d4], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa38]
call fcn.004097a4
test al, al
je 0x539a9f
mov eax, dword [ebp - 4]
cmp word [eax + 0xb8a], 0
je 0x539a75
lea eax, [ebp - 0xc]
call fcn.00403f10
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 4]
add eax, 0x9d4
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 0x539932
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xa38]
call fcn.00403fa8
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
call fcn.00409adc
mov eax, dword [ebp - 0x1c]
call fcn.0053c058
test al, al
jne 0x539975
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0xc]
call fcn.00409c00
mov eax, dword [ebp - 0x20]
push eax
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa38]
call fcn.00409adc
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0xc]
pop ecx
call fcn.004041dc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x9d4], 0
jne 0x5399ac
cmp dword [ebp - 0xc], 0
je 0x5399ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa38]
mov edx, dword [ebp - 0xc]
call fcn.00409018
test eax, eax
je 0x5399da
mov eax, dword [ebp - 4]
add eax, 0xa38
mov edx, dword [ebp - 0xc]
call fcn.00403f64
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x3c]
test al, al
jne 0x5399da
mov eax, dword [ebp - 4]
cmp byte [eax + 0x9d4], 1
je 0x5399da
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa38]
call fcn.0053bc70
test al, al
jne 0x5398eb
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x3c]
test al, al
jne 0x539a9f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x9d4], 1
je 0x539a9f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa38]
call fcn.00404354
push eax
call sub.kernel32.dll_GetFileAttributesA
mov ebx, eax
call sub.kernel32.dll_GetLastError_1
test eax, eax
jne 0x539a9f
test ebx, 1
jle 0x539a9f
test bl, 4
jne 0x539a4a
test bl, 0x10
jne 0x539a4a
push 0x80
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa38]
call fcn.00404354
push eax
call sub.kernel32.dll_SetFileAttributesA
jmp 0x539a9f
push 0x539b30
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.004039a8
jmp 0x539afe
push 0x539b30
push 0x62b6
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xa38]
mov ecx, 0x539b3c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x6c]
mov eax, dword [ebp - 4]
mov byte [eax + 0x9d4], 1
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x3c]
test al, al
jne 0x539ac3
mov eax, dword [ebp - 4]
cmp byte [eax + 0x9d4], 0
jne 0x539ac3
mov eax, dword [ebp - 4]
cmp dword [eax + 0xa38], 0
jne 0x539ac7
xor eax, eax
jmp 0x539ac9
mov al, 1
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x539adb
mov eax, dword [ebp - 4]
inc dword [eax + 0xa18]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x539afe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xac0]
call fcn.00536ec0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x539b20
lea eax, [ebp - 0x24]
mov edx, 7
call fcn.00403f34
ret