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

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 0xa
add esp, 0xfffff004
push eax
dec eax
jne 0x407229
mov eax, dword [ebp - 4]
add esp, 0xfffffde8
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0xa21c], edx
mov dword [ebp - 0xa218], edx
mov dword [ebp - 0xa214], edx
mov dword [ebp - 0xa210], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004033fc
xor eax, eax
push ebp
push 0x4074dc
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
lea eax, [ebp - 0xa210]
mov edx, 0x4091c0
mov ecx, 3
call fcn.004031f4
mov edx, dword [ebp - 0xa210]
mov eax, dword [ebp - 4]
call fcn.00407034
test al, al
je 0x4074b6
lea edx, [ebp - 0xa214]
mov eax, dword [ebp - 4]
call fcn.00404f34
mov edx, dword [ebp - 0xa214]
lea eax, [ebp - 4]
call fcn.0040312c
lea eax, [ebp - 0xa218]
call fcn.00404f90
mov eax, dword [ebp - 0xa218]
call fcn.0040340c
push eax
mov eax, dword [ebp - 4]
call fcn.0040340c
mov ebx, eax
mov eax, ebx
pop edx
call fcn.00404b38
test al, al
jne 0x4074b6
lea eax, [ebp - 0xa21c]
call fcn.00405008
mov eax, dword [ebp - 0xa21c]
call fcn.0040340c
push eax
mov eax, ebx
pop edx
call fcn.00404b38
test al, al
jne 0x4074b6
mov edx, dword [ebp - 4]
mov eax, 0x4074f8
call fcn.004034ec
cmp eax, 3
je 0x4074b6
mov eax, dword [ebp - 4]
call fcn.00404f6c
cmp eax, 0xa200
jbe 0x4074b6
cmp eax, 0x989680
ja 0x4074b6
mov eax, dword [ebp - 4]
call fcn.00407180
test al, al
jne 0x4074b6
mov byte [ebp - 5], 1
mov eax, dword [ebp - 4]
call fcn.0040340c
mov ebx, eax
push ebx
call sub.kernel32.dll_GetFileAttributesA
mov edi, eax
test edi, 1
jbe 0x40737f
push 0
push ebx
call sub.kernel32.dll_SetFileAttributesA
call fcn.00405bdc
mov ebx, eax
call fcn.004064cc
mov esi, eax
mov eax, esi
xor ecx, ecx
mov edx, dword [ebp - 4]
call fcn.00406ca8
mov eax, esi
mov edx, ebx
call fcn.00406510
mov edx, 0x16
mov eax, ebx
call fcn.00405974
mov eax, 0x4135e8
mov edx, 0x10a8
call fcn.00404198
mov edx, 0x4135e8
mov ecx, 0x10a8
mov eax, ebx
call fcn.00405988
mov eax, ebx
call fcn.00404520
mov eax, esi
call fcn.00404520
mov edx, 0xc0000303
mov eax, dword [ebp - 4]
call fcn.00404b68
mov ebx, eax
cmp ebx, 0xffffffff
je 0x407498
lea edx, [ebp - 0xa20c]
mov ecx, 2
mov eax, ebx
call fcn.00404bc4
cmp byte [ebp - 0xa20c], 0x4d
jne 0x407498
cmp byte [ebp - 0xa20b], 0x5a
jne 0x407498
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.00404bb4
lea edx, [ebp - 0xa20c]
mov ecx, 0xa200
mov eax, ebx
call fcn.00404bc4
lea edx, [ebp - 0xc]
lea eax, [ebp - 0x9d3a]
mov ecx, 4
call fcn.0040254c
lea eax, [ebp - 0xa20c]
mov ecx, dword [ebp - 0xc]
mov edx, 0x3e8
call fcn.004070d0
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.00404bb4
mov edx, 0x40a698
mov ecx, 0xa200
mov eax, ebx
call fcn.00404be0
mov cl, 2
xor edx, edx
mov eax, ebx
call fcn.00404bb4
lea edx, [ebp - 0xa20c]
mov ecx, 0xa200
mov eax, ebx
call fcn.00404be0
mov eax, ebx
call fcn.00404b90
test edi, 1
jbe 0x4074b6
push edi
mov eax, dword [ebp - 4]
call fcn.0040340c
push eax
call sub.kernel32.dll_SetFileAttributesA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4074e3
lea eax, [ebp - 0xa21c]
mov edx, 4
call fcn.004030b8
lea eax, [ebp - 4]
call fcn.00403094
ret