Function at 0x41179d
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.00425820
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 0x4117f0
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 0x411d33
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.0040e345
mov eax, dword [esi + 8]
mov edi, dword [0x47f298]
add esp, 0xc
mov dword [ebp - 0xc], edi
test ah, 0xf0
je 0x411832
shr eax, 0xc
and eax, 0xf
mov dword [ebp - 0xc], eax
mov edi, eax
lea ecx, [ebp - 0x38]
call fcn.0041cf28
lea ecx, [ebp - 0x5c]
call fcn.0041cf28
lea ecx, [ebp - 0x50]
call fcn.0041cf28
lea eax, [ebp - 0x38]
mov byte [ebp + 0xb], bl
push eax
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 0xc]
call fcn.0040e3d9
add esp, 0xc
test eax, eax
jge 0x41186a
mov byte [ebp + 0xb], 1
jmp 0x4118cc
mov edi, 0x104
push edi
call fcn.004260f9
cmp eax, ebx
pop ecx
mov dword [ebp - 4], eax
jne 0x41188e
mov ecx, 0x47fa34
call fcn.0041de81
push eax
call fcn.0041ea8b
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.0041d075
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.0041d075
push dword [ebp - 4]
call fcn.004260ee
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.0040e57c
mov cx, word [esi + 0x28]
add esp, 0x10
cmp cx, word [ebp - 0x18]
mov dword [ebp - 4], eax
je 0x411a8e
cmp byte [ebp + 0xb], bl
jne 0x411a8e
cmp edi, 4
jne 0x411904
cmp eax, 0xffffffff
je 0x411933
cmp edi, 1
je 0x411933
cmp edi, 6
jne 0x411913
cmp eax, 0xffffffff
je 0x411933
cmp edi, 5
jne 0x411a8e
lea eax, [esi + 0x10]
push eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 1
jne 0x411ab0
lea ecx, [ebp - 0x44]
call fcn.0041cf28
cmp dword [ebp - 4], 0xffffffff
jne 0x411948
push 0x47ff2c
jmp 0x411959
cmp dword [ebp - 4], ebx
jne 0x411954
push 0x47ff38
jmp 0x411959
push 0x47ff44
lea ecx, [ebp - 0x44]
call fcn.0041d0e3
lea ecx, [ebp - 0x2c]
call fcn.0041cf28
push 0x47ff14
lea ecx, [ebp - 0x2c]
call fcn.0041d0e3
push ebx
push 0x42d08c
lea ecx, [ebp - 0x2c]
call fcn.0041d195
push dword [ebp + 0xc]
mov ecx, 0x47fefc
call fcn.0041de81
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0041d5b5
add esp, 0xc
mov edi, 0x42cc5c
lea ecx, [ebp - 0x2c]
push ebx
push edi
call fcn.0041d195
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x2c]
push eax
call fcn.0041d213
push ebx
push edi
lea ecx, [ebp - 0x2c]
call fcn.0041d195
lea ecx, [ebp - 0x50]
call fcn.0041de81
push eax
lea ecx, [ebp - 0x5c]
call fcn.0041de81
push eax
mov ecx, 0x47ff20
call fcn.0041de81
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0041d5b5
add esp, 0x10
lea ecx, [ebp - 0x2c]
push ebx
push edi
call fcn.0041d195
push 0x47ff08
lea ecx, [ebp - 0x2c]
call fcn.0041d213
cmp dword [ebp - 0x38], ebx
jbe 0x411a2d
lea ecx, [ebp - 0x38]
call fcn.0041de81
push eax
mov ecx, 0x47faf4
call fcn.0041de81
push eax
lea eax, [ebp - 0x2c]
push str._r_n_r_n_s__s
push eax
call fcn.0041d5b5
add esp, 0x10
mov ecx, 0x47f800
call fcn.0041de81
mov ecx, dword [ebp - 8]
push 0x34
push eax
mov edi, dword [ecx + 8]
lea ecx, [ebp - 0x2c]
call fcn.0041de81
push eax
push edi
mov ecx, 0x47f0b8
call fcn.0041c428
cmp eax, 6
lea ecx, [ebp - 0x2c]
jne 0x411a81
call fcn.0041d05e
lea ecx, [ebp - 0x44]
call fcn.0041d05e
lea ecx, [ebp - 0x50]
call fcn.0041d05e
lea ecx, [ebp - 0x5c]
call fcn.0041d05e
lea ecx, [ebp - 0x38]
jmp 0x411e99
call fcn.0041d05e
lea ecx, [ebp - 0x44]
jmp 0x411cdc
cmp edi, 1
je 0x411ac9
cmp edi, 6
jne 0x411a9d
cmp eax, 1
je 0x411ac9
cmp edi, 2
je 0x411a69
cmp edi, 4
je 0x411abe
cmp edi, 5
jne 0x411ce1
lea eax, [esi + 0x10]
push eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 0xffffffff
je 0x411ce1
jmp 0x411a69
lea ecx, [ebp - 0x44]
call fcn.0041cf28
lea ecx, [ebp - 0x68]
call fcn.0041cf28
cmp dword [ebp - 4], 0xffffffff
jne 0x411ae6
push 0x47ff2c
jmp 0x411af7
cmp dword [ebp - 4], ebx
jne 0x411af2
push 0x47ff38
jmp 0x411af7
push 0x47ff44
lea ecx, [ebp - 0x68]
call fcn.0041d0e3
push dword [ebp + 0xc]
mov ecx, 0x47fefc
call fcn.0041de81
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.0041d5b5
add esp, 0xc
mov ecx, 0x47ff08
call fcn.0041de81
push eax
lea ecx, [ebp - 0x68]
call fcn.0041de81
push eax
lea eax, [ebp - 0x44]
push str._r_n_s_r_n_s
push eax
call fcn.0041d5b5
add esp, 0x10
cmp dword [ebp - 0x38], ebx
ja 0x411b4d
cmp dword [esi + 0x20], ebx
jne 0x411b4d
cmp dword [esi + 0x24], ebx
je 0x411b5b
push ebx
push 0x42cc5c
lea ecx, [ebp - 0x44]
call fcn.0041d195
cmp dword [ebp - 0x38], ebx
jbe 0x411b85
lea ecx, [ebp - 0x38]
call fcn.0041de81
push eax
mov ecx, 0x47faf4
call fcn.0041de81
push eax
lea eax, [ebp - 0x44]
push str._r_n_s__s
push eax
call fcn.0041d5b5
add esp, 0x10
cmp dword [esi + 0x24], ebx
jne 0x411b93
cmp dword [esi + 0x20], ebx
je 0x411c98
push 0x47fc2c
lea ecx, [ebp - 0x2c]
call fcn.0041cffc
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0041da2a
cmp al, 0x61
jl 0x411bdb
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0041da2a
cmp al, 0x7a
jg 0x411bdb
push 1
push ebx
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0041da2a
sub al, 0x20
lea ecx, [ebp - 0x2c]
push eax
push ebx
call fcn.0041da2a
push eax
lea ecx, [ebp - 0x2c]
call fcn.0041dd2c
push ebx
push 0x42d068
lea ecx, [ebp - 0x2c]
call fcn.0041d195
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
mov edx, ecx
shr edx, 0x10
cmp dx, bx
je 0x411c1c
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.0041d5b5
add esp, 0x18
jmp 0x411c76
cmp cx, bx
je 0x411c40
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.0041d5b5
add esp, 0x14
jmp 0x411c76
mov ecx, eax
movzx eax, ax
shr ecx, 0x10
cmp cx, bx
push eax
je 0x411c65
movzx eax, cx
push eax
lea eax, [ebp - 0x2c]
push str._d._d
push eax
call fcn.0041d5b5
add esp, 0x10
jmp 0x411c76
lea eax, [ebp - 0x2c]
push 0x42d044
push eax
call fcn.0041d5b5
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.0041de81
push eax
lea eax, [ebp - 0x44]
push str._r_n_s
push eax
call fcn.0041d5b5
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.0041d05e
mov ecx, 0x47f800
call fcn.0041de81
mov ecx, dword [ebp - 8]
push 0x34
push eax
mov edi, dword [ecx + 8]
lea ecx, [ebp - 0x44]
call fcn.0041de81
push eax
push edi
mov ecx, 0x47f0b8
call fcn.0041c428
cmp eax, 6
lea ecx, [ebp - 0x68]
jne 0x411cd4
call fcn.0041d05e
lea ecx, [ebp - 0x44]
jmp 0x411a64
call fcn.0041d05e
lea ecx, [ebp - 0x44]
call fcn.0041d05e
test byte [0x47f290], 0x10
je 0x411d01
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.00410e88
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.0041d05e
lea ecx, [ebp - 0x5c]
call fcn.0041d05e
lea ecx, [ebp - 0x38]
call fcn.0041d05e
jmp 0x411eb0
mov eax, dword [esi + 8]
shr eax, 0xc
and eax, 0xf
je 0x411ea7
cmp eax, 3
je 0x411ea7
cmp eax, 4
je 0x411ea7
cmp eax, 2
je 0x411e9e
cmp eax, 5
jne 0x411d7e
add esi, 0x10
lea eax, [ebp - 0x20]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 0xffffffff
je 0x411ea7
jmp 0x411e9e
cmp eax, 1
jne 0x411df5
lea ecx, [ebp - 0x68]
call fcn.0041cf28
push dword [ebp + 0xc]
mov ecx, 0x47fefc
call fcn.0041de81
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.0041d5b5
add esp, 0xc
lea ecx, [ebp - 0x68]
push ebx
push 0x42cc5c
call fcn.0041d195
push 0x47ff08
lea ecx, [ebp - 0x68]
call fcn.0041d213
mov ecx, 0x47f800
call fcn.0041de81
mov esi, dword [edi + 8]
push 0x34
push eax
lea ecx, [ebp - 0x68]
call fcn.0041de81
push eax
push esi
mov ecx, 0x47f0b8
call fcn.0041c428
cmp eax, 6
lea ecx, [ebp - 0x68]
jne 0x411d29
jmp 0x411e99
cmp eax, 6
jne 0x411eb0
add esi, 0x10
lea eax, [ebp - 0x20]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 0xffffffff
je 0x411ea7
lea ecx, [ebp - 0x5c]
call fcn.0041cf28
push dword [ebp + 0xc]
mov ecx, 0x47fefc
call fcn.0041de81
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.0041d5b5
add esp, 0xc
mov edi, 0x42cc5c
lea ecx, [ebp - 0x5c]
push ebx
push edi
call fcn.0041d195
push 0x47ff44
lea ecx, [ebp - 0x5c]
call fcn.0041d213
push ebx
push edi
lea ecx, [ebp - 0x5c]
call fcn.0041d195
push 0x47ff08
lea ecx, [ebp - 0x5c]
call fcn.0041d213
mov ecx, 0x47f800
call fcn.0041de81
mov ecx, dword [ebp - 8]
push 0x34
push eax
mov esi, dword [ecx + 8]
lea ecx, [ebp - 0x5c]
call fcn.0041de81
push eax
push esi
mov ecx, 0x47f0b8
call fcn.0041c428
cmp eax, 6
lea ecx, [ebp - 0x5c]
jne 0x411ea2
call fcn.0041d05e
xor eax, eax
jmp 0x411eb3
call fcn.0041d05e
push dword [ebp + 0xc]
call fcn.0040e321
pop ecx
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret 0xc