Function at 0x1401373a0
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 [0x14029c028]
xor rax, rsp
mov qword [rsp + 0x1f8], rax
test byte [0x1402aa9c0], 0x19
jne 0x1401385fc
mov rcx, qword [rsi + 0x60]
test rcx, rcx
jne 0x140138e84
mov rcx, qword [rsi + 0x48]
mov rdx, rsi
call fcn.140015cc0
mov eax, dword [0x1402b7798]
test eax, eax
je 0x140137517
mov rax, qword [rsi + 0x50]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x14013743f
cmp dword [rsi + 0x68], 0
je 0x140137517
mov rcx, qword [0x1402b7790]
test rcx, rcx
je 0x140137517
lea rdi, [rsp + 0x170]
mov rdx, rdi
mov r8d, 2
call fcn.1400322f0
mov rax, qword [rdi]
mov qword [rsp + 0x78], rax
test byte [0x1402aa9c0], 0x19
jne 0x1401387ac
mov rcx, qword [rsi + 0x48]
lea rdx, [rsi + 0x30]
mov qword [rsp + 0x68], rdx
call fcn.140015e30
test byte [0x1402aa9c0], 0x19
jne 0x140138864
movabs r14, 0x7fffffffffffffff
lea r15, [rsp + 0x178]
mov eax, dword [0x1402ac5e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x1a0]
mov qword [rsp + 0x98], rcx
lea rcx, [rax + 0x1a8]
mov qword [rsp + 0x80], rcx
lea rax, [rax + 0x200]
mov qword [rsp + 0x90], rax
movaps xmm6, xmmword [0x14026dc70]
xorps xmm7, xmm7
movsd xmm8, qword [0x1402864f0]
movsd xmm9, qword [0x14027c990]
movsd xmm10, qword [0x140261040]
xor edi, edi
jmp 0x14013787c
xor eax, eax
jmp 0x140137468
mov rax, qword [0x1402abf18]
lea rcx, [0x140183600]
cmp rax, rcx
jne 0x140138a56
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 0x140138e11
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b7458]
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, [0x1402aa9c0]
lea r8, str.WorkerThread_active
xor r9d, r9d
call fcn.14013bad0
jmp 0x14013796f
lea r13, [rbx + 0x20]
mov rcx, r13
mov r15, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
call r15
test al, al
je 0x140138c51
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 0x140138c5f
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 0x140138d59
lea rcx, fcn.1400f2ed0
mov rdx, qword [rsp + 0x70]
xor r8d, r8d
call fcn.1400ef740
lea r15, [rsp + 0x178]
jmp 0x140137859
mov rax, qword [rbx + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x1401376dd
jmp 0x140138a74
mov rax, qword [rcx + 0x30]
cvtsi2sd xmm0, qword [rax + 0x90]
mulsd xmm0, xmm8
ucomisd xmm9, xmm0
jb 0x140138e71
maxsd xmm0, xmm10
cvttsd2si rdi, xmm0
jmp 0x140137994
mov rbx, qword [rsp + 0xc8]
test rbx, rbx
je 0x14013784d
mov qword [rsp + 0xc0], 0
mov al, byte [rbp + 0xd]
and al, 0x7f
cmp al, 2
je 0x140137674
lock dec dword [rbx + 0x18]
je 0x1401375cc
lock dec dword [rbp + 8]
jne 0x140137862
mov rcx, rbp
mov edx, 1
call fcn.14012fec0
jmp 0x140137862
mov rcx, qword [rsi + 0x48]
call fcn.14013a990
jmp 0x140137962
mov qword [rsp + 0xf0], rax
lea rcx, [rsp + 0xf0]
call fcn.1400ddc50
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.140139090
mov r8, qword [rsp + 0xc0]
test r8, r8
jne 0x140138b51
mov qword [rsp + 0x118], r8
mov qword [rsp + 0xc0], 0
test r8, r8
jne 0x140138ac0
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x170], 0
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc0], rax
test rcx, rcx
jne 0x140138add
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.1400ddc50
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.14017dd80
cmp qword [rsp + 0xc0], 0
jne 0x140138abd
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 0x1401376b7
mov qword [rsp + 0xc0], 0
test rbp, rbp
jne 0x1401376e7
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
jne 0x140138aa4
test r12b, r12b
jne 0x140138412
movzx eax, byte [rsi + 0x40]
test al, al
jne 0x140138412
movzx eax, byte [rsi + 0x70]
test al, al
jne 0x140138412
mov rbx, qword [rsi + 0x50]
lea r13, [rbx + 0x50]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140138537
mov rax, qword [rbx + 0x58]
test rax, rax
jne 0x1401389d4
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 0x140138338
mov ebp, dword [rsi + 0x68]
cmp dword [rsi + 0x6c], ebp
jne 0x140138a47
movaps xmmword [rsp + 0xc0], xmm6
mov rcx, qword [rsi + 0x48]
lea rdx, [rsp + 0xc0]
mov r8, rsi
call fcn.140140220
mov rax, qword [rsp + 0xc0]
test rax, rax
jne 0x140137720
movzx eax, byte [rsi + 0x40]
mov r12b, 1
test al, al
jne 0x14013783c
movzx eax, byte [rsi + 0x70]
test al, al
jne 0x14013783c
mov rbx, qword [rsi + 0x50]
lea r13, [rbx + 0x50]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14013857e
mov rax, qword [rbx + 0x58]
test rax, rax
jne 0x1401389f7
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test dil, 1
je 0x140137703
test byte [0x1402aa9c0], 0x19
jne 0x14013751e
mov rcx, qword [rsi + 0x48]
mov rax, qword [rcx]
lea rdx, [fcn.140015e30]
cmp qword [rax + 0x30], rdx
jne 0x140138329
cmp byte [rcx + 0x40], 0
mov rdi, r14
jne 0x14013768b
cmp rdi, 0xf4240
mov r12d, 0xf4240
cmovl r12, rdi
mov eax, dword [0x1402ba200]
mov ecx, dword [0x1402ac5e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14013858c
cmp byte [0x1402ba1fc], 0
je 0x140137b71
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x118], rax
mov rax, qword [fcn.14014f070]
lea rcx, [0x140183600]
cmp rax, rcx
jne 0x140138a34
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 0x140138bde
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b7458]
mov qword [rsp + 0x118], rax
mov eax, dword [0x1402ba210]
mov ecx, dword [0x1402ac5e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140138545
mov rax, qword [0x1402ba208]
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 0x140138b87
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 0x140137b1f
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 0x140138850
test r9, r9
jle 0x140137b2e
add rax, 0xf4240
cmovo rax, r14
lea rcx, [r14 + rax]
add rcx, 2
cmp rcx, 2
jb 0x140138bba
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 0x14013830c
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 0x140137f1b
cmp r12, r14
je 0x140137e61
mov rax, qword [0x1402abf18]
lea rcx, [0x140183600]
cmp rax, rcx
jne 0x140138a1a
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 0x140138c05
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b7458]
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 0x140137e57
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 0x140137e88
mov r13b, 1
cmp byte [rsi + 0x38], 0
je 0x140137e69
cmp byte [rsp + 0x170], 0
jne 0x140137e7b
test r13b, r13b
je 0x140138216
xor r12d, r12d
test byte [0x1402aa9c0], 0x19
mov edi, 0
je 0x14013783c
mov rdi, qword [0x1402b5900]
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, [0x1402aa9c0]
lea r9, str.WorkerThread_active
call fcn.140138f80
mov rbp, qword [rsp + 0xf0]
test rbp, rbp
je 0x140137e33
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 0x140138c44
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 0x1401382b3
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.140138f90
lea rcx, [rsp + 0x118]
call fcn.140138f90
mov rcx, qword [rsp + 0x100]
test rcx, rcx
je 0x140137e4d
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1402ca008]
xor r12d, r12d
xor edi, edi
jmp 0x14013783c
mov edx, 0xffffffff
jmp 0x140137ca5
mov rbp, r14
jmp 0x140137c5d
test byte [0x1402ab2c0], 0x19
je 0x140137cc8
jmp 0x140138c6d
mov rcx, r15
call fcn.1400dee50
jmp 0x140137cd6
mov rax, qword [0x1402abf18]
lea rcx, [0x140183600]
cmp rax, rcx
jne 0x1401382cb
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 0x140138e38
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b7458]
xor edx, edx
cmp rbp, rax
setns dl
add rdx, r14
mov rcx, rbp
sub rcx, rax
cmovo rcx, rdx
jg 0x140137c60
xor r13d, r13d
jmp 0x140137cc8
mov rcx, r13
call fcn.1400ddc60
movabs rcx, 0xfffffffc00000000
jmp 0x140137f60
lea rcx, [rsp + 0xd0]
lea rdx, str.TimedWait
lea r8, str....._base_synchronizationwaitable_event.cc
mov r9d, 0x24
call fcn.1400ee990
mov rax, qword [rsp + 0x98]
mov r13, qword [rax]
mov rax, r13
movabs rcx, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x14029ce48]
je 0x140137f07
mov qword [rsp + 0x178], r13
mov rdx, qword [rsp + 0x80]
mov r13, qword [rdx]
mov rax, r13
and rax, rcx
cmp rax, qword [0x14029ce48]
je 0x140138c2f
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 0x14013800d
xor ecx, ecx
mov byte [rsp + 0x198], cl
mov byte [rsp + 0x1a0], 0
mov rcx, qword [rsp + 0x90]
cmp byte [rcx], 0
je 0x140138012
test rax, rax
jne 0x140138207
mov rcx, qword [rsp + 0x178]
test rcx, rcx
je 0x140137ff7
cmp qword [rsp + 0x180], 0
jne 0x140137ff7
xor edx, edx
call fcn.14017f280
test byte [0x1402aa9c0], 0x19
jne 0x140138045
mov byte [rsp + 0x170], 1
jmp 0x140137be1
mov cl, byte [rax + 0x20]
jmp 0x140137fb3
mov eax, dword [0x1402b7b58]
mov ecx, dword [0x1402ac5e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14013825d
cmp byte [0x1402b7b54], 0
jne 0x140137fd8
jmp 0x1401382a6
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, [0x1402aa9c0]
lea r9, str.ScopedBlockingCallWithBaseSyncPrimitives
call fcn.140138f80
mov rax, qword [rsp + 0x1d0]
test rax, rax
je 0x1401382e5
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.14010b640
mov rbp, rax
mov rdx, qword [rsp + 0xd8]
lea rbx, [rsp + 0x158]
mov rcx, rbx
call fcn.1401c4780
movzx r9d, byte [rsp + 0x16f]
test r9b, r9b
jns 0x14013813a
mov r9, qword [rsp + 0x160]
mov r8, qword [rsp + 0x158]
jmp 0x140138141
and r9d, 0x7f
mov r8, rbx
mov rcx, rbp
mov edx, 2
call fcn.14010baf0
cmp byte [rsp + 0x16f], 0
jns 0x140138165
mov rcx, qword [rsp + 0x158]
call fcn.140184dbc
mov rdx, qword [rsp + 0xd0]
lea rbx, [rsp + 0x140]
mov rcx, rbx
call fcn.1401c4780
movzx r9d, byte [rsp + 0x157]
test r9b, r9b
jns 0x14013819d
mov r9, qword [rsp + 0x148]
mov r8, qword [rsp + 0x140]
jmp 0x1401381a4
and r9d, 0x7f
mov r8, rbx
mov rcx, rbp
mov edx, 3
call fcn.14010baf0
cmp byte [rsp + 0x157], 0
js 0x1401381f8
lea rcx, [rsp + 0x118]
call fcn.140138f90
lea rcx, [rsp + 0xf0]
call fcn.140138f90
mov rcx, qword [rsp + 0x1e0]
test rcx, rcx
je 0x140138000
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1402ca008]
jmp 0x140138000
mov rcx, qword [rsp + 0x140]
call fcn.140184dbc
jmp 0x1401381bb
cmp byte [rax + 0x28], 0
je 0x140137fd8
jmp 0x140138e96
call fcn.14013d500
cmp rdi, r12
jle 0x140137cdf
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.1400dddb0
jmp 0x140137cdf
lea rcx, [0x1402b7b58]
call fcn.140184f58
cmp dword [0x1402b7b58], 0xffffffff
jne 0x140138037
mov rcx, qword [0x1402b7668]
test rcx, rcx
je 0x14013828e
lea rdx, str.enable_background_thread_pool
call fcn.140168700
mov byte [0x1402b7b54], 1
lea rcx, [0x1402b7b58]
call fcn.140184fc0
jmp 0x140138037
mov rax, qword [rsp + 0x180]
jmp 0x140137fcf
mov r8d, 0xa
lea rdx, [rsp + 0x1d0]
call fcn.14010bcb0
jmp 0x140137ddf
lea r13, [rsp + 0x118]
mov rcx, r13
call qword [0x1402ca008]
mov rax, qword [r13]
jmp 0x140137ee4
mov rcx, qword [rsp + 0x1e0]
test rcx, rcx
je 0x1401382ff
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1402ca008]
lea r15, [rsp + 0x178]
jmp 0x140138000
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x140137cdf
jmp 0x140138216
mov rdx, qword [rsp + 0x68]
call fcn.140015e30
jmp 0x140137cdf
mov ebp, 3
jmp 0x1401378d8
lea rdi, [rsp + 0x170]
mov rcx, rdi
call fcn.14014f070
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, [0x1402aa9c0]
lea r8, str.WorkerThread_active
mov cl, 0x45
xor r9d, r9d
call fcn.14013bad0
test byte [0x1402aa9c0], 0x19
je 0x1401384a5
lea rdi, [rsp + 0x170]
mov rcx, rdi
call fcn.14014f070
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, [0x1402aa9c0]
lea r8, str.WorkerThread_dead
mov cl, 0x49
xor r9d, r9d
call fcn.14013bad0
jmp 0x1401384a5
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x1402ca008]
jmp 0x14013847e
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14013844d
call sub.KERNEL32.dll_WakeConditionVariable
jmp 0x140138468
mov rbx, qword [rsi + 0x48]
mov rcx, qword [rbx + 0x18]
mov qword [rbx + 0x18], 0
test rcx, rcx
je 0x140138438
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [0x1402ca008]
mov rdi, qword [rbx + 0x30]
add rdi, 0x28
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140138400
mov rax, qword [rbx + 0x30]
inc qword [rax + 0x170]
mov rax, qword [rbx + 0x30]
mov rcx, qword [rax + 0x178]
test rcx, rcx
jne 0x14013840b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsi + 0x60]
test rcx, rcx
jne 0x1401383f1
mov rdi, qword [rsi + 0x10]
mov qword [rsi + 0x10], 0
test rdi, rdi
jne 0x140138518
test byte [0x1402aa9c0], 0x19
mov rsi, qword [rsp + 0x78]
jne 0x140138342
test rsi, rsi
je 0x1401384c9
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [0x1402ca008]
lock dec dword [rsi]
jne 0x1401384c9
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [0x1402ca008]
mov rcx, qword [rsp + 0x1f8]
xor rcx, rsp
call fcn.1401879f0
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 0x140138493
mov rcx, rdi
call fcn.140016280
mov rcx, rdi
call fcn.140184dbc
jmp 0x140138493
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1401378ad
lea rcx, [0x1402ba210]
call fcn.140184f58
cmp dword [0x1402ba210], 0xffffffff
jne 0x140137a72
mov rax, qword [rsp + 0x118]
mov qword [0x1402ba208], rax
lea rcx, [0x1402ba210]
call fcn.140184fc0
jmp 0x140137a72
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140137942
lea rcx, [0x1402ba200]
call fcn.140184f58
cmp dword [0x1402ba200], 0xffffffff
jne 0x1401379ca
lea rcx, str.2d__
call fcn.14013d700
mov byte [0x1402ba1fc], al
lea rcx, [0x1402ba200]
call fcn.140184fc0
jmp 0x1401379ca
mov rcx, qword [0x1402b7458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140138649
lea rcx, [rsp + 0x170]
call qword [0x1402ca008]
jmp 0x140138651
mov rax, qword [0x1402abf18]
lea rbx, [0x140183600]
cmp rax, rbx
jne 0x1401385ec
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 0x1401385c8
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b7458]
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, [0x1402aa9c0]
lea r8, str.WorkerThread_born
mov cl, 0x49
xor r9d, r9d
call fcn.14013bad0
test byte [0x1402aa9c0], 0x19
je 0x140137400
mov rax, qword [0x1402abf18]
cmp rax, rbx
jne 0x140138741
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 0x140138751
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b7458]
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, [0x1402aa9c0]
lea r8, str.WorkerThread_active
mov cl, 0x42
xor r9d, r9d
call fcn.14013bad0
jmp 0x140137400
lea rcx, [rsp + 0x170]
call qword [0x1402ca008]
jmp 0x1401386fa
mov rcx, qword [0x1402b7458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1401386f2
mov rcx, qword [0x1402b7458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1401387f9
lea rcx, [rsp + 0x170]
call qword [0x1402ca008]
jmp 0x140138801
mov rax, qword [0x1402abf18]
lea rcx, [0x140183600]
cmp rax, rcx
jne 0x14013879c
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 0x140138778
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b7458]
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, [0x1402aa9c0]
lea r8, str.WorkerThread_active
mov cl, 0x45
xor r9d, r9d
call fcn.14013bad0
jmp 0x14013747a
xor eax, eax
jmp 0x140137b40
mov rcx, rdi
call fcn.1401686b0
jmp 0x1401388fc
mov rbx, qword [0x1402b5900]
movapd xmm0, xmmword [0x14026dc70]
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, [0x1402aa9c0]
lea r9, str.WorkerThread_active
mov rcx, rdi
mov dl, 0x42
call fcn.140138f80
mov rdi, qword [rdi]
test rdi, rdi
je 0x14013899c
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 0x140138857
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 0x1401389bf
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.140138f90
mov rcx, rdi
call fcn.140138f90
mov rcx, qword [rsp + 0x100]
test rcx, rcx
je 0x140137499
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1402ca008]
jmp 0x140137499
lea rdx, [rsp + 0x170]
mov r8d, 0xa
call fcn.14010bcb0
jmp 0x14013895b
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 0x1401378c3
jmp 0x140138412
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 0x140137958
jmp 0x14013783c
lea r13, [rsp + 0xf0]
mov rcx, r13
call qword [0x1402ca008]
mov rbp, qword [r13]
jmp 0x140137c49
lea rcx, [rsp + 0x118]
call qword [0x1402ca008]
jmp 0x140137a4d
mov ecx, ebp
call fcn.1400075c0
mov dword [rsi + 0x6c], ebp
jmp 0x1401378e1
lea rcx, [rsp + 0x170]
call qword [0x1402ca008]
jmp 0x140137582
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140138a85
lea r13, [rbx + 0x50]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140138a69
mov rcx, qword [rbx + 0x58]
call fcn.140124eb0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea r15, [rsp + 0x178]
jmp 0x1401376dd
lock dec dword [rcx + 8]
jne 0x140137873
mov edx, 1
call fcn.14012fec0
jmp 0x140137873
int3
lock dec dword [r8 + 8]
jne 0x140137794
mov rcx, r8
mov edx, 1
call fcn.14012fec0
jmp 0x140137794
lock dec dword [rcx + 8]
jne 0x140138aed
mov edx, 1
call fcn.14012fec0
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 0x1401377d1
lock dec dword [rcx + 8]
je 0x140138b45
mov rcx, qword [rsp + 0x170]
test rcx, rcx
lea r15, [rsp + 0x178]
je 0x1401377d1
jmp 0x140138f65
mov edx, 1
call fcn.14012fec0
jmp 0x140138b27
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x140137777
mov qword [rsp + 0xc0], 0
lea r13, [rsp + 0x118]
mov rdx, r13
call fcn.140013e60
mov r8, qword [r13]
jmp 0x14013778b
lea rax, [r14 + r8]
add rax, 2
lea r9, [r14 + 1]
cmp rax, 1
jbe 0x140138ba6
lea r15, [rsp + 0x178]
jmp 0x140137ac5
cmp r8, r12
lea r15, [rsp + 0x178]
je 0x140137ac5
int3
lea rcx, [r14 + r9]
add rcx, 2
mov r12, r14
cmp rcx, 1
ja 0x140137b5f
mov r12, r14
cmp r9, rax
je 0x140137b5f
int3
mov rcx, qword [0x1402b7458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140137a45
mov rcx, qword [0x1402b7458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov rbp, rax
add rbp, r8
jmp 0x140137c49
mov rcx, r13
call fcn.1400ddc60
mov rdx, qword [rsp + 0x80]
jmp 0x140137f86
mov rcx, rbp
call fcn.1401686b0
jmp 0x140137d85
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1401375e5
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140137609
mov r15, qword [0x1402b5900]
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, [0x1402ab2c0]
lea r9, str.WaitableEvent::Wait_Complete
mov rcx, rbp
mov dl, 0x49
call fcn.140138f80
mov rcx, qword [rbp]
test rcx, rcx
je 0x140138d1c
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.140171390
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.140138f90
mov rcx, rbp
call fcn.140138f90
mov rcx, qword [rsp + 0x1e0]
test rcx, rcx
je 0x140138d36
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1402ca008]
lea r15, [rsp + 0x178]
jmp 0x140137cc8
lock dec dword [r13]
jne 0x140138d8f
mov rax, qword [r13 + 0x10]
mov rcx, r13
call qword [0x1402ca008]
jmp 0x140138d8f
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x60], rbx
jb 0x140138e5f
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 [0x1402ca008]
test r13, r13
jne 0x140138d43
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 0x140138d59
cmp rax, rcx
jbe 0x140138f12
mov rax, qword [rsp + 0x60]
cmp rax, qword [rsp + 0x58]
jb 0x140138e62
cmp r15, qword [rsp + 0x58]
jg 0x140138e65
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 0x140138e00
mov rax, r15
add rax, 8
cmp rbx, rax
jne 0x140138dde
jmp 0x140137653
lock dec dword [rcx]
jne 0x140138def
mov rax, qword [rcx + 0x10]
call qword [0x1402ca008]
jmp 0x140138def
mov rcx, qword [0x1402b7458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14013757a
mov rcx, qword [0x1402b7458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140137ee4
int3
int3
int3
int3
int3
int3
xor edi, edi
ucomisd xmm0, qword [0x140261040]
cmovae rdi, r14
jmp 0x140137994
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1402ca008]
jmp 0x14013740d
mov r13, qword [rax + 0x38]
mov qword [rax + 0x38], 0
test r13, r13
je 0x140137fd8
lock dec dword [r13]
jne 0x140137fd8
mov rcx, r13
call fcn.14000fc10
mov rcx, r13
call fcn.140184dbc
jmp 0x140137fd8
cmp qword [rsp + 0x58], 0
js 0x140138e6e
mov r13, qword [rsp + 0x58]
je 0x140137653
shl r13, 3
xor ebx, ebx
jmp 0x140138efd
mov rax, qword [rcx + 0x10]
call qword [0x1402ca008]
add rbx, 8
cmp r13, rbx
je 0x140137653
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + rbx]
test rcx, rcx
je 0x140138ef0
lock dec dword [rcx]
je 0x140138ee6
jmp 0x140138ef0
cmp qword [rsp + 0x60], r15
jb 0x140138e68
jl 0x140138e6b
je 0x140138ecb
shl qword [rsp + 0x60], 3
shl r15, 3
jmp 0x140138f50
mov rax, qword [rcx + 0x10]
call qword [0x1402ca008]
mov rax, r15
add rax, 8
mov r15, rax
cmp qword [rsp + 0x60], rax
je 0x140138ecb
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + r15]
test rcx, rcx
je 0x140138f3b
lock dec dword [rcx]
je 0x140138f31
jmp 0x140138f3b
lock dec dword [rcx + 8]
jne 0x1401377d1
mov edx, 1
call fcn.14012fec0
jmp 0x1401377d1