Function at 0x140155450
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, 0x388
movaps xmmword [rsp + 0x370], xmm10
movaps xmmword [rsp + 0x360], xmm9
movaps xmmword [rsp + 0x350], xmm8
movaps xmmword [rsp + 0x340], xmm7
movaps xmmword [rsp + 0x330], xmm6
mov rbx, rcx
mov rax, qword [0x14029b028]
xor rax, rsp
mov qword [rsp + 0x328], rax
test byte [0x14029d8b0], 0x19
jne 0x14015730c
mov rcx, qword [rbx + 0x60]
test rcx, rcx
jne 0x14015819f
mov rcx, qword [rbx + 0x48]
mov rdx, rbx
call fcn.1400238a0
mov eax, dword [0x1402b4348]
test eax, eax
je 0x140157305
mov rax, qword [rbx + 0x50]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x1401554ef
cmp dword [rbx + 0x68], 0
je 0x140157305
mov rcx, qword [0x1402b4340]
test rcx, rcx
je 0x140157305
lea rsi, [rsp + 0x230]
mov rdx, rsi
mov r8d, 2
call fcn.1401c46d0
mov rax, qword [rsi]
mov qword [rsp + 0x68], rax
test byte [0x14029d8b0], 0x19
jne 0x14015745d
mov rcx, qword [rbx + 0x48]
lea rdx, [rbx + 0x30]
mov qword [rsp + 0x60], rdx
call fcn.140023a10
test byte [0x14029d8b0], 0x19
jne 0x140157509
mov eax, dword [0x1402ab7ac]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x240]
mov qword [rsp + 0xa8], rcx
lea rcx, [rax + 0x244]
mov qword [rsp + 0xa0], rcx
lea rcx, [rax + 0x208]
mov qword [rsp + 0x78], rcx
lea rcx, [rax + 0x200]
mov qword [rsp + 0x98], rcx
lea rcx, [rax + 0x160]
mov qword [rsp + 0x90], rcx
lea rcx, [rax + 0x158]
mov qword [rsp + 0x88], rcx
lea rcx, [rax + 0x1a0]
mov qword [rsp + 0xb0], rcx
lea rax, [rax + 0x1a8]
mov qword [rsp + 0x80], rax
movaps xmm6, xmmword [0x1402724c0]
xorps xmm7, xmm7
movsd xmm8, qword [0x140285060]
movsd xmm9, qword [0x14027b448]
movsd xmm10, qword [0x140260040]
xor r15d, r15d
nop dword [rax]
movzx eax, byte [rbx + 0x40]
test al, al
jne 0x14015779d
movzx eax, byte [rbx + 0x70]
test al, al
jne 0x14015779d
mov rdi, qword [rbx + 0x50]
lea rsi, [rdi + 0x50]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401572ed
mov rax, qword [rdi + 0x58]
test rax, rax
jne 0x14015777f
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rbx + 0x50]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x1401572e3
mov esi, dword [rbx + 0x68]
cmp dword [rbx + 0x6c], esi
jne 0x140157a5d
movaps xmmword [rsp + 0xe0], xmm6
mov rcx, qword [rbx + 0x48]
lea rdx, [rsp + 0xe0]
mov r8, rbx
call fcn.14011f270
mov rax, qword [rsp + 0xe0]
test rax, rax
je 0x140155e70
mov qword [rsp + 0xd8], rax
lea rcx, [rsp + 0xd8]
call fcn.1400da320
mov r12, qword [rbx + 0x50]
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xd0], rcx
movzx eax, byte [rax + 0xd]
and eax, 0x7f
mov cl, 1
mov dword [rsp + 0x58], ecx
cmp eax, 1
jne 0x14015666a
mov rax, qword [r12 + 0x10]
mov ecx, 2
lock xadd dword [rax], ecx
test cl, 1
jne 0x140157c48
movaps xmmword [rsp + 0x230], xmm6
movaps xmmword [rsp + 0x2b0], xmm6
movaps xmmword [rsp + 0x2a0], xmm6
movaps xmmword [rsp + 0x290], xmm6
movaps xmmword [rsp + 0x280], xmm6
movaps xmmword [rsp + 0x270], xmm6
movaps xmmword [rsp + 0x260], xmm6
movaps xmmword [rsp + 0x250], xmm6
movaps xmmword [rsp + 0x240], xmm6
mov byte [rsp + 0x230], 0
lea rax, [rsp + 0x238]
movups xmmword [rax + 0x70], xmm7
movups xmmword [rax + 0x60], xmm7
movups xmmword [rax + 0x50], xmm7
movups xmmword [rax + 0x40], xmm7
movups xmmword [rax + 0x30], xmm7
movups xmmword [rax + 0x20], xmm7
movups xmmword [rax + 0x10], xmm7
movups xmmword [rax], xmm7
mov word [rsp + 0x12b], 0xaaaa
mov word [rsp + 0x128], 0x102
mov byte [rsp + 0x12a], 0
mov rsi, qword [rsp + 0xc8]
mov qword [rsp + 0xf8], rsi
add rsi, 0x18
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140156f3d
cmp byte [rsp + 0x58], 0
je 0x140157b45
mov r14, qword [rsp + 0xc8]
mov rax, qword [r14]
mov rax, qword [rax + 0x40]
lea rcx, [0x14017fd90]
cmp rax, rcx
jne 0x140156492
lea rbp, [r14 + 0x18]
mov r15, rbp
movabs rax, 0xfffffffc00000000
and r15, rax
cmp r15, qword [0x1402aaec8]
jne 0x140155817
mov rcx, rbp
call fcn.1400da330
movaps xmmword [rsp + 0x220], xmm6
movaps xmmword [rsp + 0x210], xmm6
movaps xmmword [rsp + 0x200], xmm6
movaps xmmword [rsp + 0x1f0], xmm6
movaps xmmword [rsp + 0x1e0], xmm6
movaps xmmword [rsp + 0x1d0], xmm6
movaps xmmword [rsp + 0x1c0], xmm6
movaps xmmword [rsp + 0x1b0], xmm6
mov rdi, qword [r14 + 0x58]
lea rsi, [r14 + 0x68]
cmp rdi, qword [r14 + 0x60]
je 0x140157d3a
lea r13, [r14 + 0x48]
mov rax, qword [r14 + 0x50]
mov rcx, qword [r14 + 0x70]
cmp rcx, qword [r14 + 0x78]
jne 0x140157cf5
cmp rax, rdi
jb 0x140157d5b
mov rax, qword [r14 + 0x48]
shl rdi, 7
add rax, rdi
add rax, 0x28
mov rcx, qword [rax - 0x28]
mov qword [rsp + 0x1b0], rcx
mov qword [rax - 0x28], 0
movupd xmm0, xmmword [rax - 0x20]
movups xmm1, xmmword [rax - 0x10]
lea rcx, [rsp + 0x1b8]
movups xmmword [rcx + 0x10], xmm1
movupd xmmword [rcx], xmm0
mov ecx, 0xa
lea rdx, [rsp + 0x1d8]
mov rdi, rdx
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
mov cl, byte [rax + 0x54]
mov byte [rdx + 0x54], cl
mov eax, dword [rax + 0x50]
mov dword [rdx + 0x50], eax
mov rcx, qword [r14 + 0x50]
mov rax, qword [r14 + 0x58]
lea rdx, [rax + 1]
cmp rcx, rdx
jb 0x140157d58
cmp rcx, rax
jb 0x140157d55
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x140157d52
mov rcx, qword [r13]
shl rax, 7
mov rcx, qword [rcx + rax]
test rcx, rcx
jne 0x1401569b0
mov rax, qword [r14 + 0x50]
mov rdx, qword [r14 + 0x58]
inc rdx
cmp rdx, rax
mov r8d, 0
cmove rdx, r8
mov qword [r14 + 0x58], rdx
mov rcx, rax
sub rcx, 1
mov r9d, 0
cmovb rcx, r8
cmp rcx, 4
jae 0x1401566db
mov rax, qword [r14 + 0x58]
cmp rax, qword [r14 + 0x60]
jne 0x140156690
mov rcx, qword [r14 + 0x70]
cmp rcx, qword [r14 + 0x78]
jne 0x140157d88
cmp r15, qword [0x1402aaec8]
jne 0x140155990
mov rcx, rbp
call fcn.1400da480
cmp byte [rsp + 0x230], 0
jne 0x140157b67
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x238], rax
mov qword [rsp + 0x1b0], 0
lea rax, [rsp + 0x1b8]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rcx, [rsp + 0x238]
movups xmmword [rcx + 0x18], xmm1
movups xmmword [rcx + 8], xmm0
lea rdx, [rsp + 0x1d8]
mov rax, qword [rdx + 0x4d]
mov qword [rcx + 0x75], rax
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x68], xmm0
movupd xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmm2, xmmword [rdx + 0x20]
movups xmm3, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x58], xmm3
movups xmmword [rcx + 0x48], xmm2
movups xmmword [rcx + 0x38], xmm1
movupd xmmword [rcx + 0x28], xmm0
mov byte [rsp + 0x230], 1
mov rcx, qword [rsp + 0xf8]
mov eax, dword [rcx + 0xc]
mov dword [rsp + 0x128], eax
movzx eax, byte [rcx + 0x10]
mov byte [rsp + 0x12c], al
test rcx, rcx
je 0x140155a46
add rcx, 0x18
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp byte [rsp + 0x230], 0
je 0x140155d6a
cmp qword [rsp + 0x268], 0
jne 0x140156d56
mov rsi, qword [rsp + 0xc8]
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x238], 0
lea rdx, [rsp + 0x238]
movups xmm0, xmmword [rdx + 8]
movups xmm1, xmmword [rdx + 0x18]
lea rcx, [rsp + 0x138]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
mov rax, qword [rdx + 0x75]
mov qword [rcx + 0x6d], rax
movups xmm0, xmmword [rdx + 0x68]
movups xmmword [rcx + 0x60], xmm0
movupd xmm0, xmmword [rdx + 0x28]
movups xmm1, xmmword [rdx + 0x38]
movups xmm2, xmmword [rdx + 0x48]
movups xmm3, xmmword [rdx + 0x58]
movups xmmword [rcx + 0x50], xmm3
movups xmmword [rcx + 0x40], xmm2
movups xmmword [rcx + 0x30], xmm1
movupd xmmword [rcx + 0x20], xmm0
mov rax, qword [r12]
mov rax, qword [rax + 8]
lea rcx, [0x140208d00]
cmp rax, rcx
jne 0x140157c27
movaps xmmword [rsp + 0x110], xmm6
mov rax, qword [rsi]
mov rax, qword [rax]
lea rcx, [0x1401802d0]
cmp rax, rcx
jne 0x14015647c
mov eax, dword [rsi + 0x40]
mov dword [rsp + 0x110], eax
lea rdi, [rsi + 0xa0]
mov rax, rdi
movabs rcx, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x1402aaec8]
jne 0x140155b40
mov rcx, rdi
call fcn.1400da330
mov qword [rsp + 0x118], rdi
mov eax, dword [rsp + 0x110]
mov rcx, qword [rsp + 0xa8]
mov edi, dword [rcx]
mov dword [rcx], eax
mov eax, 1
lock xadd dword [0x1402b93c8], eax
mov rcx, qword [rsp + 0xa0]
mov r14d, dword [rcx]
mov dword [rcx], eax
movzx eax, byte [rsp + 0x128]
mov rcx, qword [rsp + 0x78]
movzx r15d, byte [rcx]
mov byte [rcx], al
movaps xmmword [rsp + 0x2f0], xmm6
movaps xmmword [rsp + 0x310], xmm6
movaps xmmword [rsp + 0x300], xmm6
mov byte [rsp + 0x2f0], 0
lea rax, [rsp + 0x2f8]
movups xmmword [rax + 0x10], xmm7
movups xmmword [rax], xmm7
mov rax, qword [rsp + 0x118]
test rax, rax
jne 0x140155be0
lea rax, [rsp + 0x2f8]
movups xmmword [rax + 8], xmm7
mov qword [rax + 0x18], 0
mov byte [rsp + 0x2f0], 1
mov rcx, qword [rsp + 0x98]
mov r13, qword [rcx]
mov qword [rcx], rax
movaps xmmword [rsp + 0x2c0], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x2e0], rax
movaps xmmword [rsp + 0x2d0], xmm6
mov byte [rsp + 0x2c0], 0
lea rax, [rsp + 0x2c8]
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
movaps xmmword [rsp + 0x1b0], xmm6
movaps xmmword [rsp + 0x1e0], xmm6
movaps xmmword [rsp + 0x1d0], xmm6
movaps xmmword [rsp + 0x1c0], xmm6
mov byte [rsp + 0x1b0], 0
lea rax, [rsp + 0x1b8]
movups xmmword [rax + 0x20], xmm7
movups xmmword [rax + 0x10], xmm7
movups xmmword [rax], xmm7
mov eax, dword [rsi + 0x38]
cmp eax, 1
je 0x140156422
cmp eax, 2
je 0x140156758
movzx eax, byte [rsp + 0x129]
and eax, 0x7f
cmp eax, 1
jne 0x140156634
lea rax, [rsp + 0x110]
mov qword [rsp + 0x20], rax
mov rcx, r12
lea rdx, [rsp + 0x130]
lea r8, [rsp + 0x128]
mov r9, rsi
call fcn.14010a880
mov rsi, qword [rsp + 0x130]
mov qword [rsp + 0x130], 0
test rsi, rsi
jne 0x140156df5
cmp byte [rsp + 0x1b0], 0
jne 0x1401567fa
cmp byte [rsp + 0x2c0], 0
jne 0x14015686a
mov rax, qword [rsp + 0x98]
mov qword [rax], r13
cmp byte [rsp + 0x2f0], 0
je 0x140155d16
mov rsi, qword [rsp + 0x300]
test rsi, rsi
jne 0x140156ef4
mov rax, qword [rsp + 0x78]
mov byte [rax], r15b
mov rax, qword [rsp + 0xa0]
mov dword [rax], r14d
mov rax, qword [rsp + 0xa8]
mov dword [rax], edi
mov rcx, qword [rsp + 0x118]
mov rax, rcx
movabs rdx, 0xfffffffc00000000
and rax, rdx
cmp rax, qword [0x1402aaec8]
jne 0x140155d59
call fcn.1400da480
mov rcx, qword [rsp + 0x130]
test rcx, rcx
jne 0x140156728
cmp byte [rsp + 0x58], 0
je 0x140155d9a
mov rax, qword [rsp + 0xc8]
movzx eax, byte [rax + 0xd]
and al, 0x7f
cmp al, 1
jne 0x140155d9a
mov rax, qword [r12 + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
je 0x14015793d
mov rdi, qword [rsp + 0xc8]
mov rax, qword [rdi]
mov rax, qword [rax + 0x48]
lea rcx, [0x140180150]
cmp rax, rcx
jne 0x1401564b0
lea rsi, [rdi + 0x18]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14015722f
mov r14, rsi
movabs rax, 0xfffffffc00000000
and r14, rax
cmp r14, qword [0x1402aaec8]
jne 0x140155def
mov rcx, rsi
call fcn.1400da330
mov byte [rdi + 0x98], 0
mov rax, qword [rdi + 0x58]
mov bpl, 1
cmp rax, qword [rdi + 0x60]
jne 0x140155e29
mov rax, qword [rdi + 0x70]
cmp rax, qword [rdi + 0x78]
jne 0x140155e29
mov byte [rdi + 0x99], 0
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x140155e27
lock dec dword [rcx + 8]
je 0x140156e20
xor ebp, ebp
cmp r14, qword [0x1402aaec8]
jne 0x140155e3a
mov rcx, rsi
call fcn.1400da480
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test bpl, bpl
jne 0x1401564cb
xor r12d, r12d
xor r15d, r15d
cmp byte [rsp + 0x230], 0
jne 0x1401564ed
jmp 0x1401564fe
movzx eax, byte [rbx + 0x40]
mov r12b, 1
test al, al
jne 0x1401565ef
movzx eax, byte [rbx + 0x70]
test al, al
jne 0x1401565ef
mov rdi, qword [rbx + 0x50]
lea rsi, [rdi + 0x50]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401576a8
mov rax, qword [rdi + 0x58]
test rax, rax
jne 0x14015796b
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r15b, 1
je 0x1401569c8
test byte [0x14029d8b0], 0x19
jne 0x140156c0c
mov rcx, qword [rbx + 0x48]
mov rax, qword [rcx]
lea rdx, [fcn.140023a10]
cmp qword [rax + 0x30], rdx
jne 0x1401571fd
cmp byte [rcx + 0x40], 0
movabs r14, 0x7fffffffffffffff
jne 0x1401571b7
cmp r14, 0xf4240
mov r15d, 0xf4240
cmovl r15, r14
mov eax, dword [0x1402b9380]
mov ecx, dword [0x1402ab7ac]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14015766c
cmp byte [0x1402b937c], 0
je 0x14015611e
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x1b0], rax
mov rax, qword [fcn.140105050]
lea rcx, [0x140182e50]
cmp rax, rcx
jne 0x14015799b
mov qword [rsp + 0x230], 0
lea rcx, [rsp + 0x230]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x230]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140157ca6
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b0aa0]
mov qword [rsp + 0x1b0], rax
mov eax, dword [0x1402b9390]
mov ecx, dword [0x1402ab7ac]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140157274
mov r8, qword [rsp + 0x1b0]
movabs rax, 0x7fffffffffffffff
add rax, r15
add rax, 2
cmp rax, 2
jb 0x140157c7a
lea rax, [r8 + r15]
sar rax, 0x3f
movabs rcx, 0x8000000000000000
xor rax, rcx
add r15, r8
cmovo r15, rax
mov r9, r15
xor eax, eax
mov rcx, r9
neg rcx
setns al
movabs r10, 0x7fffffffffffffff
add rax, r10
mov rcx, r9
neg rcx
cmovo rcx, rax
lea rdx, [r10 + rcx]
add rdx, 2
mov rax, r10
cmp rdx, 2
jb 0x140156081
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 0x1401578b5
test r9, r9
jle 0x1401560a8
lea rcx, [rax + 0xf4240]
sar rcx, 0x3f
movabs rdx, 0x8000000000000000
xor rcx, rdx
add rax, 0xf4240
cmovo rax, rcx
movabs rcx, 0x7fffffffffffffff
add rcx, rax
add rcx, 2
cmp rcx, 2
jb 0x140157ccd
lea rcx, [r9 + rax]
sar rcx, 0x3f
movabs rdx, 0x8000000000000000
xor rcx, rdx
add r9, rax
cmovo r9, rcx
mov rcx, r9
xor eax, eax
cmp rcx, r8
setns al
movabs rdx, 0x7fffffffffffffff
add rax, rdx
sub rcx, r8
cmovo rcx, rax
mov r15, qword [0x1402b9388]
xor eax, eax
cmp r15, r8
setns al
add rax, rdx
sub r15, r8
cmovo r15, rax
cmp rcx, r15
cmovg r15, rcx
test r15, r15
jle 0x140157c5d
movaps xmmword [rsp + 0x230], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x280], rax
movaps xmmword [rsp + 0x270], xmm6
movaps xmmword [rsp + 0x260], xmm6
movaps xmmword [rsp + 0x250], xmm6
movaps xmmword [rsp + 0x240], xmm6
mov byte [rsp + 0x230], 0
lea rax, [rsp + 0x238]
movups xmmword [rax + 0x30], xmm7
movups xmmword [rax + 0x20], xmm7
movups xmmword [rax + 0x10], xmm7
movups xmmword [rax], xmm7
mov qword [rax + 0x40], 0
cmp byte [rbx + 0x38], 0
je 0x140156a1a
movabs rax, 0x7fffffffffffffff
cmp r15, rax
je 0x1401566cc
mov rax, qword [0x14029ee18]
lea rcx, [0x140182e50]
cmp rax, rcx
jne 0x140157924
mov qword [rsp + 0x1b0], 0
lea rcx, [rsp + 0x1b0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x1b0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140157d5e
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b0aa0]
mov rsi, rax
lea rax, [rsi + r15]
sar rax, 0x3f
btc rax, 0x3f
add rsi, r15
cmovo rsi, rax
mov rcx, r15
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
je 0x14015627d
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 + 0x60]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x140156290
jmp 0x140156d6a
mov edx, 0xffffffff
jmp 0x140156266
mov dil, 1
cmp byte [rbx + 0x38], 0
je 0x140156a08
cmp byte [rsp + 0x230], 0
jne 0x140156b21
test dil, dil
je 0x140157292
xor r12d, r12d
test byte [0x14029d8b0], 0x19
mov r15d, 0
je 0x1401565ef
mov rax, qword [0x1402aef20]
xor rax, rbx
lea rcx, [fcn.140158950]
mov qword [rsp + 0x148], rcx
lea rcx, [0x140281d20]
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x138], rax
movaps xmmword [rsp + 0x300], xmm6
movaps xmmword [rsp + 0x2f0], xmm6
movups xmmword [rsp + 0x20], xmm7
mov byte [rsp + 0x30], 0
lea rcx, [rsp + 0x2f0]
mov dl, 0x42
lea r8, [0x14029d8b0]
lea r9, str.WorkerThread_active
call fcn.140158780
mov rax, qword [rsp + 0x2f0]
test rax, rax
je 0x1401563e8
mov cl, byte [rsp + 0x308]
mov rdx, qword [rsp + 0x2f8]
xor esi, esi
mov qword [rsp + 0x1b0], rsi
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x1c0], rdx
mov qword [rsp + 0x1c8], rsi
mov byte [rsp + 0x1d0], cl
mov rax, qword [rsp + 0x148]
lea rcx, [rsp + 0x138]
lea rdi, [rsp + 0x1b0]
mov rdx, rdi
call qword [case.0x1401eda70.0]
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x1b0], rsi
lea rax, [rsp + 0x1b8]
movupd xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 9]
lea rax, [rsp + 0x238]
movups xmmword [rax + 9], xmm1
movupd xmmword [rax], xmm0
lea rcx, [rsp + 0x230]
call fcn.140158850
mov rcx, rdi
call fcn.140158850
mov rcx, qword [rsp + 0x300]
test rcx, rcx
je 0x140156402
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1401eda70.0]
mov rax, qword [rsp + 0x150]
mov rax, qword [rax + 8]
test rax, rax
jne 0x14015806a
xor r12d, r12d
xor r15d, r15d
jmp 0x1401565ef
mov rax, qword [rsi + 0x30]
test rax, rax
je 0x140156441
mov ecx, 1
lock xadd dword [rax + 8], ecx
cmp ecx, 0x7fffffff
je 0x140157dd9
mov rdx, qword [rsp + 0x90]
mov qword [rsp + 0x2c8], rdx
mov rcx, qword [rdx]
lea r8, [rsp + 0x2c8]
mov qword [rdx], r8
mov qword [rsp + 0x2d0], rcx
mov qword [rsp + 0x2d8], rax
mov byte [rsp + 0x2c0], 1
jmp 0x140155c7b
mov rcx, rsi
lea rdx, [rsp + 0x110]
call qword [case.0x1401eda70.0]
jmp 0x140155b48
mov rcx, r14
lea rdx, [rsp + 0x1b0]
lea r8, [rsp + 0xf8]
call qword [case.0x1401eda70.0]
jmp 0x140155990
mov rcx, rdi
xor edx, edx
call qword [case.0x1401eda70.0]
mov r12d, 0
mov r15d, 0
test al, al
je 0x1401564e3
mov r12, qword [rsp + 0xc8]
mov r15, qword [rsp + 0xd0]
movups xmmword [rsp + 0xc8], xmm7
cmp byte [rsp + 0x230], 0
je 0x1401564fe
mov rcx, qword [rsp + 0x238]
test rcx, rcx
jne 0x140156740
mov rsi, qword [rsp + 0xc8]
test rsi, rsi
jne 0x140156b33
mov qword [rsp + 0xc8], 0
test rsi, rsi
jne 0x140156b67
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
jne 0x140157ba3
mov r8, qword [rsp + 0xe0]
test r8, r8
jne 0x140157bbc
mov qword [rsp + 0x230], r8
mov qword [rsp + 0xe0], 0
test r8, r8
jne 0x140157bf1
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0xe0], r12
test rcx, rcx
jne 0x140157c0e
mov qword [rsp + 0xe8], r15
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x230], rax
lea rcx, [rsp + 0x230]
call fcn.1400da320
mov rcx, qword [rbx + 0x48]
movapd xmm0, xmmword [rsp + 0xe0]
movupd xmmword [rsp + 0xb8], xmm0
movaps xmmword [rsp + 0xe0], xmm7
lea rdx, [rsp + 0xb8]
call fcn.14017e0d0
cmp qword [rsp + 0xe0], 0
jne 0x140157b42
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov r15b, 1
xor r12d, r12d
mov rsi, qword [rsp + 0xe0]
test rsi, rsi
jne 0x1401568d7
mov qword [rsp + 0xe0], 0
test rsi, rsi
jne 0x14015690b
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
jne 0x140157b29
test r12b, r12b
je 0x140155600
jmp 0x14015779d
cmp eax, 2
jne 0x1401568a2
lea rax, [rsp + 0x110]
mov qword [rsp + 0x20], rax
mov rcx, r12
lea rdx, [rsp + 0x130]
lea r8, [rsp + 0x128]
mov r9, rsi
call fcn.14010ab00
jmp 0x140155cb7
cmp eax, 2
je 0x140155710
test eax, eax
jne 0x140157e62
mov rax, qword [r12 + 0x10]
mov eax, dword [rax]
test al, 1
sete al
mov dword [rsp + 0x58], eax
jmp 0x140155710
mov rcx, qword [r14 + 0x70]
cmp rcx, qword [r14 + 0x78]
jne 0x140157ddc
cmp qword [r14 + 0x50], rax
jb 0x140157e18
mov rcx, qword [r14 + 0x48]
shl rax, 7
mov rax, qword [rcx + rax + 0x28]
mov qword [r14 + 0x88], rax
mov qword [r14 + 0x90], 0
jmp 0x14015597f
movabs rsi, 0x7fffffffffffffff
jmp 0x140156218
mov r8, qword [r14 + 0x60]
cmp r8, rdx
cmovae rax, r9
sub rax, rdx
add rax, r8
mov rdx, rcx
sub rdx, rax
cmp rdx, rax
jb 0x140155963
mov rdx, rax
shr rdx, 2
add rdx, rax
cmp rdx, 4
mov eax, 3
cmovb rdx, rax
cmp rdx, rcx
jae 0x140155963
mov rcx, r13
call fcn.14000b980
jmp 0x140155963
lock dec dword [rcx]
jne 0x140155d6a
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x140155d6a
lock dec dword [rcx]
jne 0x1401564fe
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x1401564fe
mov rax, qword [rsi + 0x30]
test rax, rax
je 0x140157e1b
mov ecx, 1
lock xadd dword [rax + 8], ecx
cmp ecx, 0x7fffffff
je 0x140157e5f
mov r8, qword [rsp + 0x88]
mov qword [rsp + 0x1b8], r8
mov rcx, qword [r8]
lea rdx, [rsp + 0x1b8]
mov qword [r8], rdx
mov qword [rsp + 0x1c0], rcx
mov qword [rsp + 0x1c8], rax
mov ecx, 1
lock xadd dword [rax + 8], ecx
cmp ecx, 0x7fffffff
je 0x140157e5c
mov rdx, qword [rsp + 0x90]
mov qword [rsp + 0x1d0], rdx
mov rcx, qword [rdx]
lea r8, [rsp + 0x1d0]
mov qword [rdx], r8
mov qword [rsp + 0x1d8], rcx
mov qword [rsp + 0x1e0], rax
mov byte [rsp + 0x1b0], 1
jmp 0x140155c7b
mov rcx, qword [rsp + 0x1e0]
test rcx, rcx
je 0x140156811
lock dec dword [rcx + 8]
je 0x140157e52
mov rax, qword [rsp + 0x1d0]
test rax, rax
je 0x140156829
mov rcx, qword [rsp + 0x1d8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x1c8]
test rcx, rcx
je 0x140156840
lock dec dword [rcx + 8]
je 0x1401571f3
mov rax, qword [rsp + 0x1b8]
test rax, rax
je 0x140155ce2
mov rcx, qword [rsp + 0x1c0]
mov qword [rax], rcx
cmp byte [rsp + 0x2c0], 0
je 0x140155cf0
mov rcx, qword [rsp + 0x2d8]
test rcx, rcx
je 0x140156881
lock dec dword [rcx + 8]
je 0x140157dcf
mov rax, qword [rsp + 0x2c8]
test rax, rax
je 0x140155cf0
mov rcx, qword [rsp + 0x2d0]
mov qword [rax], rcx
jmp 0x140155cf0
test eax, eax
jne 0x140155cb7
lea rax, [rsp + 0x110]
mov qword [rsp + 0x20], rax
mov rcx, r12
lea rdx, [rsp + 0x130]
lea r8, [rsp + 0x128]
mov r9, rsi
call fcn.14010ad70
jmp 0x140155cb7
mov rdi, qword [rsp + 0xe8]
test rdi, rdi
je 0x140156600
mov qword [rsp + 0xe0], 0
mov al, byte [rsi + 0xd]
and al, 0x7f
cmp al, 2
je 0x14015720c
lock dec dword [rdi + 0x18]
je 0x140156e2a
lock dec dword [rsi + 8]
jne 0x140156615
lea rax, [0x14026f7e8]
mov qword [rsi], rax
mov rdi, qword [rsi + 0xa8]
test rdi, rdi
jne 0x1401576f3
lea rdi, [rsi + 0x70]
mov r14, qword [rsi + 0x70]
mov r13, qword [rsi + 0x78]
mov rdx, r14
cmp r13, r14
jne 0x14015854e
mov qword [rsi + 0x78], r14
test rdx, rdx
jne 0x14015811b
mov r14, qword [rsi + 0x58]
mov rdi, qword [rsi + 0x60]
cmp rdi, r14
jne 0x140158130
mov rdx, qword [rsi + 0x48]
lea rcx, fcn.1400eef30
xor r8d, r8d
call fcn.1400eaf80
lea rax, [0x14026f868]
mov qword [rsi], rax
mov rcx, qword [rsi + 0x30]
mov rax, rcx
movabs rdx, 0xfffffffc00000000
and rax, rdx
cmp rax, qword [0x1402aaec8]
je 0x14015726a
mov rcx, rsi
call fcn.14018482c
jmp 0x140156615
lock dec dword [rcx]
jne 0x14015592c
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x14015592c
mov rax, qword [rbx + 0x48]
mov rsi, qword [rax + 0x30]
lea rcx, [rsp + 0x1b0]
lea rdx, str.ThreadPool.UnnecessaryWakeup.
call fcn.1401c45c0
movzx r8d, byte [rsi + 0xd7]
test r8b, r8b
jns 0x140156cba
mov r8, qword [rsi + 0xc8]
mov rsi, qword [rsi + 0xc0]
jmp 0x140156cc1
test byte [0x14029e190], 0x19
je 0x14015629d
jmp 0x140157f10
lea rcx, [rsp + 0x2c0]
lea rdx, str.TimedWait
lea r8, str....._base_synchronizationwaitable_event.cc
mov r9d, 0x24
call fcn.1400ed710
mov rax, qword [rsp + 0xb0]
mov rsi, qword [rax]
mov rax, rsi
movabs rdi, 0xfffffffc00000000
and rax, rdi
cmp rax, qword [0x1402aaec8]
je 0x1401571e6
mov qword [rsp + 0x238], rsi
mov rdx, qword [rsp + 0x80]
mov rsi, qword [rdx]
mov rax, rsi
and rax, rdi
cmp rax, qword [0x1402aaec8]
je 0x14015802e
mov qword [rsp + 0x240], rsi
mov qword [rsp + 0x248], rdx
mov rax, qword [rdx]
lea rcx, [rsp + 0x238]
mov qword [rdx], rcx
mov qword [rsp + 0x250], rax
mov rax, qword [rsp + 0x240]
test rax, rax
jne 0x140157227
xor ecx, ecx
mov byte [rsp + 0x258], cl
mov byte [rsp + 0x260], 0
mov rcx, qword [rsp + 0x78]
cmp byte [rcx], 0
je 0x140156ebd
test rax, rax
jne 0x1401576b6
mov rcx, qword [rsp + 0x238]
test rcx, rcx
je 0x140156b07
cmp qword [rsp + 0x240], 0
jne 0x140156b07
xor edx, edx
call fcn.14015ab40
test byte [0x14029d8b0], 0x19
jne 0x14015700c
mov byte [rsp + 0x230], 1
jmp 0x140156192
lea rcx, [rsp + 0x238]
call fcn.14011a160
jmp 0x1401562ab
mov rdi, qword [rsp + 0xd0]
test rdi, rdi
je 0x14015650f
mov qword [rsp + 0xc8], 0
mov al, byte [rsi + 0xd]
and al, 0x7f
cmp al, 2
je 0x14015723d
lock dec dword [rdi + 0x18]
je 0x140156f4b
lock dec dword [rsi + 8]
jne 0x140156524
lea rax, [0x14026f7e8]
mov qword [rsi], rax
mov rdi, qword [rsi + 0xa8]
test rdi, rdi
jne 0x140157739
lea rdi, [rsi + 0x70]
mov r14, qword [rsi + 0x70]
mov r13, qword [rsi + 0x78]
mov rdx, r14
cmp r13, r14
jne 0x1401585ee
mov qword [rsi + 0x78], r14
test rdx, rdx
jne 0x140158213
mov r14, qword [rsi + 0x58]
mov rdi, qword [rsi + 0x60]
cmp rdi, r14
jne 0x140158228
mov rdx, qword [rsi + 0x48]
lea rcx, fcn.1400eef30
xor r8d, r8d
call fcn.1400eaf80
lea rax, [0x14026f868]
mov qword [rsi], rax
mov rcx, qword [rsi + 0x30]
mov rax, rcx
movabs rdx, 0xfffffffc00000000
and rax, rdx
cmp rax, qword [0x1402aaec8]
je 0x1401572fb
mov rcx, rsi
call fcn.14018482c
jmp 0x140156524
mov rax, qword [0x14029ee18]
lea rcx, [0x140182e50]
cmp rax, rcx
jne 0x140157a6c
mov qword [rsp + 0x230], 0
lea rcx, [rsp + 0x230]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x230]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140158043
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b0aa0]
mov qword [rsp + 0x230], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, [rsp + 0x230]
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, [0x14029d8b0]
lea r8, str.WorkerThread_active
xor r9d, r9d
call fcn.1401589f0
jmp 0x140155ed1
add rsi, 0xc0
lea rcx, [rsp + 0x1b0]
mov rdx, rsi
call fcn.140154330
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x240], rcx
movupd xmm0, xmmword [rax]
movapd xmmword [rsp + 0x230], xmm0
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
lea rcx, [rsp + 0x230]
mov edx, 1
call fcn.140158790
mov rcx, qword [rax]
mov r8, qword [rcx + 0x28]
mov rcx, rax
mov edx, 1
mov rax, r8
call qword [case.0x1401eda70.0]
cmp byte [rsp + 0x247], 0
jns 0x140156d36
mov rcx, qword [rsp + 0x230]
call fcn.14018482c
cmp byte [rsp + 0x1c7], 0
js 0x140157e6c
test byte [0x14029e190], 0x19
je 0x140155ec4
jmp 0x140157e7e
mov rax, qword [r12 + 0x10]
mov eax, dword [rax]
test al, 1
je 0x140155a63
jmp 0x14015807d
mov rax, qword [0x14029ee18]
lea rcx, [0x140182e50]
cmp rax, rcx
jne 0x140157a7f
mov qword [rsp + 0x1b0], 0
lea rcx, [rsp + 0x1b0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x1b0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1401580bc
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b0aa0]
xor edx, edx
cmp rsi, rax
setns dl
movabs rcx, 0x7fffffffffffffff
add rdx, rcx
mov rcx, rsi
sub rcx, rax
cmovo rcx, rdx
test rcx, rcx
jg 0x14015621b
xor edi, edi
jmp 0x14015629d
lock dec dword [rsi]
jne 0x140155cd4
mov rax, qword [rsi + 0x10]
lea rcx, [0x1401f96d0]
cmp rax, rcx
je 0x140156fde
mov rcx, rsi
call qword [case.0x1401eda70.0]
jmp 0x140155cd4
call fcn.14010a720
jmp 0x140155e27
lea r14, [rdi + 0x20]
mov rcx, r14
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
call r13
test al, al
je 0x1401580e3
mov rcx, qword [rdi + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r14
mov rbp, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
call rbp
mov rcx, r14
call r13
test al, al
je 0x1401580f1
mov rax, qword [rdi + 0x30]
mov qword [rsp + 0x58], rax
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0x70], rax
movups xmmword [rdi + 0x30], xmm7
mov r13, qword [rdi + 0x40]
mov rbp, qword [rdi + 0x48]
movups xmmword [rdi + 0x40], xmm7
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, r13
mov rax, rbp
mov rdi, r13
cmp r13, rbp
jne 0x1401582d4
lea rcx, fcn.1400eef30
mov rdx, qword [rsp + 0x58]
xor r8d, r8d
call fcn.1400eaf80
jmp 0x14015660c
mov eax, dword [0x1402b6cbc]
mov ecx, dword [0x1402ab7ac]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401578bc
cmp byte [0x1402b6cb8], 0
jne 0x140156ae8
jmp 0x14015798e
mov rax, qword [rsp + 0x308]
mov rcx, rsi
cmp rax, rsi
je 0x140156f2b
lea r13, [rax - 0x18]
mov rcx, qword [rax - 0x10]
test rcx, rcx
je 0x140156f1b
mov rax, qword [rax - 8]
call qword [case.0x1401eda70.0]
mov rax, r13
cmp r13, rsi
jne 0x140156f04
mov rcx, qword [rsp + 0x300]
mov qword [rsp + 0x308], rsi
call fcn.14018482c
jmp 0x140155d16
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1401557c8
lea r14, [rdi + 0x20]
mov rcx, r14
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
call r13
test al, al
je 0x1401580ff
mov rcx, qword [rdi + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r14
mov rbp, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
call rbp
mov rcx, r14
call r13
test al, al
je 0x14015810d
mov rax, qword [rdi + 0x30]
mov qword [rsp + 0x58], rax
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0x70], rax
movups xmmword [rdi + 0x30], xmm7
mov r13, qword [rdi + 0x40]
mov rbp, qword [rdi + 0x48]
movups xmmword [rdi + 0x40], xmm7
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, r13
mov rax, rbp
mov rdi, r13
cmp r13, rbp
jne 0x140158437
lea rcx, fcn.1400eef30
mov rdx, qword [rsp + 0x58]
xor r8d, r8d
call fcn.1400eaf80
jmp 0x14015651b
mov rcx, qword [rsi + 0x28]
mov rax, rcx
movabs rdx, 0xfffffffc00000000
and rax, rdx
cmp rax, qword [0x1402aaec8]
je 0x1401578ab
mov rcx, rsi
call fcn.14018482c
jmp 0x140155cd4
movaps xmmword [rsp + 0x300], xmm6
movaps xmmword [rsp + 0x2f0], xmm6
movups xmmword [rsp + 0x20], xmm7
mov byte [rsp + 0x30], 0
lea rcx, [rsp + 0x2f0]
mov dl, 0x42
lea r8, [0x14029d8b0]
lea r9, str.ScopedBlockingCallWithBaseSyncPrimitives
call fcn.140158780
mov rax, qword [rsp + 0x2f0]
test rax, rax
je 0x140157194
mov cl, byte [rsp + 0x308]
mov rdx, qword [rsp + 0x2f8]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rdx
xor eax, eax
mov qword [rsp + 0x148], rax
mov byte [rsp + 0x150], cl
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0x130], rax
lea rax, [rsp + 0x138]
movupd xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 9]
lea rax, [rsp + 0x1b8]
movups xmmword [rax + 9], xmm1
movupd xmmword [rax], xmm0
mov rcx, qword [rsp + 0x1b8]
mov edx, 0x21
call fcn.140108f90
mov rsi, rax
mov rdx, qword [rsp + 0x2c8]
lea rdi, [rsp + 0x110]
mov rcx, rdi
call fcn.1401c45c0
movzx r9d, byte [rsp + 0x127]
test r9b, r9b
jns 0x1401570ff
mov r9, qword [rsp + 0x118]
mov rdi, qword [rsp + 0x110]
mov rcx, rsi
mov edx, 2
mov r8, rdi
call fcn.140109440
cmp byte [rsp + 0x127], 0
jns 0x140157126
mov rcx, qword [rsp + 0x110]
call fcn.14018482c
mov rdx, qword [rsp + 0x2c0]
lea rdi, [rsp + 0xf8]
mov rcx, rdi
call fcn.1401c45c0
movzx r9d, byte [rsp + 0x10f]
test r9b, r9b
jns 0x14015715c
mov r9, qword [rsp + 0x100]
mov rdi, qword [rsp + 0xf8]
mov rcx, rsi
mov edx, 3
mov r8, rdi
call fcn.140109440
cmp byte [rsp + 0x10f], 0
js 0x140157258
lea rcx, [rsp + 0x1b0]
call fcn.140158850
lea rcx, [rsp + 0x130]
call fcn.140158850
mov rcx, qword [rsp + 0x300]
test rcx, rcx
je 0x140156b14
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1401eda70.0]
jmp 0x140156b14
mov rax, qword [rcx + 0x30]
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rax + 0x90]
mulsd xmm0, xmm8
ucomisd xmm9, xmm0
jb 0x140158181
maxsd xmm0, xmm10
cvttsd2si r14, xmm0
jmp 0x140155efd
mov rcx, rsi
call fcn.1400da330
jmp 0x140156a63
call fcn.14010a720
jmp 0x140156840
mov rdx, qword [rsp + 0x60]
call fcn.140023a10
jmp 0x1401562b4
mov rax, qword [rdi + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x140156901
jmp 0x140157a98
mov cl, byte [rax + 0x20]
jmp 0x140156ac2
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140155dce
mov rax, qword [rdi + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x140156b5d
jmp 0x140157ac4
mov rcx, qword [rsp + 0xf8]
call fcn.14018482c
jmp 0x14015717a
call fcn.1400de100
jmp 0x1401569a3
lea rcx, [0x1402b9390]
call fcn.140184b80
cmp dword [0x1402b9390], 0xffffffff
je 0x140157633
jmp 0x140155fdb
call fcn.14015a3d0
cmp r14, r15
jle 0x1401562b4
setns al
movzx eax, al
movabs rcx, 0x7fffffffffffffff
add rax, rcx
mov rdx, r14
sub rdx, r15
cmovo rdx, rax
lea rax, [rcx + r15]
add rax, 2
cmp rax, 2
cmovb rdx, rcx
cmp r14, rcx
cmove rdx, rcx
mov rcx, qword [rsp + 0x60]
call fcn.1400da810
jmp 0x1401562b4
mov esi, 3
jmp 0x14015565c
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140155631
call fcn.1400de100
jmp 0x140156bff
xor eax, eax
jmp 0x140155518
mov rax, qword [0x14029ee18]
lea rdi, [0x140182e50]
cmp rax, rdi
jne 0x140157af0
lea rsi, [rsp + 0x230]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140158568
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b0aa0]
mov qword [rsp + 0x230], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea r14, [rsp + 0x230]
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, [0x14029d8b0]
lea r8, str.WorkerThread_born
mov cl, 0x49
xor r9d, r9d
call fcn.1401589f0
test byte [0x14029d8b0], 0x19
je 0x1401554b0
mov rax, qword [0x14029ee18]
cmp rax, rdi
jne 0x140157b16
lea rsi, [rsp + 0x230]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14015858f
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b0aa0]
mov qword [rsp + 0x230], 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, [0x14029d8b0]
lea r8, str.WorkerThread_active
mov cl, 0x42
xor r9d, r9d
call fcn.1401589f0
jmp 0x1401554b0
mov rax, qword [0x14029ee18]
lea rcx, [0x140182e50]
cmp rax, rcx
jne 0x140157b03
lea rsi, [rsp + 0x230]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1401585b6
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b0aa0]
mov qword [rsp + 0x230], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, [rsp + 0x230]
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, [0x14029d8b0]
lea r8, str.WorkerThread_active
mov cl, 0x45
xor r9d, r9d
call fcn.1401589f0
jmp 0x14015552a
mov rax, qword [0x1402aef20]
xor rax, rbx
lea rcx, [fcn.140158950]
mov qword [rsp + 0x148], rcx
lea rcx, [0x140281d20]
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x138], rax
movapd xmm0, xmmword [0x1402724c0]
lea rsi, [rsp + 0x2f0]
movapd xmmword [rsi + 0x10], xmm0
movapd xmmword [rsi], xmm0
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
lea r8, [0x14029d8b0]
lea r9, str.WorkerThread_active
mov rcx, rsi
mov dl, 0x42
call fcn.140158780
mov rax, qword [rsi]
test rax, rax
je 0x1401575f1
lea rcx, [rsp + 0x138]
mov dl, byte [rsp + 0x308]
mov r8, qword [rsp + 0x2f8]
xor edi, edi
lea rsi, [rsp + 0x1b0]
mov qword [rsi], rdi
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], r8
mov qword [rsi + 0x18], rdi
mov byte [rsi + 0x20], dl
mov rax, qword [rcx + 0x10]
mov rdx, rsi
call qword [case.0x1401eda70.0]
mov rax, qword [rsi]
lea rcx, [rsp + 0x230]
mov qword [rcx], rax
mov qword [rsi], rdi
movups xmm0, xmmword [rsi + 8]
movups xmmword [rcx + 8], xmm0
movupd xmm0, xmmword [rsi + 0x11]
movupd xmmword [rcx + 0x11], xmm0
call fcn.140158850
mov rcx, rsi
call fcn.140158850
mov rcx, qword [rsp + 0x300]
test rcx, rcx
je 0x14015760b
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1401eda70.0]
mov rax, qword [rsp + 0x150]
mov rax, qword [rax + 8]
test rax, rax
je 0x140155549
mov rcx, qword [rsp + 0x138]
call qword [case.0x1401eda70.0]
jmp 0x140155549
mov rax, qword [rsp + 0x1b0]
mov edx, 0x3938700
lea rcx, [rdx + rax]
sar rcx, 0x3f
btc rcx, 0x3f
add rax, rdx
cmovo rax, rcx
mov qword [0x1402b9388], rax
lea rcx, [0x1402b9390]
call fcn.140184be8
jmp 0x140155fdb
lea rcx, [0x1402b9380]
call fcn.140184b80
cmp dword [0x1402b9380], 0xffffffff
jne 0x140155f33
lea rcx, str.iO__
call fcn.140023e90
mov byte [0x1402b937c], al
lea rcx, [0x1402b9380]
call fcn.140184be8
jmp 0x140155f33
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140155ea4
cmp byte [rax + 0x28], 0
je 0x140156ae8
mov rsi, qword [rax + 0x38]
mov qword [rax + 0x38], 0
test rsi, rsi
je 0x140156ae8
lock dec dword [rsi]
jne 0x140156ae8
mov rcx, rsi
call fcn.140011010
mov rcx, rsi
call fcn.14018482c
jmp 0x140156ae8
mov rax, qword [rsi + 0xb0]
mov rcx, rdi
cmp rax, rdi
je 0x140157728
lea r14, [rax - 0x18]
mov rcx, qword [rax - 0x10]
test rcx, rcx
je 0x140157719
mov rax, qword [rax - 8]
call qword [case.0x1401eda70.0]
mov rax, r14
cmp r14, rdi
jne 0x140157702
mov rcx, qword [rsi + 0xa8]
mov qword [rsi + 0xb0], rdi
call fcn.14018482c
jmp 0x14015692f
mov rax, qword [rsi + 0xb0]
mov rcx, rdi
cmp rax, rdi
je 0x14015776e
lea r14, [rax - 0x18]
mov rcx, qword [rax - 0x10]
test rcx, rcx
je 0x14015775f
mov rax, qword [rax - 8]
call qword [case.0x1401eda70.0]
mov rax, r14
cmp r14, rdi
jne 0x140157748
mov rcx, qword [rsi + 0xa8]
mov qword [rsi + 0xb0], rdi
call fcn.14018482c
jmp 0x140156b8b
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edi, eax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test edi, edi
jne 0x140155647
mov rdi, qword [rbx + 0x48]
mov rcx, qword [rdi + 0x18]
mov qword [rdi + 0x18], 0
test rcx, rcx
je 0x1401577c3
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x1401eda70.0]
mov rsi, qword [rdi + 0x30]
add rsi, 0x28
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401581e3
mov rax, qword [rdi + 0x30]
inc qword [rax + 0x170]
mov rax, qword [rdi + 0x30]
mov rcx, qword [rax + 0x178]
test rcx, rcx
jne 0x1401581f1
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rbx + 0x60]
test rcx, rcx
jne 0x1401581fb
mov rsi, qword [rbx + 0x10]
mov qword [rbx + 0x10], 0
test rsi, rsi
jne 0x140157905
test byte [0x14029d8b0], 0x19
mov rsi, qword [rsp + 0x68]
jne 0x1401579ae
test rsi, rsi
je 0x14015785c
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [case.0x1401eda70.0]
lock dec dword [rsi]
jne 0x14015785c
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [case.0x1401eda70.0]
mov rcx, qword [rsp + 0x328]
xor rcx, rsp
call fcn.1401874c0
movaps xmm6, xmmword [rsp + 0x330]
movaps xmm7, xmmword [rsp + 0x340]
movaps xmm8, xmmword [rsp + 0x350]
movaps xmm9, xmmword [rsp + 0x360]
movaps xmm10, xmmword [rsp + 0x370]
add rsp, 0x388
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1400de100
jmp 0x140156fff
xor eax, eax
jmp 0x1401560c3
lea rcx, [0x1402b6cbc]
call fcn.140184b80
cmp dword [0x1402b6cbc], 0xffffffff
jne 0x140156ee2
mov rcx, qword [0x1402b0d20]
test rcx, rcx
je 0x1401578ed
lea rdx, str.enable_background_thread_pool
call fcn.1400ea630
mov byte [0x1402b6cb8], 1
lea rcx, [0x1402b6cbc]
call fcn.140184be8
jmp 0x140156ee2
lock dec dword [rsi + 8]
jne 0x140157826
mov rcx, rsi
call fcn.1401c4700
mov rcx, rsi
call fcn.14018482c
jmp 0x140157826
lea rsi, [rsp + 0x130]
mov rcx, rsi
call qword [case.0x1401eda70.0]
mov rsi, qword [rsi]
jmp 0x140156204
lea rsi, [r12 + 0x50]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140158608
mov rcx, qword [r12 + 0x58]
call fcn.140133410
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140155d9a
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edi, eax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test edi, edi
jne 0x140155eba
jmp 0x1401565ef
mov rax, qword [rsp + 0x240]
jmp 0x140156adf
lea rcx, [rsp + 0x1b0]
call qword [case.0x1401eda70.0]
jmp 0x140155fb6
lea rdi, [rsp + 0x230]
mov rcx, rdi
call fcn.140105050
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, [0x14029d8b0]
lea r8, str.WorkerThread_active
mov cl, 0x45
xor r9d, r9d
call fcn.1401589f0
test byte [0x14029d8b0], 0x19
je 0x140157838
lea rdi, [rsp + 0x230]
mov rcx, rdi
call fcn.140105050
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, [0x14029d8b0]
lea r8, str.WorkerThread_dead
mov cl, 0x49
xor r9d, r9d
call fcn.1401589f0
jmp 0x140157838
mov ecx, esi
call fcn.140008580
mov dword [rbx + 0x6c], esi
jmp 0x140155665
lea rcx, [rsp + 0x230]
call qword [case.0x1401eda70.0]
jmp 0x140156c70
lea rdi, [rsp + 0x1b0]
mov rcx, rdi
call qword [case.0x1401eda70.0]
mov rax, qword [rdi]
jmp 0x140156dc6
lea r14, [rdi + 0x50]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140158616
mov rcx, qword [rdi + 0x58]
call fcn.140133410
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140156901
lea r14, [rdi + 0x50]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140158624
mov rcx, qword [rdi + 0x58]
call fcn.140133410
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140156b5d
lea rcx, [rsp + 0x230]
call qword [case.0x1401eda70.0]
jmp 0x140157369
lea rcx, [rsp + 0x230]
call qword [case.0x1401eda70.0]
jmp 0x1401574ba
lea rcx, [rsp + 0x230]
call qword [case.0x1401eda70.0]
jmp 0x140157416
lock dec dword [rcx + 8]
jne 0x140156626
mov edx, 1
call fcn.14015a900
jmp 0x140156626
int3
lea rcx, [rsp + 0xc8]
lea rdx, [rsp + 0x1b0]
lea r8, [rsp + 0xf8]
call fcn.14020a540
jmp 0x140155990
lea rsi, [rsp + 0x1b0]
lea rcx, [rsp + 0x238]
mov rdx, rsi
call fcn.14017fce0
mov rcx, qword [rsi]
test rcx, rcx
je 0x140155a1a
lock dec dword [rcx]
jne 0x140155a1a
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x140155a1a
lock dec dword [rcx + 8]
jne 0x140156535
mov edx, 1
call fcn.14015a900
jmp 0x140156535
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x140156546
mov qword [rsp + 0xe0], 0
lea rsi, [rsp + 0x230]
mov rdx, rsi
call fcn.140147860
mov r8, qword [rsi]
jmp 0x14015655a
lock dec dword [r8 + 8]
jne 0x140156563
mov rcx, r8
mov edx, 1
call fcn.14015a900
jmp 0x140156563
lock dec dword [rcx + 8]
jne 0x14015657c
mov edx, 1
call fcn.14015a900
jmp 0x14015657c
lea rdx, [rsp + 0x130]
lea r9, [rsp + 0x128]
mov rcx, r12
mov r8, rsi
call qword [case.0x1401eda70.0]
jmp 0x140155d6a
mov rcx, r12
call fcn.140209170
mov dword [rsp + 0x58], 0
jmp 0x140155710
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x1401562b4
jmp 0x140157292
movabs rcx, 0x7fffffffffffffff
lea rax, [rcx + r8]
add rax, 2
lea r9, [rcx + 1]
cmp rax, 1
ja 0x14015601d
cmp r8, r15
je 0x14015601d
int3
mov rcx, qword [0x1402b0aa0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140155fae
movabs rcx, 0x7fffffffffffffff
lea rdx, [rcx + r9]
add rdx, 2
cmp rdx, 1
ja 0x1401560e2
cmp r9, rax
je 0x1401560e2
int3
cmp rax, rdi
jb 0x1401581b1
mov r13, qword [r13]
shl rdi, 7
lea rdx, [rsp + 0x2f0]
call fcn.140184590
mov rax, qword [r13 + rdi + 0x28]
lea rcx, [rsp + 0x2f0]
cmp rax, qword [rcx]
jg 0x140157d3a
lea rdx, [rsp + 0x1b0]
mov rcx, r14
call fcn.1402092d0
jmp 0x140155963
lea rdx, [rsp + 0x1b0]
mov rcx, rsi
xor r8d, r8d
call fcn.140209ec0
jmp 0x140155963
int3
int3
int3
int3
mov rcx, qword [0x1402b0aa0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov rsi, rax
add rsi, r8
jmp 0x140156204
lea rsi, [rsp + 0x2f0]
mov rdx, rsi
call fcn.140184590
mov rax, qword [rsi]
mov qword [r14 + 0x88], rax
mov rcx, qword [r14 + 0x70]
cmp rcx, qword [r14 + 0x78]
je 0x1401581b4
lea rsi, [rsp + 0x2c0]
mov rdx, rsi
call fcn.140184530
mov rax, qword [rsi]
mov qword [r14 + 0x90], rax
jmp 0x14015597f
call fcn.14010a720
jmp 0x140156881
int3
lea rdx, [rsp + 0x110]
call fcn.140184590
mov rax, qword [r14 + 0x58]
cmp qword [r14 + 0x50], rax
jb 0x1401581e0
mov rcx, qword [r14 + 0x48]
shl rax, 7
mov rax, qword [rcx + rax + 0x28]
mov rcx, qword [rsp + 0x110]
cmp rcx, rax
cmovl rax, rcx
jmp 0x1401566b5
int3
mov r8, qword [rsp + 0x88]
mov qword [rsp + 0x1b8], r8
mov rcx, qword [r8]
lea rdx, [rsp + 0x1b8]
mov qword [r8], rdx
mov qword [rsp + 0x1c0], rcx
mov qword [rsp + 0x1c8], 0
jmp 0x1401567bf
call fcn.14010a720
jmp 0x140156811
int3
int3
call fcn.1401c5160
jmp 0x140157c50
mov rcx, qword [rsp + 0x1b0]
call fcn.14018482c
jmp 0x140156d44
lea rsi, [rsp + 0x1b0]
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
lea r8, [0x14029e190]
lea r9, str.ThreadPool.UnnecessaryWakeup
mov rcx, rsi
mov dl, 0x49
call fcn.140158780
mov rax, qword [rsi]
test rax, rax
je 0x140157eed
mov dl, byte [rsp + 0x1c8]
mov r8, qword [rsp + 0x1b8]
xor r9d, r9d
lea rcx, [rsp + 0x230]
mov qword [rcx], r9
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], r8
mov qword [rcx + 0x18], r9
mov byte [rcx + 0x20], dl
call fcn.140158850
mov rcx, qword [rsp + 0x1c0]
test rcx, rcx
je 0x140155ec4
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1401eda70.0]
jmp 0x140155ec4
mov rax, qword [0x1402aef20]
xor rax, qword [rsp + 0x60]
lea rcx, [fcn.140158950]
mov qword [rsp + 0x308], rcx
lea rcx, [0x140281d20]
mov qword [rsp + 0x310], rcx
mov qword [rsp + 0x2f8], rax
lea rsi, [rsp + 0x2c0]
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
lea r8, [0x14029e190]
lea r9, str.WaitableEvent::Wait_Complete
mov rcx, rsi
mov dl, 0x49
call fcn.140158780
mov rax, qword [rsi]
test rax, rax
je 0x140157fec
lea rcx, [rsp + 0x2f8]
mov dl, byte [rsp + 0x2d8]
mov r8, qword [rsp + 0x2c8]
xor r12d, r12d
lea rsi, [rsp + 0x130]
mov qword [rsi], r12
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], r8
mov qword [rsi + 0x18], r12
mov byte [rsi + 0x20], dl
mov rdx, rsi
call fcn.140158950
mov rax, qword [rsi]
lea rcx, [rsp + 0x1b0]
mov qword [rcx], rax
mov qword [rsi], r12
movups xmm0, xmmword [rsi + 8]
movups xmmword [rcx + 8], xmm0
movupd xmm0, xmmword [rsi + 0x11]
movupd xmmword [rcx + 0x11], xmm0
call fcn.140158850
mov rcx, rsi
call fcn.140158850
mov rcx, qword [rsp + 0x2d0]
test rcx, rcx
je 0x140158006
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1401eda70.0]
mov rax, qword [rsp + 0x310]
mov rax, qword [rax + 8]
test rax, rax
je 0x14015629d
mov rcx, qword [rsp + 0x2f8]
call qword [case.0x1401eda70.0]
jmp 0x14015629d
mov rcx, rsi
call fcn.1400da330
mov rdx, qword [rsp + 0x80]
jmp 0x140156a89
mov rcx, qword [0x1402b0aa0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140156c68
mov rcx, qword [rsp + 0x138]
call qword [case.0x1401eda70.0]
jmp 0x140156417
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x238], 0
lea rdx, [rsp + 0xf8]
mov qword [rdx], rax
lea rcx, [rsp + 0x238]
call fcn.140208c50
cmp byte [rsp + 0x230], 0
jne 0x140155a63
call fcn.1401c7f50
mov rcx, qword [0x1402b0aa0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140156dc6
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140156e43
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140156e67
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140156f64
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140156f88
mov rcx, rdi
call fcn.14020a220
mov rcx, qword [rdi]
call fcn.14018482c
jmp 0x140156954
mov r13, qword [rsi + 0x50]
jbe 0x140158277
cmp r13, rdi
jb 0x14015820d
cmp r14, rdi
jg 0x140158210
mov r13, qword [rsi + 0x48]
shl rdi, 7
shl r14, 7
mov rcx, qword [r13 + r14]
test rcx, rcx
jne 0x140158170
sub r14, 0xffffffffffffff80
cmp rdi, r14
jne 0x140158158
jmp 0x140156965
lock dec dword [rcx]
jne 0x140158162
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x140158162
xor r14d, r14d
ucomisd xmm0, qword [0x140260040]
movabs rax, 0x7fffffffffffffff
cmovae r14, rax
jmp 0x140155efd
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1401eda70.0]
jmp 0x1401554bd
int3
lea rax, str.front___called_on_an_empty_vector
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str._empty__
mov r8d, 0x23b
call fcn.1401c1b10
int3
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1401577dc
call sub.KERNEL32.dll_WakeConditionVariable
jmp 0x1401577fb
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x140157811
int3
int3
mov rcx, rdi
call fcn.14020a220
mov rcx, qword [rdi]
call fcn.14018482c
jmp 0x140156bb0
mov r13, qword [rsi + 0x50]
jbe 0x14015838d
cmp r13, rdi
jb 0x140158271
cmp r14, rdi
jg 0x140158274
mov r13, qword [rsi + 0x48]
shl rdi, 7
shl r14, 7
mov rcx, qword [r13 + r14]
test rcx, rcx
jne 0x140158260
sub r14, 0xffffffffffffff80
cmp rdi, r14
jne 0x140158248
jmp 0x140156bc1
lock dec dword [rcx]
jne 0x140158252
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x140158252
int3
int3
cmp r13, r14
jb 0x1401582bc
jl 0x1401582b9
je 0x1401583d9
mov rbp, qword [rsi + 0x48]
shl r13, 7
shl r14, 7
mov rcx, qword [rbp + r14]
test rcx, rcx
jne 0x1401582a8
sub r14, 0xffffffffffffff80
cmp r13, r14
jne 0x140158290
jmp 0x1401583d5
lock dec dword [rcx]
jne 0x14015829a
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x14015829a
int3
int3
lock dec dword [r14]
jne 0x140158310
mov rax, qword [r14 + 0x10]
mov rcx, r14
call qword [case.0x1401eda70.0]
jmp 0x140158310
mov qword [rsp + 0x50], rcx
mov rbp, rax
mov rax, qword [rsp + 0x70]
cmp rax, rdi
jb 0x140158384
mov r13, rax
mov rax, qword [rsp + 0x58]
mov r14, qword [rax + rdi*8]
mov qword [rax + rdi*8], 0
mov rax, qword [r14 + 8]
mov rcx, r14
call qword [case.0x1401eda70.0]
test r14, r14
jne 0x1401582bf
inc rdi
xor eax, eax
mov rcx, r13
cmp rdi, r13
cmove rdi, rax
mov rax, rbp
cmp rdi, rbp
mov rcx, qword [rsp + 0x50]
jne 0x1401582d4
cmp rax, rcx
jbe 0x140158632
cmp r13, rbp
jb 0x140158387
cmp qword [rsp + 0x50], rbp
jg 0x14015838a
mov rdi, rbp
shl rdi, 3
mov rax, qword [rsp + 0x50]
shl rax, 3
mov r14, rax
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + rax]
test rcx, rcx
jne 0x140158373
mov rax, r14
add rax, 8
cmp rdi, rax
jne 0x140158351
jmp 0x140156ea4
lock dec dword [rcx]
jne 0x140158362
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x140158362
int3
int3
int3
cmp r13, r14
jb 0x1401583cf
jl 0x1401583d2
je 0x1401584f4
mov rbp, qword [rsi + 0x48]
shl r13, 7
shl r14, 7
mov rcx, qword [rbp + r14]
test rcx, rcx
jne 0x1401583be
sub r14, 0xffffffffffffff80
cmp r13, r14
jne 0x1401583a6
jmp 0x1401584f0
lock dec dword [rcx]
jne 0x1401583b0
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x1401583b0
int3
int3
mov r14, qword [rsi + 0x50]
cmp r14, rdi
jb 0x14015841c
test rdi, rdi
js 0x14015841f
je 0x140156965
mov r14, qword [rsi + 0x48]
shl rdi, 7
xor r13d, r13d
mov rcx, qword [r14 + r13]
test rcx, rcx
jne 0x14015840b
sub r13, 0xffffffffffffff80
cmp rdi, r13
jne 0x1401583f4
jmp 0x140156965
lock dec dword [rcx]
jne 0x1401583fd
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x1401583fd
int3
int3
lock dec dword [r14]
jne 0x140158473
mov rax, qword [r14 + 0x10]
mov rcx, r14
call qword [case.0x1401eda70.0]
jmp 0x140158473
mov qword [rsp + 0x50], rcx
mov rbp, rax
mov rax, qword [rsp + 0x70]
cmp rax, rdi
jb 0x1401584e7
mov r13, rax
mov rax, qword [rsp + 0x58]
mov r14, qword [rax + rdi*8]
mov qword [rax + rdi*8], 0
mov rax, qword [r14 + 8]
mov rcx, r14
call qword [case.0x1401eda70.0]
test r14, r14
jne 0x140158422
inc rdi
xor eax, eax
mov rcx, r13
cmp rdi, r13
cmove rdi, rax
mov rax, rbp
cmp rdi, rbp
mov rcx, qword [rsp + 0x50]
jne 0x140158437
cmp rax, rcx
jbe 0x14015868b
cmp r13, rbp
jb 0x1401584ea
cmp qword [rsp + 0x50], rbp
jg 0x1401584ed
mov rdi, rbp
shl rdi, 3
mov rax, qword [rsp + 0x50]
shl rax, 3
mov r14, rax
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + rax]
test rcx, rcx
jne 0x1401584d6
mov rax, r14
add rax, 8
cmp rdi, rax
jne 0x1401584b4
jmp 0x140156fc5
lock dec dword [rcx]
jne 0x1401584c5
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x1401584c5
int3
int3
int3
mov r14, qword [rsi + 0x50]
cmp r14, rdi
jb 0x140158537
test rdi, rdi
js 0x14015853a
je 0x140156bc1
mov r14, qword [rsi + 0x48]
shl rdi, 7
xor r13d, r13d
mov rcx, qword [r14 + r13]
test rcx, rcx
jne 0x140158526
sub r13, 0xffffffffffffff80
cmp rdi, r13
jne 0x14015850f
jmp 0x140156bc1
lock dec dword [rcx]
jne 0x140158518
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x140158518
int3
int3
lock dec dword [rcx]
jne 0x14015855b
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x14015855b
mov rcx, qword [r13 - 0x80]
add r13, 0xffffffffffffff80
test rcx, rcx
jne 0x14015853d
cmp r13, r14
jne 0x14015854e
mov rdx, qword [rdi]
jmp 0x140156947
mov rcx, qword [0x1402b0aa0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140157361
mov rcx, qword [0x1402b0aa0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14015740e
mov rcx, qword [0x1402b0aa0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1401574b2
lock dec dword [rcx]
jne 0x1401585fb
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x1401585fb
mov rcx, qword [r13 - 0x80]
add r13, 0xffffffffffffff80
test rcx, rcx
jne 0x1401585dd
cmp r13, r14
jne 0x1401585ee
mov rdx, qword [rdi]
jmp 0x140156ba3
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140157953
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140157aad
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140157ad9
cmp r13, qword [rsp + 0x50]
jb 0x140158682
jl 0x140158685
jne 0x1401586e4
test rbp, rbp
js 0x140158688
je 0x140156ea4
mov r14, rbp
shl r14, 3
xor edi, edi
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + rdi]
test rcx, rcx
jne 0x140158671
add rdi, 8
cmp r14, rdi
jne 0x140158655
jmp 0x140156ea4
lock dec dword [rcx]
jne 0x140158663
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x140158663
int3
int3
int3
cmp r13, qword [rsp + 0x50]
jb 0x1401586db
jl 0x1401586de
jne 0x14015872d
test rbp, rbp
js 0x1401586e1
je 0x140156fc5
mov r14, rbp
shl r14, 3
xor edi, edi
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + rdi]
test rcx, rcx
jne 0x1401586ca
add rdi, 8
cmp r14, rdi
jne 0x1401586ae
jmp 0x140156fc5
lock dec dword [rcx]
jne 0x1401586bc
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x1401586bc
int3
int3
int3
shl r13, 3
shl qword [rsp + 0x50], 3
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rax + rcx]
test rcx, rcx
jne 0x14015871c
mov rcx, qword [rsp + 0x50]
add rcx, 8
mov rax, rcx
mov qword [rsp + 0x50], rcx
cmp r13, rcx
jne 0x1401586ee
jmp 0x140158641
lock dec dword [rcx]
jne 0x140158701
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x140158701
shl r13, 3
shl qword [rsp + 0x50], 3
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rax + rcx]
test rcx, rcx
jne 0x140158765
mov rcx, qword [rsp + 0x50]
add rcx, 8
mov rax, rcx
mov qword [rsp + 0x50], rcx
cmp r13, rcx
jne 0x140158737
jmp 0x14015869a
lock dec dword [rcx]
jne 0x14015874a
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x14015874a