Function at 0x140016f90
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rbx
push rbp
push rsi
push r13
sub rsp, 0x68
xor al, al
movzx ebp, dl
cmp qword [0x140125e08], 0
mov r13d, 1
movzx esi, al
cmovne esi, r13d
movzx ebx, cl
cmp qword [0x140125e00], 0
je 0x140016fc5
or sil, 2
cmp bl, sil
je 0x14001729f
mov qword [rsp + 0xa0], r12
xor r12d, r12d
test sil, sil
jne 0x140017028
test dl, dl
jne 0x140017028
lea rax, [0x140125f60]
xor r9d, r9d
mov qword [rsp + 0x28], rax
lea r8, [0x140017320]
mov edx, 0x2000
mov dword [rsp + 0x20], r12d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [0x140128028], rax
test rax, rax
je 0x140017115
lea edx, [r12 + 0xf]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov qword [rsp + 0x98], rdi
mov edi, r12d
mov qword [rsp + 0xa8], r14
mov r14, rbp
xor r14, r13
mov qword [rsp + 0x60], r15
nop word [rax + rax]
mov ecx, dword [0x140125f60]
mov r9, r14
mov r8, rbx
mov edx, 0x417
call qword [sym.imp.USER32.dll_PostThreadMessageW]
test eax, eax
jne 0x14001707b
lea ecx, [rax + 0xa]
call qword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 0x32
jl 0x140017050
xor dil, dil
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r15, qword [rsp + 0x60]
mov r14d, eax
nop dword [rax]
test bl, bl
je 0x14001711f
mov r9d, 0x417
mov dword [rsp + 0x20], r13d
mov r8d, r9d
lea rcx, [rsp + 0x30]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x1400170f8
cmp qword [rsp + 0x40], r12
je 0x140017133
movzx edi, r13b
call fcn.140017740
test al, al
jne 0x140017133
test bpl, bpl
jne 0x14001725d
xor bl, bl
mov rcx, qword [0x140128028]
lea rdx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_GetExitCodeThread]
cmp dword [rsp + 0x90], 0x103
jne 0x140017141
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, r14d
cmp eax, 0x1f4
ja 0x140017133
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140017090
call fcn.140017770
jmp 0x140017297
test bpl, bpl
je 0x1400170d6
call fcn.140017740
test al, al
je 0x140017258
jmp 0x1400170f8
test bpl, bpl
jne 0x140017258
jmp 0x1400171cd
mov rcx, qword [0x140128028]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [0x140128048]
mov qword [0x140128028], r12
test rcx, rcx
je 0x14001716d
call fcn.1400ba16c
mov qword [0x140128048], r12
mov rcx, qword [0x140128050]
test rcx, rcx
je 0x140017185
call fcn.1400ba16c
mov qword [0x140128050], r12
mov rcx, qword [0x140128030]
test rcx, rcx
je 0x14001719d
call fcn.1400ba16c
mov qword [0x140128030], r12
mov rcx, qword [0x140128038]
test rcx, rcx
je 0x1400171b5
call fcn.1400ba16c
mov qword [0x140128038], r12
mov rcx, qword [0x140128040]
test rcx, rcx
je 0x1400171cd
call fcn.1400c0990
mov qword [0x140128040], r12
movzx eax, sil
and al, r13b
cmp qword [0x140125e08], r12
je 0x1400171fb
test al, al
jne 0x140017213
lea r8, [0x140100918]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [0x140128018], rax
jmp 0x140017213
test al, al
je 0x140017213
mov rcx, qword [0x140128018]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x140128018], r12
and sil, 2
cmp qword [0x140125e00], r12
je 0x14001723f
test sil, sil
jne 0x140017258
lea r8, [0x140100930]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [0x140128020], rax
jmp 0x140017258
test sil, sil
je 0x140017258
mov rcx, qword [0x140128020]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x140128020], r12
test dil, dil
je 0x140017287
xorps xmm3, xmm3
mov dword [0x14011f180], r12d
xor r8d, r8d
mov qword [rsp + 0x20], r12
mov edx, 0x10000
lea rcx, [0x140100950]
call fcn.1400a3a00
mov dword [0x14011f180], r13d
mov rdi, qword [rsp + 0x98]
mov r14, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xa0]
add rsp, 0x68
pop r13
pop rsi
pop rbp
pop rbx
ret