Function at 0x140011f58
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 [0x14002c128]
mov r14, qword [0x14002c118]
lea rcx, [0x14002c118]
lea rax, [0x14002c128]
cmp r14, rcx
jne 0x140011fda
cmp rdi, rax
je 0x140012576
cmp r14, rcx
je 0x140012463
cmp dword [0x14002d8e4], 0
mov rsi, r14
je 0x1400120c5
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x50]
call fcn.14000ae84
test eax, eax
jne 0x1400120b2
mov rcx, qword [0x14002c2f8]
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.140018408
jmp 0x1400120a1
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 0x140012088
sub ecx, r9d
cmp ecx, 6
jle 0x140012091
sub r8d, r9d
cmp r8d, 6
jg 0x140012093
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.14000ae84
test eax, eax
je 0x140012032
mov rcx, qword [0x14002c2f8]
call qword [sym.imp.KERNEL32.dll_SetEvent]
nop dword [rax + rax]
lea rdi, [r14 - 0x10]
cmp rdi, r15
je 0x140012182
cmp dword [0x14002d904], 0
jne 0x14001212a
mov rcx, qword [rdi + 0x58]
cmp dword [rcx + 0x88], 0
jne 0x14001212a
mov eax, dword [rcx + 0x14]
mov edx, dword [rcx + 0x10]
cmp eax, 7
jne 0x140012100
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 0x140012119
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 0x140012165
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.14001de0c
mov rcx, rdi
call fcn.1400016e0
jmp 0x14001244c
test byte [rdi + 0x70], 0x10
jne 0x140012182
xor r8d, r8d
mov dword [rdi + 0x6c], 0x1005
mov edx, 0x1005
mov rcx, rdi
call fcn.140017e94
movzx ecx, byte [rdi + 0x21]
sub ecx, 1
je 0x1400123f8
sub ecx, 1
je 0x14001236e
sub ecx, 1
je 0x1400121b0
sub ecx, 1
je 0x140012239
cmp ecx, 2
je 0x1400121c6
jmp 0x140012411
mov rdx, qword [rdi + 0x38]
mov rcx, rdi
call fcn.14000f8a4
cmp dword [rdi + 0x24], 0
jne 0x140012239
mov byte [rdi + 0x21], 6
lea rcx, [0x14002d590]
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, [0x14002d590]
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 0x14001222d
cmp dword [0x14002c2b8], 0
je 0x14001222d
cmp dword [0x14002d8e8], 0
jne 0x14001222d
mov ecx, 0x64
call fcn.1400185e4
lea rdx, [0x14002d650]
jmp 0x1400122ce
mov eax, dword [rdi + 0x24]
cmp eax, 8
je 0x14001225b
cmp eax, 0xe
je 0x14001225b
cmp eax, 0x46a
je 0x14001225b
cmp eax, 0x540
je 0x14001225b
cmp eax, 0x8007000e
jne 0x14001225e
mov r12b, 1
mov r14, qword [r14]
lea rcx, [0x14002d590]
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, [0x14002d590]
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.140018b5c
mov edx, dword [0x14002c2b0]
test edx, edx
jns 0x1400122e1
lea rdx, [0x14002d640]
mov r8d, 1
mov rcx, rdi
call fcn.14000b34c
jmp 0x140012445
mov ecx, dword [rdi + 0x2c]
lea eax, [rcx + 1]
mov dword [rdi + 0x2c], eax
cmp ecx, edx
jl 0x1400122ff
mov edx, 1
mov ecx, 0xe3
call fcn.1400182bc
jmp 0x1400122c7
lea rax, [0x14002c128]
cmp qword [0x14002c128], rax
jne 0x14001234d
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 [0x14002c2e4]
imul rbx, rax
add rbx, qword [rbp + 0x58]
mov rcx, qword [0x14002c130]
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 0x140012445
lea rcx, [rbp + 0x58]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
nop dword [rax + rax]
cmp rdi, r15
jne 0x140012390
movzx eax, byte [rdi + 0x20]
cmp eax, r13d
je 0x140012411
mov rax, qword [rbp + 0x60]
cmp qword [rbp + 0x58], rax
jl 0x140012411
movzx r13d, byte [rdi + 0x20]
mov al, byte [rdi + 0x20]
test al, al
jne 0x1400123ac
cmp dword [rdi + 0x2c], 0
jg 0x140012405
movzx eax, byte [rdi + 0x20]
mov ecx, eax
cmp eax, 0x64
je 0x1400123cb
test byte [rdi + 0x70], 0x10
jne 0x1400123cb
cmp dword [0x14002c2b8], 0
je 0x1400123cb
call fcn.1400185e4
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 0x140012411
mov al, byte [rdi + 0x20]
test al, al
jne 0x140012411
cmp dword [rdi + 0x2c], 0
jle 0x140012411
xor edx, edx
mov ecx, 0xe1
call fcn.1400182bc
mov rcx, qword [0x14002d608]
xor r8d, r8d
mov edx, 0xc8
call qword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
nop dword [rax + rax]
test eax, eax
je 0x140012445
sub eax, 0x80
je 0x140012445
sub eax, 0x40
je 0x140012445
cmp eax, 0x42
jne 0x1400125a5
mov r15, rdi
mov qword [rbp - 0x10], rdi
lea rax, [0x14002c118]
cmp r14, rax
jne 0x140011fda
mov rdi, qword [0x14002c128]
lea rax, [0x14002c128]
cmp rdi, rax
je 0x14001249f
mov eax, 0x10624dd3
imul dword [0x14002c2e4]
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
call fcn.140018dd4
jmp 0x14001249f
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 0x14001248b
test r12b, r12b
je 0x1400124d2
mov rcx, qword [0x14002daa8]
mov edx, 1
call qword [sym.imp.KERNEL32.dll_SetThreadpoolThreadMaximum]
nop dword [rax + rax]
lea r15, [0x14002c128]
mov rdi, qword [0x14002c128]
cmp rdi, r15
je 0x14001256d
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, [0x14002d590]
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 [0x14002c120]
lea rcx, [0x14002d590]
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 0x140012563
call fcn.1400101e4
jmp 0x1400124d9
call fcn.140010598
jmp 0x1400124d9
mov r15, qword [rbp - 0x10]
jmp 0x140011fae
mov rcx, qword [0x14002dac0]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CloseThreadpoolCleanupGroupMembers]
nop dword [rax + rax]
mov rcx, qword [0x14002d608]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
xor eax, eax
jmp 0x1400125b1
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