Function at 0x140082c90
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, 0x268
movaps xmmword [rsp + 0x250], xmm10
movaps xmmword [rsp + 0x240], xmm9
movaps xmmword [rsp + 0x230], xmm8
movaps xmmword [rsp + 0x220], xmm7
movaps xmmword [rsp + 0x210], xmm6
mov rsi, rcx
mov rax, qword [0x140174028]
xor rax, rsp
mov qword [rsp + 0x208], rax
test byte [0x140175f50], 0x19
jne 0x140083fc7
mov rcx, qword [rsi + 0x60]
test rcx, rcx
jne 0x140084ae7
mov rcx, qword [rsi + 0x48]
mov rdx, rsi
call fcn.140004aa0
mov eax, dword [0x14018a108]
test eax, eax
je 0x140082e0e
mov rax, qword [rsi + 0x50]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x140082d2f
cmp dword [rsi + 0x68], 0
je 0x140082e0e
mov rcx, qword [0x14018a100]
test rcx, rcx
je 0x140082e0e
lea rbx, [rsp + 0x180]
mov rdx, rbx
mov r8d, 2
call fcn.1400176d0
mov rax, qword [rbx]
mov qword [rsp + 0x78], rax
test byte [0x140175f50], 0x19
jne 0x140084177
mov rcx, qword [rsi + 0x48]
lea rdx, [rsi + 0x30]
mov qword [rsp + 0x70], rdx
call fcn.140004c10
test byte [0x140175f50], 0x19
jne 0x140084222
movabs r13, 0x7fffffffffffffff
lea r12, [rsp + 0x188]
mov eax, dword [0x140183a44]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x170]
mov qword [rsp + 0x98], rcx
lea rcx, [rax + 0x178]
mov qword [rsp + 0x80], rcx
lea rax, [rax + 0x180]
mov qword [rsp + 0x90], rax
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
movaps xmm6, xmmword [0x14015bb90]
xorps xmm7, xmm7
movsd xmm8, qword [0x140165a78]
movsd xmm9, qword [0x140160d08]
movsd xmm10, qword [0x14014cfc0]
xor edi, edi
jmp 0x1400831de
xor eax, eax
jmp 0x140082d58
mov rax, qword [0x1401774a8]
lea rcx, [0x1400b9ff0]
cmp rax, rcx
jne 0x140084440
mov qword [rsp + 0x180], 0
lea rcx, [rsp + 0x180]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x180]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140084a12
imul rax, rax, 0xf4240
cqo
idiv qword [0x140186968]
mov qword [rsp + 0x180], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, [rsp + 0x180]
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, [0x140175f50]
lea r8, str.WorkerThread_active
xor r9d, r9d
call fcn.14007e620
jmp 0x1400832c9
mov r12, rbp
lea rbp, [rbx + 0x20]
mov rcx, rbp
call r12
test al, al
je 0x1400847ff
mov rcx, qword [rbx + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, rbp
mov rax, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
call rax
mov rcx, rbp
call r12
test al, al
je 0x14008480d
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x68], rax
movups xmmword [rbx + 0x30], xmm7
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x88], rax
mov r12, qword [rbx + 0x48]
movups xmmword [rbx + 0x40], xmm7
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsp + 0x88]
mov rax, r12
mov rbx, rcx
cmp rcx, r12
lea r12, [rsp + 0x188]
jne 0x140084952
lea rcx, fcn.140080350
mov rdx, qword [rsp + 0x58]
xor r8d, r8d
call fcn.140089ea0
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jmp 0x1400831bb
mov rax, qword [rbx + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x140082fb6
jmp 0x14008445e
call fcn.140086ed0
jmp 0x140083059
mov rbx, qword [rsp + 0xc8]
test rbx, rbx
je 0x1400831af
mov qword [rsp + 0xc0], 0
mov al, byte [r15 + 0xd]
and al, 0x7f
cmp al, 2
je 0x140082f6e
lock dec dword [rbx + 0x18]
je 0x140082ec3
lock dec dword [r15 + 8]
jne 0x1400831c4
lea rax, [0x14015afc8]
mov qword [r15], rax
mov rbx, qword [r15 + 0xa8]
test rbx, rbx
jne 0x140083eb1
lea rax, [r15 + 0x70]
mov rbx, qword [r15 + 0x70]
mov rbp, qword [r15 + 0x78]
mov rdx, rbx
cmp rbp, rbx
jne 0x140084a60
mov qword [r15 + 0x78], rbx
test rdx, rdx
jne 0x140084acf
mov rax, qword [r15 + 0x58]
mov rbp, qword [r15 + 0x60]
cmp rbp, rax
jne 0x14008473e
mov rdx, qword [r15 + 0x48]
lea rcx, fcn.140080350
xor r8d, r8d
call fcn.140089ea0
lea rax, [0x14015b048]
mov qword [r15], rax
mov rcx, qword [r15 + 0x30]
mov rax, rcx
movabs rdx, 0xfffffffc00000000
and rax, rdx
cmp rax, qword [0x140183548]
je 0x140082f85
mov rcx, r15
call fcn.1400bab7c
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jmp 0x1400831c4
mov rcx, qword [rsi + 0x48]
call fcn.140004560
jmp 0x1400832bc
mov qword [rsp + 0x1e0], rax
lea rcx, [rsp + 0x1e0]
call fcn.14007cc50
mov rcx, qword [rsi + 0x50]
movapd xmm0, xmmword [rsp + 0xc0]
movupd xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xc0], xmm7
lea rdx, [rsp + 0x180]
lea r8, [rsp + 0xb0]
call fcn.140084e60
mov r8, qword [rsp + 0xc0]
test r8, r8
jne 0x1400844cd
mov qword [rsp + 0xf8], r8
mov qword [rsp + 0xc0], 0
test r8, r8
jne 0x1400844b0
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x180], 0
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc0], rax
test rcx, rcx
jne 0x1400845ce
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x180], rax
lea rcx, [rsp + 0x180]
call fcn.14007cc50
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.1400b7a90
cmp qword [rsp + 0xc0], 0
jne 0x1400844a6
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov dil, 1
xor r14d, r14d
mov r15, qword [rsp + 0xc0]
test r15, r15
jne 0x140082f8f
mov qword [rsp + 0xc0], 0
test r15, r15
jne 0x140082fc0
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
jne 0x14008448d
test r14b, r14b
jne 0x140083d7e
movzx eax, byte [rsi + 0x40]
test al, al
jne 0x140083d7e
movzx eax, byte [rsi + 0x70]
test al, al
jne 0x140083d7e
mov rbx, qword [rsi + 0x50]
lea r15, [rbx + 0x50]
mov rcx, r15
call rbp
test al, al
je 0x140083ea3
mov rax, qword [rbx + 0x58]
test rax, rax
jne 0x140084351
mov rcx, r15
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 0x140083ca3
mov r15d, dword [rsi + 0x68]
cmp dword [rsi + 0x6c], r15d
jne 0x1400843ea
movaps xmmword [rsp + 0xc0], xmm6
mov rcx, qword [rsi + 0x48]
lea rdx, [rsp + 0xc0]
mov r8, rsi
call fcn.140093340
mov rax, qword [rsp + 0xc0]
test rax, rax
jne 0x140083080
mov al, byte [rsi + 0x40]
mov r14b, 1
test al, al
jne 0x14008319e
mov al, byte [rsi + 0x70]
test al, al
jne 0x14008319e
mov rbx, qword [rsi + 0x50]
lea r15, [rbx + 0x50]
mov rcx, r15
call rbp
test al, al
je 0x140083f85
mov rax, qword [rbx + 0x58]
test rax, rax
jne 0x14008437b
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test dil, 1
je 0x14008306d
test byte [0x140175f50], 0x19
jne 0x140082e15
mov rcx, qword [rsi + 0x48]
mov rax, qword [rcx]
lea rdx, [fcn.140004c10]
cmp qword [rax + 0x30], rdx
jne 0x140083c94
cmp byte [rcx + 0x40], 0
mov rdi, r13
jne 0x140083c68
mov eax, 0xf4240
cmp rdi, rax
mov ebp, 0xf4240
cmovl rbp, rdi
mov eax, dword [0x14018e2a0]
mov ecx, dword [0x140183a44]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140083ef7
cmp byte [0x14018e29c], 0
je 0x1400834da
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xf8], rax
mov rax, qword [fcn.14007e570]
lea rcx, [0x1400b9ff0]
cmp rax, rcx
jne 0x1400843be
mov qword [rsp + 0x180], 0
lea rcx, [rsp + 0x180]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x180]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140084548
imul rax, rax, 0xf4240
cqo
idiv qword [0x140186968]
mov qword [rsp + 0xf8], rax
mov eax, dword [0x14018e2b0]
mov ecx, dword [0x140183a44]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140083f33
mov r8, qword [rsp + 0xf8]
lea rax, [rbp + 2]
add rax, r13
cmp rax, 2
jb 0x140084502
lea rax, [r8 + rbp]
sar rax, 0x3f
btc rax, 0x3f
add rbp, r8
cmovo rbp, rax
mov r9, rbp
xor eax, eax
mov rcx, r9
neg rcx
setns al
add rax, r13
mov rcx, r9
neg rcx
cmovo rcx, rax
lea rdx, [rcx + r13]
add rdx, 2
mov rax, r13
cmp rdx, 2
jb 0x14008345a
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 0x14008421b
lea rdx, [rax + 0xf4240]
sar rdx, 0x3f
btc rdx, 0x3f
mov rcx, rax
add rcx, 0xf4240
cmovo rcx, rdx
test r9, r9
cmovle rcx, rax
lea rax, [rcx + r13]
add rax, 2
cmp rax, 2
jb 0x140084524
lea rax, [r9 + rcx]
sar rax, 0x3f
btc rax, 0x3f
add r9, rcx
cmovo r9, rax
mov rax, r9
xor ecx, ecx
cmp rax, r8
setns cl
add rcx, r13
sub rax, r8
cmovo rax, rcx
mov rbp, qword [0x14018e2a8]
xor ecx, ecx
cmp rbp, r8
setns cl
add rcx, r13
sub rbp, r8
cmovo rbp, rcx
cmp rax, rbp
cmovg rbp, rax
test rbp, rbp
jle 0x140083c4b
movaps xmmword [rsp + 0x180], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x1d0], rax
movaps xmmword [rsp + 0x1c0], xmm6
movaps xmmword [rsp + 0x1b0], xmm6
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x190], xmm6
mov byte [rsp + 0x180], 0
movups xmmword [r12 + 0x30], xmm7
movups xmmword [r12 + 0x20], xmm7
movups xmmword [r12 + 0x10], xmm7
movups xmmword [r12], xmm7
mov qword [r12 + 0x40], 0
cmp byte [rsi + 0x38], 0
je 0x140083897
cmp rbp, r13
je 0x1400837dd
mov rax, qword [0x1401774a8]
lea rcx, [0x1400b9ff0]
cmp rax, rcx
jne 0x1400843a5
mov qword [rsp + 0xf8], 0
lea rcx, [rsp + 0xf8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xf8]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400846ec
imul rax, rax, 0xf4240
cqo
idiv qword [0x140186968]
mov r15, rax
lea rax, [r15 + rbp]
sar rax, 0x3f
btc rax, 0x3f
add r15, rbp
cmovo r15, rax
mov rcx, rbp
cmp rcx, r13
je 0x1400837d3
lea rax, [rcx + r13]
add rax, 2
cmp rax, 2
jb 0x1400844a9
mov rax, rcx
movabs rdx, 0x20c49ba5e353f7cf
imul rdx
mov rax, rdx
shr rdx, 0x3f
sar rax, 7
add rax, rdx
imul r8, rax, 0x3e8
xor edx, edx
cmp rcx, r8
setg dl
xor ecx, ecx
add rdx, rax
setns cl
neg ecx
mov rax, rdx
shr rax, 0x20
cmovne edx, ecx
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x140083804
mov r14b, 1
cmp byte [rsi + 0x38], 0
je 0x1400837e5
cmp byte [rsp + 0x180], 0
jne 0x1400837f7
test r14b, r14b
je 0x140083b92
xor r14d, r14d
test byte [0x140175f50], 0x19
mov edi, 0
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
je 0x14008319e
mov rax, qword [0x140184e38]
xor rax, rsi
lea rcx, [fcn.140084dc0]
mov qword [rsp + 0x1f8], rcx
lea rcx, [0x140164e20]
mov qword [rsp + 0x200], rcx
mov qword [rsp + 0x1e8], rax
movaps xmmword [rsp + 0x160], xmm6
movaps xmmword [rsp + 0x150], xmm6
movups xmmword [rsp + 0x20], xmm7
mov byte [rsp + 0x30], 0
lea rcx, [rsp + 0x150]
mov dl, 0x42
lea r8, [0x140175f50]
lea r9, str.WorkerThread_active
call fcn.140084cb0
mov rax, qword [rsp + 0x150]
test rax, rax
je 0x14008379a
mov cl, byte [rsp + 0x168]
mov rdx, qword [rsp + 0x158]
xor edi, edi
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x110], rdi
mov byte [rsp + 0x118], cl
mov rax, qword [rsp + 0x1f8]
lea rcx, [rsp + 0x1e8]
lea rbx, [rsp + 0xf8]
mov rdx, rbx
call qword [case.0x14010edb0.0]
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0xf8], rdi
lea rax, [rsp + 0x100]
movupd xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 9]
movups xmmword [r12 + 9], xmm1
movupd xmmword [r12], xmm0
lea rcx, [rsp + 0x180]
call fcn.140084cc0
mov rcx, rbx
call fcn.140084cc0
mov rcx, qword [rsp + 0x160]
test rcx, rcx
je 0x1400837b4
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14010edb0.0]
mov rax, qword [rsp + 0x200]
mov rax, qword [rax + 8]
test rax, rax
jne 0x14008472b
xor r14d, r14d
xor edi, edi
jmp 0x14008319e
mov edx, 0xffffffff
jmp 0x14008362a
mov r15, r13
jmp 0x1400835cb
test byte [0x140176840], 0x19
je 0x14008364d
jmp 0x14008481b
mov rcx, r12
call fcn.14007d9b0
jmp 0x14008365b
mov rax, qword [0x1401774a8]
lea rcx, [0x1400b9ff0]
cmp rax, rcx
jne 0x140083c32
mov qword [rsp + 0xf8], 0
lea rcx, [rsp + 0xf8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xf8]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140084a39
imul rax, rax, 0xf4240
cqo
idiv qword [0x140186968]
xor edx, edx
cmp r15, rax
setns dl
add rdx, r13
mov rcx, r15
sub rcx, rax
cmovo rcx, rdx
jg 0x1400835ce
xor r14d, r14d
jmp 0x14008364d
mov rcx, r15
call fcn.14007cc60
movabs rcx, 0xfffffffc00000000
jmp 0x1400838dc
lea rcx, [rsp + 0xd0]
lea rdx, str.TimedWait
lea r8, str....._base_synchronizationwaitable_event.cc
mov r9d, 0x24
call fcn.140093320
mov rax, qword [rsp + 0x98]
mov r15, qword [rax]
mov rax, r15
movabs rcx, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x140183548]
je 0x140083883
mov qword [rsp + 0x188], r15
mov rdx, qword [rsp + 0x80]
mov r15, qword [rdx]
mov rax, r15
and rax, rcx
cmp rax, qword [0x140183548]
je 0x140084716
mov qword [rsp + 0x190], r15
mov qword [rsp + 0x198], rdx
mov rax, qword [rdx]
mov qword [rdx], r12
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x190]
test rax, rax
jne 0x140083989
xor ecx, ecx
mov byte [rsp + 0x1a8], cl
mov byte [rsp + 0x1b0], 0
mov rcx, qword [rsp + 0x90]
cmp byte [rcx], 0
je 0x14008398e
test rax, rax
jne 0x140083b83
mov rcx, qword [rsp + 0x188]
test rcx, rcx
je 0x140083973
cmp qword [rsp + 0x190], 0
jne 0x140083973
xor edx, edx
call fcn.1400a6780
test byte [0x140175f50], 0x19
jne 0x1400839c1
mov byte [rsp + 0x180], 1
jmp 0x14008354f
mov cl, byte [rax + 0x20]
jmp 0x14008392f
mov eax, dword [0x14018c9cc]
mov ecx, dword [0x140183a44]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140083bdc
cmp byte [0x14018c9c8], 0
jne 0x140083954
jmp 0x140083c25
movaps xmmword [rsp + 0x160], xmm6
movaps xmmword [rsp + 0x150], xmm6
movups xmmword [rsp + 0x20], xmm7
mov byte [rsp + 0x30], 0
lea rcx, [rsp + 0x150]
mov dl, 0x42
lea r8, [0x140175f50]
lea r9, str.ScopedBlockingCallWithBaseSyncPrimitives
call fcn.140084cb0
mov rax, qword [rsp + 0x150]
test rax, rax
je 0x140083b51
mov cl, byte [rsp + 0x168]
mov rdx, qword [rsp + 0x158]
mov qword [rsp + 0x1e8], rax
mov qword [rsp + 0x1f0], rdx
xor eax, eax
mov qword [rsp + 0x1f8], rax
mov byte [rsp + 0x200], cl
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x1e0], rax
lea rax, [rsp + 0x1e8]
movupd xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 9]
lea rax, [rsp + 0x100]
movups xmmword [rax + 9], xmm1
movupd xmmword [rax], xmm0
mov rcx, qword [rsp + 0x100]
mov edx, 0x21
call fcn.14008b5a0
mov r15, rax
mov rdx, qword [rsp + 0xd8]
lea rbx, [rsp + 0x138]
mov rcx, rbx
call fcn.1400f3590
movzx r9d, byte [rsp + 0x14f]
test r9b, r9b
js 0x140083aad
and r9d, 0x7f
mov r8, rbx
jmp 0x140083abd
mov r9, qword [rsp + 0x140]
mov r8, qword [rsp + 0x138]
mov rcx, r15
mov edx, 2
call fcn.14008b9a0
cmp byte [rsp + 0x14f], 0
jns 0x140083ae1
mov rcx, qword [rsp + 0x138]
call fcn.1400bab7c
mov rdx, qword [rsp + 0xd0]
lea rbx, [rsp + 0x120]
mov rcx, rbx
call fcn.1400f3590
movzx r9d, byte [rsp + 0x137]
test r9b, r9b
js 0x140083b10
and r9d, 0x7f
mov r8, rbx
jmp 0x140083b20
mov r9, qword [rsp + 0x128]
mov r8, qword [rsp + 0x120]
mov rcx, r15
mov edx, 3
call fcn.14008b9a0
cmp byte [rsp + 0x137], 0
js 0x140083b74
lea rcx, [rsp + 0xf8]
call fcn.140084cc0
lea rcx, [rsp + 0x1e0]
call fcn.140084cc0
mov rcx, qword [rsp + 0x160]
test rcx, rcx
je 0x14008397c
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14010edb0.0]
jmp 0x14008397c
mov rcx, qword [rsp + 0x120]
call fcn.1400bab7c
jmp 0x140083b37
cmp byte [rax + 0x28], 0
je 0x140083954
jmp 0x140084af9
call fcn.140086900
cmp rdi, rbp
jle 0x140083664
setns al
movzx eax, al
add rax, r13
mov rdx, rdi
sub rdx, rbp
cmovo rdx, rax
lea rax, [rbp + 2]
add rax, r13
cmp rax, 2
cmovb rdx, r13
cmp rdi, r13
cmove rdx, r13
mov rcx, qword [rsp + 0x70]
call fcn.14007cdb0
jmp 0x140083664
lea rcx, [0x14018c9cc]
call fcn.1400bac58
cmp dword [0x14018c9cc], 0xffffffff
jne 0x1400839b3
mov rcx, qword [0x140186af0]
test rcx, rcx
je 0x140083c0d
lea rdx, str.enable_background_thread_pool
call fcn.140080220
mov byte [0x14018c9c8], 1
lea rcx, [0x14018c9cc]
call fcn.1400baf38
jmp 0x1400839b3
mov rax, qword [rsp + 0x190]
jmp 0x14008394b
lea rbx, [rsp + 0xf8]
mov rcx, rbx
call qword [case.0x14010edb0.0]
mov rax, qword [rbx]
jmp 0x140083860
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x140083664
jmp 0x140083b92
mov rax, qword [rcx + 0x30]
cvtsi2sd xmm0, qword [rax + 0x90]
mulsd xmm0, xmm8
ucomisd xmm9, xmm0
jb 0x140084abc
maxsd xmm0, xmm10
cvttsd2si rdi, xmm0
jmp 0x1400832ee
mov rdx, qword [rsp + 0x70]
call fcn.140004c10
jmp 0x140083664
mov r15d, 3
jmp 0x140083237
lea rdi, [rsp + 0x180]
mov rcx, rdi
call fcn.14007e570
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, [0x140175f50]
lea r8, str.WorkerThread_active
mov cl, 0x45
xor r9d, r9d
call fcn.14007e620
test byte [0x140175f50], 0x19
je 0x140083e11
lea rdi, [rsp + 0x180]
mov rcx, rdi
call fcn.14007e570
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, [0x140175f50]
lea r8, str.WorkerThread_dead
mov cl, 0x49
xor r9d, r9d
call fcn.14007e620
jmp 0x140083e11
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14010edb0.0]
jmp 0x140083dea
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140083db9
call sub.KERNEL32.dll_WakeConditionVariable
jmp 0x140083dd4
mov rbx, qword [rsi + 0x48]
mov rcx, qword [rbx + 0x18]
mov qword [rbx + 0x18], 0
test rcx, rcx
je 0x140083da4
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x14010edb0.0]
mov rdi, qword [rbx + 0x30]
add rdi, 0x28
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140083d6c
mov rax, qword [rbx + 0x30]
inc qword [rax + 0x170]
mov rax, qword [rbx + 0x30]
mov rcx, qword [rax + 0x178]
test rcx, rcx
jne 0x140083d77
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsi + 0x60]
test rcx, rcx
jne 0x140083d5d
mov rdi, qword [rsi + 0x10]
mov qword [rsi + 0x10], 0
test rdi, rdi
jne 0x140083e84
test byte [0x140175f50], 0x19
mov rsi, qword [rsp + 0x78]
jne 0x140083cae
test rsi, rsi
je 0x140083e35
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [case.0x14010edb0.0]
lock dec dword [rsi]
jne 0x140083e35
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [case.0x14010edb0.0]
mov rcx, qword [rsp + 0x208]
xor rcx, rsp
call fcn.1400bce30
movaps xmm6, xmmword [rsp + 0x210]
movaps xmm7, xmmword [rsp + 0x220]
movaps xmm8, xmmword [rsp + 0x230]
movaps xmm9, xmmword [rsp + 0x240]
movaps xmm10, xmmword [rsp + 0x250]
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lock dec dword [rdi + 8]
jne 0x140083dff
mov rcx, rdi
call fcn.1400f36a0
mov rcx, rdi
call fcn.1400bab7c
jmp 0x140083dff
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14008320b
mov rax, qword [r15 + 0xb0]
mov rcx, rbx
cmp rax, rbx
je 0x140083ee6
lea rbp, [rax - 0x18]
mov rcx, qword [rax - 0x10]
test rcx, rcx
je 0x140083ed7
mov rax, qword [rax - 8]
call qword [case.0x14010edb0.0]
mov rax, rbp
cmp rbp, rbx
jne 0x140083ec0
mov rcx, qword [r15 + 0xa8]
mov qword [r15 + 0xb0], rbx
call fcn.1400bab7c
jmp 0x140082fe5
lea rcx, [0x14018e2a0]
call fcn.1400bac58
cmp dword [0x14018e2a0], 0xffffffff
jne 0x140083324
lea rcx, str.DelayFirstWorkerWake
call fcn.140086b00
mov byte [0x14018e29c], al
lea rcx, [0x14018e2a0]
call fcn.1400baf38
jmp 0x140083324
lea rcx, [0x14018e2b0]
call fcn.1400bac58
cmp dword [0x14018e2b0], 0xffffffff
jne 0x1400833cc
mov rax, qword [rsp + 0xf8]
mov edx, 0x3938700
lea rcx, [rdx + rax]
sar rcx, 0x3f
btc rcx, 0x3f
add rax, rdx
cmovo rax, rcx
mov qword [0x14018e2a8], rax
lea rcx, [0x14018e2b0]
call fcn.1400baf38
jmp 0x1400833cc
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14008329c
mov rcx, qword [0x140186968]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140084014
lea rcx, [rsp + 0x180]
call qword [case.0x14010edb0.0]
jmp 0x14008401c
mov rax, qword [0x1401774a8]
lea rdi, [0x1400b9ff0]
cmp rax, rdi
jne 0x140083fb7
lea rbx, [rsp + 0x180]
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140083f93
imul rax, rax, 0xf4240
cqo
idiv qword [0x140186968]
mov qword [rsp + 0x180], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea r14, [rsp + 0x180]
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, [0x140175f50]
lea r8, str.WorkerThread_born
mov cl, 0x49
xor r9d, r9d
call fcn.14007e620
test byte [0x140175f50], 0x19
je 0x140082cf0
mov rax, qword [0x1401774a8]
cmp rax, rdi
jne 0x14008410c
lea rbx, [rsp + 0x180]
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14008411c
imul rax, rax, 0xf4240
cqo
idiv qword [0x140186968]
mov qword [rsp + 0x180], 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, [0x140175f50]
lea r8, str.WorkerThread_active
mov cl, 0x42
xor r9d, r9d
call fcn.14007e620
jmp 0x140082cf0
lea rcx, [rsp + 0x180]
call qword [case.0x14010edb0.0]
jmp 0x1400840c5
mov rcx, qword [0x140186968]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400840bd
mov rcx, qword [0x140186968]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400841c4
lea rcx, [rsp + 0x180]
call qword [case.0x14010edb0.0]
jmp 0x1400841cc
mov rax, qword [0x1401774a8]
lea rcx, [0x1400b9ff0]
cmp rax, rcx
jne 0x140084167
lea rbx, [rsp + 0x180]
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140084143
imul rax, rax, 0xf4240
cqo
idiv qword [0x140186968]
mov qword [rsp + 0x180], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, [rsp + 0x180]
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, [0x140175f50]
lea r8, str.WorkerThread_active
mov cl, 0x45
xor r9d, r9d
call fcn.14007e620
jmp 0x140082d6a
xor ecx, ecx
jmp 0x140083491
mov rax, qword [0x140184e38]
xor rax, rsi
lea rcx, [fcn.140084dc0]
mov qword [rsp + 0x1f8], rcx
lea rcx, [0x140164e20]
mov qword [rsp + 0x200], rcx
mov qword [rsp + 0x1e8], rax
movapd xmm0, xmmword [0x14015bb90]
lea r14, [rsp + 0x150]
movapd xmmword [r14 + 0x10], xmm0
movapd xmmword [r14], xmm0
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
lea r8, [0x140175f50]
lea r9, str.WorkerThread_active
mov rcx, r14
mov dl, 0x42
call fcn.140084cb0
mov rax, qword [r14]
test rax, rax
je 0x14008430f
lea rcx, [rsp + 0x1e8]
mov dl, byte [rsp + 0x168]
mov r8, qword [rsp + 0x158]
xor edi, edi
lea r14, [rsp + 0xf8]
mov qword [r14], rdi
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], r8
mov qword [r14 + 0x18], rdi
mov byte [r14 + 0x20], dl
mov rax, qword [rcx + 0x10]
mov rdx, r14
call qword [case.0x14010edb0.0]
mov rax, qword [r14]
lea rcx, [rsp + 0x180]
mov qword [rcx], rax
mov qword [r14], rdi
movups xmm0, xmmword [r14 + 8]
movups xmmword [rcx + 8], xmm0
movupd xmm0, xmmword [r14 + 0x11]
movupd xmmword [rcx + 0x11], xmm0
call fcn.140084cc0
mov rcx, r14
call fcn.140084cc0
mov rcx, qword [rsp + 0x160]
test rcx, rcx
je 0x140084329
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14010edb0.0]
mov rax, qword [rsp + 0x200]
mov rax, qword [rax + 8]
test rax, rax
je 0x140082d89
mov rcx, qword [rsp + 0x1e8]
call qword [case.0x14010edb0.0]
jmp 0x140082d89
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebp, eax
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test ebp, ebp
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jne 0x140083221
jmp 0x140083d7e
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebp, eax
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test ebp, ebp
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jne 0x1400832b2
jmp 0x14008319e
lea r15, [rsp + 0x1e0]
mov rcx, r15
call qword [case.0x14010edb0.0]
mov r15, qword [r15]
jmp 0x1400835b7
lea rcx, [rsp + 0xf8]
call qword [case.0x14010edb0.0]
jmp 0x1400833a7
mov edx, 3
jmp 0x14008440b
mov eax, dword [rax + 0x38]
cmp eax, 3
je 0x1400843d1
xor edx, edx
cmp eax, 1
sete dl
jmp 0x14008440b
mov eax, dword [0x140183a44]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x168]
xor edx, edx
test rax, rax
jne 0x1400843d8
cmp r15d, 7
jge 0x140084a83
mov eax, dword [0x140183a44]
mov rcx, qword gs:[0x58]
mov rbx, qword [rcx + rax*8]
mov ecx, r15d
call fcn.140005100
mov dword [rbx + 0x15c], r15d
mov dword [rsi + 0x6c], r15d
jmp 0x140083241
lea rcx, [rsp + 0x180]
call qword [case.0x14010edb0.0]
jmp 0x140082e79
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14008446f
lea rbp, [rbx + 0x50]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140084453
mov rcx, qword [rbx + 0x58]
call fcn.140090a70
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jmp 0x140082fb6
lock dec dword [rcx + 8]
jne 0x1400831d5
mov edx, 1
call fcn.1400ab820
jmp 0x1400831d5
int3
xor edx, edx
jmp 0x14008362a
lock dec dword [r8 + 8]
jne 0x1400830f6
mov rcx, r8
mov edx, 1
call fcn.1400ab820
jmp 0x1400830f6
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x1400830d9
mov qword [rsp + 0xc0], 0
lea r15, [rsp + 0xf8]
mov rdx, r15
call fcn.14000b7c0
mov r8, qword [r15]
jmp 0x1400830ed
lea rax, [r8 + r13]
add rax, 2
lea r9, [r13 + 1]
cmp rax, 1
ja 0x140083400
cmp r8, rbp
je 0x140083400
int3
lea rdx, [r9 + r13]
add rdx, 2
mov rax, r13
cmp rdx, 1
ja 0x1400834a8
mov rax, r13
cmp r9, rcx
je 0x1400834a8
int3
mov rcx, qword [0x140186968]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14008339f
add rbp, 0xffffffffffffff80
mov rcx, rbp
call fcn.1400ba400
cmp rbp, rdi
jne 0x14008456f
mov rdx, qword [rbx]
jmp 0x140084672
mov rax, qword [r15 + 0xb0]
mov rcx, rdi
cmp rax, rdi
je 0x1400845bd
lea rbx, [rax - 0x18]
mov rcx, qword [rax - 0x10]
test rcx, rcx
je 0x1400845ae
mov rax, qword [rax - 8]
call qword [case.0x14010edb0.0]
mov rax, rbx
cmp rbx, rdi
jne 0x140084597
mov rcx, qword [r15 + 0xa8]
mov qword [r15 + 0xb0], rdi
call fcn.1400bab7c
jmp 0x14008465a
mov r14, r12
lock dec dword [rcx + 8]
jne 0x1400845e1
mov edx, 1
call fcn.1400ab820
mov r15, qword [rsp + 0x180]
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0xc8], rax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x180], xmm0
test r15, r15
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r12, r14
je 0x140083133
lock dec dword [r15 + 8]
je 0x140084640
mov rcx, qword [rsp + 0x180]
test rcx, rcx
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r12, r14
je 0x140083133
jmp 0x140084c8a
lea rax, [0x14015afc8]
mov qword [r15], rax
mov rdi, qword [r15 + 0xa8]
test rdi, rdi
jne 0x140084588
lea rbx, [r15 + 0x70]
mov rdi, qword [r15 + 0x70]
mov rbp, qword [r15 + 0x78]
mov rdx, rdi
cmp rbp, rdi
jne 0x14008456f
mov qword [r15 + 0x78], rdi
test rdx, rdx
jne 0x1400846da
mov rax, qword [r15 + 0x58]
mov rdi, qword [r15 + 0x60]
cmp rdi, rax
jne 0x140084bd9
mov rdx, qword [r15 + 0x48]
lea rcx, fcn.140080350
xor r8d, r8d
call fcn.140089ea0
lea rax, [0x14015b048]
mov qword [r15], rax
mov rcx, qword [r15 + 0x30]
mov rax, rcx
movabs rdx, 0xfffffffc00000000
and rax, rdx
cmp rax, qword [0x140183548]
je 0x1400846d3
mov rcx, r15
call fcn.1400bab7c
jmp 0x140084620
call fcn.140086ed0
jmp 0x1400846c6
mov rcx, rbx
call fcn.140120400
mov rcx, qword [rbx]
call fcn.1400bab7c
jmp 0x14008467b
mov rcx, qword [0x140186968]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov r15, rax
add r15, r8
jmp 0x1400835b7
mov rcx, r15
call fcn.14007cc60
mov rdx, qword [rsp + 0x80]
jmp 0x140083902
mov rcx, qword [rsp + 0x1e8]
call qword [case.0x14010edb0.0]
jmp 0x1400837c9
mov r12, qword [r15 + 0x50]
jbe 0x140084787
cmp r12, rbp
jb 0x140084a9e
cmp rax, rbp
jg 0x140084aa1
shl rax, 7
mov rbx, qword [r15 + 0x48]
add rbx, rax
shl rbp, 7
sub rbp, rax
lea r12, [rsp + 0x188]
mov rcx, rbx
call fcn.1400ba400
sub rbx, 0xffffffffffffff80
add rbp, 0xffffffffffffff80
jne 0x140084770
jmp 0x14008301b
cmp r12, rax
jb 0x140084aa4
jl 0x140084aa7
je 0x1400847c0
shl rax, 7
mov rbx, qword [r15 + 0x48]
add rbx, rax
shl r12, 7
sub r12, rax
mov rcx, rbx
call fcn.1400ba400
sub rbx, 0xffffffffffffff80
add r12, 0xffffffffffffff80
jne 0x1400847aa
mov rax, qword [r15 + 0x50]
cmp rax, rbp
jb 0x140084aaa
test rbp, rbp
js 0x140084aad
lea r12, [rsp + 0x188]
je 0x14008301b
mov rbx, qword [r15 + 0x48]
shl rbp, 7
mov rcx, rbx
call fcn.1400ba400
sub rbx, 0xffffffffffffff80
add rbp, 0xffffffffffffff80
jne 0x1400847e8
jmp 0x14008301b
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140082ed8
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140082efc
mov rax, qword [0x140184e38]
xor rax, qword [rsp + 0x70]
lea rcx, [fcn.140084dc0]
mov qword [rsp + 0x168], rcx
lea rcx, [0x140164e20]
mov qword [rsp + 0x170], rcx
mov qword [rsp + 0x158], rax
lea r15, [rsp + 0xd0]
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
lea r8, [0x140176840]
lea r9, str.WaitableEvent::Wait_Complete
mov rcx, r15
mov dl, 0x49
call fcn.140084cb0
mov rax, qword [r15]
test rax, rax
je 0x1400848fb
lea rcx, [rsp + 0x158]
mov dl, byte [rsp + 0xe8]
mov r8, qword [rsp + 0xd8]
xor ebx, ebx
lea r15, [rsp + 0x1e0]
mov qword [r15], rbx
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], r8
mov qword [r15 + 0x18], rbx
mov byte [r15 + 0x20], dl
mov rdx, r15
call fcn.140084dc0
mov rax, qword [r15]
lea rcx, [rsp + 0xf8]
mov qword [rcx], rax
mov qword [r15], rbx
movups xmm0, xmmword [r15 + 8]
movups xmmword [rcx + 8], xmm0
movupd xmm0, xmmword [r15 + 0x11]
movupd xmmword [rcx + 0x11], xmm0
call fcn.140084cc0
mov rcx, r15
call fcn.140084cc0
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x140084915
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14010edb0.0]
mov rax, qword [rsp + 0x170]
mov rax, qword [rax + 8]
test rax, rax
je 0x14008364d
mov rcx, qword [rsp + 0x158]
call qword [case.0x14010edb0.0]
jmp 0x14008364d
lock dec dword [rbp]
jne 0x140084988
mov rax, qword [rbp + 0x10]
mov rcx, rbp
call qword [case.0x14010edb0.0]
jmp 0x140084988
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x68], rbx
jb 0x140084ab0
mov r12, rcx
mov rax, qword [rsp + 0x58]
mov rbp, qword [rax + rbx*8]
mov qword [rax + rbx*8], 0
mov rax, qword [rbp + 8]
mov rcx, rbp
call qword [case.0x14010edb0.0]
test rbp, rbp
jne 0x14008493d
inc rbx
xor eax, eax
cmp rbx, qword [rsp + 0x68]
cmove rbx, rax
mov rax, qword [rsp + 0x60]
cmp rbx, rax
mov rcx, r12
jne 0x140084952
cmp rax, rcx
jbe 0x140084b2d
mov rax, qword [rsp + 0x68]
cmp rax, qword [rsp + 0x60]
jb 0x140084ab3
cmp r12, qword [rsp + 0x60]
jg 0x140084ab6
mov rbx, qword [rsp + 0x60]
shl rbx, 3
mov rax, r12
shl rax, 3
mov r12, rax
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + rax]
test rcx, rcx
jne 0x140084a01
mov rax, r12
add rax, 8
cmp rbx, rax
lea r12, [rsp + 0x188]
jne 0x1400849d7
jmp 0x140082f4e
lock dec dword [rcx]
jne 0x1400849e8
mov rax, qword [rcx + 0x10]
call qword [case.0x14010edb0.0]
jmp 0x1400849e8
mov rcx, qword [0x140186968]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140082e71
mov rcx, qword [0x140186968]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140083860
mov qword [rsp + 0x58], rax
add rbp, 0xffffffffffffff80
mov rcx, rbp
call fcn.1400ba400
cmp rbp, rbx
jne 0x140084a65
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax]
jmp 0x140082ffd
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
xor edi, edi
ucomisd xmm0, qword [0x14014cfc0]
cmovae rdi, r13
jmp 0x1400832ee
mov rbx, rax
mov rcx, rax
call fcn.140120400
mov rcx, qword [rbx]
call fcn.1400bab7c
jmp 0x14008300a
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14010edb0.0]
jmp 0x140082cfd
mov r15, qword [rax + 0x38]
mov qword [rax + 0x38], 0
test r15, r15
je 0x140083954
lock dec dword [r15]
jne 0x140083954
mov rcx, r15
call fcn.14000b6b0
mov rcx, r15
call fcn.1400bab7c
jmp 0x140083954
cmp qword [rsp + 0x68], r12
jb 0x140084ab9
jl 0x140084a98
je 0x140084b78
shl qword [rsp + 0x68], 3
shl r12, 3
jmp 0x140084b63
mov rax, qword [rcx + 0x10]
call qword [case.0x14010edb0.0]
mov rax, r12
add rax, 8
mov r12, rax
cmp qword [rsp + 0x68], rax
je 0x140084b78
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + r12]
test rcx, rcx
je 0x140084b52
lock dec dword [rcx]
je 0x140084b48
jmp 0x140084b52
cmp qword [rsp + 0x60], 0
js 0x140084a9b
lea r12, [rsp + 0x188]
mov rax, qword [rsp + 0x60]
je 0x140082f4e
shl rax, 3
xor ebx, ebx
jmp 0x140084bc1
mov rax, qword [rcx + 0x10]
call qword [case.0x14010edb0.0]
add rbx, 8
mov rax, r12
cmp r12, rbx
lea r12, [rsp + 0x188]
je 0x140082f4e
mov r12, rax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + rbx]
test rcx, rcx
je 0x140084ba9
lock dec dword [rcx]
je 0x140084b9f
jmp 0x140084ba9
mov rbx, qword [r15 + 0x50]
ja 0x140084c4f
cmp rbx, rax
jb 0x140084a8c
jl 0x140084a8f
je 0x140084c18
shl rax, 7
mov rbp, qword [r15 + 0x48]
add rbp, rax
shl rbx, 7
sub rbx, rax
mov rcx, rbp
call fcn.1400ba400
sub rbp, 0xffffffffffffff80
add rbx, 0xffffffffffffff80
jne 0x140084c02
mov rax, qword [r15 + 0x50]
cmp rax, rdi
jb 0x140084a92
test rdi, rdi
js 0x140084a95
je 0x14008468c
mov rbp, qword [r15 + 0x48]
shl rdi, 7
mov rcx, rbp
call fcn.1400ba400
sub rbp, 0xffffffffffffff80
add rdi, 0xffffffffffffff80
jne 0x140084c38
jmp 0x14008468c
cmp rbx, rdi
jb 0x140084a86
cmp rax, rdi
jg 0x140084a89
shl rax, 7
mov rbp, qword [r15 + 0x48]
add rbp, rax
shl rdi, 7
sub rdi, rax
mov rcx, rbp
call fcn.1400ba400
sub rbp, 0xffffffffffffff80
add rdi, 0xffffffffffffff80
jne 0x140084c73
jmp 0x14008468c
lock dec dword [rcx + 8]
jne 0x140083133
mov edx, 1
call fcn.1400ab820
jmp 0x140083133