Function at 0x140062ec0
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, 0x258
movaps xmmword [rsp + 0x240], xmm10
movaps xmmword [rsp + 0x230], xmm9
movaps xmmword [rsp + 0x220], xmm8
movaps xmmword [rsp + 0x210], xmm7
movaps xmmword [rsp + 0x200], xmm6
mov rsi, rcx
mov rax, qword [0x140135028]
xor rax, rsp
mov qword [rsp + 0x1f8], rax
test byte [0x140143050], 0x19
jne 0x14006411c
mov rcx, qword [rsi + 0x60]
test rcx, rcx
jne 0x1400649a4
mov rcx, qword [rsi + 0x48]
mov rdx, rsi
call fcn.1400042c0
mov eax, dword [0x14014d960]
test eax, eax
je 0x140063037
mov rax, qword [rsi + 0x50]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x140062f5f
cmp dword [rsi + 0x68], 0
je 0x140063037
mov rcx, qword [0x14014d958]
test rcx, rcx
je 0x140063037
lea rdi, [rsp + 0x170]
mov rdx, rdi
mov r8d, 2
call fcn.140015ad0
mov rax, qword [rdi]
mov qword [rsp + 0x78], rax
test byte [0x140143050], 0x19
jne 0x1400642cc
mov rcx, qword [rsi + 0x48]
lea rdx, [rsi + 0x30]
mov qword [rsp + 0x68], rdx
call fcn.140004430
test byte [0x140143050], 0x19
jne 0x140064384
movabs r14, 0x7fffffffffffffff
lea r15, [rsp + 0x178]
mov eax, dword [0x140144910]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x190]
mov qword [rsp + 0x98], rcx
lea rcx, [rax + 0x198]
mov qword [rsp + 0x80], rcx
lea rax, [rax + 0x1b0]
mov qword [rsp + 0x90], rax
movaps xmm6, xmmword [0x14011bbd0]
xorps xmm7, xmm7
movsd xmm8, qword [0x140127820]
movsd xmm9, qword [0x140125da0]
movsd xmm10, qword [0x140125da8]
xor edi, edi
jmp 0x14006339c
xor eax, eax
jmp 0x140062f88
mov rax, qword [0x1401445a8]
lea rcx, [0x14009abc0]
cmp rax, rcx
jne 0x140064576
mov qword [rsp + 0x170], 0
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x170]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140064931
imul rax, rax, 0xf4240
cqo
idiv qword [0x14014d718]
mov qword [rsp + 0x170], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, [rsp + 0x170]
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], eax
movups xmmword [rsp + 0x20], xmm7
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
mov cl, 0x45
lea rdx, [0x140143050]
lea r8, str.WorkerThread_active
xor r9d, r9d
call fcn.140060c80
jmp 0x14006348f
lea r13, [rbx + 0x20]
mov rcx, r13
mov r15, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
call r15
test al, al
je 0x140064771
mov rcx, qword [rbx + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r13
mov rax, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
call rax
mov rcx, r13
call r15
test al, al
je 0x14006477f
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x70], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x60], rax
movups xmmword [rbx + 0x30], xmm7
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x88], rax
mov r15, qword [rbx + 0x48]
movups xmmword [rbx + 0x40], xmm7
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsp + 0x88]
mov rax, r15
mov rbx, rcx
cmp rcx, r15
jne 0x140064879
lea rcx, fcn.140068d20
mov rdx, qword [rsp + 0x70]
xor r8d, r8d
call fcn.14006cea0
lea r15, [rsp + 0x178]
jmp 0x140063379
mov rax, qword [rbx + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x1400631fd
jmp 0x140064594
mov rax, qword [rcx + 0x30]
cvtsi2sd xmm0, qword [rax + 0x90]
mulsd xmm0, xmm8
ucomisd xmm9, xmm0
jb 0x140064991
maxsd xmm0, xmm10
cvttsd2si rdi, xmm0
jmp 0x1400634b4
mov rbx, qword [rsp + 0xc8]
test rbx, rbx
je 0x14006336d
mov qword [rsp + 0xc0], 0
mov al, byte [rbp + 0xd]
and al, 0x7f
cmp al, 2
je 0x140063194
lock dec dword [rbx + 0x18]
je 0x1400630ec
lock dec dword [rbp + 8]
jne 0x140063382
mov rcx, rbp
mov edx, 1
call fcn.140079c40
jmp 0x140063382
mov rcx, qword [rsi + 0x48]
call fcn.140066370
jmp 0x140063482
mov qword [rsp + 0xf0], rax
lea rcx, [rsp + 0xf0]
call fcn.14005e780
mov rcx, qword [rsi + 0x50]
movaps xmm0, xmmword [rsp + 0xc0]
movups xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xc0], xmm7
lea rdx, [rsp + 0x170]
lea r8, [rsp + 0xb0]
call fcn.140064bb0
mov r8, qword [rsp + 0xc0]
test r8, r8
jne 0x140064671
mov qword [rsp + 0x118], r8
mov qword [rsp + 0xc0], 0
test r8, r8
jne 0x1400645e0
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x170], 0
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc0], rax
test rcx, rcx
jne 0x1400645fd
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x170], rax
lea rcx, [rsp + 0x170]
call fcn.14005e780
mov rcx, qword [rsi + 0x48]
movapd xmm0, xmmword [rsp + 0xc0]
movupd xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xc0], xmm7
lea rdx, [rsp + 0xa0]
call fcn.140097f80
cmp qword [rsp + 0xc0], 0
jne 0x1400645dd
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov dil, 1
xor r12d, r12d
mov rbp, qword [rsp + 0xc0]
test rbp, rbp
jne 0x1400631d7
mov qword [rsp + 0xc0], 0
test rbp, rbp
jne 0x140063207
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
jne 0x1400645c4
test r12b, r12b
jne 0x140063f32
movzx eax, byte [rsi + 0x40]
test al, al
jne 0x140063f32
movzx eax, byte [rsi + 0x70]
test al, al
jne 0x140063f32
mov rbx, qword [rsi + 0x50]
lea r13, [rbx + 0x50]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140064057
mov rax, qword [rbx + 0x58]
test rax, rax
jne 0x1400644f4
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rsi + 0x50]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x140063e58
mov ebp, dword [rsi + 0x68]
cmp dword [rsi + 0x6c], ebp
jne 0x140064567
movaps xmmword [rsp + 0xc0], xmm6
mov rcx, qword [rsi + 0x48]
lea rdx, [rsp + 0xc0]
mov r8, rsi
call fcn.14007cde0
mov rax, qword [rsp + 0xc0]
test rax, rax
jne 0x140063240
movzx eax, byte [rsi + 0x40]
mov r12b, 1
test al, al
jne 0x14006335c
movzx eax, byte [rsi + 0x70]
test al, al
jne 0x14006335c
mov rbx, qword [rsi + 0x50]
lea r13, [rbx + 0x50]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14006409e
mov rax, qword [rbx + 0x58]
test rax, rax
jne 0x140064517
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test dil, 1
je 0x140063223
test byte [0x140143050], 0x19
jne 0x14006303e
mov rcx, qword [rsi + 0x48]
mov rax, qword [rcx]
lea rdx, [fcn.140004430]
cmp qword [rax + 0x30], rdx
jne 0x140063e49
cmp byte [rcx + 0x40], 0
mov rdi, r14
jne 0x1400631ab
cmp rdi, 0xf4240
mov r12d, 0xf4240
cmovl r12, rdi
mov eax, dword [0x14014f6a4]
mov ecx, dword [0x140144910]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400640ac
cmp byte [0x14014f6a0], 0
je 0x140063691
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x118], rax
mov rax, qword [fcn.140060bd0]
lea rcx, [0x14009abc0]
cmp rax, rcx
jne 0x140064554
mov qword [rsp + 0x170], 0
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x170]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400646fe
imul rax, rax, 0xf4240
cqo
idiv qword [0x14014d718]
mov qword [rsp + 0x118], rax
mov eax, dword [0x14014f6b0]
mov ecx, dword [0x140144910]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140064065
mov rax, qword [0x14014f6a8]
mov ecx, 0x3938700
add rax, rcx
cmovo rax, r14
mov r8, qword [rsp + 0x118]
cmp r8, rax
cmovle r12, rcx
lea rax, [r14 + r12]
add rax, 2
cmp rax, 2
jb 0x1400646a7
lea rax, [r8 + r12]
sar rax, 0x3f
movabs rcx, 0x8000000000000000
xor rax, rcx
add r12, r8
cmovo r12, rax
mov r9, r12
xor eax, eax
mov rcx, r9
neg rcx
setns al
add rax, r14
mov rcx, r9
neg rcx
cmovo rcx, rax
lea rdx, [r14 + rcx]
add rdx, 2
mov rax, r14
cmp rdx, 2
jb 0x14006363f
mov rax, rcx
movabs rdx, 0x431bde82d7b634db
imul rdx
mov rax, rdx
shr rax, 0x3f
sar rdx, 0x12
add rdx, rax
imul rax, rdx, 0xf4240
sub rcx, rax
mov rax, rcx
je 0x140064370
test r9, r9
jle 0x14006364e
add rax, 0xf4240
cmovo rax, r14
lea rcx, [r14 + rax]
add rcx, 2
cmp rcx, 2
jb 0x1400646da
lea rcx, [r9 + rax]
sar rcx, 0x3f
movabs rdx, 0x8000000000000000
xor rcx, rdx
add r9, rax
cmovo r9, rcx
mov r12, r9
xor eax, eax
cmp r12, r8
setns al
add rax, r14
sub r12, r8
cmovo r12, rax
test r12, r12
jle 0x140063e2c
movaps xmmword [rsp + 0x170], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x1c0], rax
movaps xmmword [rsp + 0x1b0], xmm6
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x190], xmm6
movaps xmmword [rsp + 0x180], xmm6
mov byte [rsp + 0x170], 0
movups xmmword [r15 + 0x30], xmm7
movups xmmword [r15 + 0x20], xmm7
movups xmmword [r15 + 0x10], xmm7
movups xmmword [r15], xmm7
mov qword [r15 + 0x40], 0
cmp byte [rsi + 0x38], 0
je 0x140063a3b
cmp r12, r14
je 0x140063981
mov rax, qword [0x1401445a8]
lea rcx, [0x14009abc0]
cmp rax, rcx
jne 0x14006453a
mov qword [rsp + 0x118], 0
lea rcx, [rsp + 0x118]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x118]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140064725
imul rax, rax, 0xf4240
cqo
idiv qword [0x14014d718]
mov rbp, rax
lea rax, [r12 + rbp]
sar rax, 0x3f
btc rax, 0x3f
add rbp, r12
cmovo rbp, rax
mov rcx, r12
cmp rcx, r14
je 0x140063977
mov rax, rcx
shr rax, 3
movabs rdx, 0x20c49ba5e353f7cf
mul rdx
mov rax, rdx
shr rax, 4
imul rdx, rax, 0x3e8
cmp rdx, rcx
adc rax, 0
mov rcx, rax
shr rcx, 0x20
neg rcx
mov edx, 0
sbb edx, edx
or edx, eax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x1400639a8
mov r13b, 1
cmp byte [rsi + 0x38], 0
je 0x140063989
cmp byte [rsp + 0x170], 0
jne 0x14006399b
test r13b, r13b
je 0x140063d36
xor r12d, r12d
test byte [0x140143050], 0x19
mov edi, 0
je 0x14006335c
mov rdi, qword [0x14014bc00]
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0xf0], xmm6
movups xmmword [rsp + 0x20], xmm7
mov byte [rsp + 0x30], 0
lea rcx, [rsp + 0xf0]
mov dl, 0x42
lea r8, [0x140143050]
lea r9, str.WorkerThread_active
call fcn.140064aa0
mov rbp, qword [rsp + 0xf0]
test rbp, rbp
je 0x140063953
mov al, byte [rsp + 0x108]
mov rcx, qword [rsp + 0xf8]
xor edx, edx
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x120], rbp
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x130], rdx
mov byte [rsp + 0x138], al
cmp qword [rbp + 0x10], rdx
jne 0x140064764
xor rdi, rsi
lea rax, [rsp + 0x1da]
mov byte [rax + 4], 0xaa
mov dword [rax], 0xaaaaaaaa
mov word [rsp + 0x1d0], 0x381
mov qword [rsp + 0x1d2], rdi
mov rcx, qword [rbp]
mov rax, qword [rcx + 0x18]
lea rdx, [rax + 0xa]
cmp rdx, qword [rcx + 0x10]
ja 0x140063dd3
movzx r8d, word [rsp + 0x1d8]
mov word [rax + 8], r8w
mov r8, qword [rsp + 0x1d0]
mov qword [rax], r8
mov qword [rcx + 0x18], rdx
add dword [rbp + 0x20], 0xa
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x118], 0
lea rax, [rsp + 0x120]
movupd xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 9]
movups xmmword [r15 + 9], xmm1
movupd xmmword [r15], xmm0
lea rcx, [rsp + 0x170]
call fcn.140064ab0
lea rcx, [rsp + 0x118]
call fcn.140064ab0
mov rcx, qword [rsp + 0x100]
test rcx, rcx
je 0x14006396d
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140159008]
xor r12d, r12d
xor edi, edi
jmp 0x14006335c
mov edx, 0xffffffff
jmp 0x1400637c5
mov rbp, r14
jmp 0x14006377d
test byte [0x140143950], 0x19
je 0x1400637e8
jmp 0x14006478d
mov rcx, r15
call fcn.14005f5c0
jmp 0x1400637f6
mov rax, qword [0x1401445a8]
lea rcx, [0x14009abc0]
cmp rax, rcx
jne 0x140063deb
mov qword [rsp + 0x118], 0
lea rcx, [rsp + 0x118]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x118]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140064958
imul rax, rax, 0xf4240
cqo
idiv qword [0x14014d718]
xor edx, edx
cmp rbp, rax
setns dl
add rdx, r14
mov rcx, rbp
sub rcx, rax
cmovo rcx, rdx
jg 0x140063780
xor r13d, r13d
jmp 0x1400637e8
mov rcx, r13
call fcn.14005e790
movabs rcx, 0xfffffffc00000000
jmp 0x140063a80
lea rcx, [rsp + 0xd0]
lea rdx, str.TimedWait
lea r8, str....._base_synchronizationwaitable_event.cc
mov r9d, 0x24
call fcn.140078ed0
mov rax, qword [rsp + 0x98]
mov r13, qword [rax]
mov rax, r13
movabs rcx, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x140135e48]
je 0x140063a27
mov qword [rsp + 0x178], r13
mov rdx, qword [rsp + 0x80]
mov r13, qword [rdx]
mov rax, r13
and rax, rcx
cmp rax, qword [0x140135e48]
je 0x14006474f
mov qword [rsp + 0x180], r13
mov qword [rsp + 0x188], rdx
mov rax, qword [rdx]
mov qword [rdx], r15
mov qword [rsp + 0x190], rax
mov rax, qword [rsp + 0x180]
test rax, rax
jne 0x140063b2d
xor ecx, ecx
mov byte [rsp + 0x198], cl
mov byte [rsp + 0x1a0], 0
mov rcx, qword [rsp + 0x90]
cmp byte [rcx], 0
je 0x140063b32
test rax, rax
jne 0x140063d27
mov rcx, qword [rsp + 0x178]
test rcx, rcx
je 0x140063b17
cmp qword [rsp + 0x180], 0
jne 0x140063b17
xor edx, edx
call fcn.140099480
test byte [0x140143050], 0x19
jne 0x140063b65
mov byte [rsp + 0x170], 1
jmp 0x140063701
mov cl, byte [rax + 0x20]
jmp 0x140063ad3
mov eax, dword [0x14014dd8c]
mov ecx, dword [0x140144910]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140063d7d
cmp byte [0x14014dd88], 0
jne 0x140063af8
jmp 0x140063dc6
movaps xmmword [rsp + 0x1e0], xmm6
movaps xmmword [rsp + 0x1d0], xmm6
movups xmmword [rsp + 0x20], xmm7
mov byte [rsp + 0x30], 0
lea rcx, [rsp + 0x1d0]
mov dl, 0x42
lea r8, [0x140143050]
lea r9, str.ScopedBlockingCallWithBaseSyncPrimitives
call fcn.140064aa0
mov rax, qword [rsp + 0x1d0]
test rax, rax
je 0x140063e05
mov cl, byte [rsp + 0x1e8]
mov rdx, qword [rsp + 0x1d8]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rdx
xor eax, eax
mov qword [rsp + 0x108], rax
mov byte [rsp + 0x110], cl
mov qword [rsp + 0x118], rax
mov qword [rsp + 0xf0], rax
lea rax, [rsp + 0xf8]
movupd xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 9]
lea rax, [rsp + 0x120]
movups xmmword [rax + 9], xmm1
movupd xmmword [rax], xmm0
mov rcx, qword [rsp + 0x120]
mov edx, 0x21
call fcn.14006e6a0
mov rbp, rax
mov rdx, qword [rsp + 0xd8]
lea rbx, [rsp + 0x158]
mov rcx, rbx
call fcn.1400cd460
movzx r9d, byte [rsp + 0x16f]
test r9b, r9b
jns 0x140063c5a
mov r9, qword [rsp + 0x160]
mov r8, qword [rsp + 0x158]
jmp 0x140063c61
and r9d, 0x7f
mov r8, rbx
mov rcx, rbp
mov edx, 2
call fcn.14006eaa0
cmp byte [rsp + 0x16f], 0
jns 0x140063c85
mov rcx, qword [rsp + 0x158]
call fcn.14009b57c
mov rdx, qword [rsp + 0xd0]
lea rbx, [rsp + 0x140]
mov rcx, rbx
call fcn.1400cd460
movzx r9d, byte [rsp + 0x157]
test r9b, r9b
jns 0x140063cbd
mov r9, qword [rsp + 0x148]
mov r8, qword [rsp + 0x140]
jmp 0x140063cc4
and r9d, 0x7f
mov r8, rbx
mov rcx, rbp
mov edx, 3
call fcn.14006eaa0
cmp byte [rsp + 0x157], 0
js 0x140063d18
lea rcx, [rsp + 0x118]
call fcn.140064ab0
lea rcx, [rsp + 0xf0]
call fcn.140064ab0
mov rcx, qword [rsp + 0x1e0]
test rcx, rcx
je 0x140063b20
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140159008]
jmp 0x140063b20
mov rcx, qword [rsp + 0x140]
call fcn.14009b57c
jmp 0x140063cdb
cmp byte [rax + 0x28], 0
je 0x140063af8
jmp 0x1400649b6
call fcn.1400673d0
cmp rdi, r12
jle 0x1400637ff
setns al
movzx eax, al
add rax, r14
mov rdx, rdi
sub rdx, r12
cmovo rdx, rax
lea rax, [r14 + r12]
add rax, 2
cmp rax, 2
cmovb rdx, r14
cmp rdi, r14
cmove rdx, r14
mov rcx, qword [rsp + 0x68]
call fcn.14005e8e0
jmp 0x1400637ff
lea rcx, [0x14014dd8c]
call fcn.14009b5e4
cmp dword [0x14014dd8c], 0xffffffff
jne 0x140063b57
mov rcx, qword [0x14014d7f0]
test rcx, rcx
je 0x140063dae
lea rdx, str.enable_background_thread_pool
call fcn.140091480
mov byte [0x14014dd88], 1
lea rcx, [0x14014dd8c]
call fcn.14009b584
jmp 0x140063b57
mov rax, qword [rsp + 0x180]
jmp 0x140063aef
mov r8d, 0xa
lea rdx, [rsp + 0x1d0]
call fcn.14006ec60
jmp 0x1400638ff
lea r13, [rsp + 0x118]
mov rcx, r13
call qword [0x140159008]
mov rax, qword [r13]
jmp 0x140063a04
mov rcx, qword [rsp + 0x1e0]
test rcx, rcx
je 0x140063e1f
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140159008]
lea r15, [rsp + 0x178]
jmp 0x140063b20
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x1400637ff
jmp 0x140063d36
mov rdx, qword [rsp + 0x68]
call fcn.140004430
jmp 0x1400637ff
mov ebp, 3
jmp 0x1400633f8
lea rdi, [rsp + 0x170]
mov rcx, rdi
call fcn.140060bd0
call qword [sym.imp.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], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x140143050]
lea r8, str.WorkerThread_active
mov cl, 0x45
xor r9d, r9d
call fcn.140060c80
test byte [0x140143050], 0x19
je 0x140063fc5
lea rdi, [rsp + 0x170]
mov rcx, rdi
call fcn.140060bd0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
movups xmmword [rsp + 0x20], xmm6
mov dword [rsp + 0x48], 8
mov qword [rsp + 0x40], 0
lea rdx, [0x140143050]
lea r8, str.WorkerThread_dead
mov cl, 0x49
xor r9d, r9d
call fcn.140060c80
jmp 0x140063fc5
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140159008]
jmp 0x140063f9e
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140063f6d
call sub.KERNEL32.dll_WakeConditionVariable
jmp 0x140063f88
mov rbx, qword [rsi + 0x48]
mov rcx, qword [rbx + 0x18]
mov qword [rbx + 0x18], 0
test rcx, rcx
je 0x140063f58
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [0x140159008]
mov rdi, qword [rbx + 0x30]
add rdi, 0x28
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140063f20
mov rax, qword [rbx + 0x30]
inc qword [rax + 0x170]
mov rax, qword [rbx + 0x30]
mov rcx, qword [rax + 0x178]
test rcx, rcx
jne 0x140063f2b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsi + 0x60]
test rcx, rcx
jne 0x140063f11
mov rdi, qword [rsi + 0x10]
mov qword [rsi + 0x10], 0
test rdi, rdi
jne 0x140064038
test byte [0x140143050], 0x19
mov rsi, qword [rsp + 0x78]
jne 0x140063e62
test rsi, rsi
je 0x140063fe9
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [0x140159008]
lock dec dword [rsi]
jne 0x140063fe9
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [0x140159008]
mov rcx, qword [rsp + 0x1f8]
xor rcx, rsp
call fcn.14009d810
movaps xmm6, xmmword [rsp + 0x200]
movaps xmm7, xmmword [rsp + 0x210]
movaps xmm8, xmmword [rsp + 0x220]
movaps xmm9, xmmword [rsp + 0x230]
movaps xmm10, xmmword [rsp + 0x240]
add rsp, 0x258
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lock dec dword [rdi + 8]
jne 0x140063fb3
mov rcx, rdi
call fcn.1400051f0
mov rcx, rdi
call fcn.14009b57c
jmp 0x140063fb3
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400633cd
lea rcx, [0x14014f6b0]
call fcn.14009b5e4
cmp dword [0x14014f6b0], 0xffffffff
jne 0x140063592
mov rax, qword [rsp + 0x118]
mov qword [0x14014f6a8], rax
lea rcx, [0x14014f6b0]
call fcn.14009b584
jmp 0x140063592
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140063462
lea rcx, [0x14014f6a4]
call fcn.14009b5e4
cmp dword [0x14014f6a4], 0xffffffff
jne 0x1400634ea
lea rcx, str.DelayFirstWorkerWake
call fcn.1400675d0
mov byte [0x14014f6a0], al
lea rcx, [0x14014f6a4]
call fcn.14009b584
jmp 0x1400634ea
mov rcx, qword [0x14014d718]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140064169
lea rcx, [rsp + 0x170]
call qword [0x140159008]
jmp 0x140064171
mov rax, qword [0x1401445a8]
lea rbx, [0x14009abc0]
cmp rax, rbx
jne 0x14006410c
lea rdi, [rsp + 0x170]
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 0x1400640e8
imul rax, rax, 0xf4240
cqo
idiv qword [0x14014d718]
mov qword [rsp + 0x170], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea r14, [rsp + 0x170]
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x30], eax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 8
mov qword [rsp + 0x40], 0
lea rdx, [0x140143050]
lea r8, str.WorkerThread_born
mov cl, 0x49
xor r9d, r9d
call fcn.140060c80
test byte [0x140143050], 0x19
je 0x140062f20
mov rax, qword [0x1401445a8]
cmp rax, rbx
jne 0x140064261
lea rdi, [rsp + 0x170]
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 0x140064271
imul rax, rax, 0xf4240
cqo
idiv qword [0x14014d718]
mov qword [rsp + 0x170], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x38], r14
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, [0x140143050]
lea r8, str.WorkerThread_active
mov cl, 0x42
xor r9d, r9d
call fcn.140060c80
jmp 0x140062f20
lea rcx, [rsp + 0x170]
call qword [0x140159008]
jmp 0x14006421a
mov rcx, qword [0x14014d718]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140064212
mov rcx, qword [0x14014d718]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140064319
lea rcx, [rsp + 0x170]
call qword [0x140159008]
jmp 0x140064321
mov rax, qword [0x1401445a8]
lea rcx, [0x14009abc0]
cmp rax, rcx
jne 0x1400642bc
lea rdi, [rsp + 0x170]
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 0x140064298
imul rax, rax, 0xf4240
cqo
idiv qword [0x14014d718]
mov qword [rsp + 0x170], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, [rsp + 0x170]
mov qword [rsp + 0x38], rcx
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, [0x140143050]
lea r8, str.WorkerThread_active
mov cl, 0x45
xor r9d, r9d
call fcn.140060c80
jmp 0x140062f9a
xor eax, eax
jmp 0x140063660
mov rcx, rdi
call fcn.1400915b0
jmp 0x14006441c
mov rbx, qword [0x14014bc00]
movapd xmm0, xmmword [0x14011bbd0]
lea rdi, [rsp + 0xf0]
movapd xmmword [rdi + 0x10], xmm0
movapd xmmword [rdi], xmm0
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
lea r8, [0x140143050]
lea r9, str.WorkerThread_active
mov rcx, rdi
mov dl, 0x42
call fcn.140064aa0
mov rdi, qword [rdi]
test rdi, rdi
je 0x1400644bc
xor rbx, rsi
mov al, byte [rsp + 0x108]
mov rcx, qword [rsp + 0xf8]
xor edx, edx
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x120], rdi
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x130], rdx
mov byte [rsp + 0x138], al
cmp qword [rdi + 0x10], rdx
jne 0x140064377
lea r14, [rsp + 0x120]
mov byte [rsp + 0x17e], 0xaa
mov dword [rsp + 0x17a], 0xaaaaaaaa
mov word [rsp + 0x170], 0x381
mov qword [rsp + 0x172], rbx
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x18]
lea rdx, [rax + 0xa]
cmp rdx, qword [rcx + 0x10]
ja 0x1400644df
movzx r8d, word [rsp + 0x178]
mov word [rax + 8], r8w
mov r8, qword [rsp + 0x170]
mov qword [rax], r8
mov qword [rcx + 0x18], rdx
add dword [rdi + 0x20], 0xa
lea rdi, [rsp + 0x118]
mov rax, qword [rdi]
lea rcx, [rsp + 0x170]
mov qword [rcx], rax
mov qword [rdi], 0
movupd xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 9]
movupd xmmword [rcx + 8], xmm0
movups xmmword [rcx + 0x11], xmm1
call fcn.140064ab0
mov rcx, rdi
call fcn.140064ab0
mov rcx, qword [rsp + 0x100]
test rcx, rcx
je 0x140062fb9
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140159008]
jmp 0x140062fb9
lea rdx, [rsp + 0x170]
mov r8d, 0xa
call fcn.14006ec60
jmp 0x14006447b
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebp, eax
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test ebp, ebp
jne 0x1400633e3
jmp 0x140063f32
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebp, eax
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test ebp, ebp
jne 0x140063478
jmp 0x14006335c
lea r13, [rsp + 0xf0]
mov rcx, r13
call qword [0x140159008]
mov rbp, qword [r13]
jmp 0x140063769
lea rcx, [rsp + 0x118]
call qword [0x140159008]
jmp 0x14006356d
mov ecx, ebp
call fcn.140004880
mov dword [rsi + 0x6c], ebp
jmp 0x140063401
lea rcx, [rsp + 0x170]
call qword [0x140159008]
jmp 0x1400630a2
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400645a5
lea r13, [rbx + 0x50]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140064589
mov rcx, qword [rbx + 0x58]
call fcn.140073500
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea r15, [rsp + 0x178]
jmp 0x1400631fd
lock dec dword [rcx + 8]
jne 0x140063393
mov edx, 1
call fcn.140079c40
jmp 0x140063393
int3
lock dec dword [r8 + 8]
jne 0x1400632b4
mov rcx, r8
mov edx, 1
call fcn.140079c40
jmp 0x1400632b4
lock dec dword [rcx + 8]
jne 0x14006460d
mov edx, 1
call fcn.140079c40
mov rcx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0xc8], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x170], xmm0
test rcx, rcx
lea r15, [rsp + 0x178]
je 0x1400632f1
lock dec dword [rcx + 8]
je 0x140064665
mov rcx, qword [rsp + 0x170]
test rcx, rcx
lea r15, [rsp + 0x178]
je 0x1400632f1
jmp 0x140064a85
mov edx, 1
call fcn.140079c40
jmp 0x140064647
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x140063297
mov qword [rsp + 0xc0], 0
lea r13, [rsp + 0x118]
mov rdx, r13
call fcn.14000aa80
mov r8, qword [r13]
jmp 0x1400632ab
lea rax, [r14 + r8]
add rax, 2
lea r9, [r14 + 1]
cmp rax, 1
jbe 0x1400646c6
lea r15, [rsp + 0x178]
jmp 0x1400635e5
cmp r8, r12
lea r15, [rsp + 0x178]
je 0x1400635e5
int3
lea rcx, [r14 + r9]
add rcx, 2
mov r12, r14
cmp rcx, 1
ja 0x14006367f
mov r12, r14
cmp r9, rax
je 0x14006367f
int3
mov rcx, qword [0x14014d718]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140063565
mov rcx, qword [0x14014d718]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov rbp, rax
add rbp, r8
jmp 0x140063769
mov rcx, r13
call fcn.14005e790
mov rdx, qword [rsp + 0x80]
jmp 0x140063aa6
mov rcx, rbp
call fcn.1400915b0
jmp 0x1400638a5
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140063105
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140063129
mov r15, qword [0x14014bc00]
lea rbp, [rsp + 0x1d0]
movaps xmmword [rbp + 0x10], xmm6
movaps xmmword [rbp], xmm6
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
lea r8, [0x140143950]
lea r9, str.WaitableEvent::Wait_Complete
mov rcx, rbp
mov dl, 0x49
call fcn.140064aa0
mov rcx, qword [rbp]
test rcx, rcx
je 0x14006483c
xor r15, qword [rsp + 0x68]
mov al, byte [rsp + 0x1e8]
mov rdx, qword [rsp + 0x1d8]
lea rbp, [rsp + 0xf0]
mov qword [rbp + 8], rcx
mov qword [rbp + 0x10], rdx
xor ebx, ebx
mov qword [rbp + 0x18], rbx
mov byte [rbp + 0x20], al
mov edx, 0x30
mov r8, r15
call fcn.140095f10
lea rcx, [rsp + 0x118]
mov qword [rcx], rbx
mov qword [rbp], rbx
movupd xmm0, xmmword [rbp + 8]
movups xmm1, xmmword [rbp + 0x11]
movupd xmmword [rcx + 8], xmm0
movups xmmword [rcx + 0x11], xmm1
call fcn.140064ab0
mov rcx, rbp
call fcn.140064ab0
mov rcx, qword [rsp + 0x1e0]
test rcx, rcx
je 0x140064856
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140159008]
lea r15, [rsp + 0x178]
jmp 0x1400637e8
lock dec dword [r13]
jne 0x1400648af
mov rax, qword [r13 + 0x10]
mov rcx, r13
call qword [0x140159008]
jmp 0x1400648af
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x60], rbx
jb 0x14006497f
mov r15, rcx
mov rax, qword [rsp + 0x70]
mov r13, qword [rax + rbx*8]
mov qword [rax + rbx*8], 0
mov rax, qword [r13 + 8]
mov rcx, r13
call qword [0x140159008]
test r13, r13
jne 0x140064863
inc rbx
xor eax, eax
cmp rbx, qword [rsp + 0x60]
cmove rbx, rax
mov rax, qword [rsp + 0x58]
cmp rbx, rax
mov rcx, r15
jne 0x140064879
cmp rax, rcx
jbe 0x140064a32
mov rax, qword [rsp + 0x60]
cmp rax, qword [rsp + 0x58]
jb 0x140064982
cmp r15, qword [rsp + 0x58]
jg 0x140064985
mov rbx, qword [rsp + 0x58]
shl rbx, 3
mov rax, r15
shl rax, 3
mov r15, rax
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx + rax]
test rcx, rcx
jne 0x140064920
mov rax, r15
add rax, 8
cmp rbx, rax
jne 0x1400648fe
jmp 0x140063173
lock dec dword [rcx]
jne 0x14006490f
mov rax, qword [rcx + 0x10]
call qword [0x140159008]
jmp 0x14006490f
mov rcx, qword [0x14014d718]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14006309a
mov rcx, qword [0x14014d718]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140063a04
int3
int3
int3
int3
int3
int3
xor edi, edi
ucomisd xmm0, qword [0x140125da8]
cmovae rdi, r14
jmp 0x1400634b4
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140159008]
jmp 0x140062f2d
mov r13, qword [rax + 0x38]
mov qword [rax + 0x38], 0
test r13, r13
je 0x140063af8
lock dec dword [r13]
jne 0x140063af8
mov rcx, r13
call fcn.14000d590
mov rcx, r13
call fcn.14009b57c
jmp 0x140063af8
cmp qword [rsp + 0x58], 0
js 0x14006498e
mov r13, qword [rsp + 0x58]
je 0x140063173
shl r13, 3
xor ebx, ebx
jmp 0x140064a1d
mov rax, qword [rcx + 0x10]
call qword [0x140159008]
add rbx, 8
cmp r13, rbx
je 0x140063173
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + rbx]
test rcx, rcx
je 0x140064a10
lock dec dword [rcx]
je 0x140064a06
jmp 0x140064a10
cmp qword [rsp + 0x60], r15
jb 0x140064988
jl 0x14006498b
je 0x1400649eb
shl qword [rsp + 0x60], 3
shl r15, 3
jmp 0x140064a70
mov rax, qword [rcx + 0x10]
call qword [0x140159008]
mov rax, r15
add rax, 8
mov r15, rax
cmp qword [rsp + 0x60], rax
je 0x1400649eb
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + r15]
test rcx, rcx
je 0x140064a5b
lock dec dword [rcx]
je 0x140064a51
jmp 0x140064a5b
lock dec dword [rcx + 8]
jne 0x1400632f1
mov edx, 1
call fcn.140079c40
jmp 0x1400632f1