Function at 0x40b723
Capabilities:
Copy file
Timestomp file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xdc
cmp dword [ebp + 0xc], 0
push ebx
push esi
push edi
mov byte [ebp - 1], 0
jne 0x40b740
xor eax, eax
jmp 0x40b979
push 2
lea eax, [ebp - 0xd8]
push eax
push dword [ebp + 8]
call fcn.0040c973
push str..exe
lea eax, [ebp - 0xd8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0xd8]
push eax
call fcn.0040b5d9
mov esi, dword [sym.imp.KERNEL32.dll_CopyFileW]
mov ebx, eax
test ebx, ebx
je 0x40b79f
push 1
push dword [ebp + 8]
mov edi, ebx
call fcn.0040b696
push 0
push ebx
push dword [ebp + 0xc]
call esi
test eax, eax
jne 0x40b79b
push ebx
call fcn.0040e8d8
xor ebx, ebx
test ebx, ebx
jne 0x40b813
lea eax, [ebp - 0xd8]
push eax
call fcn.0040b534
mov ebx, eax
test ebx, ebx
je 0x40b7d5
push 1
push dword [ebp + 8]
mov edi, ebx
call fcn.0040b696
push 0
push ebx
push dword [ebp + 0xc]
call esi
test eax, eax
jne 0x40b7d1
push ebx
call fcn.0040e8d8
xor ebx, ebx
test ebx, ebx
jne 0x40b813
lea eax, [ebp - 0xd8]
push eax
call fcn.0040b487
mov ebx, eax
test ebx, ebx
je 0x40b977
push 1
push dword [ebp + 8]
mov edi, ebx
call fcn.0040b696
push 0
push ebx
push dword [ebp + 0xc]
call esi
test eax, eax
jne 0x40b80b
push ebx
call fcn.0040e8d8
xor ebx, ebx
test ebx, ebx
je 0x40b977
push 8
pop ecx
push 0x1a8422
push dword [ebp + 8]
xor eax, eax
lea edi, [ebp - 0x30]
lea esi, [ebp - 0x30]
rep stosd dword es:[edi], eax
call fcn.0040c4fa
xor edi, edi
lea esi, [eax + 0x8d6b6]
mov dword [ebp - 0xc], edi
cmp ebx, edi
jne 0x40b842
or dword [ebp + 0xc], 0xffffffff
jmp 0x40b855
push 2
push ebx
call fcn.0040b390
mov dword [ebp + 0xc], eax
cmp eax, edi
je 0x40b96f
push esi
push dword [ebp + 0xc]
call fcn.0040b36f
lea eax, [ebp - 1]
mov dword [ebp - 8], edi
test eax, eax
je 0x40b87c
push edi
lea eax, [ebp - 8]
push eax
push 1
lea eax, [ebp - 1]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_WriteFile]
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 8
pop ecx
push 4
push dword [ebp + 8]
xor eax, eax
lea edi, [ebp - 0x54]
lea esi, [ebp - 0x54]
rep stosd dword es:[edi], eax
call fcn.0040c4fa
movzx eax, ax
mov dword [ebp - 8], eax
test ax, ax
jne 0x40b8ba
xor eax, eax
inc eax
cmp word [ebp - 0x1a], ax
jne 0x40b8cf
cmp word [ebp - 0x1e], ax
jne 0x40b8bf
mov dword [ebp - 8], eax
push 0xc
pop edx
jmp 0x40b8d3
mov eax, 0xffff
add word [ebp - 0x1e], ax
push 0x1c
pop eax
mov word [ebp - 0x1a], ax
movzx edx, word [ebp - 0x1e]
push 8
xor eax, eax
pop ecx
lea edi, [ebp - 0x54]
rep stosd dword es:[edi], eax
test edx, edx
je 0x40b8ef
push edx
push dword [ebp + 8]
lea esi, [ebp - 0x54]
call fcn.0040c4fa
jmp 0x40b8f4
mov eax, dword [0x4201e0]
inc eax
cmp word [ebp - 8], 0
movzx esi, ax
mov dword [ebp - 0x34], esi
jne 0x40b90f
cmp si, word [ebp - 0x1e]
jne 0x40b90f
movzx edx, word [ebp - 0x1a]
dec edx
jmp 0x40b912
push 0x1c
pop edx
push 8
xor eax, eax
pop ecx
lea edi, [ebp - 0x54]
rep stosd dword es:[edi], eax
test edx, edx
je 0x40b931
push edx
push dword [ebp + 8]
lea esi, [ebp - 0x54]
call fcn.0040c4fa
mov esi, dword [ebp - 0x34]
jmp 0x40b936
mov eax, dword [0x4201e0]
inc eax
mov word [ebp - 0x1a], ax
mov ax, word [ebp - 8]
sub word [ebp - 0x20], ax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x20]
push eax
mov word [ebp - 0x1e], si
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea eax, [ebp - 0x10]
push eax
push eax
push eax
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x40b977
push ebx
call fcn.0040e8d8
xor ebx, ebx
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret 8