Function at 0x14010c7e0
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, 0x198
movaps xmmword [rsp + 0x180], xmm7
movaps xmmword [rsp + 0x170], xmm6
mov rsi, rcx
mov rax, qword [0x14029a038]
xor rax, rsp
mov qword [rsp + 0x168], rax
test byte [0x14029c020], 0x19
jne 0x14010d5cb
mov rcx, qword [rsi + 0x60]
test rcx, rcx
jne 0x14010d670
mov rcx, qword [rsi + 0x48]
mov rdx, rsi
call fcn.1400073a0
test byte [0x14029c020], 0x19
jne 0x14010d682
movabs rdx, 0x7fffffffffffffff
mov rax, qword [rsi + 0x48]
lea rbx, [rsi + 0x30]
mov rax, qword [rax + 0x30]
cmp byte [rax + 0x98], 0
je 0x14010d6d8
mov rcx, rbx
call fcn.140111ad0
test byte [0x14029c020], 0x19
jne 0x14010d71b
lea r15, [rsp + 0xd8]
movaps xmm6, xmmword [0x140270690]
xor r12d, r12d
xorps xmm7, xmm7
nop dword [rax + rax]
movzx eax, byte [rsi + 0x40]
test al, al
jne 0x14010d052
movzx eax, byte [rsi + 0x70]
test al, al
jne 0x14010d052
mov rdi, qword [rsi + 0x50]
lea r14, [rdi + 0x70]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14010cfa0
mov rax, qword [rdi + 0x78]
test rax, rax
jne 0x14010d034
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rsi + 0x50]
mov rax, qword [rax + 0x30]
mov eax, dword [rax]
test al, 1
jne 0x14010cfad
mov ebp, dword [rsi + 0x68]
cmp dword [rsi + 0x6c], ebp
jne 0x14010d1b1
movaps xmmword [rsp + 0x90], xmm6
mov rcx, qword [rsi + 0x48]
lea rdx, [rsp + 0x90]
mov r8, rsi
call fcn.1401472d0
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x14010ca87
mov qword [rsp + 0xa8], rax
lea rcx, [rsp + 0xa8]
call fcn.140110840
mov rcx, qword [rsi + 0x50]
movapd xmm0, xmmword [rsp + 0x90]
movupd xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x90], xmm7
lea rdx, [rsp + 0xd0]
lea r8, [rsp + 0x80]
call fcn.14010dcb0
mov r8, qword [rsp + 0x90]
test r8, r8
jne 0x14010d1dc
mov qword [rsp + 0x140], r8
mov qword [rsp + 0x90], 0
test r8, r8
jne 0x14010d211
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xd0], 0
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x90], rax
test rcx, rcx
jne 0x14010d22e
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0xd0]
call fcn.140110840
mov rcx, qword [rsi + 0x48]
movapd xmm0, xmmword [rsp + 0x90]
movupd xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x90], xmm7
lea rdx, [rsp + 0x70]
call fcn.140174ad0
cmp qword [rsp + 0x90], 0
jne 0x14010d1d9
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
xor r13d, r13d
mov rbp, qword [rsp + 0x90]
test rbp, rbp
jne 0x14010ccdd
mov qword [rsp + 0x90], 0
test rbp, rbp
jne 0x14010cd11
mov rcx, qword [rsp + 0x90]
test rcx, rcx
jne 0x14010d1c0
test r13b, r13b
je 0x14010c8a0
jmp 0x14010d052
mov al, byte [rsi + 0x40]
mov r13b, 1
test al, al
jne 0x14010ca42
mov al, byte [rsi + 0x70]
test al, al
jne 0x14010ca42
mov rdi, qword [rsi + 0x50]
lea r14, [rdi + 0x70]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14010cfb7
mov rax, qword [rdi + 0x78]
test rax, rax
jne 0x14010d149
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x14029c020], 0x19
jne 0x14010d2a0
mov rax, qword [rsi + 0x48]
mov rdx, qword [rax]
mov rax, qword [rax + 0x30]
mov cl, byte [rax + 0x98]
lea r8, [0x1400e6f80]
cmp qword [rdx + 0x30], r8
jne 0x14010cf81
movabs r13, 0x7fffffffffffffff
test cl, cl
je 0x14010d34f
movaps xmmword [rsp + 0x140], xmm6
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x160], rcx
movaps xmmword [rsp + 0x150], xmm6
mov byte [rsp + 0x140], r12b
lea rax, [rsp + 0x148]
mov qword [rax + 0x10], r12
movups xmmword [rax], xmm7
movaps xmmword [rsp + 0xd0], xmm6
mov qword [rsp + 0x130], rcx
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x110], xmm6
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0xf0], xmm6
movaps xmmword [rsp + 0xe0], xmm6
mov byte [rsp + 0xd0], r12b
mov qword [r15 + 0x50], r12
movups xmmword [r15 + 0x40], xmm7
movups xmmword [r15 + 0x30], xmm7
movups xmmword [r15 + 0x20], xmm7
movups xmmword [r15 + 0x10], xmm7
movups xmmword [r15], xmm7
cmp byte [rsi + 0x38], r12b
jne 0x14010cda7
movabs rax, 0x7fffffffffffffff
cmp r13, rax
je 0x14010ccce
mov rax, qword [0x14029bf90]
lea rcx, [0x140179e10]
cmp rax, rcx
jne 0x14010d130
mov qword [rsp + 0xa8], 0
lea rcx, [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xa8]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14010d41c
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402a2810]
mov rbp, rax
mov rax, rbp
add rax, r13
sar rax, 0x3f
btc rax, 0x3f
add rbp, r13
cmovo rbp, rax
movabs rax, 0x7fffffffffffffff
cmp r13, rax
je 0x14010cc8c
mov rax, r13
shr rax, 3
movabs rcx, 0x20c49ba5e353f7cf
mul rcx
mov rax, rdx
shr rax, 4
imul rcx, rax, 0x3e8
cmp rcx, r13
adc rax, 0
mov rcx, rax
shr rcx, 0x20
neg rcx
mov edx, 0
sbb edx, edx
or edx, eax
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x14010cc93
jmp 0x14010ce26
mov edx, 0xffffffff
jmp 0x14010cc7a
test byte [0x14029c8d0], 0x19
jne 0x14010d392
cmp byte [rsp + 0xd0], 0
jne 0x14010cd88
cmp byte [rsp + 0x140], 0
jne 0x14010cd95
test byte [0x14029c020], 0x19
je 0x14010ca3f
jmp 0x14010d2f6
movabs rbp, 0x7fffffffffffffff
jmp 0x14010cc2f
mov rdi, qword [rsp + 0x98]
test rdi, rdi
je 0x14010ca53
mov qword [rsp + 0x90], 0
mov al, byte [rbp + 0x16]
and al, 0x7f
cmp al, 2
je 0x14010cf66
lock dec dword [rdi + 0x38]
je 0x14010ceaf
lock dec dword [rbp + 8]
jne 0x14010ca68
lea rax, str.pm_r_
mov qword [rbp], rax
mov rdi, qword [rbp + 0xa0]
test rdi, rdi
jne 0x14010cfc4
lea rax, [rbp + 0x78]
mov rdi, qword [rbp + 0x78]
mov r14, qword [rbp + 0x80]
mov rdx, rdi
cmp r14, rdi
jne 0x14010d51a
mov qword [rbp + 0x80], rdi
test rdx, rdx
jne 0x14010d542
mov r14, qword [rbp + 0x60]
mov rax, qword [rbp + 0x68]
cmp rax, r14
jne 0x14010d55a
mov rcx, qword [rbp + 0x50]
call fcn.14017b220
mov rcx, rbp
call fcn.14017b254
jmp 0x14010ca68
mov rcx, r15
call fcn.140111f10
jmp 0x14010ccae
lea rcx, [rsp + 0x148]
call fcn.140007200
jmp 0x14010ccbc
call fcn.140105b90
mov qword [rsp + 0xa8], rbx
mov rcx, qword [0x1402a0ca0]
test rcx, rcx
jne 0x14010cf48
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x158], 0
mov bpl, 1
mov byte [rsp + 0x140], bpl
lea rdi, [rsp + 0xa8]
mov rcx, rdi
lea rdx, str.TimedWait
lea r8, str....._base_synchronizationwaitable_event.cc
mov r9d, 0x26
call fcn.140120f60
mov rcx, r15
mov rdx, rdi
xor r8d, r8d
call fcn.140112280
mov byte [rsp + 0xd0], bpl
jmp 0x14010cba7
mov rax, qword [0x14029bf90]
lea rcx, [0x140179e10]
cmp rax, rcx
jne 0x14010d16c
mov qword [rsp + 0xa8], 0
lea rcx, [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xa8]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14010d4d9
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402a2810]
xor ecx, ecx
cmp rbp, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rcx, rdx
mov r13, rbp
sub r13, rax
cmovo r13, rcx
test r13, r13
jg 0x14010cc2f
jmp 0x14010cca0
lea r14, [rdi + 0x40]
mov rcx, r14
mov rax, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
call rax
test al, al
je 0x14010d500
mov rcx, qword [rdi + 0x48]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r14
mov rax, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
call rax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14010d50d
mov rax, qword [rdi + 0x50]
mov qword [rsp + 0x50], rax
mov rax, qword [rdi + 0x58]
mov qword [rsp + 0x68], rax
movups xmmword [rdi + 0x50], xmm7
mov rax, qword [rdi + 0x60]
mov qword [rsp + 0x60], rax
mov rax, qword [rdi + 0x68]
mov qword [rsp + 0x58], rax
movups xmmword [rdi + 0x60], xmm7
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
mov rdi, rcx
cmp rcx, rax
jne 0x14010d9af
mov rcx, qword [rsp + 0x50]
call fcn.14017b220
jmp 0x14010ca5f
mov r14, rax
call fcn.1401bb300
mov qword [rsp + 0x148], rax
test rax, rax
je 0x14010cdd0
jmp 0x14010d00a
mov rax, qword [rdi + 0x30]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x14010cd07
jmp 0x14010d185
movabs rdx, 0x7fffffffffffffff
test cl, cl
je 0x14010d89e
mov rcx, rbx
call fcn.140111ad0
jmp 0x14010ccbc
mov rcx, r14
call fcn.1400fdfc0
jmp 0x14010c8d1
mov ebp, 2
jmp 0x14010c8fc
mov rcx, r14
call fcn.1400fdfc0
jmp 0x14010cab1
mov rax, qword [rbp + 0xa8]
mov rcx, rdi
cmp rax, rdi
je 0x14010cff9
lea r14, [rax - 0x18]
mov rcx, qword [rax - 0x10]
test rcx, rcx
je 0x14010cfea
mov rax, qword [rax - 8]
call qword [case.0x1401e7f70.0]
mov rax, r14
cmp r14, rdi
jne 0x14010cfd3
mov rcx, qword [rbp + 0xa0]
mov qword [rbp + 0xa8], rdi
call fcn.14017b254
jmp 0x14010cd36
lea rcx, [rsp + 0xa8]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov rdx, r14
xor r8d, r8d
mov r9b, 0x30
call fcn.1401bab30
mov dword [rsp + 0x150], eax
jmp 0x14010cdd0
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebp, eax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test ebp, ebp
jne 0x14010c8e7
mov rdi, qword [rsi + 0x48]
mov rcx, qword [rdi + 0x18]
mov qword [rdi + 0x18], 0
test rcx, rcx
je 0x14010d078
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x1401e7f70.0]
mov rbx, qword [rdi + 0x30]
add rbx, 0x28
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14010d771
mov rax, qword [rdi + 0x30]
inc qword [rax + 0x150]
mov rax, qword [rdi + 0x30]
mov rcx, qword [rax + 0x158]
test rcx, rcx
jne 0x14010d77e
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsi + 0x60]
test rcx, rcx
jne 0x14010d788
mov rbx, qword [rsi + 0x10]
mov qword [rsi + 0x10], 0
test rbx, rbx
jne 0x14010d118
test byte [0x14029c020], 0x19
jne 0x14010d79a
mov rcx, qword [rsp + 0x168]
xor rcx, rsp
call fcn.14017e7b0
movaps xmm6, xmmword [rsp + 0x170]
movaps xmm7, xmmword [rsp + 0x180]
add rsp, 0x198
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lock dec dword [rbx + 8]
jne 0x14010d0d7
mov rcx, rbx
call fcn.140015360
mov rcx, rbx
call fcn.14017b254
jmp 0x14010d0d7
lea r14, [rsp + 0xa0]
mov rcx, r14
call qword [case.0x1401e7f70.0]
mov rbp, qword [r14]
jmp 0x14010cc19
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebp, eax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test ebp, ebp
jne 0x14010cac7
jmp 0x14010ca42
lea r14, [rsp + 0xa8]
mov rcx, r14
call qword [case.0x1401e7f70.0]
mov rax, qword [r14]
jmp 0x14010ce82
lea r14, [rdi + 0x70]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14010daa8
mov rcx, qword [rdi + 0x78]
call fcn.140169f30
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14010cd07
mov ecx, ebp
call fcn.1400334d0
mov dword [rsi + 0x6c], ebp
jmp 0x14010c905
lock dec dword [rcx + 8]
jne 0x14010ca79
mov edx, 1
call fcn.140152dc0
jmp 0x14010ca79
int3
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x14010c98b
mov qword [rsp + 0x90], 0
lea r14, [rsp + 0x140]
mov rdx, r14
call fcn.14014fc60
mov r8, qword [r14]
jmp 0x14010c99f
lock dec dword [r8 + 8]
jne 0x14010c9a8
mov rcx, r8
mov edx, 1
call fcn.140152dc0
jmp 0x14010c9a8
lock dec dword [rcx + 8]
jne 0x14010d23e
mov edx, 1
call fcn.140152dc0
mov rbp, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x98], rax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0xd0], xmm0
test rbp, rbp
je 0x14010c9e5
lock dec dword [rbp + 8]
je 0x14010d46c
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x14010c9e5
lock dec dword [rcx + 8]
jne 0x14010c9e5
mov edx, 1
call fcn.140152dc0
jmp 0x14010c9e5
lea rdi, [rsp + 0xd0]
mov rcx, rdi
call fcn.1401193e0
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x14029c020]
lea r8, str.WorkerThread_active
mov cl, 0x45
xor r9d, r9d
call fcn.140104700
jmp 0x14010cad4
lea rdi, [rsp + 0xd0]
mov rcx, rdi
call fcn.1401193e0
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x14029c020]
lea r8, str.WorkerThread_active
xor r13d, r13d
mov cl, 0x42
xor r9d, r9d
call fcn.140104700
jmp 0x14010ca42
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rax + 0x90]
mulsd xmm0, qword [0x140284858]
movsd xmm1, qword [0x140275368]
ucomisd xmm1, xmm0
jae 0x14010d446
ucomisd xmm0, qword [0x14025dc40]
movabs r13, 0x7fffffffffffffff
jae 0x14010cb08
jmp 0x14010d45c
mov rax, qword [0x14029f540]
xor rax, rbx
lea rcx, [0x1400778d0]
mov qword [rsp + 0xc0], rcx
lea rcx, [0x140284998]
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
lea rdx, [0x14029c8d0]
lea r8, str.WaitableEvent::Wait_Complete
lea r9, [0x1402780e8]
mov cl, 0x49
call fcn.140075040
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax + 8]
test rax, rax
je 0x14010cca0
mov rcx, qword [rsp + 0xb0]
call qword [case.0x1401e7f70.0]
jmp 0x14010cca0
mov rcx, qword [0x1402a2810]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov rbp, rax
add rbp, r8
jmp 0x14010cc19
maxsd xmm0, qword [0x14025dc40]
cvttsd2si r13, xmm0
test r13, r13
jg 0x14010cb08
mov rcx, qword [rbx]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x14010ccbc
lea rax, str.pm_r_
mov qword [rbp], rax
mov rdi, qword [rbp + 0xa0]
test rdi, rdi
jne 0x14010d954
lea r13, [rbp + 0x78]
mov rdi, qword [rbp + 0x78]
mov r14, qword [rbp + 0x80]
mov rdx, rdi
cmp r14, rdi
jne 0x14010dab5
mov qword [rbp + 0x80], rdi
test rdx, rdx
jne 0x14010dadf
mov r13, qword [rbp + 0x60]
mov r14, qword [rbp + 0x68]
cmp r14, r13
jne 0x14010daf5
mov rcx, qword [rbp + 0x50]
call fcn.14017b220
mov rcx, rbp
call fcn.14017b254
jmp 0x14010d276
mov rcx, qword [0x1402a2810]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14010ce82
mov rcx, r14
call fcn.1400fdfc0
jmp 0x14010cec7
mov rcx, r14
call fcn.1400fdfc0
jmp 0x14010ceee
mov qword [rsp + 0x50], rax
mov rcx, qword [r14 - 0x80]
add r14, 0xffffffffffffff80
test rcx, rcx
jne 0x14010da90
cmp r14, rdi
jne 0x14010d51f
mov rax, qword [rsp + 0x50]
mov rdx, qword [rax]
jmp 0x14010cd51
mov rdi, rax
mov rcx, rax
call fcn.140206c20
mov rcx, qword [rdi]
call fcn.14017b254
jmp 0x14010cd61
mov qword [rsp + 0x58], rax
mov rdi, qword [rbp + 0x58]
jbe 0x14010d850
cmp rdi, qword [rsp + 0x58]
jb 0x14010d847
cmp rdi, r14
jb 0x14010d84a
cmp r14, qword [rsp + 0x58]
jg 0x14010d84d
mov rax, qword [rbp + 0x50]
mov qword [rsp + 0x50], rax
mov rdi, qword [rsp + 0x58]
shl rdi, 7
shl r14, 7
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + r14]
test rcx, rcx
jne 0x14010d5ba
sub r14, 0xffffffffffffff80
cmp rdi, r14
jne 0x14010d59e
jmp 0x14010cd72
lock dec dword [rcx]
jne 0x14010d5ac
mov rax, qword [rcx + 0x10]
call qword [case.0x1401e7f70.0]
jmp 0x14010d5ac
lea rdi, [rsp + 0xd0]
mov rcx, rdi
call fcn.1401193e0
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorps xmm6, xmm6
movups xmmword [rsp + 0x20], xmm6
mov dword [rsp + 0x48], 8
mov qword [rsp + 0x40], 0
lea rdx, [0x14029c020]
lea r8, str.WorkerThread_born
mov cl, 0x49
xor r9d, r9d
call fcn.140104700
test byte [0x14029c020], 0x19
je 0x14010c825
mov rcx, rdi
call fcn.1401193e0
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
movups xmmword [rsp + 0x20], xmm6
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x14029c020]
lea r8, str.WorkerThread_active
mov cl, 0x42
xor r9d, r9d
call fcn.140104700
jmp 0x14010c825
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1401e7f70.0]
jmp 0x14010c832
lea rdi, [rsp + 0xd0]
mov rcx, rdi
call fcn.1401193e0
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x14029c020]
lea r8, str.WorkerThread_active
mov cl, 0x45
xor r9d, r9d
call fcn.140104700
jmp 0x14010c84b
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rax + 0x90]
mulsd xmm0, qword [0x140284858]
movsd xmm1, qword [0x140275368]
ucomisd xmm1, xmm0
jae 0x14010d8e1
xor edx, edx
ucomisd xmm0, qword [0x14025dc40]
movabs rax, 0x7fffffffffffffff
cmovae rdx, rax
jmp 0x14010c86e
lea rdi, [rsp + 0xd0]
mov rcx, rdi
call fcn.1401193e0
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x14029c020]
lea r8, str.WorkerThread_active
mov cl, 0x42
xor r9d, r9d
call fcn.140104700
jmp 0x14010c883
mov rcx, rbx
call fcn.1400fdfc0
jmp 0x14010d091
call sub.KERNEL32.dll_WakeConditionVariable
jmp 0x14010d0b0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1401e7f70.0]
jmp 0x14010d0c6
lea rsi, [rsp + 0xd0]
mov rcx, rsi
call fcn.1401193e0
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], eax
xorps xmm6, xmm6
movups xmmword [rsp + 0x20], xmm6
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x14029c020]
lea r8, str.WorkerThread_active
mov cl, 0x45
xor r9d, r9d
call fcn.140104700
test byte [0x14029c020], 0x19
je 0x14010d0e4
lea rsi, [rsp + 0xd0]
mov rcx, rsi
call fcn.1401193e0
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], eax
movups xmmword [rsp + 0x20], xmm6
mov dword [rsp + 0x48], 8
mov qword [rsp + 0x40], 0
lea rdx, [0x14029c020]
lea r8, str.WorkerThread_dead
mov cl, 0x49
xor r9d, r9d
call fcn.140104700
jmp 0x14010d0e4
int3
int3
int3
cmp rdi, r14
jb 0x14010d898
jl 0x14010d89b
je 0x14010d8f7
mov rax, qword [rbp + 0x50]
mov qword [rsp + 0x50], rax
shl rdi, 7
shl r14, 7
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + r14]
test rcx, rcx
jne 0x14010d887
sub r14, 0xffffffffffffff80
cmp rdi, r14
jne 0x14010d86e
jmp 0x14010d8f3
lock dec dword [rcx]
jne 0x14010d87c
mov rax, qword [rcx + 0x10]
call qword [case.0x1401e7f70.0]
jmp 0x14010d87c
int3
int3
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rax + 0x90]
mulsd xmm0, qword [0x140284858]
movsd xmm1, qword [0x140275368]
ucomisd xmm1, xmm0
jae 0x14010da7e
xor edx, edx
ucomisd xmm0, qword [0x14025dc40]
movabs rax, 0x7fffffffffffffff
cmovae rdx, rax
jmp 0x14010cf93
maxsd xmm0, qword [0x14025dc40]
cvttsd2si rdx, xmm0
jmp 0x14010c86e
mov r14, qword [rbp + 0x58]
cmp r14, qword [rsp + 0x58]
jb 0x14010d94e
cmp qword [rsp + 0x58], 0
js 0x14010d951
mov rdi, qword [rsp + 0x58]
je 0x14010cd72
mov rax, qword [rbp + 0x50]
mov qword [rsp + 0x50], rax
shl rdi, 7
xor r14d, r14d
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + r14]
test rcx, rcx
jne 0x14010d93d
sub r14, 0xffffffffffffff80
cmp rdi, r14
jne 0x14010d921
jmp 0x14010cd72
lock dec dword [rcx]
jne 0x14010d92f
mov rax, qword [rcx + 0x10]
call qword [case.0x1401e7f70.0]
jmp 0x14010d92f
int3
int3
mov rax, qword [rbp + 0xa8]
mov rcx, rdi
cmp rax, rdi
je 0x14010d989
lea r14, [rax - 0x18]
mov rcx, qword [rax - 0x10]
test rcx, rcx
je 0x14010d97a
mov rax, qword [rax - 8]
call qword [case.0x1401e7f70.0]
mov rax, r14
cmp r14, rdi
jne 0x14010d963
mov rcx, qword [rbp + 0xa0]
mov qword [rbp + 0xa8], rdi
call fcn.14017b254
jmp 0x14010d487
lock dec dword [r14]
jne 0x14010d9e0
mov rax, qword [r14 + 0x10]
mov rcx, r14
call qword [case.0x1401e7f70.0]
jmp 0x14010d9e0
mov rax, qword [rsp + 0x68]
cmp rax, rdi
jb 0x14010da72
mov rax, qword [rsp + 0x50]
mov r14, qword [rax + rdi*8]
mov qword [rax + rdi*8], 0
mov rax, qword [r14 + 8]
mov rcx, r14
call qword [case.0x1401e7f70.0]
test r14, r14
jne 0x14010d99a
inc rdi
xor eax, eax
mov rcx, qword [rsp + 0x68]
cmp rdi, rcx
cmove rdi, rax
mov rax, qword [rsp + 0x58]
cmp rdi, rax
mov rcx, qword [rsp + 0x60]
jne 0x14010d9af
cmp rax, rcx
jbe 0x14010db54
mov rax, qword [rsp + 0x68]
cmp rax, qword [rsp + 0x58]
jb 0x14010da75
mov rax, qword [rsp + 0x68]
cmp rax, qword [rsp + 0x60]
jb 0x14010da78
mov rax, qword [rsp + 0x60]
cmp rax, qword [rsp + 0x58]
jg 0x14010da7b
mov rdi, qword [rsp + 0x58]
shl rdi, 3
mov rax, qword [rsp + 0x60]
shl rax, 3
mov r14, rax
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + rax]
test rcx, rcx
jne 0x14010da61
mov rax, r14
add rax, 8
cmp rdi, rax
jne 0x14010da3f
jmp 0x14010cf39
lock dec dword [rcx]
jne 0x14010da50
mov rax, qword [rcx + 0x10]
call qword [case.0x1401e7f70.0]
jmp 0x14010da50
int3
int3
int3
int3
maxsd xmm0, qword [0x14025dc40]
cvttsd2si rdx, xmm0
jmp 0x14010cf93
lock dec dword [rcx]
jne 0x14010d530
mov rax, qword [rcx + 0x10]
call qword [case.0x1401e7f70.0]
jmp 0x14010d530
mov rcx, r14
call fcn.1400fdfc0
jmp 0x14010d19a
mov rcx, qword [r14 - 0x80]
add r14, 0xffffffffffffff80
test rcx, rcx
je 0x14010dad1
lock dec dword [rcx]
jne 0x14010dad1
mov rax, qword [rcx + 0x10]
call qword [case.0x1401e7f70.0]
cmp r14, rdi
jne 0x14010dab5
mov rdx, qword [r13]
jmp 0x14010d4a2
mov rcx, r13
call fcn.140206c20
mov rcx, qword [r13]
call fcn.14017b254
jmp 0x14010d4b2
mov rax, qword [rbp + 0x58]
mov qword [rsp + 0x50], rax
jbe 0x14010dbc6
cmp qword [rsp + 0x50], r14
jb 0x14010db4b
cmp qword [rsp + 0x50], r13
jb 0x14010db4e
cmp r13, r14
jg 0x14010db51
mov rdi, qword [rbp + 0x50]
shl r14, 7
shl r13, 7
mov rcx, qword [rdi + r13]
test rcx, rcx
jne 0x14010db3a
sub r13, 0xffffffffffffff80
cmp r14, r13
jne 0x14010db23
jmp 0x14010d4c3
lock dec dword [rcx]
jne 0x14010db2c
mov rax, qword [rcx + 0x10]
call qword [case.0x1401e7f70.0]
jmp 0x14010db2c
int3
int3
int3
mov rax, qword [rsp + 0x68]
cmp rax, qword [rsp + 0x60]
jb 0x14010dbba
jl 0x14010dbbd
jne 0x14010dc10
mov rax, qword [rsp + 0x68]
cmp rax, qword [rsp + 0x58]
jb 0x14010dbc0
cmp qword [rsp + 0x58], 0
js 0x14010dbc3
mov r14, qword [rsp + 0x58]
je 0x14010cf39
shl r14, 3
xor edi, edi
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + rdi]
test rcx, rcx
jne 0x14010dba9
add rdi, 8
cmp r14, rdi
jne 0x14010db8d
jmp 0x14010cf39
lock dec dword [rcx]
jne 0x14010db9b
mov rax, qword [rcx + 0x10]
call qword [case.0x1401e7f70.0]
jmp 0x14010db9b
int3
int3
int3
int3
cmp qword [rsp + 0x50], r13
jb 0x14010dc0a
jl 0x14010dc0d
je 0x14010dc66
mov rdi, qword [rbp + 0x50]
shl qword [rsp + 0x50], 7
shl r13, 7
mov rcx, qword [rdi + r13]
test rcx, rcx
jne 0x14010dbf9
sub r13, 0xffffffffffffff80
cmp qword [rsp + 0x50], r13
jne 0x14010dbe3
jmp 0x14010dc62
lock dec dword [rcx]
jne 0x14010dbec
mov rax, qword [rcx + 0x10]
call qword [case.0x1401e7f70.0]
jmp 0x14010dbec
int3
int3
mov rax, qword [rsp + 0x68]
lea rdi, [rax*8]
shl qword [rsp + 0x60], 3
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rax + rcx]
test rcx, rcx
jne 0x14010dc51
mov rcx, qword [rsp + 0x60]
add rcx, 8
mov rax, rcx
mov qword [rsp + 0x60], rcx
cmp rdi, rcx
jne 0x14010dc23
jmp 0x14010db68
lock dec dword [rcx]
jne 0x14010dc36
mov rax, qword [rcx + 0x10]
call qword [case.0x1401e7f70.0]
jmp 0x14010dc36
mov r13, qword [rbp + 0x58]
cmp r13, r14
jb 0x14010dca9
test r14, r14
js 0x14010dcac
je 0x14010d4c3
mov rdi, qword [rbp + 0x50]
shl r14, 7
xor r13d, r13d
mov rcx, qword [rdi + r13]
test rcx, rcx
jne 0x14010dc98
sub r13, 0xffffffffffffff80
cmp r14, r13
jne 0x14010dc81
jmp 0x14010d4c3
lock dec dword [rcx]
jne 0x14010dc8a
mov rax, qword [rcx + 0x10]
call qword [case.0x1401e7f70.0]
jmp 0x14010dc8a
int3
int3