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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x70
push ebx
push esi
push edi
xor ebx, ebx
push 8
lea eax, [ebp - 0x1c]
mov edi, ecx
push ebx
push eax
mov dword [ebp - 4], edi
call fcn.004282e0
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 0x4127ef
lea eax, [ebp - 0x1c]
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 0x412d5c
lea eax, [ebp - 0xc]
mov dword [ebp - 0x10], ebx
push eax
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 0xc], ebx
push dword [ebp + 0xc]
call fcn.0040eb92
mov eax, dword [esi + 8]
mov edi, dword [0x482618]
add esp, 0xc
mov dword [ebp - 8], edi
test ah, 0xf0
je 0x412831
shr eax, 0xc
and eax, 0xf
mov dword [ebp - 8], eax
mov edi, eax
lea ecx, [ebp - 0x64]
call fcn.0041ef2d
lea ecx, [ebp - 0x58]
call fcn.0041ef2d
lea ecx, [ebp - 0x4c]
call fcn.0041ef2d
lea eax, [ebp - 0x64]
mov byte [ebp + 0x17], bl
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 0xc]
call fcn.0040ec26
add esp, 0xc
test eax, eax
jge 0x412869
mov byte [ebp + 0x17], 1
jmp 0x4128cb
mov edi, 0x104
push edi
call fcn.00428bb9
cmp eax, ebx
pop ecx
mov dword [ebp + 8], eax
jne 0x41288d
mov ecx, 0x482e04
call fcn.0041fee9
push eax
call fcn.00420ba1
pop ecx
movzx eax, word [ebp - 0x14]
push edi
push dword [ebp + 8]
push eax
call sub.KERNEL32.dll_VerLanguageNameA
push dword [ebp + 8]
lea ecx, [ebp - 0x58]
call fcn.0041f0d0
movzx eax, word [esi + 0x28]
push edi
push dword [ebp + 8]
push eax
call sub.KERNEL32.dll_VerLanguageNameA
push dword [ebp + 8]
lea ecx, [ebp - 0x4c]
call fcn.0041f0d0
push dword [ebp + 8]
call fcn.00428bae
mov edi, dword [ebp - 8]
pop ecx
lea ecx, [ebp - 0x34]
call fcn.0041ef2d
lea eax, [ebp - 0x34]
lea ecx, [ebp - 0x64]
push eax
call fcn.0041fee9
push eax
call fcn.00421c63
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push dword [esi + 0x24]
push dword [esi + 0x20]
call fcn.0040edc9
mov cx, word [esi + 0x28]
add esp, 0x18
cmp cx, word [ebp - 0x14]
mov dword [ebp + 8], eax
je 0x412aaf
cmp byte [ebp + 0x17], bl
jne 0x412aaf
cmp edi, 4
jne 0x41291d
cmp eax, 0xffffffff
je 0x41294c
cmp edi, 1
je 0x41294c
cmp edi, 6
jne 0x41292c
cmp eax, 0xffffffff
je 0x41294c
cmp edi, 5
jne 0x412aaf
lea eax, [esi + 0x10]
push eax
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 1
jne 0x412ad1
lea ecx, [ebp - 0x40]
call fcn.0041ef2d
cmp dword [ebp + 8], 0xffffffff
jne 0x412961
push 0x4832fc
jmp 0x412972
cmp dword [ebp + 8], ebx
jne 0x41296d
push 0x483308
jmp 0x412972
push 0x483314
lea ecx, [ebp - 0x40]
call fcn.0041f13e
lea ecx, [ebp - 0x28]
call fcn.0041ef2d
push 0x4832e4
lea ecx, [ebp - 0x28]
call fcn.0041f13e
push ebx
push 0x42ffcc
lea ecx, [ebp - 0x28]
call fcn.0041f205
push dword [ebp + 0xc]
mov ecx, 0x4832cc
call fcn.0041fee9
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0041f625
add esp, 0xc
mov edi, 0x42fa7c
lea ecx, [ebp - 0x28]
push ebx
push edi
call fcn.0041f205
lea eax, [ebp - 0x40]
lea ecx, [ebp - 0x28]
push eax
call fcn.0041f283
push ebx
push edi
lea ecx, [ebp - 0x28]
call fcn.0041f205
lea ecx, [ebp - 0x4c]
call fcn.0041fee9
push eax
lea ecx, [ebp - 0x58]
call fcn.0041fee9
push eax
mov ecx, 0x4832f0
call fcn.0041fee9
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0041f625
add esp, 0x10
lea ecx, [ebp - 0x28]
push ebx
push edi
call fcn.0041f205
push 0x4832d8
lea ecx, [ebp - 0x28]
call fcn.0041f283
cmp dword [ebp - 0x34], ebx
jbe 0x412a46
lea ecx, [ebp - 0x34]
call fcn.0041fee9
push eax
mov ecx, 0x482ec4
call fcn.0041fee9
push eax
lea eax, [ebp - 0x28]
push str._r_n_r_n_s__s
push eax
call fcn.0041f625
add esp, 0x10
mov ecx, 0x482bd0
call fcn.0041fee9
mov ecx, dword [ebp - 4]
push 0x34
push eax
mov edi, dword [ecx + 8]
lea ecx, [ebp - 0x28]
call fcn.0041fee9
push eax
push edi
mov ecx, 0x482408
call fcn.0041e217
cmp eax, 6
lea ecx, [ebp - 0x28]
jne 0x412aa2
call fcn.0041f063
lea ecx, [ebp - 0x40]
call fcn.0041f063
lea ecx, [ebp - 0x34]
call fcn.0041f063
lea ecx, [ebp - 0x4c]
call fcn.0041f063
lea ecx, [ebp - 0x58]
call fcn.0041f063
lea ecx, [ebp - 0x64]
jmp 0x412ec2
call fcn.0041f063
lea ecx, [ebp - 0x40]
jmp 0x412cfd
cmp edi, 1
je 0x412aea
cmp edi, 6
jne 0x412abe
cmp eax, 1
je 0x412aea
cmp edi, 2
je 0x412a82
cmp edi, 4
je 0x412adf
cmp edi, 5
jne 0x412d02
lea eax, [esi + 0x10]
push eax
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 0xffffffff
je 0x412d02
jmp 0x412a82
lea ecx, [ebp - 0x40]
call fcn.0041ef2d
lea ecx, [ebp - 0x70]
call fcn.0041ef2d
cmp dword [ebp + 8], 0xffffffff
jne 0x412b07
push 0x4832fc
jmp 0x412b18
cmp dword [ebp + 8], ebx
jne 0x412b13
push 0x483308
jmp 0x412b18
push 0x483314
lea ecx, [ebp - 0x70]
call fcn.0041f13e
push dword [ebp + 0xc]
mov ecx, 0x4832cc
call fcn.0041fee9
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0041f625
add esp, 0xc
mov ecx, 0x4832d8
call fcn.0041fee9
push eax
lea ecx, [ebp - 0x70]
call fcn.0041fee9
push eax
lea eax, [ebp - 0x40]
push str._r_n_s_r_n_s
push eax
call fcn.0041f625
add esp, 0x10
cmp dword [ebp - 0x34], ebx
ja 0x412b6e
cmp dword [esi + 0x20], ebx
jne 0x412b6e
cmp dword [esi + 0x24], ebx
je 0x412b7c
push ebx
push 0x42fa7c
lea ecx, [ebp - 0x40]
call fcn.0041f205
cmp dword [ebp - 0x34], ebx
jbe 0x412ba6
lea ecx, [ebp - 0x34]
call fcn.0041fee9
push eax
mov ecx, 0x482ec4
call fcn.0041fee9
push eax
lea eax, [ebp - 0x40]
push str._r_n_s__s
push eax
call fcn.0041f625
add esp, 0x10
cmp dword [esi + 0x24], ebx
jne 0x412bb4
cmp dword [esi + 0x20], ebx
je 0x412cb9
push 0x482ffc
lea ecx, [ebp - 0x28]
call fcn.0041f001
push ebx
lea ecx, [ebp - 0x28]
call fcn.0041f1a1
cmp al, 0x61
jl 0x412bfc
push ebx
lea ecx, [ebp - 0x28]
call fcn.0041f1a1
cmp al, 0x7a
jg 0x412bfc
push 1
push ebx
push ebx
lea ecx, [ebp - 0x28]
call fcn.0041f1a1
sub al, 0x20
lea ecx, [ebp - 0x28]
push eax
push ebx
call fcn.0041f1a1
push eax
lea ecx, [ebp - 0x28]
call fcn.0041fd89
push ebx
push 0x42ffa8
lea ecx, [ebp - 0x28]
call fcn.0041f205
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
mov edx, ecx
shr edx, 0x10
cmp dx, bx
je 0x412c3d
movzx edi, ax
shr eax, 0x10
push edi
push eax
movzx eax, cx
push eax
movzx eax, dx
push eax
lea eax, [ebp - 0x28]
push str._d._d._d._d
push eax
call fcn.0041f625
add esp, 0x18
jmp 0x412c97
cmp cx, bx
je 0x412c61
movzx edx, ax
shr eax, 0x10
push edx
push eax
movzx eax, cx
push eax
lea eax, [ebp - 0x28]
push str._d._d._d
push eax
call fcn.0041f625
add esp, 0x14
jmp 0x412c97
mov ecx, eax
movzx eax, ax
shr ecx, 0x10
cmp cx, bx
push eax
je 0x412c86
movzx eax, cx
push eax
lea eax, [ebp - 0x28]
push str._d._d
push eax
call fcn.0041f625
add esp, 0x10
jmp 0x412c97
lea eax, [ebp - 0x28]
push 0x42ff84
push eax
call fcn.0041f625
add esp, 0xc
lea ecx, [ebp - 0x28]
call fcn.0041fee9
push eax
lea eax, [ebp - 0x40]
push str._r_n_s
push eax
call fcn.0041f625
add esp, 0xc
lea ecx, [ebp - 0x28]
call fcn.0041f063
mov ecx, 0x482bd0
call fcn.0041fee9
mov ecx, dword [ebp - 4]
push 0x34
push eax
mov edi, dword [ecx + 8]
lea ecx, [ebp - 0x40]
call fcn.0041fee9
push eax
push edi
mov ecx, 0x482408
call fcn.0041e217
cmp eax, 6
lea ecx, [ebp - 0x70]
jne 0x412cf5
call fcn.0041f063
lea ecx, [ebp - 0x40]
jmp 0x412a7d
call fcn.0041f063
lea ecx, [ebp - 0x40]
call fcn.0041f063
test byte [0x482610], 0x10
je 0x412d22
push dword [esi + 0x14]
mov ecx, dword [ebp - 4]
push dword [esi + 0x10]
push dword [esi + 0x24]
push dword [esi + 0x20]
push dword [ebp + 0xc]
call fcn.00411d1b
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 - 0x34]
call fcn.0041f063
lea ecx, [ebp - 0x4c]
call fcn.0041f063
lea ecx, [ebp - 0x58]
call fcn.0041f063
lea ecx, [ebp - 0x64]
call fcn.0041f063
jmp 0x412edd
mov eax, dword [esi + 8]
shr eax, 0xc
and eax, 0xf
je 0x412ed0
cmp eax, 3
je 0x412ed0
cmp eax, 4
je 0x412ed0
cmp eax, 2
je 0x412ec7
cmp eax, 5
jne 0x412da7
add esi, 0x10
lea eax, [ebp - 0x1c]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 0xffffffff
je 0x412ed0
jmp 0x412ec7
cmp eax, 1
jne 0x412e1e
lea ecx, [ebp - 0x70]
call fcn.0041ef2d
push dword [ebp + 0xc]
mov ecx, 0x4832cc
call fcn.0041fee9
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0041f625
add esp, 0xc
lea ecx, [ebp - 0x70]
push ebx
push 0x42fa7c
call fcn.0041f205
push 0x4832d8
lea ecx, [ebp - 0x70]
call fcn.0041f283
mov ecx, 0x482bd0
call fcn.0041fee9
mov esi, dword [edi + 8]
push 0x34
push eax
lea ecx, [ebp - 0x70]
call fcn.0041fee9
push eax
push esi
mov ecx, 0x482408
call fcn.0041e217
cmp eax, 6
lea ecx, [ebp - 0x70]
jne 0x412d52
jmp 0x412ec2
cmp eax, 6
jne 0x412edd
add esi, 0x10
lea eax, [ebp - 0x1c]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 0xffffffff
je 0x412ed0
lea ecx, [ebp - 0x64]
call fcn.0041ef2d
push dword [ebp + 0xc]
mov ecx, 0x4832cc
call fcn.0041fee9
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.0041f625
add esp, 0xc
mov edi, 0x42fa7c
lea ecx, [ebp - 0x64]
push ebx
push edi
call fcn.0041f205
push 0x483314
lea ecx, [ebp - 0x64]
call fcn.0041f283
push ebx
push edi
lea ecx, [ebp - 0x64]
call fcn.0041f205
push 0x4832d8
lea ecx, [ebp - 0x64]
call fcn.0041f283
mov ecx, 0x482bd0
call fcn.0041fee9
mov ecx, dword [ebp - 4]
push 0x34
push eax
mov esi, dword [ecx + 8]
lea ecx, [ebp - 0x64]
call fcn.0041fee9
push eax
push esi
mov ecx, 0x482408
call fcn.0041e217
cmp eax, 6
lea ecx, [ebp - 0x64]
jne 0x412ecb
call fcn.0041f063
xor eax, eax
jmp 0x412ee0
call fcn.0041f063
push dword [ebp + 0x14]
push dword [ebp + 0xc]
call fcn.004126b9
pop ecx
pop ecx
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret 0x10