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

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x4d54b1
push dword fs:[eax]
mov dword fs:[eax], esp
test dl, dl
je 0x4d50fd
mov byte [ebp - 9], 1
jmp 0x4d548e
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x548]
call fcn.004cd6f4
xor eax, eax
push ebp
push 0x4d5487
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xa], 1
mov eax, dword [ebp - 8]
cmp word [eax + 0x382], 0
je 0x4d51fa
mov eax, dword [ebp - 8]
call fcn.004ce794
test al, al
je 0x4d51d0
mov eax, dword [ebp - 8]
cmp word [eax + 0x40a], 0
je 0x4d51a4
lea eax, [ebp - 4]
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x4c0]
call fcn.0040531c
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x4c0]
mov ebx, dword [ebp - 8]
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x40c]
call dword [ebx + 0x408]
cmp dword [ebp - 4], 0
je 0x4d51a4
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0040ada0
mov eax, dword [ebp - 0x10]
call fcn.004cad70
mov eax, dword [ebp - 8]
add eax, 0x4c0
mov edx, dword [ebp - 4]
call fcn.004052d8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4a0]
inc eax
push eax
lea eax, [ebp - 0xa]
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x4c0]
mov ebx, dword [ebp - 8]
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x384]
call dword [ebx + 0x380]
jmp 0x4d51fa
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4a0]
inc eax
push eax
lea eax, [ebp - 0xa]
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x31e0]
mov ebx, dword [ebp - 8]
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x384]
call dword [ebx + 0x380]
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x40]
test al, al
jne 0x4d520c
cmp byte [ebp - 0xa], 0
jne 0x4d521a
mov byte [ebp - 9], 0
call fcn.00404d5c
jmp 0x4d548e
mov eax, dword [ebp - 8]
call fcn.004ce794
test al, al
jne 0x4d523d
mov byte [ebp - 9], 1
mov eax, dword [ebp - 8]
inc dword [eax + 0x4a0]
call fcn.00404d5c
jmp 0x4d548e
mov eax, dword [ebp - 8]
cmp byte [eax + 0x35d], 0
jne 0x4d5270
mov eax, dword [ebp - 8]
cmp byte [eax + 0x45c], 0
sete byte [ebp - 9]
cmp byte [ebp - 9], 0
je 0x4d5266
mov eax, dword [ebp - 8]
inc dword [eax + 0x4a0]
call fcn.00404d5c
jmp 0x4d548e
mov eax, dword [ebp - 8]
mov byte [eax + 0x45c], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4c0]
call fcn.0040aaa4
test al, al
je 0x4d542f
mov eax, dword [ebp - 8]
cmp word [eax + 0x31d2], 0
je 0x4d5402
lea eax, [ebp - 4]
call fcn.00405284
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp - 8]
add eax, 0x45c
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x4c0]
mov ebx, dword [ebp - 8]
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x31d4]
call dword [ebx + 0x31d0]
cmp dword [ebp - 4], 0
jne 0x4d52e8
lea eax, [ebp - 4]
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x4c0]
call fcn.0040531c
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.0040ada0
mov eax, dword [ebp - 0x14]
call fcn.004cad70
mov eax, dword [ebp - 8]
cmp byte [eax + 0x45c], 0
jne 0x4d5332
cmp dword [ebp - 4], 0
je 0x4d5332
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4c0]
mov edx, dword [ebp - 4]
call fcn.00409c60
test eax, eax
je 0x4d5360
mov eax, dword [ebp - 8]
add eax, 0x4c0
mov edx, dword [ebp - 4]
call fcn.004052d8
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x40]
test al, al
jne 0x4d5360
mov eax, dword [ebp - 8]
cmp byte [eax + 0x45c], 1
je 0x4d5360
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4c0]
call fcn.004ca9f8
test al, al
jne 0x4d52a1
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x40]
test al, al
jne 0x4d542f
mov eax, dword [ebp - 8]
cmp byte [eax + 0x45c], 1
je 0x4d542f
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4c0]
call fcn.00405748
push eax
call sub.kernel32.dll_GetFileAttributesA
mov ebx, eax
call sub.kernel32.dll_GetLastError_1
test eax, eax
jne 0x4d542f
test ebx, 1
jle 0x4d542f
test bl, 4
jne 0x4d53d4
test bl, 0x10
jne 0x4d53d4
push 0x80
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4c0]
call fcn.00405748
push eax
call sub.kernel32.dll_SetFileAttributesA
jmp 0x4d542f
push 0x4d54cc
push 0x6230
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x4c0]
xor ecx, ecx
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0x98]
mov byte [ebp - 9], 0
call fcn.00404d5c
jmp 0x4d548e
push 0x4d54cc
push 0x62b6
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x4c0]
mov ecx, 0x4d54d8
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0x98]
mov eax, dword [ebp - 8]
mov byte [eax + 0x45c], 1
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x40]
test al, al
jne 0x4d5453
mov eax, dword [ebp - 8]
cmp byte [eax + 0x45c], 0
jne 0x4d5453
mov eax, dword [ebp - 8]
cmp dword [eax + 0x4c0], 0
jne 0x4d5457
xor eax, eax
jmp 0x4d5459
mov al, 1
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x4d546b
mov eax, dword [ebp - 8]
inc dword [eax + 0x4a0]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d548e
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x548]
call fcn.004cd708
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d54b8
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004052a8
lea eax, [ebp - 4]
call fcn.00405284
ret