Function at 0x140074210
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, 0x1a8
movaps xmmword [rsp + 0x190], xmm10
movaps xmmword [rsp + 0x180], xmm9
movaps xmmword [rsp + 0x170], xmm8
movaps xmmword [rsp + 0x160], xmm7
movaps xmmword [rsp + 0x150], xmm6
mov rsi, rcx
mov rax, qword [0x14013b028]
xor rax, rsp
mov qword [rsp + 0x148], rax
mov qword [rsp + 0xc0], 0xa
mov al, byte [0x14014c82a]
test al, al
jne 0x1400743fe
mov qword [rsp + 0xc0], 0xa
mov al, byte [0x14014c82a]
test al, al
jne 0x1400743b8
mov rcx, qword [rsi + 0x48]
test rcx, rcx
jne 0x140075d41
mov rax, qword [rsi]
mov rax, qword [rax + 0x20]
mov rcx, rsi
call qword [0x140163008]
mov rcx, qword [rax]
mov r8, qword [rcx + 0x10]
mov rcx, rax
mov rdx, rsi
mov rax, r8
call qword [0x140163008]
mov eax, dword [0x14014cca0]
xor ebx, ebx
test eax, eax
je 0x1400743aa
mov rax, qword [rsi + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x1400742f2
cmp dword [rsi + 0x50], 0
je 0x1400743aa
mov rcx, qword [0x14014cc98]
test rcx, rcx
je 0x140075cff
lea rdi, [rsp + 0x100]
mov rdx, rdi
mov r8d, 2
call fcn.14001aa20
mov rax, qword [rdi]
mov qword [rsp + 0x40], rax
mov al, 1
mov qword [rsp + 0x48], rax
movabs rbp, 0x7fffffffffffffff
mov eax, dword [0x140149910]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x128]
mov qword [rsp + 0x38], rcx
lea rcx, [rax + 0x168]
mov qword [rsp + 0x68], rcx
lea r13, [rax + 0x170]
lea rcx, [rax + 0x180]
mov qword [rsp + 0x58], rcx
lea rax, [rax + 0x150]
mov qword [rsp + 0x50], rax
movaps xmm6, xmmword [0x14011bb10]
movsd xmm7, qword [0x14012b840]
movsd xmm8, qword [0x140129370]
movsd xmm9, qword [0x140129378]
xorps xmm10, xmm10
mov qword [rsp + 0x60], r13
jmp 0x140074aea
xor eax, eax
mov qword [rsp + 0x40], rax
xor eax, eax
jmp 0x140074322
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0x100]
mov qword [r8], rax
lea rax, [0x14011efa8]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x42
lea rdx, [rsp + 0xc0]
mov r9d, 1
call fcn.140007e70
jmp 0x140074297
movzx ecx, al
lea rax, str.WorkerThread_born
lea r8, [rsp + 0x100]
mov qword [r8], rax
lea rax, [0x14011efa8]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 8
mov byte [rsp + 0x28], 0x49
lea rdx, [rsp + 0xc0]
mov r9d, 3
call fcn.140007e70
jmp 0x14007427d
mov rcx, qword [r13]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x140074710
mov eax, dword [0x140149910]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r15, qword [rax + 0x160]
cmp r15, 2
jb 0x14007449f
mov byte [r15 + 4], 0
mov r14d, pe_nt_image_headers64
lea rdx, [r15 + r14]
mov rcx, r15
xor r8d, r8d
call fcn.14007f2d0
add r14, 0x10
cmp r14, 0x4f8
jne 0x140074483
mov rax, qword [rsp + 0xb8]
cmp rax, r12
jle 0x140074710
setns cl
movzx ecx, cl
add rcx, rbp
mov rdx, rax
sub rdx, r12
cmovo rdx, rcx
cmp rax, rbp
cmove rdx, rbp
lea rax, [r12 + rbp]
add rax, 2
cmp rax, 2
cmovb rdx, rbp
mov rcx, rdi
call fcn.140077ed0
jmp 0x140074710
xor r12d, r12d
jmp 0x140074a50
lea rcx, [rsp + 0xc0]
call qword [0x140163008]
mov rax, qword [rsp + 0xc0]
jmp 0x14007455f
mov rax, qword [0x14013d540]
lea rcx, [0x14009f3c0]
cmp rax, rcx
jne 0x1400744ef
mov qword [rsp + 0xc0], 0
lea rcx, [rsp + 0xc0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xc0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140075d06
imul rax, rax, 0xf4240
cqo
idiv qword [0x14014cb70]
xor edx, edx
cmp r15, rax
setns dl
add rdx, rbp
mov rcx, r15
sub rcx, rax
cmovo rcx, rdx
jg 0x140074699
jmp 0x140075563
movzx ecx, al
mov rax, qword [0x14014adc0]
xor rax, rsi
mov qword [rsp + 0x100], rax
lea rax, str.WorkerThread_active
mov qword [rsp + 0xc0], rax
lea rax, [rsp + 0x100]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xf8]
lea r8, [rsp + 0xc0]
mov r9d, 1
call fcn.140065f20
jmp 0x14007472a
mov rcx, rdi
call fcn.1400777b0
jmp 0x140074710
mov qword [rsp + 0xf0], 0x9b
mov al, byte [0x14014c8bb]
test al, al
je 0x1400746f9
jmp 0x140075cac
mov rcx, rsi
call qword [0x140163008]
mov rcx, rax
jmp 0x1400749c2
lea rcx, [rsp + 0x100]
call fcn.14005a8d0
jmp 0x140074707
mov rcx, rsi
call qword [0x140163008]
mov rcx, rax
jmp 0x1400747e7
mov edx, 0xffffffff
jmp 0x1400746da
mov qword [rsp + 0xc0], 0
lea rcx, [rsp + 0xc0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xc0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140075c0e
imul rax, rax, 0xf4240
cqo
idiv qword [0x14014cb70]
mov r15, rax
lea rax, [r15 + r12]
sar rax, 0x3f
btc rax, 0x3f
add r15, r12
cmovo r15, rax
mov rcx, r12
cmp rcx, rbp
je 0x140074630
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 rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x140074507
mov r15b, 1
cmp byte [rdi + 0x10], 0
je 0x1400745dd
cmp byte [rsp + 0x140], 0
jne 0x14007460d
test r15b, r15b
je 0x140074458
mov qword [rsp + 0xf8], 0xa
mov al, byte [0x14014c82a]
test al, al
jne 0x14007457f
mov al, byte [rsi + 0x30]
test al, al
jne 0x1400744e7
mov al, byte [rsi + 0x58]
test al, al
jne 0x1400744e7
mov r14, qword [rsi + 0x38]
lea rdi, [r14 + 0x50]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140075620
mov rax, qword [r14 + 0x58]
test rax, rax
jne 0x14007590f
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp byte [rsp + 0x48], 0
je 0x1400747a6
cmp byte [rsp + 0xa8], 0
jne 0x140075a5e
mov qword [rsp + 0x98], 0
mov byte [rsp + 0xa0], bl
mov byte [rsp + 0x90], bl
mov byte [rsp + 0xa8], 1
mov rax, qword [rsi + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x14007599e
mov edi, dword [rsi + 0x50]
cmp dword [rsi + 0x54], edi
jne 0x140075a70
movaps xmmword [rsp + 0x100], xmm6
mov rax, qword [rsi]
mov rax, qword [rax + 0x20]
lea rcx, [0x140075e10]
cmp rax, rcx
jne 0x14007461f
mov rcx, qword [rsi + 0x70]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
lea rdx, [rsp + 0x100]
mov r8, rsi
call qword [0x140163008]
mov rax, qword [rsp + 0x100]
test rax, rax
je 0x14007531a
mov qword [rsp + 0xf0], rax
lea rcx, [rsp + 0xf0]
call fcn.14005a1d0
mov rcx, qword [rsi + 0x38]
movaps xmm0, xmmword [rsp + 0x100]
movups xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x100], xmm10
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0x80]
call fcn.140075e20
mov r8, qword [rsp + 0x100]
test r8, r8
jne 0x140075a29
mov qword [rsp + 0xf8], r8
mov qword [rsp + 0x100], 0
test r8, r8
jne 0x1400759a8
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xc0], 0
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x100], rax
test rcx, rcx
jne 0x1400759c5
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0xf8], rax
lea rcx, [rsp + 0xf8]
call fcn.14005a1d0
cmp byte [rsp + 0x48], 0
je 0x14007499f
cmp byte [rsp + 0xa8], 0
je 0x14007497b
cmp byte [rsp + 0x90], 0
je 0x14007497b
mov rax, qword [rsp + 0x50]
mov rdi, qword [rax]
test rdi, rdi
je 0x14007497b
mov rax, qword [rdi + 0x10]
test rax, rax
js 0x140075979
cmp dword [rdi + 0x24], 1
jne 0x140075a98
cmp qword [rdi + 0x18], 0
jne 0x140075b06
movabs rax, 0xbfffffffffffffff
lock and qword [rdi + 0x10], rax
mov r15, qword [rsp + 0x98]
cmp qword [rdi + 0x18], 0
jne 0x140075b2c
mov rax, qword [rdi + 0x10]
movabs rcx, 0x4000000000000000
and rax, rcx
movabs rcx, 0xffffffffffffff
and r15, rcx
or r15, rax
mov qword [rdi + 0x10], r15
dec dword [rdi + 0x24]
mov qword [rsp + 0x98], 0
mov byte [rsp + 0xa0], 0
mov byte [rsp + 0x90], 0
mov byte [rsp + 0xa8], 1
movaps xmmword [rsp + 0xc0], xmm6
mov rax, qword [rsi]
mov rax, qword [rax + 0x20]
lea rcx, [0x140075e10]
cmp rax, rcx
jne 0x1400745fc
mov rcx, qword [rsi + 0x70]
movapd xmm0, xmmword [rsp + 0x100]
movupd xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x100], xmm10
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0x70]
mov r9, rsi
call qword [0x140163008]
mov rax, qword [rsi + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x1400756c5
mov edi, dword [rsi + 0x50]
cmp dword [rsi + 0x54], edi
jne 0x140075945
cmp qword [rsp + 0x100], 0
jne 0x14007599b
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rcx
test rax, rax
jne 0x140074810
mov r12b, 1
cmp byte [rsp + 0xa8], 0
je 0x140074ae1
cmp byte [rsp + 0x90], 0
je 0x140074ae1
mov rax, qword [rsp + 0x50]
mov rdi, qword [rax]
test rdi, rdi
je 0x140074ae1
mov rax, qword [rdi + 0x10]
test rax, rax
js 0x14007598a
cmp dword [rdi + 0x24], 1
jne 0x140075b76
cmp qword [rdi + 0x18], 0
jne 0x140075bc2
movabs rax, 0xbfffffffffffffff
lock and qword [rdi + 0x10], rax
mov r15, qword [rsp + 0x98]
cmp qword [rdi + 0x18], 0
jne 0x140075be8
mov rax, qword [rdi + 0x10]
movabs rcx, 0x4000000000000000
and rax, rcx
movabs rcx, 0xffffffffffffff
and r15, rcx
or r15, rax
mov qword [rdi + 0x10], r15
dec dword [rdi + 0x24]
test r12b, r12b
je 0x140075461
mov al, byte [rsi + 0x30]
test al, al
jne 0x140075461
mov al, byte [rsi + 0x58]
test al, al
jne 0x140075461
mov r14, qword [rsi + 0x38]
lea rdi, [r14 + 0x50]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140075612
mov rax, qword [r14 + 0x58]
test rax, rax
jne 0x140075441
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0xa0], xmm6
mov byte [rsp + 0x90], bl
mov byte [rsp + 0xa8], bl
mov qword [rsp + 0xc0], 0xa
mov al, byte [0x14014c82a]
test al, al
jne 0x140075387
mov edi, dword [0x14013d084]
test edi, edi
jne 0x140074f4f
cmp byte [rsp + 0xa8], 0
jne 0x140075a7f
mov rax, qword [rsi]
mov rax, qword [rax + 0x20]
lea rcx, [0x140075e10]
cmp rax, rcx
jne 0x140074e1d
mov rdi, qword [rsi + 0x70]
mov rax, qword [rdi]
lea rcx, [fcn.1400777b0]
cmp qword [rax + 0x30], rcx
jne 0x1400745d0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xb8], rax
mov rax, qword [rdi]
mov rax, qword [rax + 0x28]
lea rcx, [0x14009f950]
cmp rax, rcx
jne 0x140074df7
cmp byte [rdi + 0x50], 0
mov r12, rbp
jne 0x1400753d2
mov qword [rsp + 0xb8], r12
mov eax, 0xf4240
cmp r12, rax
cmovge r12, rax
mov eax, dword [0x14015a5ec]
mov ecx, dword [0x140149910]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400755d6
cmp byte [0x14015a5e8], 0
je 0x140074d6e
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x100], rax
mov rax, qword [fcn.14009f310]
lea rcx, [rsp + 0x100]
call qword [0x140163008]
mov eax, dword [0x14015a5f8]
mov ecx, dword [0x140149910]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14007556b
mov rax, qword [0x14015a5f0]
mov ecx, 0x3938700
add rax, rcx
cmovo rax, rbp
mov r8, qword [rsp + 0x100]
cmp r8, rax
cmovle r12, rcx
lea rax, [r12 + rbp]
add rax, 2
cmp rax, 2
jb 0x140075ae4
lea rax, [r8 + r12]
sar rax, 0x3f
btc rax, 0x3f
add r12, r8
cmovo r12, rax
mov r9, r12
xor eax, eax
mov rcx, r9
neg rcx
setns al
add rax, rbp
mov rcx, r9
neg rcx
cmovo rcx, rax
lea rax, [rcx + rbp]
add rax, 2
mov rdx, rbp
cmp rax, 2
jb 0x140074d1f
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 rdx, rcx
je 0x1400758fb
mov rax, rdx
add rax, 0xf4240
cmovo rax, rbp
test r9, r9
cmovle rax, rdx
lea rcx, [rax + rbp]
add rcx, 2
cmp rcx, 2
jb 0x140075b52
lea rcx, [r9 + rax]
sar rcx, 0x3f
btc rcx, 0x3f
add r9, rax
cmovo r9, rcx
mov r12, r9
xor eax, eax
cmp r12, r8
setns al
add rax, rbp
sub r12, r8
cmovo r12, rax
lea r13, [rdi + 8]
test r12, r12
jle 0x140074444
movaps xmmword [rsp + 0x100], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x140], rax
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x110], xmm6
mov byte [rsp + 0x100], bl
mov byte [rsp + 0x140], bl
cmp byte [rdi + 0x10], bl
je 0x140074e2e
cmp r12, rbp
je 0x140074e15
mov rax, qword [0x14013d540]
lea rcx, [0x14009f3c0]
cmp rax, rcx
je 0x14007463a
lea rcx, [rsp + 0xf8]
call qword [0x140163008]
mov r15, qword [rsp + 0xf8]
jmp 0x140074682
mov rcx, rdi
lea rdx, [rsp + 0xb8]
call qword [0x140163008]
mov r12, qword [rsp + 0xb8]
jmp 0x140074bf0
mov r15, rbp
jmp 0x140074696
mov rcx, rsi
call qword [0x140163008]
mov rdi, rax
jmp 0x140074b9e
lea rcx, [rsp + 0xc0]
lea rdx, str.TimedWait
lea r8, str....._base_synchronizationwaitable_event.cc
mov r9d, 0x24
call fcn.14007ef40
cmp byte [rsp + 0x140], 0
jne 0x140075c92
mov rax, qword [rsp + 0x68]
mov r15, qword [rax]
mov rax, r15
movabs rcx, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x14013d508]
je 0x1400752fb
mov qword [rsp + 0x100], r15
mov r14, qword [rsp + 0x60]
mov r15, qword [r14]
mov rax, r15
and rax, rcx
cmp rax, qword [0x14013d508]
je 0x140075c85
mov qword [rsp + 0x108], r15
mov qword [rsp + 0x110], r14
mov rax, qword [r14]
lea rcx, [rsp + 0x100]
mov qword [r14], rcx
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x108]
test rax, rax
jne 0x140075312
xor ecx, ecx
mov byte [rsp + 0x120], cl
mov byte [rsp + 0x128], bl
mov byte [rsp + 0x138], bl
mov rcx, qword [rsp + 0x58]
cmp byte [rcx], bl
je 0x1400752c4
test rax, rax
jne 0x14007562e
mov rcx, qword [rsp + 0x100]
test rcx, rcx
je 0x140074f28
cmp qword [rsp + 0x108], 0
jne 0x140074f28
xor edx, edx
call fcn.14009d230
mov qword [rsp + 0xe8], 0xa
mov al, byte [0x14014c82a]
test al, al
jne 0x1400753fd
mov byte [rsp + 0x140], 1
jmp 0x140074dc0
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
test rax, rax
je 0x14007566c
mov r13d, edi
mov rax, qword [rax + 8]
cmp byte [rax + 0xc], 0
jne 0x140074b75
mov rcx, qword [0x14013bdb8]
mov byte [rax + 0xc], 1
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov rdx, qword [rax + 8]
mov r8d, dword [rcx + 0x10]
cmp dword [rdx + 8], r8d
jne 0x140075c6b
test r13b, 1
jne 0x1400751d4
test r13b, 2
jne 0x1400751ea
test r13b, 4
jne 0x140075204
test r13b, 8
jne 0x140075224
test r13b, 0x10
jne 0x140075244
test r13b, 0x20
jne 0x140075264
test r13b, 0x40
jne 0x140075284
test r13b, r13b
js 0x1400752a4
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov byte [rax + 0xc], 0
jmp 0x140074b75
lea rdx, [rsp + 0x100]
call qword [0x140163008]
jmp 0x1400750a8
call qword [0x140163008]
jmp 0x140075077
inc r15
add rdi, 0x60
sub r8, 0xffffffffffffff80
cmp r15, 8
je 0x140074fe5
mov eax, 1
mov ecx, r15d
shl eax, cl
bt r12d, r15d
jae 0x140075020
test r8, r8
je 0x140075020
cmp qword [rdi], 0
je 0x1400757c0
test rdi, rdi
je 0x140074fe5
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [0x140060960]
cmp rax, rdx
jne 0x14007500d
mov rax, qword [rcx + 0x58]
add rax, qword [rcx + 0x50]
sub rax, qword [rcx + 0x40]
cmp rax, qword [rdi + 0x50]
je 0x140075171
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
lea rdx, [fcn.140077b60]
cmp rax, rdx
jne 0x140074ffa
lea rdx, [rsp + 0x100]
call fcn.140077b60
mov r12, qword [rsp + 0x100]
test r12, r12
je 0x14007514b
cmp byte [r12 + 0x28], 0
jne 0x14007514b
cmp qword [r12 + 0x10], 0
je 0x1400750d5
mov rcx, r12
call fcn.140060a30
mov rax, qword [r12 + 0x18]
test rax, rax
je 0x1400751c9
mov r8d, dword [r12 + 0x20]
mov ecx, dword [r12 + 0x24]
test ecx, ecx
jne 0x1400755a4
cmp r8d, 0x7f
ja 0x1400755a4
mov r14, qword [r12]
mov rdx, qword [r14 + 0x18]
sub rdx, r8
lea r9, [rdx - 4]
cmp rax, r9
jne 0x1400755a4
cmp rax, qword [r14 + 8]
jb 0x1400755a4
lea rcx, [rdx - 3]
call fcn.1400a3a80
add qword [r14 + 0x18], 0xfffffffffffffffd
mov al, byte [r12 + 0x20]
mov rcx, qword [r12 + 0x18]
mov byte [rcx], al
mov al, 2
mov byte [r12 + 0x28], al
mov qword [r12 + 0x18], 0
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [0x140060960]
cmp rax, rdx
jne 0x1400751c1
mov rax, qword [rcx + 0x58]
add rax, qword [rcx + 0x50]
sub rax, qword [rcx + 0x40]
mov qword [rdi + 0x50], rax
cmp byte [rdi + 0x48], 0
jne 0x140075c38
inc r15d
cmp r15d, 7
ja 0x140074fe5
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov r15d, r15d
lea rcx, [r15 + r15*2]
shl rcx, 5
lea rdi, [rax + rcx]
add rdi, 0x10
mov rax, r15
shl rax, 7
lea rcx, [0x14013d078]
lea r8, [rax + rcx]
add r8, 0x10
mov r12d, r13d
jmp 0x140075031
call qword [0x140163008]
jmp 0x14007516d
mov byte [r12 + 0x28], 1
jmp 0x14007514b
lea rdi, [rax + 0x10]
xor r15d, r15d
cmp qword [rdi], 0
jne 0x140075050
jmp 0x14007579d
lea rdi, [rax + 0x70]
mov r15d, 1
cmp qword [rax + 0x70], 0
jne 0x140075050
jmp 0x14007576b
lea rdi, [rax + 0xd0]
mov r15d, 2
cmp qword [rax + 0xd0], 0
jne 0x140075050
jmp 0x140075811
lea rdi, [rax + 0x130]
mov r15d, 3
cmp qword [rax + 0x130], 0
jne 0x140075050
jmp 0x140075739
lea rdi, [rax + 0x190]
mov r15d, 4
cmp qword [rax + 0x190], 0
jne 0x140075050
jmp 0x140075704
lea rdi, [rax + 0x1f0]
mov r15d, 5
cmp qword [rax + 0x1f0], 0
jne 0x140075050
jmp 0x140075843
lea rdi, [rax + 0x250]
mov r15d, 6
cmp qword [rax + 0x250], 0
jne 0x140075050
jmp 0x1400756cf
lea rdi, [rax + 0x2b0]
mov r15d, 7
cmp qword [rax + 0x2b0], 0
jne 0x140075050
jmp 0x140075866
mov eax, dword [0x14015a48c]
mov ecx, dword [0x140149910]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140075899
cmp byte [0x14015a488], 0
jne 0x140074f09
jmp 0x140075902
mov rcx, r15
call fcn.14005a1e0
movabs rcx, 0xfffffffc00000000
jmp 0x140074e82
mov cl, byte [rax + 0x20]
jmp 0x140074ede
mov al, byte [rsi + 0x30]
test al, al
jne 0x14007537a
mov al, byte [rsi + 0x58]
test al, al
jne 0x14007537a
mov r14, qword [rsi + 0x38]
lea rdi, [r14 + 0x50]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140075937
mov rax, qword [r14 + 0x58]
test rax, rax
jne 0x140075954
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rsi]
mov rax, qword [rax + 0x20]
mov rcx, rsi
call qword [0x140163008]
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x40]
mov rcx, rax
mov rax, rdx
call qword [0x140163008]
mov rax, qword [rsp + 0x100]
jmp 0x140074a44
movzx ecx, al
lea rax, str.WorkerThread_active
mov qword [rsp + 0x100], rax
lea rax, [0x14011efa8]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x45
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0x100]
mov r9d, 2
call fcn.140007e70
jmp 0x140074b67
mov rax, qword [rdi + 0x40]
cvtsi2sd xmm0, qword [rax + 0x90]
mulsd xmm0, xmm7
ucomisd xmm8, xmm0
jb 0x140075d2d
maxsd xmm0, xmm9
cvttsd2si r12, xmm0
jmp 0x140074be8
movzx ecx, al
lea rax, [rsp + 0xc0]
mov qword [rsp + 0xf8], rax
lea rax, str.ScopedBlockingCallWithBaseSyncPrimitives
mov qword [rsp + 0xf0], rax
lea rdx, [rsp + 0xe8]
lea r8, [rsp + 0xf0]
lea r9, [rsp + 0xf8]
call fcn.14000ef50
jmp 0x140074f42
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov r15d, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r15d, r15d
jne 0x140074b2f
mov rax, qword [rsi]
mov rax, qword [rax + 0x20]
mov rcx, rsi
call qword [0x140163008]
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov rdx, rsi
mov rax, r8
call qword [0x140163008]
mov rcx, qword [rsi + 0x48]
test rcx, rcx
jne 0x140075d53
mov rcx, qword [rsi + 0x10]
mov qword [rsi + 0x10], 0
test rcx, rcx
jne 0x1400758e2
mov qword [rsp + 0xc0], 0xa
mov al, byte [0x14014c82a]
test al, al
mov rsi, qword [rsp + 0x40]
jne 0x140075d65
mov qword [rsp + 0xc0], 0xa
mov al, byte [0x14014c82a]
test al, al
jne 0x140075dab
mov ecx, dword [0x14013d084]
test ecx, ecx
jne 0x140075cf5
test rsi, rsi
je 0x140075514
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [0x140163008]
lock dec dword [rsi]
jne 0x140075514
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [0x140163008]
mov rcx, qword [rsp + 0x148]
xor rcx, rsp
call fcn.1400a1ff0
movaps xmm6, xmmword [rsp + 0x150]
movaps xmm7, xmmword [rsp + 0x160]
movaps xmm8, xmmword [rsp + 0x170]
movaps xmm9, xmmword [rsp + 0x180]
movaps xmm10, xmmword [rsp + 0x190]
add rsp, 0x1a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r15d, r15d
jmp 0x1400746f9
lea rcx, [0x14015a5f8]
call fcn.14009fe10
cmp dword [0x14015a5f8], 0xffffffff
jne 0x140074c7a
mov rax, qword [rsp + 0x100]
mov qword [0x14015a5f0], rax
lea rcx, [0x14015a5f8]
call fcn.14009ff10
jmp 0x140074c7a
sub r8d, ecx
mov ecx, r8d
or cl, 0x80
mov byte [rax], cl
mov ecx, r8d
shr ecx, 7
or cl, 0x80
mov byte [rax + 1], cl
mov ecx, r8d
shr ecx, 0xe
or cl, 0x80
mov byte [rax + 2], cl
shr r8d, 0x15
mov byte [rax + 3], r8b
mov al, 1
jmp 0x14007513d
lea rcx, [0x14015a5ec]
call fcn.14009fe10
cmp dword [0x14015a5ec], 0xffffffff
jne 0x140074c21
lea rcx, str.DelayFirstWorkerWake
call fcn.140079cc0
mov byte [0x14015a5e8], al
lea rcx, [0x14015a5ec]
call fcn.14009ff10
jmp 0x140074c21
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140074b19
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140074759
cmp byte [rax + 0x38], 0
je 0x140074f09
mov r15, qword [rax + 0x30]
mov qword [rax + 0x30], 0
test r15, r15
je 0x140074f09
lock dec dword [r15]
jne 0x140074f09
mov rcx, r15
call fcn.1400022d0
mov rcx, r15
call fcn.14009fde8
jmp 0x140074f09
mov rax, qword [0x14013bdb8]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140163008]
lea rcx, [rax + 0x6218]
lea rdx, [0x14013d078]
mov qword [rax + 0x6218], rdx
mov qword [rax + 0x6220], rax
mov rax, qword [rsp + 0x38]
mov qword [rax], rcx
mov r13d, dword [0x14013d084]
and r13d, edi
je 0x140074b75
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
jmp 0x140074f63
mov edi, 3
jmp 0x140074a0c
mov r12d, dword [0x14013d084]
and r12d, r13d
test r12b, 0x40
je 0x1400756ea
mov cl, byte [0x14013d388]
test cl, 1
jne 0x1400756f2
mov r13d, r12d
jmp 0x140074fdc
lea r8, [0x14013d388]
mov r15d, 6
jmp 0x1400757e8
mov r12d, dword [0x14013d084]
and r12d, r13d
test r12b, 0x10
je 0x14007571f
mov cl, byte [0x14013d288]
test cl, 1
jne 0x140075727
mov r13d, r12d
jmp 0x140074fc8
lea r8, [0x14013d288]
mov r15d, 4
jmp 0x1400757e8
mov r12d, dword [0x14013d084]
and r12d, r13d
test r12b, 8
je 0x140075754
mov cl, byte [0x14013d208]
test cl, 1
jne 0x14007575c
mov r13d, r12d
jmp 0x140074fbe
lea r8, [0x14013d208]
mov r15d, 3
jmp 0x1400757e8
mov r12d, dword [0x14013d084]
and r12d, r13d
test r12b, 2
je 0x140075786
mov cl, byte [0x14013d108]
test cl, 1
jne 0x14007578e
mov r13d, r12d
jmp 0x140074faa
lea r8, [0x14013d108]
mov r15d, 1
jmp 0x1400757e8
mov r12d, dword [0x14013d084]
and r12d, r13d
test r12b, 1
je 0x1400757b8
mov cl, byte [0x14013d088]
test cl, 1
jne 0x1400757de
mov r13d, r12d
jmp 0x140074fa0
mov r12d, dword [0x14013d084]
and r12d, r13d
test r12d, eax
je 0x1400757d6
mov al, byte [r8]
test al, 1
jne 0x1400757e8
mov r13d, r12d
jmp 0x140075020
lea r8, [0x14013d088]
xor r15d, r15d
lea rcx, [0x14013d078]
mov rdx, rdi
mov r9d, r15d
call fcn.1400084d0
mov r13d, r12d
jmp 0x140075050
lea r8, [0x14013d188]
mov r15d, 2
jmp 0x1400757e8
mov r12d, dword [0x14013d084]
and r12d, r13d
test r12b, 4
je 0x14007582c
mov cl, byte [0x14013d188]
test cl, 1
jne 0x140075802
mov r13d, r12d
jmp 0x140074fb4
lea r8, [0x14013d308]
mov r15d, 5
jmp 0x1400757e8
mov r12d, dword [0x14013d084]
and r12d, r13d
test r12b, 0x20
je 0x14007585e
mov cl, byte [0x14013d308]
test cl, 1
jne 0x140075834
mov r13d, r12d
jmp 0x140074fd2
mov r12d, dword [0x14013d084]
and r12d, r13d
test r12b, r12b
jns 0x140074fe5
mov al, byte [0x14013d408]
test al, 1
je 0x140074fe5
lea r8, [0x14013d408]
mov r15d, 7
jmp 0x1400757e8
lea rcx, [0x14015a48c]
call fcn.14009fe10
cmp dword [0x14015a48c], 0xffffffff
jne 0x1400752e9
mov rcx, qword [0x14014cad8]
test rcx, rcx
je 0x1400758ca
lea rdx, str.enable_background_thread_pool
call fcn.14005e540
mov byte [0x14015a488], 1
lea rcx, [0x14015a48c]
call fcn.14009ff10
jmp 0x1400752e9
lock dec dword [rcx + 8]
jne 0x1400754a9
mov edx, 1
call fcn.1400d3900
jmp 0x1400754a9
xor eax, eax
jmp 0x140074d45
mov rax, qword [rsp + 0x108]
jmp 0x140074f00
mov rcx, qword [rax]
xor r12d, r12d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov r15d, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r15d, r15d
je 0x140074a50
jmp 0x14007476f
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140075341
mov ecx, edi
call fcn.140009080
mov dword [rsi + 0x54], edi
jmp 0x140074a15
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov r15d, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r15d, r15d
jne 0x140075357
jmp 0x14007537a
mov rcx, qword [0x14014cc98]
call fcn.1400d5e80
jmp 0x14007491c
mov rcx, qword [0x14014cc98]
call fcn.1400d5e80
jmp 0x140074a82
int3
mov edi, 3
jmp 0x1400747bb
lock dec dword [r8 + 8]
jne 0x140074885
mov rcx, r8
mov edx, 1
call fcn.14007e0a0
jmp 0x140074885
lock dec dword [rcx + 8]
jne 0x1400759d5
mov edx, 1
call fcn.14007e0a0
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x108], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0xc0], xmm0
test rcx, rcx
je 0x1400748c2
lock dec dword [rcx + 8]
je 0x140075a1d
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x1400748c2
jmp 0x140075df1
mov edx, 1
call fcn.14007e0a0
jmp 0x140075a07
mov rcx, qword [rsp + 0x108]
test rcx, rcx
je 0x140074868
mov qword [rsp + 0x100], 0
lea rdi, [rsp + 0xf8]
mov rdx, rdi
call fcn.140011c00
mov r8, qword [rdi]
jmp 0x14007487c
lea rcx, [rsp + 0x90]
call fcn.140096590
jmp 0x140074784
mov ecx, edi
call fcn.140009080
mov dword [rsi + 0x54], edi
jmp 0x1400747c4
lea rdi, [rsp + 0x90]
mov rcx, rdi
call fcn.140096590
mov byte [rdi + 0x18], 0
jmp 0x140074b83
cmp byte [rsp + 0xa0], 0
je 0x140074940
cmp qword [rdi + 0x18], 0
jne 0x140075ac1
movabs rax, 0x4000000000000000
lock or qword [rdi + 0x10], rax
jmp 0x140074940
lea rcx, [rdi + 0x18]
mov r14, qword [rdi + 0x10]
call fcn.1400f46d0
movabs rcx, 0xff00000000000000
and rcx, r14
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x140075aad
lea rax, [r8 + rbp]
add rax, 2
lea r9, [rbp + 1]
cmp rax, 1
ja 0x140074cc5
cmp r8, r12
je 0x140074cc5
int3
lea rcx, [rdi + 0x18]
mov r14, qword [rdi + 0x10]
call fcn.1400f46d0
movabs rcx, 0xff00000000000000
and rcx, r14
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x140074931
lea rcx, [rdi + 0x18]
mov r14, qword [rdi + 0x10]
call fcn.1400f46d0
movabs rcx, 0xff00000000000000
and rcx, r14
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x140074953
lea rcx, [r9 + rbp]
add rcx, 2
mov r12, rbp
cmp rcx, 1
ja 0x140074d5c
mov r12, rbp
cmp r9, rax
je 0x140074d5c
int3
cmp byte [rsp + 0xa0], 0
je 0x140074aa6
cmp qword [rdi + 0x18], 0
jne 0x140075b9f
movabs rax, 0x4000000000000000
lock or qword [rdi + 0x10], rax
jmp 0x140074aa6
lea rcx, [rdi + 0x18]
mov r14, qword [rdi + 0x10]
call fcn.1400f46d0
movabs rcx, 0xff00000000000000
and rcx, r14
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x140075b8b
lea rcx, [rdi + 0x18]
mov r14, qword [rdi + 0x10]
call fcn.1400f46d0
movabs rcx, 0xff00000000000000
and rcx, r14
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x140074a97
lea rcx, [rdi + 0x18]
mov r14, qword [rdi + 0x10]
call fcn.1400f46d0
movabs rcx, 0xff00000000000000
and rcx, r14
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x140074ab9
mov rcx, qword [0x14014cb70]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov r15, rax
add r15, r8
jmp 0x140074682
mov rcx, qword [rdi]
lea rax, [0x1400d7800]
lea rdx, [rsp + 0x100]
mov qword [rdx + 0x18], rax
lea rax, [0x14011ecb0]
mov qword [rdx + 0x20], rax
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [0x140163008]
jmp 0x14007517b
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [0x140163008]
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
jmp 0x140074f96
mov rcx, r15
call fcn.14005a1e0
jmp 0x140074ea5
lea r15, [rsp + 0x100]
mov rcx, r15
call fcn.14005a8d0
mov byte [r15 + 0x40], 0
jmp 0x140074e5d
movzx ecx, al
xor r13, qword [0x14014adc0]
mov qword [rsp + 0xc0], r13
lea rax, str.WaitableEvent::Wait_Complete
lea r8, [rsp + 0xf8]
mov qword [r8], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xf0]
mov r9d, 3
call fcn.140065f20
jmp 0x1400746f9
call fcn.140109a10
jmp 0x1400754f0
xor eax, eax
jmp 0x14007431b
mov rcx, qword [0x14014cb70]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14007455f
xor r12d, r12d
ucomisd xmm0, qword [0x140129378]
cmovae r12, rbp
jmp 0x140074be8
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140163008]
jmp 0x1400742a4
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140163008]
jmp 0x140075494
movzx ecx, al
lea r8, [rsp + 0x100]
lea rax, str.WorkerThread_active
mov qword [r8], rax
lea rax, [0x14011efa8]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x45
lea rdx, [rsp + 0xc0]
mov r9d, 2
call fcn.140007e70
jmp 0x1400754c8
movzx ecx, al
lea rax, str.WorkerThread_dead
lea r8, [rsp + 0x100]
mov qword [r8], rax
lea rax, [0x14011efa8]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 8
mov byte [rsp + 0x28], 0x49
lea rdx, [rsp + 0xc0]
mov r9d, 3
call fcn.140007e70
jmp 0x1400754e2
lock dec dword [rcx + 8]
jne 0x1400748c2
mov edx, 1
call fcn.14007e0a0
jmp 0x1400748c2