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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
push ebx
push esi
push edi
xor ebx, ebx
push 8
lea eax, [ebp - 0x20]
mov edi, ecx
push ebx
push eax
mov dword [ebp - 8], edi
call fcn.00424500
add esp, 0xc
push ebx
push 0x80
push 3
push ebx
push 1
push 0x80000000
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x410af8
lea eax, [ebp - 0x20]
push eax
push ebx
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_GetFileTime]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [ebp + 8]
test byte [esi + 0xc], 1
je 0x41103b
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], ebx
push eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x10], ebx
push dword [ebp + 0xc]
call fcn.0040d883
mov eax, dword [esi + 8]
mov edi, dword [0x47e198]
add esp, 0xc
mov dword [ebp - 0xc], edi
test ah, 0xf0
je 0x410b3a
shr eax, 0xc
and eax, 0xf
mov dword [ebp - 0xc], eax
mov edi, eax
lea ecx, [ebp - 0x38]
call fcn.0041bdc5
lea ecx, [ebp - 0x5c]
call fcn.0041bdc5
lea ecx, [ebp - 0x50]
call fcn.0041bdc5
lea eax, [ebp - 0x38]
mov byte [ebp + 0xb], bl
push eax
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 0xc]
call fcn.0040d917
add esp, 0xc
test eax, eax
jge 0x410b72
mov byte [ebp + 0xb], 1
jmp 0x410bd4
mov edi, 0x104
push edi
call fcn.00424dd9
cmp eax, ebx
pop ecx
mov dword [ebp - 4], eax
jne 0x410b96
mov ecx, 0x47e924
call fcn.0041cd1e
push eax
call fcn.0041d881
pop ecx
movzx eax, word [ebp - 0x18]
push edi
push dword [ebp - 4]
push eax
call sub.KERNEL32.dll_VerLanguageNameA
push dword [ebp - 4]
lea ecx, [ebp - 0x5c]
call fcn.0041bf12
movzx eax, word [esi + 0x28]
push edi
push dword [ebp - 4]
push eax
call sub.KERNEL32.dll_VerLanguageNameA
push dword [ebp - 4]
lea ecx, [ebp - 0x50]
call fcn.0041bf12
push dword [ebp - 4]
call fcn.00424dce
mov edi, dword [ebp - 0xc]
pop ecx
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [esi + 0x24]
push dword [esi + 0x20]
call fcn.0040daba
mov cx, word [esi + 0x28]
add esp, 0x10
cmp cx, word [ebp - 0x18]
mov dword [ebp - 4], eax
je 0x410d96
cmp byte [ebp + 0xb], bl
jne 0x410d96
cmp edi, 4
jne 0x410c0c
cmp eax, 0xffffffff
je 0x410c3b
cmp edi, 1
je 0x410c3b
cmp edi, 6
jne 0x410c1b
cmp eax, 0xffffffff
je 0x410c3b
cmp edi, 5
jne 0x410d96
lea eax, [esi + 0x10]
push eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 1
jne 0x410db8
lea ecx, [ebp - 0x44]
call fcn.0041bdc5
cmp dword [ebp - 4], 0xffffffff
jne 0x410c50
push 0x47ee1c
jmp 0x410c61
cmp dword [ebp - 4], ebx
jne 0x410c5c
push 0x47ee28
jmp 0x410c61
push 0x47ee34
lea ecx, [ebp - 0x44]
call fcn.0041bf80
lea ecx, [ebp - 0x2c]
call fcn.0041bdc5
push 0x47ee04
lea ecx, [ebp - 0x2c]
call fcn.0041bf80
push ebx
push 0x42c11c
lea ecx, [ebp - 0x2c]
call fcn.0041c047
push dword [ebp + 0xc]
mov ecx, 0x47edec
call fcn.0041cd1e
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0041c467
add esp, 0xc
mov edi, 0x42bc40
lea ecx, [ebp - 0x2c]
push ebx
push edi
call fcn.0041c047
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x2c]
push eax
call fcn.0041c0c5
push ebx
push edi
lea ecx, [ebp - 0x2c]
call fcn.0041c047
lea ecx, [ebp - 0x50]
call fcn.0041cd1e
push eax
lea ecx, [ebp - 0x5c]
call fcn.0041cd1e
push eax
mov ecx, 0x47ee10
call fcn.0041cd1e
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0041c467
add esp, 0x10
lea ecx, [ebp - 0x2c]
push ebx
push edi
call fcn.0041c047
push 0x47edf8
lea ecx, [ebp - 0x2c]
call fcn.0041c0c5
cmp dword [ebp - 0x38], ebx
jbe 0x410d35
lea ecx, [ebp - 0x38]
call fcn.0041cd1e
push eax
mov ecx, 0x47e9e4
call fcn.0041cd1e
push eax
lea eax, [ebp - 0x2c]
push str._r_n_r_n_s__s
push eax
call fcn.0041c467
add esp, 0x10
mov ecx, 0x47e700
call fcn.0041cd1e
mov ecx, dword [ebp - 8]
push 0x34
push eax
mov edi, dword [ecx + 8]
lea ecx, [ebp - 0x2c]
call fcn.0041cd1e
push eax
push edi
mov ecx, 0x47dfb8
call fcn.0041b2cc
cmp eax, 6
lea ecx, [ebp - 0x2c]
jne 0x410d89
call fcn.0041befb
lea ecx, [ebp - 0x44]
call fcn.0041befb
lea ecx, [ebp - 0x50]
call fcn.0041befb
lea ecx, [ebp - 0x5c]
call fcn.0041befb
lea ecx, [ebp - 0x38]
jmp 0x4111a1
call fcn.0041befb
lea ecx, [ebp - 0x44]
jmp 0x410fe4
cmp edi, 1
je 0x410dd1
cmp edi, 6
jne 0x410da5
cmp eax, 1
je 0x410dd1
cmp edi, 2
je 0x410d71
cmp edi, 4
je 0x410dc6
cmp edi, 5
jne 0x410fe9
lea eax, [esi + 0x10]
push eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 0xffffffff
je 0x410fe9
jmp 0x410d71
lea ecx, [ebp - 0x44]
call fcn.0041bdc5
lea ecx, [ebp - 0x68]
call fcn.0041bdc5
cmp dword [ebp - 4], 0xffffffff
jne 0x410dee
push 0x47ee1c
jmp 0x410dff
cmp dword [ebp - 4], ebx
jne 0x410dfa
push 0x47ee28
jmp 0x410dff
push 0x47ee34
lea ecx, [ebp - 0x68]
call fcn.0041bf80
push dword [ebp + 0xc]
mov ecx, 0x47edec
call fcn.0041cd1e
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.0041c467
add esp, 0xc
mov ecx, 0x47edf8
call fcn.0041cd1e
push eax
lea ecx, [ebp - 0x68]
call fcn.0041cd1e
push eax
lea eax, [ebp - 0x44]
push str._r_n_s_r_n_s
push eax
call fcn.0041c467
add esp, 0x10
cmp dword [ebp - 0x38], ebx
ja 0x410e55
cmp dword [esi + 0x20], ebx
jne 0x410e55
cmp dword [esi + 0x24], ebx
je 0x410e63
push ebx
push 0x42bc40
lea ecx, [ebp - 0x44]
call fcn.0041c047
cmp dword [ebp - 0x38], ebx
jbe 0x410e8d
lea ecx, [ebp - 0x38]
call fcn.0041cd1e
push eax
mov ecx, 0x47e9e4
call fcn.0041cd1e
push eax
lea eax, [ebp - 0x44]
push str._r_n_s__s
push eax
call fcn.0041c467
add esp, 0x10
cmp dword [esi + 0x24], ebx
jne 0x410e9b
cmp dword [esi + 0x20], ebx
je 0x410fa0
push 0x47eb1c
lea ecx, [ebp - 0x2c]
call fcn.0041be99
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0041bfe3
cmp al, 0x61
jl 0x410ee3
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0041bfe3
cmp al, 0x7a
jg 0x410ee3
push 1
push ebx
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0041bfe3
sub al, 0x20
lea ecx, [ebp - 0x2c]
push eax
push ebx
call fcn.0041bfe3
push eax
lea ecx, [ebp - 0x2c]
call fcn.0041cbc9
push ebx
push 0x42c0f8
lea ecx, [ebp - 0x2c]
call fcn.0041c047
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
mov edx, ecx
shr edx, 0x10
cmp dx, bx
je 0x410f24
movzx edi, ax
shr eax, 0x10
push edi
push eax
movzx eax, cx
push eax
movzx eax, dx
push eax
lea eax, [ebp - 0x2c]
push str._d._d._d._d
push eax
call fcn.0041c467
add esp, 0x18
jmp 0x410f7e
cmp cx, bx
je 0x410f48
movzx edx, ax
shr eax, 0x10
push edx
push eax
movzx eax, cx
push eax
lea eax, [ebp - 0x2c]
push str._d._d._d
push eax
call fcn.0041c467
add esp, 0x14
jmp 0x410f7e
mov ecx, eax
movzx eax, ax
shr ecx, 0x10
cmp cx, bx
push eax
je 0x410f6d
movzx eax, cx
push eax
lea eax, [ebp - 0x2c]
push str._d._d
push eax
call fcn.0041c467
add esp, 0x10
jmp 0x410f7e
lea eax, [ebp - 0x2c]
push 0x42c0d4
push eax
call fcn.0041c467
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.0041cd1e
push eax
lea eax, [ebp - 0x44]
push str._r_n_s
push eax
call fcn.0041c467
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.0041befb
mov ecx, 0x47e700
call fcn.0041cd1e
mov ecx, dword [ebp - 8]
push 0x34
push eax
mov edi, dword [ecx + 8]
lea ecx, [ebp - 0x44]
call fcn.0041cd1e
push eax
push edi
mov ecx, 0x47dfb8
call fcn.0041b2cc
cmp eax, 6
lea ecx, [ebp - 0x68]
jne 0x410fdc
call fcn.0041befb
lea ecx, [ebp - 0x44]
jmp 0x410d6c
call fcn.0041befb
lea ecx, [ebp - 0x44]
call fcn.0041befb
test byte [0x47e190], 0x10
je 0x411009
push dword [esi + 0x14]
mov ecx, dword [ebp - 8]
push dword [esi + 0x10]
push dword [esi + 0x24]
push dword [esi + 0x20]
push dword [ebp + 0xc]
call fcn.0041021e
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
and al, 0xfe
push eax
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [ebp - 0x50]
call fcn.0041befb
lea ecx, [ebp - 0x5c]
call fcn.0041befb
lea ecx, [ebp - 0x38]
call fcn.0041befb
jmp 0x4111b8
mov eax, dword [esi + 8]
shr eax, 0xc
and eax, 0xf
je 0x4111af
cmp eax, 3
je 0x4111af
cmp eax, 4
je 0x4111af
cmp eax, 2
je 0x4111a6
cmp eax, 5
jne 0x411086
add esi, 0x10
lea eax, [ebp - 0x20]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 0xffffffff
je 0x4111af
jmp 0x4111a6
cmp eax, 1
jne 0x4110fd
lea ecx, [ebp - 0x68]
call fcn.0041bdc5
push dword [ebp + 0xc]
mov ecx, 0x47edec
call fcn.0041cd1e
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.0041c467
add esp, 0xc
lea ecx, [ebp - 0x68]
push ebx
push 0x42bc40
call fcn.0041c047
push 0x47edf8
lea ecx, [ebp - 0x68]
call fcn.0041c0c5
mov ecx, 0x47e700
call fcn.0041cd1e
mov esi, dword [edi + 8]
push 0x34
push eax
lea ecx, [ebp - 0x68]
call fcn.0041cd1e
push eax
push esi
mov ecx, 0x47dfb8
call fcn.0041b2cc
cmp eax, 6
lea ecx, [ebp - 0x68]
jne 0x411031
jmp 0x4111a1
cmp eax, 6
jne 0x4111b8
add esi, 0x10
lea eax, [ebp - 0x20]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 0xffffffff
je 0x4111af
lea ecx, [ebp - 0x5c]
call fcn.0041bdc5
push dword [ebp + 0xc]
mov ecx, 0x47edec
call fcn.0041cd1e
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.0041c467
add esp, 0xc
mov edi, 0x42bc40
lea ecx, [ebp - 0x5c]
push ebx
push edi
call fcn.0041c047
push 0x47ee34
lea ecx, [ebp - 0x5c]
call fcn.0041c0c5
push ebx
push edi
lea ecx, [ebp - 0x5c]
call fcn.0041c047
push 0x47edf8
lea ecx, [ebp - 0x5c]
call fcn.0041c0c5
mov ecx, 0x47e700
call fcn.0041cd1e
mov ecx, dword [ebp - 8]
push 0x34
push eax
mov esi, dword [ecx + 8]
lea ecx, [ebp - 0x5c]
call fcn.0041cd1e
push eax
push esi
mov ecx, 0x47dfb8
call fcn.0041b2cc
cmp eax, 6
lea ecx, [ebp - 0x5c]
jne 0x4111aa
call fcn.0041befb
xor eax, eax
jmp 0x4111bb
call fcn.0041befb
push dword [ebp + 0xc]
call fcn.0040d85f
pop ecx
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret 0xc