Function at 0x4015ae
Capabilities:
Accept command line arguments
Check for time delay via gettickcount
Create process on windows
Terminate process

Disassembly:
push rbp
sub rsp, 0x110
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xa0], rcx
mov rax, qword [sym.imp.KERNEL32.dll_GetTickCount]
call rax
mov dword [rbp + 0x8c], eax
movzx eax, byte [0x0040c010]
test al, al
je 0x40180b
mov rax, qword [sym.imp.KERNEL32.dll_GetTickCount]
call rax
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x88]
sub eax, dword [rbp + 0x8c]
cmp eax, 0x124f7f
jbe 0x4017f8
lea rdx, str.Script_stuck._Restarting...
mov rcx, qword [sym.imp.libstdc_6.dll_std::cout]
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rdx, qword [0x00410890]
mov rcx, rax
call sym.std::ostream::operator___std::ostream____std::ostream__
lea rax, [rbp - 0x30]
mov r8d, 0x68
mov edx, 0
mov rcx, rax
call sym.memset
mov dword [rbp - 0x30], 0x68
lea rax, [rbp + 0x50]
mov r8d, 0x18
mov edx, 0
mov rcx, rax
call sym.memset
mov rax, qword [sym.imp.KERNEL32.dll_GetCommandLineA]
call rax
mov qword [rbp + 0x80], rax
mov rdx, qword [rbp + 0x80]
lea rax, [rbp + 0x50]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8d, 0
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_CreateProcessA]
call rax
test eax, eax
setne al
test al, al
je 0x401712
lea rdx, str.Script_restarted_successfully.
mov rcx, qword [sym.imp.libstdc_6.dll_std::cout]
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rdx, qword [0x00410890]
mov rcx, rax
call sym.std::ostream::operator___std::ostream____std::ostream__
mov rax, qword [rbp + 0x50]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [rbp + 0x58]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
jmp 0x401734
lea rdx, str.Failed_to_restart_the_script.
mov rcx, qword [sym.imp.libstdc_6.dll_std::cerr]
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rdx, qword [0x00410890]
mov rcx, rax
call sym.std::ostream::operator___std::ostream____std::ostream__
lea rax, [0x00413040]
mov qword [rbp + 0x78], rax
mov rax, qword [rbp + 0x78]
mov rcx, rax
call method.std::vector_HWND____std::allocator_HWND_____.begin__
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x78]
mov rcx, rax
call method.std::vector_HWND____std::allocator_HWND_____.end__
mov qword [rbp + 0x40], rax
lea rdx, [rbp + 0x40]
lea rax, [rbp + 0x48]
mov rcx, rax
call method.bool___gnu_cxx::operator__HWND____std::vector_HWND____std.allocator_HWND__________gnu_cxx::__normal_iterator_HWND____std::vector_HWND____std::allocator_HWND________const____gnu_cxx::__normal_iterator_HWND____std::vector_HWND____std::al
test al, al
je 0x4017de
lea rax, [rbp + 0x48]
mov rcx, rax
call method.__gnu_cxx::__normal_iterator_HWND____std::vector_HWND____std::allocator_HWND_______.operator___const
mov rax, qword [rax]
mov qword [rbp + 0x70], rax
mov rax, qword [rbp + 0x70]
mov r9d, 0
mov r8d, 0
mov edx, 0x10
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_SendMessageA]
call rax
mov rax, qword [rbp + 0x70]
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_IsWindow]
call rax
test eax, eax
setne al
test al, al
je 0x4017d0
mov ecx, 0x64
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
jmp 0x4017a7
lea rax, [rbp + 0x48]
mov rcx, rax
call method.__gnu_cxx::__normal_iterator_HWND____std::vector_HWND____std::allocator_HWND_______.operator__
jmp 0x40175f
lea rcx, [0x00413040]
call method.std::vector_HWND____std::allocator_HWND_____.clear__
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_ExitProcess]
call rax
mov ecx, 0x3e8
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
jmp 0x4015d4
mov eax, 0
add rsp, 0x110
pop rbp
ret