Function at 0x4558b0
Capabilities:
Set file attributes
Timestomp file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
lea eax, [ebp + 8]
push eax
mov dword [ebp - 0x20], ecx
call fcn.0040417e
mov eax, dword [ebp + 8]
cmp word [eax], 0x3f
pop ecx
jne 0x4558e2
mov ecx, dword [ebp - 0x20]
push 2
push dword [ebp + 0xc]
add eax, 2
push eax
call fcn.0044b60c
jmp 0x455cb2
push ebx
push esi
lea eax, [ebp + 8]
push edi
push eax
call fcn.0042dd40
pop ecx
lea ecx, [ebp - 0xc]
call fcn.00432cb7
lea ecx, [ebp - 8]
call fcn.00432cb7
push 0x2c
pop edi
push edi
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0043541b
push dword [ebp - 0xc]
call fcn.0040e84c
mov ebx, eax
mov eax, dword [ebp + 8]
add esp, 0x10
cmp word [eax], di
jne 0x45593a
add dword [ebp + 8], 2
push edi
lea eax, [ebp - 8]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0043541b
add esp, 0xc
cmp word [ebx], 0
je 0x455c98
mov esi, dword [ebp - 8]
cmp word [esi], 0
je 0x455c98
push 6
push ebx
push str.touch
call dword [sym.imp.SHLWAPI.dll_StrCmpNIW]
test eax, eax
jne 0x455b7b
and dword [ebp - 0x1c], eax
and dword [ebp + 0xc], eax
push esi
call fcn.0040e84c
pop ecx
lea ecx, [ebp - 4]
mov dword [ebp - 0x24], eax
call fcn.00432cb7
mov eax, dword [ebp + 8]
cmp word [eax], di
jne 0x45599c
add dword [ebp + 8], 2
push edi
lea eax, [ebp - 4]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0043541b
add esp, 0xc
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x2c], ecx
lea edi, [ebp - 0x28]
stosd dword es:[edi], eax
mov dword [ebp - 0x34], ecx
lea edi, [ebp - 0x30]
stosd dword es:[edi], eax
mov word [ebp - 0x44], cx
lea edi, [ebp - 0x42]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], ecx
lea esi, [ebx + 0xc]
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov ax, word [esi]
cmp ax, 0x2a
je 0x455a2c
cmp ax, 0x3a
jne 0x455b05
inc esi
inc esi
mov ax, word [esi]
or ax, 0x20
cmp ax, 0x63
mov dword [ebp + 8], esi
je 0x4559fb
cmp ax, 0x72
jne 0x455a00
inc esi
inc esi
mov dword [ebp + 8], esi
cmp ax, 0x63
jne 0x455a0e
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x18], eax
jmp 0x455a1f
cmp ax, 0x72
lea eax, [ebp - 0x2c]
jne 0x455a1c
mov dword [ebp - 0x14], eax
jmp 0x455a1f
mov dword [ebp - 0x10], eax
lea eax, [ebp + 8]
push eax
call fcn.0042dd40
mov esi, dword [ebp + 8]
pop ecx
push 8
push esi
push str.local0:
call fcn.0042ecb0
add esp, 0xc
test al, al
je 0x455a48
xor eax, eax
inc eax
jmp 0x455acd
push 7
push esi
push str.local:
call fcn.0042ecb0
add esp, 0xc
test al, al
je 0x455a60
xor eax, eax
jmp 0x455acd
push 6
push esi
push str.sys0:
call fcn.0042ecb0
add esp, 0xc
test al, al
je 0x455a79
xor eax, eax
inc eax
jmp 0x455a8f
push 5
push esi
push str.sys:
call fcn.0042ecb0
add esp, 0xc
test al, al
je 0x455ac7
xor eax, eax
push eax
lea ecx, [esi + eax*2 + 0xa]
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp + 8]
push eax
mov dword [ebp + 8], ecx
call fcn.00439472
add esp, 0xc
test eax, eax
jg 0x455ab7
mov dword [ebp + 0xc], 0x80070057
jmp 0x455b5c
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
jmp 0x455b05
xor eax, eax
inc eax
sub esi, 0x10
push eax
lea ecx, [esi + eax*2 + 0xe]
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp + 8]
push eax
mov dword [ebp + 8], ecx
call fcn.00439472
add esp, 0xc
test eax, eax
jle 0x455aab
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
xor esi, esi
push esi
push 0x80
push 3
push esi
push 7
push 0x100
push dword [ebp - 0x24]
lea ecx, [ebp + 8]
mov dword [ebp + 8], esi
call fcn.004041da
cmp dword [ebp + 8], esi
je 0x455b3f
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_SetFileTime]
mov dword [ebp - 0x1c], eax
lea ecx, [ebp + 8]
call fcn.00402ad9
cmp dword [ebp - 0x1c], esi
jne 0x455b5c
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, esi
jne 0x455b59
xor eax, eax
inc eax
mov dword [ebp + 0xc], eax
push dword [ebp - 4]
mov esi, dword [ebp + 0xc]
push esi
push dword [ebp - 0x20]
call fcn.00434ea0
add esp, 0xc
lea ecx, [ebp - 4]
call fcn.0042dd2d
jmp 0x455c9d
lea eax, [ebp - 0x68]
push eax
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
cmp word [esi], 0
je 0x455c8a
push 4
pop edi
push 2
push esi
push 0x496290
call fcn.0042ecb0
add esp, 0xc
test al, al
je 0x455bb1
add esi, edi
or dword [ebp - 0x68], 0x20
jmp 0x455bcb
push 2
push esi
push 0x49628c
call fcn.0042ecb0
add esp, 0xc
test al, al
je 0x455bcb
add esi, edi
and dword [ebp - 0x68], 0xffffffdf
push 2
push esi
push 0x496288
call fcn.0042ecb0
add esp, 0xc
test al, al
je 0x455be7
add esi, edi
or dword [ebp - 0x68], 2
jmp 0x455c01
push 2
push esi
push 0x496284
call fcn.0042ecb0
add esp, 0xc
test al, al
je 0x455c01
add esi, edi
and dword [ebp - 0x68], 0xfffffffd
push 2
push esi
push 0x496280
call fcn.0042ecb0
add esp, 0xc
test al, al
je 0x455c1d
add esi, edi
or dword [ebp - 0x68], 1
jmp 0x455c37
push 2
push esi
push 0x49627c
call fcn.0042ecb0
add esp, 0xc
test al, al
je 0x455c37
add esi, edi
and dword [ebp - 0x68], 0xfffffffe
push 2
push esi
push 0x496278
call fcn.0042ecb0
add esp, 0xc
test al, al
je 0x455c52
add esi, edi
or dword [ebp - 0x68], edi
jmp 0x455c70
push 2
push esi
push 0x496274
call fcn.0042ecb0
add esp, 0xc
test al, al
je 0x455c6e
add esi, edi
and dword [ebp - 0x68], 0xfffffffb
jmp 0x455c70
inc esi
inc esi
lea eax, [ebp + 8]
push eax
mov dword [ebp + 8], esi
call fcn.0042dd40
mov esi, dword [ebp + 8]
cmp word [esi], 0
pop ecx
jne 0x455b95
push dword [ebp - 0x68]
push ebx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
xor esi, esi
jmp 0x455c9d
mov esi, 0x80070057
lea ecx, [ebp - 8]
call fcn.0042dd2d
lea ecx, [ebp - 0xc]
call fcn.0042dd2d
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 8