Function at 0x140016c60
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 [0x14012ae58], 0
mov r13d, 1
movzx esi, al
cmovne esi, r13d
movzx ebx, cl
cmp qword [0x14012ae50], 0
je 0x140016c95
or sil, 2
cmp bl, sil
je 0x140016f6f
mov qword [rsp + 0xa0], r12
xor r12d, r12d
test sil, sil
jne 0x140016cf8
test dl, dl
jne 0x140016cf8
lea rax, [0x14012afb0]
xor r9d, r9d
mov qword [rsp + 0x28], rax
lea r8, [0x140016ff0]
mov edx, 0x2000
mov dword [rsp + 0x20], r12d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [0x14012d078], rax
test rax, rax
je 0x140016de5
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 [0x14012afb0]
mov r9, r14
mov r8, rbx
mov edx, 0x417
call qword [sym.imp.USER32.dll_PostThreadMessageW]
test eax, eax
jne 0x140016d4b
lea ecx, [rax + 0xa]
call qword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 0x32
jl 0x140016d20
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 0x140016def
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 0x140016dc8
cmp qword [rsp + 0x40], r12
je 0x140016e03
movzx edi, r13b
call fcn.140017410
test al, al
jne 0x140016e03
test bpl, bpl
jne 0x140016f2d
xor bl, bl
mov rcx, qword [0x14012d078]
lea rdx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_GetExitCodeThread]
cmp dword [rsp + 0x90], 0x103
jne 0x140016e11
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, r14d
cmp eax, 0x1f4
ja 0x140016e03
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140016d60
call fcn.140017440
jmp 0x140016f67
test bpl, bpl
je 0x140016da6
call fcn.140017410
test al, al
je 0x140016f28
jmp 0x140016dc8
test bpl, bpl
jne 0x140016f28
jmp 0x140016e9d
mov rcx, qword [0x14012d078]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [0x14012d098]
mov qword [0x14012d078], r12
test rcx, rcx
je 0x140016e3d
call fcn.1400be50c
mov qword [0x14012d098], r12
mov rcx, qword [0x14012d0a0]
test rcx, rcx
je 0x140016e55
call fcn.1400be50c
mov qword [0x14012d0a0], r12
mov rcx, qword [0x14012d080]
test rcx, rcx
je 0x140016e6d
call fcn.1400be50c
mov qword [0x14012d080], r12
mov rcx, qword [0x14012d088]
test rcx, rcx
je 0x140016e85
call fcn.1400be50c
mov qword [0x14012d088], r12
mov rcx, qword [0x14012d090]
test rcx, rcx
je 0x140016e9d
call fcn.1400c5338
mov qword [0x14012d090], r12
movzx eax, sil
and al, r13b
cmp qword [0x14012ae58], r12
je 0x140016ecb
test al, al
jne 0x140016ee3
lea r8, [0x1401058e8]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [0x14012d068], rax
jmp 0x140016ee3
test al, al
je 0x140016ee3
mov rcx, qword [0x14012d068]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x14012d068], r12
and sil, 2
cmp qword [0x14012ae50], r12
je 0x140016f0f
test sil, sil
jne 0x140016f28
lea r8, [0x140105900]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [0x14012d070], rax
jmp 0x140016f28
test sil, sil
je 0x140016f28
mov rcx, qword [0x14012d070]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x14012d070], r12
test dil, dil
je 0x140016f57
xorps xmm3, xmm3
mov dword [0x1401241d0], r12d
xor r8d, r8d
mov qword [rsp + 0x20], r12
mov edx, 0x10000
lea rcx, [0x140105920]
call fcn.1400a7cd0
mov dword [0x1401241d0], 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