Function at 0x14000bce4
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x38
xor r15d, r15d
lea rcx, [rbp - 0x18]
xor r13d, r13d
mov qword [rbp - 0x10], r15
and qword [rbp + 0x58], r13
xor ebx, ebx
and qword [rbp - 0x18], rbx
xor r12b, r12b
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
nop dword [rax + rax]
lea rcx, [rbp + 0x60]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
nop dword [rax + rax]
dec qword [rbp + 0x60]
mov rdi, qword [0x140023010]
mov r14, qword [section..data]
lea rcx, section..data
lea rax, [0x140023010]
cmp r14, rcx
jne 0x14000bd66
cmp rdi, rax
je 0x14000c302
cmp r14, rcx
je 0x14000c1ef
cmp dword [0x1400246a4], 0
mov rsi, r14
je 0x14000be51
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x50]
call fcn.140008ef4
test eax, eax
jne 0x14000be3e
mov rcx, qword [0x140023180]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
nop dword [rax + rax]
mov edi, 0x2710
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_Sleep]
nop dword [rax + rax]
mov edx, dword [rbp + 0x48]
mov ecx, dword [rbp + 0x50]
call fcn.140011338
jmp 0x14000be2d
mov ecx, dword [rbp + 0x48]
mov r10d, 0x51eb851f
mov r9d, dword [rbp + 0x50]
mov eax, r10d
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
shl eax, 3
sub ecx, eax
mov eax, r10d
imul r9d
lea r8d, [rcx + 0x5a0]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
shl eax, 3
sub r9d, eax
mov eax, 0x493e0
cmp r9d, ecx
jg 0x14000be14
sub ecx, r9d
cmp ecx, 6
jle 0x14000be1d
sub r8d, r9d
cmp r8d, 6
jg 0x14000be1f
mov eax, edi
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_Sleep]
nop dword [rax + rax]
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x50]
call fcn.140008ef4
test eax, eax
je 0x14000bdbe
mov rcx, qword [0x140023180]
call qword [sym.imp.KERNEL32.dll_SetEvent]
nop dword [rax + rax]
lea rdi, [r14 - 0x10]
cmp rdi, r15
je 0x14000bf0e
cmp dword [0x1400246c4], 0
jne 0x14000beb6
mov rcx, qword [rdi + 0x58]
cmp dword [rcx + 0x88], 0
jne 0x14000beb6
mov eax, dword [rcx + 0x14]
mov edx, dword [rcx + 0x10]
cmp eax, 7
jne 0x14000be8c
mov eax, dword [rcx + 0x94]
neg eax
sbb eax, eax
add eax, 9
mov dword [rcx + 0x10], eax
mov rcx, qword [rdi + 0x58]
cmp edx, 7
jne 0x14000bea5
mov eax, dword [rcx + 0x94]
neg eax
sbb edx, edx
add edx, 9
mov dword [rcx + 0x10], edx
mov rax, qword [rdi + 0x58]
mov dword [rax + 0x88], 1
mov al, byte [rdi + 0x21]
cmp al, 7
jne 0x14000bef1
mov rdx, qword [r14]
mov rcx, rdi
mov rax, qword [rsi + 8]
mov r14, rdx
mov qword [rdx + 8], rax
mov rdx, qword [rsi + 8]
mov rax, qword [rsi]
mov qword [rdx], rax
mov qword [rsi], rsi
mov qword [rsi + 8], rsi
call fcn.140016d3c
mov rcx, rdi
call fcn.140001490
jmp 0x14000c1d8
test byte [rdi + 0x70], 0x10
jne 0x14000bf0e
xor r8d, r8d
mov dword [rdi + 0x6c], 0x1005
mov edx, 0x1005
mov rcx, rdi
call fcn.140010dc4
movzx ecx, byte [rdi + 0x21]
sub ecx, 1
je 0x14000c184
sub ecx, 1
je 0x14000c0fa
sub ecx, 1
je 0x14000bf3c
sub ecx, 1
je 0x14000bfc5
cmp ecx, 2
je 0x14000bf52
jmp 0x14000c19d
mov rdx, qword [rdi + 0x38]
mov rcx, rdi
call fcn.14000a874
cmp dword [rdi + 0x24], 0
jne 0x14000bfc5
mov byte [rdi + 0x21], 6
lea rcx, [0x140024350]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop dword [rax + rax]
mov rcx, qword [r14]
mov rax, qword [rsi + 8]
mov r14, rcx
mov qword [rcx + 8], rax
mov rcx, qword [rsi + 8]
mov rax, qword [rsi]
mov qword [rcx], rax
lea rcx, [0x140024350]
mov qword [rsi], rsi
mov qword [rsi + 8], rsi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop dword [rax + rax]
test byte [rdi + 0x70], 0x10
jne 0x14000bfb9
cmp dword [0x140023148], 0
je 0x14000bfb9
cmp dword [0x1400246a8], 0
jne 0x14000bfb9
mov ecx, 0x64
call fcn.140011514
lea rdx, [0x140024410]
jmp 0x14000c05a
mov eax, dword [rdi + 0x24]
cmp eax, 8
je 0x14000bfe7
cmp eax, 0xe
je 0x14000bfe7
cmp eax, 0x46a
je 0x14000bfe7
cmp eax, 0x540
je 0x14000bfe7
cmp eax, 0x8007000e
jne 0x14000bfea
mov r12b, 1
mov r14, qword [r14]
lea rcx, [0x140024350]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop dword [rax + rax]
mov rcx, qword [rsi]
mov rax, qword [rsi + 8]
mov qword [rcx + 8], rax
mov rcx, qword [rsi + 8]
mov rax, qword [rsi]
mov qword [rcx], rax
lea rcx, [0x140024350]
mov qword [rsi], rsi
mov qword [rsi + 8], rsi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop dword [rax + rax]
mov ecx, dword [rdi + 0x24]
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop dword [rax + rax]
mov ecx, dword [rdi + 0x28]
mov rdx, rdi
call fcn.140011a8c
mov edx, dword [0x140023140]
test edx, edx
jns 0x14000c06d
lea rdx, [0x140024400]
mov r8d, 1
mov rcx, rdi
call fcn.140009148
jmp 0x14000c1d1
mov ecx, dword [rdi + 0x2c]
lea eax, [rcx + 1]
mov dword [rdi + 0x2c], eax
cmp ecx, edx
jl 0x14000c08b
mov edx, 1
mov ecx, 0xe3
call fcn.1400111ec
jmp 0x14000c053
lea rax, [0x140023010]
cmp qword [0x140023010], rax
jne 0x14000c0d9
lea rcx, [rbp + 0x58]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
nop dword [rax + rax]
movabs rax, 0x20c49ba5e353f7cf
imul qword [rbp - 0x18]
mov rbx, rdx
sar rbx, 7
mov rax, rbx
shr rax, 0x3f
add rbx, rax
movsxd rax, dword [0x140023174]
imul rbx, rax
add rbx, qword [rbp + 0x58]
mov rcx, qword [0x140023018]
mov rax, qword [rcx]
mov qword [rsi], rax
mov qword [rax + 8], rsi
mov qword [rcx], rsi
mov qword [rsi + 8], rcx
mov byte [rdi + 0x21], 5
jmp 0x14000c1d1
lea rcx, [rbp + 0x58]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
nop dword [rax + rax]
cmp rdi, r15
jne 0x14000c11c
movzx eax, byte [rdi + 0x20]
cmp eax, r13d
je 0x14000c19d
mov rax, qword [rbp + 0x60]
cmp qword [rbp + 0x58], rax
jl 0x14000c19d
movzx r13d, byte [rdi + 0x20]
mov al, byte [rdi + 0x20]
test al, al
jne 0x14000c138
cmp dword [rdi + 0x2c], 0
jg 0x14000c191
movzx eax, byte [rdi + 0x20]
mov ecx, eax
cmp eax, 0x64
je 0x14000c157
test byte [rdi + 0x70], 0x10
jne 0x14000c157
cmp dword [0x140023148], 0
je 0x14000c157
call fcn.140011514
movabs rax, 0x20c49ba5e353f7cf
imul qword [rbp - 0x18]
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0xc8
add rax, qword [rbp + 0x58]
mov qword [rbp + 0x60], rax
jmp 0x14000c19d
mov al, byte [rdi + 0x20]
test al, al
jne 0x14000c19d
cmp dword [rdi + 0x2c], 0
jle 0x14000c19d
xor edx, edx
mov ecx, 0xe1
call fcn.1400111ec
mov rcx, qword [0x1400243c8]
xor r8d, r8d
mov edx, 0xc8
call qword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
nop dword [rax + rax]
test eax, eax
je 0x14000c1d1
sub eax, 0x80
je 0x14000c1d1
sub eax, 0x40
je 0x14000c1d1
cmp eax, 0x42
jne 0x14000c331
mov r15, rdi
mov qword [rbp - 0x10], rdi
lea rax, section..data
cmp r14, rax
jne 0x14000bd66
mov rdi, qword [0x140023010]
lea rax, [0x140023010]
cmp rdi, rax
je 0x14000c22b
mov eax, 0x10624dd3
imul dword [0x140023174]
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
call fcn.140011d04
jmp 0x14000c22b
mov edx, 1
lea ecx, [rdx + 0x63]
call qword [sym.imp.KERNEL32.dll_SleepEx]
nop dword [rax + rax]
lea rcx, [rbp + 0x58]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
nop dword [rax + rax]
cmp qword [rbp + 0x58], rbx
jl 0x14000c217
test r12b, r12b
je 0x14000c25e
mov rcx, qword [0x1400246d0]
mov edx, 1
call qword [sym.imp.KERNEL32.dll_SetThreadpoolThreadMaximum]
nop dword [rax + rax]
lea r15, [0x140023010]
mov rdi, qword [0x140023010]
cmp rdi, r15
je 0x14000c2f9
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
mov rcx, qword [rdi + 8]
mov rax, qword [rdi]
mov qword [rcx], rax
lea rcx, [0x140024350]
and dword [rdi + 0x14], 0
mov qword [rdi], rdi
mov qword [rdi + 8], rdi
mov byte [rdi + 0x11], 1
mov byte [rdi + 0x10], 0
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop dword [rax + rax]
mov rdx, qword [0x140023008]
lea rcx, [0x140024350]
mov rax, qword [rdx]
mov qword [rdi], rax
mov qword [rax + 8], rdi
mov qword [rdx], rdi
mov qword [rdi + 8], rdx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop dword [rax + rax]
test byte [rdi + 0x60], 0x10
lea rcx, [rdi - 0x10]
jne 0x14000c2ef
call fcn.14000b1a4
jmp 0x14000c265
call fcn.14000b558
jmp 0x14000c265
mov r15, qword [rbp - 0x10]
jmp 0x14000bd3a
mov rcx, qword [0x1400246e0]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CloseThreadpoolCleanupGroupMembers]
nop dword [rax + rax]
mov rcx, qword [0x1400243c8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
xor eax, eax
jmp 0x14000c33d
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret