Function at 0x411383
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.00425010
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 0x4113d6
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 0x411919
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.0040e12a
mov eax, dword [esi + 8]
mov edi, dword [0x47f208]
add esp, 0xc
mov dword [ebp - 0xc], edi
test ah, 0xf0
je 0x411418
shr eax, 0xc
and eax, 0xf
mov dword [ebp - 0xc], eax
mov edi, eax
lea ecx, [ebp - 0x38]
call fcn.0041c7ab
lea ecx, [ebp - 0x5c]
call fcn.0041c7ab
lea ecx, [ebp - 0x50]
call fcn.0041c7ab
lea eax, [ebp - 0x38]
mov byte [ebp + 0xb], bl
push eax
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 0xc]
call fcn.0040e1be
add esp, 0xc
test eax, eax
jge 0x411450
mov byte [ebp + 0xb], 1
jmp 0x4114b2
mov edi, 0x104
push edi
call fcn.004258e9
cmp eax, ebx
pop ecx
mov dword [ebp - 4], eax
jne 0x411474
mov ecx, 0x47f994
call fcn.0041d704
push eax
call fcn.0041e30a
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.0041c8f8
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.0041c8f8
push dword [ebp - 4]
call fcn.004258de
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.0040e361
mov cx, word [esi + 0x28]
add esp, 0x10
cmp cx, word [ebp - 0x18]
mov dword [ebp - 4], eax
je 0x411674
cmp byte [ebp + 0xb], bl
jne 0x411674
cmp edi, 4
jne 0x4114ea
cmp eax, 0xffffffff
je 0x411519
cmp edi, 1
je 0x411519
cmp edi, 6
jne 0x4114f9
cmp eax, 0xffffffff
je 0x411519
cmp edi, 5
jne 0x411674
lea eax, [esi + 0x10]
push eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 1
jne 0x411696
lea ecx, [ebp - 0x44]
call fcn.0041c7ab
cmp dword [ebp - 4], 0xffffffff
jne 0x41152e
push 0x47fe8c
jmp 0x41153f
cmp dword [ebp - 4], ebx
jne 0x41153a
push 0x47fe98
jmp 0x41153f
push 0x47fea4
lea ecx, [ebp - 0x44]
call fcn.0041c966
lea ecx, [ebp - 0x2c]
call fcn.0041c7ab
push 0x47fe74
lea ecx, [ebp - 0x2c]
call fcn.0041c966
push ebx
push 0x42d130
lea ecx, [ebp - 0x2c]
call fcn.0041ca2d
push dword [ebp + 0xc]
mov ecx, 0x47fe5c
call fcn.0041d704
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0041ce4d
add esp, 0xc
mov edi, 0x42cc50
lea ecx, [ebp - 0x2c]
push ebx
push edi
call fcn.0041ca2d
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x2c]
push eax
call fcn.0041caab
push ebx
push edi
lea ecx, [ebp - 0x2c]
call fcn.0041ca2d
lea ecx, [ebp - 0x50]
call fcn.0041d704
push eax
lea ecx, [ebp - 0x5c]
call fcn.0041d704
push eax
mov ecx, 0x47fe80
call fcn.0041d704
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0041ce4d
add esp, 0x10
lea ecx, [ebp - 0x2c]
push ebx
push edi
call fcn.0041ca2d
push 0x47fe68
lea ecx, [ebp - 0x2c]
call fcn.0041caab
cmp dword [ebp - 0x38], ebx
jbe 0x411613
lea ecx, [ebp - 0x38]
call fcn.0041d704
push eax
mov ecx, 0x47fa54
call fcn.0041d704
push eax
lea eax, [ebp - 0x2c]
push str._r_n_r_n_s__s
push eax
call fcn.0041ce4d
add esp, 0x10
mov ecx, 0x47f770
call fcn.0041d704
mov ecx, dword [ebp - 8]
push 0x34
push eax
mov edi, dword [ecx + 8]
lea ecx, [ebp - 0x2c]
call fcn.0041d704
push eax
push edi
mov ecx, 0x47f028
call fcn.0041bcab
cmp eax, 6
lea ecx, [ebp - 0x2c]
jne 0x411667
call fcn.0041c8e1
lea ecx, [ebp - 0x44]
call fcn.0041c8e1
lea ecx, [ebp - 0x50]
call fcn.0041c8e1
lea ecx, [ebp - 0x5c]
call fcn.0041c8e1
lea ecx, [ebp - 0x38]
jmp 0x411a7f
call fcn.0041c8e1
lea ecx, [ebp - 0x44]
jmp 0x4118c2
cmp edi, 1
je 0x4116af
cmp edi, 6
jne 0x411683
cmp eax, 1
je 0x4116af
cmp edi, 2
je 0x41164f
cmp edi, 4
je 0x4116a4
cmp edi, 5
jne 0x4118c7
lea eax, [esi + 0x10]
push eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 0xffffffff
je 0x4118c7
jmp 0x41164f
lea ecx, [ebp - 0x44]
call fcn.0041c7ab
lea ecx, [ebp - 0x68]
call fcn.0041c7ab
cmp dword [ebp - 4], 0xffffffff
jne 0x4116cc
push 0x47fe8c
jmp 0x4116dd
cmp dword [ebp - 4], ebx
jne 0x4116d8
push 0x47fe98
jmp 0x4116dd
push 0x47fea4
lea ecx, [ebp - 0x68]
call fcn.0041c966
push dword [ebp + 0xc]
mov ecx, 0x47fe5c
call fcn.0041d704
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.0041ce4d
add esp, 0xc
mov ecx, 0x47fe68
call fcn.0041d704
push eax
lea ecx, [ebp - 0x68]
call fcn.0041d704
push eax
lea eax, [ebp - 0x44]
push str._r_n_s_r_n_s
push eax
call fcn.0041ce4d
add esp, 0x10
cmp dword [ebp - 0x38], ebx
ja 0x411733
cmp dword [esi + 0x20], ebx
jne 0x411733
cmp dword [esi + 0x24], ebx
je 0x411741
push ebx
push 0x42cc50
lea ecx, [ebp - 0x44]
call fcn.0041ca2d
cmp dword [ebp - 0x38], ebx
jbe 0x41176b
lea ecx, [ebp - 0x38]
call fcn.0041d704
push eax
mov ecx, 0x47fa54
call fcn.0041d704
push eax
lea eax, [ebp - 0x44]
push str._r_n_s__s
push eax
call fcn.0041ce4d
add esp, 0x10
cmp dword [esi + 0x24], ebx
jne 0x411779
cmp dword [esi + 0x20], ebx
je 0x41187e
push 0x47fb8c
lea ecx, [ebp - 0x2c]
call fcn.0041c87f
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0041c9c9
cmp al, 0x61
jl 0x4117c1
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0041c9c9
cmp al, 0x7a
jg 0x4117c1
push 1
push ebx
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0041c9c9
sub al, 0x20
lea ecx, [ebp - 0x2c]
push eax
push ebx
call fcn.0041c9c9
push eax
lea ecx, [ebp - 0x2c]
call fcn.0041d5af
push ebx
push 0x42d10c
lea ecx, [ebp - 0x2c]
call fcn.0041ca2d
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
mov edx, ecx
shr edx, 0x10
cmp dx, bx
je 0x411802
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.0041ce4d
add esp, 0x18
jmp 0x41185c
cmp cx, bx
je 0x411826
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.0041ce4d
add esp, 0x14
jmp 0x41185c
mov ecx, eax
movzx eax, ax
shr ecx, 0x10
cmp cx, bx
push eax
je 0x41184b
movzx eax, cx
push eax
lea eax, [ebp - 0x2c]
push str._d._d
push eax
call fcn.0041ce4d
add esp, 0x10
jmp 0x41185c
lea eax, [ebp - 0x2c]
push 0x42d0e8
push eax
call fcn.0041ce4d
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.0041d704
push eax
lea eax, [ebp - 0x44]
push str._r_n_s
push eax
call fcn.0041ce4d
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.0041c8e1
mov ecx, 0x47f770
call fcn.0041d704
mov ecx, dword [ebp - 8]
push 0x34
push eax
mov edi, dword [ecx + 8]
lea ecx, [ebp - 0x44]
call fcn.0041d704
push eax
push edi
mov ecx, 0x47f028
call fcn.0041bcab
cmp eax, 6
lea ecx, [ebp - 0x68]
jne 0x4118ba
call fcn.0041c8e1
lea ecx, [ebp - 0x44]
jmp 0x41164a
call fcn.0041c8e1
lea ecx, [ebp - 0x44]
call fcn.0041c8e1
test byte [0x47f200], 0x10
je 0x4118e7
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.00410afc
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.0041c8e1
lea ecx, [ebp - 0x5c]
call fcn.0041c8e1
lea ecx, [ebp - 0x38]
call fcn.0041c8e1
jmp 0x411a96
mov eax, dword [esi + 8]
shr eax, 0xc
and eax, 0xf
je 0x411a8d
cmp eax, 3
je 0x411a8d
cmp eax, 4
je 0x411a8d
cmp eax, 2
je 0x411a84
cmp eax, 5
jne 0x411964
add esi, 0x10
lea eax, [ebp - 0x20]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 0xffffffff
je 0x411a8d
jmp 0x411a84
cmp eax, 1
jne 0x4119db
lea ecx, [ebp - 0x68]
call fcn.0041c7ab
push dword [ebp + 0xc]
mov ecx, 0x47fe5c
call fcn.0041d704
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.0041ce4d
add esp, 0xc
lea ecx, [ebp - 0x68]
push ebx
push 0x42cc50
call fcn.0041ca2d
push 0x47fe68
lea ecx, [ebp - 0x68]
call fcn.0041caab
mov ecx, 0x47f770
call fcn.0041d704
mov esi, dword [edi + 8]
push 0x34
push eax
lea ecx, [ebp - 0x68]
call fcn.0041d704
push eax
push esi
mov ecx, 0x47f028
call fcn.0041bcab
cmp eax, 6
lea ecx, [ebp - 0x68]
jne 0x41190f
jmp 0x411a7f
cmp eax, 6
jne 0x411a96
add esi, 0x10
lea eax, [ebp - 0x20]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 0xffffffff
je 0x411a8d
lea ecx, [ebp - 0x5c]
call fcn.0041c7ab
push dword [ebp + 0xc]
mov ecx, 0x47fe5c
call fcn.0041d704
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.0041ce4d
add esp, 0xc
mov edi, 0x42cc50
lea ecx, [ebp - 0x5c]
push ebx
push edi
call fcn.0041ca2d
push 0x47fea4
lea ecx, [ebp - 0x5c]
call fcn.0041caab
push ebx
push edi
lea ecx, [ebp - 0x5c]
call fcn.0041ca2d
push 0x47fe68
lea ecx, [ebp - 0x5c]
call fcn.0041caab
mov ecx, 0x47f770
call fcn.0041d704
mov ecx, dword [ebp - 8]
push 0x34
push eax
mov esi, dword [ecx + 8]
lea ecx, [ebp - 0x5c]
call fcn.0041d704
push eax
push esi
mov ecx, 0x47f028
call fcn.0041bcab
cmp eax, 6
lea ecx, [ebp - 0x5c]
jne 0x411a88
call fcn.0041c8e1
xor eax, eax
jmp 0x411a99
call fcn.0041c8e1
push dword [ebp + 0xc]
call fcn.0040e106
pop ecx
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret 0xc