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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
movaps xmmword [rsp + 0xf0], xmm7
movaps xmmword [rsp + 0xe0], xmm6
mov rsi, rcx
mov rax, qword [0x14033f038]
xor rax, rsp
mov qword [rsp + 0xd8], rax
test byte [0x140341290], 0x19
jne 0x1401c017f
mov rcx, qword [rsi + 0x60]
test rcx, rcx
je 0x1401bfb5b
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140211850.0]
mov rcx, qword [rsi + 0x48]
mov rdx, rsi
call fcn.1400de1c0
mov eax, dword [0x14035aafc]
test eax, eax
jne 0x1401bfe19
mov qword [rsp + 0xa8], 0
xor r13d, r13d
test byte [0x140341290], 0x19
jne 0x1401c01d9
mov rcx, qword [rsi + 0x48]
lea rdi, [rsi + 0x30]
mov rdx, rdi
call fcn.14014c400
test byte [0x140341290], 0x19
jne 0x1401c0233
lea rbx, [rsp + 0xb8]
movaps xmm6, xmmword [0x140301d60]
xorps xmm7, xmm7
lea r14, [rsp + 0x90]
lea r12, [rsp + 0x78]
mov dword [rsp + 0x54], r13d
mov al, byte [rsi + 0x40]
test al, al
jne 0x1401bff05
mov al, byte [rsi + 0x70]
test al, al
jne 0x1401bff05
mov rbp, qword [rsi + 0x50]
lea r15, [rbp + 0x70]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401bfedf
mov rcx, qword [rbp + 0x78]
test rcx, rcx
jne 0x1401bfeec
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
movaps xmmword [rsp + 0xb0], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xd0], rax
movaps xmmword [rsp + 0xc0], xmm6
mov byte [rsp + 0xb0], 0
movups xmmword [rbx], xmm7
mov qword [rbx + 0x10], 0
test r13b, r13b
je 0x1401bfc66
mov edx, 0x989680
mov rcx, rbx
call fcn.140138a00
mov byte [rsp + 0xb0], 1
mov rax, qword [rsi + 0x50]
mov rax, qword [rax + 0x30]
mov eax, dword [rax]
mov r15d, 2
test al, 1
jne 0x1401bfc7e
mov r15d, dword [rsi + 0x68]
cmp dword [rsi + 0x6c], r15d
jne 0x1401bfe08
movaps xmmword [rsp + 0x90], xmm6
mov rcx, qword [rsi + 0x48]
mov rdx, r14
mov r8, rsi
call fcn.140153310
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x1401bfd78
mov qword [rsp + 0x88], rax
lea rcx, [rsp + 0x88]
call fcn.14004a330
mov rcx, qword [rsi + 0x50]
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rsp + 0x68], xmm0
movaps xmmword [rsp + 0x90], xmm7
mov rdx, r12
lea r8, [rsp + 0x68]
call fcn.14014f8f0
mov rcx, r14
mov rdx, r12
call fcn.1400a6aa0
mov rcx, r12
call fcn.140143750
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x78], rax
mov rcx, r12
call fcn.14004a330
mov rcx, qword [rsi + 0x48]
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rsp + 0x58], xmm0
movaps xmmword [rsp + 0x90], xmm7
lea rdx, [rsp + 0x58]
call fcn.140154f10
cmp qword [rsp + 0x90], 0
jne 0x1401c0689
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
xor ebp, ebp
mov rcx, r14
call fcn.140143750
cmp byte [rsp + 0xb0], 0
je 0x1401bfd6a
mov rcx, rbx
call fcn.140064430
test bpl, bpl
je 0x1401bfbd2
jmp 0x1401bff05
mov al, byte [rsi + 0x40]
mov bpl, 1
test al, al
jne 0x1401bfd50
mov al, byte [rsi + 0x70]
test al, al
jne 0x1401bfd50
mov r13, rdi
mov rdi, qword [rsi + 0x50]
lea r15, [rdi + 0x70]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401c0098
mov rcx, qword [rdi + 0x78]
test rcx, rcx
jne 0x1401c02e7
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rdi, r13
mov r13d, dword [rsp + 0x54]
test byte [0x140341290], 0x19
jne 0x1401bffee
cmp byte [rsp + 0xb0], 0
je 0x1401bfdea
mov rcx, rbx
call fcn.140064430
mov byte [rsp + 0xb0], 0
mov rcx, qword [rsi + 0x48]
mov rdx, rdi
call fcn.14014c400
test byte [0x140341290], 0x19
je 0x1401bfd4e
jmp 0x1401c0041
mov ecx, r15d
call fcn.1400735d0
mov dword [rsi + 0x6c], r15d
jmp 0x1401bfc88
mov rax, qword [rsi + 0x50]
mov rax, qword [rax + 0x30]
mov eax, dword [rax]
test al, 1
jne 0x1401bfe3f
cmp dword [rsi + 0x68], 0
mov qword [rsp + 0xa8], 0
je 0x1401bfb81
jmp 0x1401bfe4b
mov qword [rsp + 0xa8], 0
mov rcx, qword [0x14035aae0]
test rcx, rcx
je 0x1401c06d8
lea rdx, [rsp + 0xb0]
mov r8d, 2
call fcn.1400db3f0
lea rcx, [rsp + 0xa8]
lea rdi, [rsp + 0xb0]
mov rdx, rdi
call fcn.140127b50
mov rdi, qword [rdi]
test rdi, rdi
je 0x1401bfec6
mov qword [rsp + 0xb0], 0
mov rax, qword [rdi + 8]
mov rcx, rdi
call qword [case.0x140211850.0]
lock dec dword [rdi]
jne 0x1401bfeb9
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [case.0x140211850.0]
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
jne 0x1401bfece
mov r13b, 1
jmp 0x1401bfb84
lock dec dword [rcx]
jne 0x1401bfec6
mov rax, qword [rcx + 0x10]
call qword [case.0x140211850.0]
jmp 0x1401bfec6
mov rcx, r15
call fcn.140047ff0
jmp 0x1401bfc01
call fcn.1400a5e70
mov ebp, eax
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test bpl, bpl
je 0x1401bfc17
mov rcx, qword [rsi + 0x48]
mov rdx, rsi
call fcn.14012cc80
mov rcx, qword [rsi + 0x60]
test rcx, rcx
je 0x1401bff27
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140211850.0]
mov rdi, qword [rsi + 0x10]
mov qword [rsi + 0x10], 0
test rdi, rdi
je 0x1401bff42
lock dec dword [rdi + 8]
je 0x1401bffd9
test byte [0x140341290], 0x19
jne 0x1401c028d
mov rsi, qword [rsp + 0xa8]
test rsi, rsi
je 0x1401bff94
mov qword [rsp + 0xa8], 0
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [case.0x140211850.0]
lock dec dword [rsi]
jne 0x1401bff87
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [case.0x140211850.0]
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
jne 0x1401bffc8
mov rcx, qword [rsp + 0xd8]
xor rcx, rsp
call fcn.140171860
movaps xmm6, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lock dec dword [rcx]
jne 0x1401bff94
mov rax, qword [rcx + 0x10]
call qword [case.0x140211850.0]
jmp 0x1401bff94
mov rcx, rdi
call fcn.140114010
mov rcx, rdi
call fcn.14016eccc
jmp 0x1401bff42
mov rax, qword [0x1403411f8]
lea rcx, [0x14003b7a0]
cmp rax, rcx
jne 0x1401c058b
lea r15, [rsp + 0x78]
mov qword [r15], 0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r15]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1401c00a5
imul rax, rax, 0xf4240
cqo
idiv qword [0x140354790]
jmp 0x1401c00c7
mov rax, qword [0x1403411f8]
lea rcx, [0x14003b7a0]
cmp rax, rcx
jne 0x1401c059b
lea r15, [rsp + 0x78]
mov qword [r15], 0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r15]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1401c0111
imul rax, rax, 0xf4240
cqo
idiv qword [0x140354790]
jmp 0x1401c0133
mov rcx, r15
call fcn.140047ff0
jmp 0x1401bfda5
mov rcx, qword [0x140354790]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
mov qword [rsp + 0x78], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x140341290]
lea r8, str.WorkerThread_active
mov cl, 0x45
xor r9d, r9d
call fcn.1401b9550
jmp 0x1401bfdd0
mov rcx, qword [0x140354790]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
mov qword [rsp + 0x78], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x140341290]
lea r8, str.WorkerThread_active
xor ebp, ebp
mov cl, 0x42
xor r9d, r9d
call fcn.1401b9550
jmp 0x1401bfd50
movabs rbx, 0x8637bd05af7
mov rax, qword [0x1403411f8]
lea r14, [0x14003b7a0]
cmp rax, r14
jne 0x1401c068c
lea rdi, [rsp + 0xb0]
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rdi]
cmp rax, rbx
jge 0x1401c030d
imul rax, rax, 0xf4240
cqo
idiv qword [0x140354790]
jmp 0x1401c032f
mov rax, qword [0x1403411f8]
lea rcx, [0x14003b7a0]
cmp rax, rcx
jne 0x1401c069f
lea rdi, [rsp + 0xb0]
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rdi]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1401c03d5
imul rax, rax, 0xf4240
cqo
idiv qword [0x140354790]
jmp 0x1401c03f7
mov rax, qword [0x1403411f8]
lea rcx, [0x14003b7a0]
cmp rax, rcx
jne 0x1401c06b2
lea rbx, [rsp + 0xb0]
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1401c044c
imul rax, rax, 0xf4240
cqo
idiv qword [0x140354790]
jmp 0x1401c046e
movabs rdi, 0x8637bd05af7
mov rax, qword [0x1403411f8]
lea rbx, [0x14003b7a0]
cmp rax, rbx
jne 0x1401c06c5
lea rsi, [rsp + 0xb0]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
cmp rax, rdi
jge 0x1401c04c3
imul rax, rax, 0xf4240
cqo
idiv qword [0x140354790]
jmp 0x1401c04e5
call fcn.1400a5e70
mov edi, eax
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test dil, dil
mov rdi, r13
mov r13d, dword [rsp + 0x54]
jne 0x1401bfd50
jmp 0x1401bfdc3
mov rcx, qword [0x140354790]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
mov qword [rsp + 0xb0], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea r15, [rsp + 0xb0]
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 8
mov qword [rsp + 0x40], 0
lea rdx, [0x140341290]
lea r8, str.WorkerThread_born
mov cl, 0x49
xor r9d, r9d
call fcn.1401b9550
test byte [0x140341290], 0x19
je 0x1401bfb45
mov rax, qword [0x1403411f8]
cmp rax, r14
jne 0x1401c06e9
lea rdi, [rsp + 0xb0]
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rdi]
cmp rax, rbx
jge 0x1401c05ab
imul rax, rax, 0xf4240
cqo
idiv qword [0x140354790]
jmp 0x1401c05cd
mov rcx, qword [0x140354790]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
mov qword [rsp + 0xb0], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x140341290]
lea r8, str.WorkerThread_active
mov cl, 0x45
xor r9d, r9d
call fcn.1401b9550
jmp 0x1401bfb91
mov rcx, qword [0x140354790]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
mov qword [rsp + 0xb0], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x140341290]
lea r8, str.WorkerThread_active
mov cl, 0x42
xor r9d, r9d
call fcn.1401b9550
jmp 0x1401bfbae
mov rcx, qword [0x140354790]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
mov qword [rsp + 0xb0], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea r14, [rsp + 0xb0]
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x140341290]
lea r8, str.WorkerThread_active
mov cl, 0x45
xor r9d, r9d
call fcn.1401b9550
test byte [0x140341290], 0x19
je 0x1401bff4f
mov rax, qword [0x1403411f8]
cmp rax, rbx
jne 0x1401c06fc
lea rsi, [rsp + 0xb0]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
cmp rax, rdi
jge 0x1401c061a
imul rax, rax, 0xf4240
cqo
idiv qword [0x140354790]
jmp 0x1401c063c
lea rcx, [rsp + 0x78]
call qword [case.0x140211850.0]
jmp 0x1401c00cc
lea rcx, [rsp + 0x78]
call qword [case.0x140211850.0]
jmp 0x1401c0138
mov rcx, qword [0x140354790]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
mov qword [rsp + 0xb0], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x140341290]
lea r8, str.WorkerThread_active
mov cl, 0x42
xor r9d, r9d
call fcn.1401b9550
jmp 0x1401bfb45
mov rcx, qword [0x140354790]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
mov qword [rsp + 0xb0], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 8
mov qword [rsp + 0x40], 0
lea rdx, [0x140341290]
lea r8, str.WorkerThread_dead
mov cl, 0x49
xor r9d, r9d
call fcn.1401b9550
jmp 0x1401bff4f
int3
lea rcx, [rsp + 0xb0]
call qword [case.0x140211850.0]
jmp 0x1401c0337
lea rcx, [rsp + 0xb0]
call qword [case.0x140211850.0]
jmp 0x1401c03ff
lea rcx, [rsp + 0xb0]
call qword [case.0x140211850.0]
jmp 0x1401c0476
lea rcx, [rsp + 0xb0]
call qword [case.0x140211850.0]
jmp 0x1401c04ed
mov qword [rsp + 0xb0], 0
jmp 0x1401bfe6e
lea rcx, [rsp + 0xb0]
call qword [case.0x140211850.0]
jmp 0x1401c05d5
lea rcx, [rsp + 0xb0]
call qword [case.0x140211850.0]
jmp 0x1401c0644