Function at 0x1401243a0
Capabilities:
Check for time delay via queryperformancecounter
Check os version

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x238
movaps xmmword [rsp + 0x220], xmm10
movaps xmmword [rsp + 0x210], xmm9
movaps xmmword [rsp + 0x200], xmm8
movaps xmmword [rsp + 0x1f0], xmm7
movaps xmmword [rsp + 0x1e0], xmm6
mov r13, rcx
mov rax, qword [0x1402b3040]
xor rax, rsp
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0x140], 0xa
mov al, byte [0x1402c585a]
test al, al
jne 0x14012728e
mov qword [rsp + 0x140], 0xa
mov al, byte [0x1402c585a]
test al, al
jne 0x1401272d4
mov rcx, qword [r13 + 0x48]
test rcx, rcx
jne 0x1401271aa
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
mov rcx, r13
call qword [0x1402a3ee8]
mov rcx, qword [rax]
mov r8, qword [rcx + 0x10]
mov rcx, rax
mov rdx, r13
mov rax, r8
call qword [0x1402a3ee8]
mov eax, dword [0x1402c5d98]
test eax, eax
je 0x14012453a
mov rax, qword [r13 + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x140124482
cmp dword [r13 + 0x50], 0
je 0x14012453a
mov rcx, qword [0x1402c5d88]
test rcx, rcx
je 0x140127187
lea rsi, [rsp + 0x188]
mov rdx, rsi
mov r8d, 2
call fcn.14002c3c0
mov rax, qword [rsi]
mov qword [rsp + 0x88], rax
mov al, 1
mov qword [rsp + 0x80], rax
movabs r15, 0x7fffffffffffffff
mov eax, dword [0x1402c2670]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x128]
mov qword [rsp + 0x60], rcx
lea r12, [rsp + 0x1b8]
lea rax, [rax + 0x160]
mov qword [rsp + 0x98], rax
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
movaps xmm6, xmmword [0x14026f080]
movsd xmm7, qword [0x14028f2b0]
movsd xmm8, qword [0x1402823f0]
movsd xmm9, qword [0x1402823e8]
xorps xmm10, xmm10
mov qword [rsp + 0x48], r13
jmp 0x140124bf2
xor eax, eax
mov qword [rsp + 0x88], rax
xor eax, eax
jmp 0x1401244b5
lea r14, [r15 + 0x20]
mov rcx, r14
call rbp
test al, al
je 0x14012718e
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x1401245ff
jmp 0x1401268f9
cmp qword [rsp + 0x50], 0
je 0x14012460f
mov rax, qword [rsp + 0x40]
mov al, byte [rax + 0xd]
and al, 0x7f
cmp al, 2
je 0x1401245cd
mov r15, qword [rsp + 0x50]
lock dec dword [r15 + 0x18]
je 0x14012454b
mov rax, qword [rsp + 0x40]
lock dec dword [rax + 8]
jne 0x140124aae
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402a3ee8]
jmp 0x140124aae
lea rsi, [rax + 0x2b0]
mov ebx, 7
cmp qword [rax + 0x2b0], 0
jne 0x140124883
jmp 0x14012655b
lea rsi, [rax + 0x250]
mov ebx, 6
cmp qword [rax + 0x250], 0
jne 0x140124883
jmp 0x140126696
lea rsi, [rax + 0x1f0]
mov ebx, 5
cmp qword [rax + 0x1f0], 0
jne 0x140124883
jmp 0x140126586
lea rsi, [rax + 0x190]
mov ebx, 4
cmp qword [rax + 0x190], 0
jne 0x140124883
jmp 0x1401265b2
lea r14, [r15 + 0x20]
mov rcx, r14
call rbp
test al, al
je 0x1401270a2
lea rcx, [r15 + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r14
call rbx
mov rcx, r14
call rbp
test al, al
je 0x1401270b0
mov r15, qword [rsp + 0xb8]
test r15, r15
je 0x140124abf
mov qword [rsp + 0xb0], 0
mov al, byte [rsi + 0xd]
and al, 0x7f
cmp al, 2
je 0x14012642a
lock dec dword [r15 + 0x18]
je 0x1401246b6
lock dec dword [rsi + 8]
jne 0x140124ad4
mov rax, qword [rsi]
mov rax, qword [rax + 0x30]
mov rcx, rsi
mov edx, 1
call qword [0x1402a3ee8]
jmp 0x140124ad4
lea rsi, [rax + 0x130]
mov ebx, 3
cmp qword [rax + 0x130], 0
jne 0x140124883
jmp 0x14012666d
lea rsi, [rax + 0xd0]
mov ebx, 2
cmp qword [rax + 0xd0], 0
jne 0x140124883
jmp 0x1401265db
lea rsi, [rax + 0x70]
mov ebx, 1
cmp qword [rax + 0x70], 0
jne 0x140124883
jmp 0x140126604
lea rsi, [rax + 0x10]
xor ebx, ebx
cmp qword [rsi], 0
jne 0x140124883
jmp 0x14012662d
mov rcx, r14
call fcn.1400fc950
jmp 0x14012490a
mov r8d, dword [r14 + 0x20]
cmp r8, 0x7f
ja 0x1401263fb
mov r15, qword [r14]
mov rdx, qword [r15 + 0x18]
sub rdx, r8
lea rcx, [rdx - 4]
cmp rax, rcx
jne 0x1401263fb
cmp rax, qword [r15 + 8]
jb 0x1401263fb
lea rcx, [rdx - 3]
call fcn.1401cd6e0
add qword [r15 + 0x18], 0xfffffffffffffffd
mov al, byte [r14 + 0x20]
mov rcx, qword [r14 + 0x18]
mov byte [rcx], al
mov al, 2
movabs r15, 0x7fffffffffffffff
mov byte [r14 + 0x24], al
mov qword [r14 + 0x18], 0
jmp 0x14012491c
cmp qword [rsi], 0
je 0x1401264b5
test rsi, rsi
je 0x140124a5b
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [0x14018cdc0]
cmp rax, rdx
jne 0x140126ecd
mov rax, qword [rcx + 0x60]
add rax, qword [rcx + 0x58]
sub rax, qword [rcx + 0x48]
cmp rax, qword [rsi + 0x50]
je 0x14012495e
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
lea rdx, [fcn.14012cb90]
cmp rax, rdx
jne 0x140126efe
lea rdx, [rsp + 0x188]
call fcn.14012cb90
mov r14, qword [rsp + 0x188]
test r14, r14
je 0x14012492c
mov r12, qword [rsp + 0x190]
cmp byte [r14 + 0x24], 0
jne 0x14012491c
cmp qword [r14 + 0x10], 0
jne 0x140124808
mov rax, qword [r14 + 0x18]
test rax, rax
jne 0x140124815
mov byte [r14 + 0x24], 1
test r12, r12
je 0x14012492c
mov rcx, r12
mov rdx, r14
call fcn.140110830
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [0x14018cdc0]
cmp rax, rdx
jne 0x140126ed8
mov rax, qword [rcx + 0x60]
add rax, qword [rcx + 0x58]
sub rax, qword [rcx + 0x48]
lea r12, [rsp + 0x1b8]
mov qword [rsi + 0x50], rax
cmp byte [rsi + 0x48], 1
je 0x140126fe4
cmp ebx, 6
ja 0x140124a5b
mov eax, ebx
inc ebx
inc rax
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx]
lea rdx, [rax + rax*2]
shl rax, 7
shl rdx, 5
lea rsi, [rcx + rdx]
add rsi, 0x10
mov edx, 0x400
lea r8, [0x1402b5278]
mov ebp, edi
mov r9d, 1
mov ecx, ebx
shl r9d, cl
bt ebp, ebx
jb 0x140124879
add rdx, 0xffffffffffffff80
sub r8, 0xffffffffffffff80
add rsi, 0x60
inc ebx
cmp rax, rdx
jne 0x1401249a2
jmp 0x140124a5b
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
test rax, rax
je 0x14012639d
mov edi, esi
mov rdx, qword [rax + 8]
cmp byte [rdx + 0xc], 0
jne 0x140124c99
mov rcx, qword [0x1402b3e18]
mov byte [rdx + 0xc], 1
mov rdx, qword [rax + 8]
mov r8d, dword [rcx + 0x10]
cmp dword [rdx + 8], r8d
jne 0x140126f11
test dil, 1
jne 0x1401247f3
test dil, 2
jne 0x1401247da
test dil, 4
jne 0x1401247bb
test dil, 8
jne 0x14012479c
test dil, 0x10
jne 0x140124697
test dil, 0x20
jne 0x140124678
test dil, 0x40
jne 0x140124659
test dil, dil
js 0x14012463a
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov byte [rax + 0xc], 0
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140124c99
mov rcx, r14
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0xb0]
mov r9, r13
call qword [0x1402a3ee8]
jmp 0x140124aef
add rcx, 0x18
call rbx
cmp qword [rsp + 0x40], 0
jne 0x1401245e9
mov rsi, qword [rsp + 0xb0]
test rsi, rsi
jne 0x140124743
mov qword [rsp + 0xb0], 0
test rsi, rsi
jne 0x140124778
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
jne 0x140126abb
movabs r15, 0x7fffffffffffffff
mov rax, qword [r13 + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x1401262ff
mov esi, dword [r13 + 0x50]
cmp dword [r13 + 0x54], esi
jne 0x14012676e
cmp qword [rsp + 0xf0], 0
jne 0x14012699d
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], rcx
test rax, rax
jne 0x14012522b
mov sil, 1
cmp byte [rsp + 0x118], 1
jne 0x140124be9
cmp byte [rsp + 0x100], 1
jne 0x140124be9
mov rax, qword [rsp + 0x98]
mov rdi, qword [rax]
test rdi, rdi
je 0x140124be9
mov rax, qword [rdi + 0x10]
test rax, rax
js 0x1401268c5
cmp dword [rdi + 0x24], 1
jne 0x140126e39
cmp qword [rdi + 0x18], 0
jne 0x140126d52
movabs rax, 0xbfffffffffffffff
lock and qword [rdi + 0x10], rax
mov rbx, qword [rsp + 0x108]
cmp qword [rdi + 0x18], 0
jne 0x140126d78
mov rax, qword [rdi + 0x10]
movabs rcx, 0x4000000000000000
and rax, rcx
movabs rcx, 0xffffffffffffff
and rbx, rcx
or rbx, rax
mov qword [rdi + 0x10], rbx
dec dword [rdi + 0x24]
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test sil, sil
je 0x140125eb4
movzx eax, byte [r13 + 0x30]
test al, al
jne 0x140125eb4
mov rax, qword [r13]
mov rax, qword [rax + 0x20]
lea rcx, [0x1401277e0]
cmp rax, rcx
jne 0x140125aaf
mov rax, qword [r13 + 0x70]
mov rax, qword [rax + 0x18]
mov al, byte [rax]
test al, al
jne 0x140125eb4
mov rdi, qword [r13 + 0x38]
lea rsi, [rdi + 0x60]
mov rcx, rsi
call rbp
test al, al
je 0x1401262a7
mov rax, qword [rdi + 0x68]
test rax, rax
jne 0x140125e87
mov rcx, rsi
call rbx
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0x110], xmm6
mov byte [rsp + 0x100], 0
mov byte [rsp + 0x118], 0
mov qword [rsp + 0x140], 0xa
movzx eax, byte [0x1402c585a]
test al, al
jne 0x140126dd0
mov esi, dword [0x1402b5274]
test esi, esi
jne 0x1401249ce
cmp byte [rsp + 0x118], 1
je 0x140126bfd
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
lea rcx, [0x1401277d0]
cmp rax, rcx
jne 0x140125bf6
mov rsi, qword [r13 + 0x70]
mov rax, qword [rsi]
lea rcx, [fcn.1401cec40]
cmp qword [rax + 0x30], rcx
jne 0x140125e08
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x170], rax
mov rax, qword [rsi]
mov rax, qword [rax + 0x28]
lea rcx, [0x14018efb0]
cmp rax, rcx
jne 0x140125b02
cmp byte [rsi - 8], 1
mov rax, r15
jne 0x140124d3b
mov rax, qword [rsi - 0x18]
cvtsi2sd xmm0, qword [rax + 0x30]
mulsd xmm0, xmm7
ucomisd xmm0, xmm8
mov rcx, r15
mov eax, 0
cmovb rcx, rax
ucomisd xmm9, xmm0
maxsd xmm0, xmm8
cvttsd2si rax, xmm0
cmovb rax, rcx
mov qword [rsp + 0x170], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x128], rax
mov rax, qword [fcn.140118b10]
lea rcx, [0x140118bc0]
cmp rax, rcx
jne 0x1401267b8
mov qword [rsp + 0x188], 0
lea rcx, [rsp + 0x188]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x188]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140126d9e
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c5cb8]
mov r14, rax
mov qword [rsp + 0xf0], rax
mov rax, qword [rsi]
lea rcx, [fcn.140226860]
cmp qword [rax + 0x50], rcx
jne 0x140126c3c
mov eax, dword [0x1402cc8f0]
mov ecx, dword [0x1402c2670]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401262c3
cmp byte [0x1402cc8ec], 0
je 0x140126a6e
mov eax, dword [0x1402cc900]
mov ecx, dword [0x1402c2670]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140126276
mov rax, qword [rsi + 8]
test rax, rax
jne 0x140124e37
mov rax, qword [0x1402cc8f8]
add rax, 0x3938700
cmovo rax, r15
cmp rax, r14
mov ebx, 0x3938700
mov r8d, 0xf4240
cmovl rbx, r8
add rbx, r14
cmovo rbx, r15
mov rax, rbx
movabs rcx, 0x431bde82d7b634db
imul rcx
mov rax, rdx
shr rax, 0x3f
sar rdx, 0x12
add rdx, rax
imul rcx, rdx, 0xf4240
mov rax, rbx
sub rax, rcx
test rbx, rbx
mov edx, 0
cmovg rdx, r8
mov ecx, 0
test rax, rax
je 0x140124ea1
sub rdx, rax
mov rcx, rdx
lea rax, [rbx + rcx]
sar rax, 0x3f
movabs rdx, 0x8000000000000000
xor rax, rdx
add rbx, rcx
cmovo rbx, rax
xor eax, eax
cmp rbx, r14
setns al
add rax, r15
sub rbx, r14
cmovo rbx, rax
mov qword [rsp + 0x128], rbx
mov rax, qword [rsp + 0x170]
cmp rax, rbx
cmovl rbx, rax
mov rax, qword [rsi]
mov rax, qword [rax + 0x48]
lea rcx, [0x14012f360]
cmp rax, rcx
jne 0x140125cc2
lea rdi, [r15 + rbx]
add rdi, 2
cmp rdi, 2
jb 0x140125e59
mov rax, rbx
movabs rcx, 0x20c49ba5e353f7cf
imul rcx
mov r14, rdx
mov rax, rdx
shr rax, 0x3f
sar r14, 7
add r14, rax
xor eax, eax
test r14, r14
setns al
neg eax
mov rcx, r14
shr rcx, 0x20
cmovne r14d, eax
mov r12, qword [rsi + 0x10]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x140], rax
mov rax, qword [fcn.140118b10]
lea rcx, [0x140118bc0]
cmp rax, rcx
jne 0x140126798
mov qword [rsp + 0x188], 0
lea rcx, [rsp + 0x188]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x188]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140126d28
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c5cb8]
mov qword [rsp + 0x140], rax
mov rcx, qword [r12]
mov edx, r14d
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x140125cf2
mov byte [rsi + 0x20], 0
lea r12, [rsp + 0x1b8]
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsp + 0x170], 0xa
movzx eax, byte [0x1402c585a]
test al, al
jne 0x140126e80
movzx eax, byte [r13 + 0x30]
test al, al
jne 0x140125cbb
mov rax, qword [r13]
mov rax, qword [rax + 0x20]
lea rcx, [0x1401277e0]
cmp rax, rcx
jne 0x140125ac8
mov rax, qword [r13 + 0x70]
mov rax, qword [rax + 0x18]
mov al, byte [rax]
test al, al
jne 0x140125cbb
mov rdi, qword [r13 + 0x38]
lea rsi, [rdi + 0x60]
mov rcx, rsi
call rbp
test al, al
je 0x1401262b5
mov rax, qword [rdi + 0x68]
test rax, rax
jne 0x140126725
mov rcx, rsi
call rbx
cmp byte [rsp + 0x80], 0
je 0x1401250a3
cmp byte [rsp + 0x118], 1
je 0x140126a84
mov qword [rsp + 0x108], 0
xor eax, eax
mov byte [rsp + 0x110], al
mov byte [rsp + 0x100], al
mov byte [rsp + 0x118], 1
mov rax, qword [r13 + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x1401264ee
mov esi, dword [r13 + 0x50]
cmp dword [r13 + 0x54], esi
jne 0x140126b11
movaps xmmword [rsp + 0xf0], xmm6
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
lea rcx, [0x1401277d0]
cmp rax, rcx
jne 0x140125c8c
mov rsi, qword [r13 + 0x70]
mov rax, qword [rsi]
mov rax, qword [rax + 0x18]
lea rcx, [0x14018b720]
cmp rax, rcx
jne 0x140125b18
movups xmmword [r12 + 0x10], xmm6
movups xmmword [r12], xmm6
mov rbx, qword [rsi - 0x18]
mov qword [rsp + 0x190], rbx
mov byte [rsp + 0x1c8], 0
movups xmmword [r12 - 0x10], xmm10
movups xmmword [r12 - 0x20], xmm10
lea rdi, fcn.140165220
mov qword [rsp + 0x188], rdi
mov dword [rsp + 0x1d0], 0
add rbx, 0x68
mov rcx, rbx
call rbp
test al, al
je 0x140125be8
add rsi, 0xffffffffffffffc0
mov rcx, rsi
lea rdx, [rsp + 0xf0]
lea r8, [rsp + 0x188]
mov r9, r13
call fcn.140127800
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsp + 0x188], rdi
cmp dword [rsp + 0x1d0], 0
jg 0x140125a5d
lea rax, [0x140271e78]
mov qword [rsp + 0x188], rax
mov rdx, qword [rsp + 0x1b0]
mov rax, rdx
mov rbx, r12
and rax, 1
jne 0x14012678b
mov rdi, rdx
shr rdi, 1
mov cl, 1
cmp rdx, 2
jae 0x1401260d4
mov rdx, r12
test rax, rax
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jne 0x14012683b
test cl, cl
je 0x140125fea
test rax, rax
jne 0x140126848
mov qword [rsp + 0x1b0], 0
cmp byte [rsp + 0x1c8], 0
jne 0x1401264f8
mov rdi, qword [rsp + 0x198]
test rdi, rdi
jne 0x140125b38
mov rax, qword [rsp + 0xf0]
test rax, rax
je 0x140125c17
mov qword [rsp + 0xe8], rax
lea rcx, [rsp + 0xe8]
call fcn.14012ae90
mov rcx, qword [r13 + 0x38]
movapd xmm0, xmmword [rsp + 0xf0]
movupd xmmword [rsp + 0xd8], xmm0
movaps xmmword [rsp + 0xf0], xmm10
lea rdx, [rsp + 0x188]
lea r8, [rsp + 0xd8]
call fcn.140128a70
mov r8, qword [rsp + 0xf0]
test r8, r8
jne 0x140126adc
mov qword [rsp + 0x140], r8
mov qword [rsp + 0xf0], 0
test r8, r8
jne 0x140126a96
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x188], 0
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0xf0], rax
test rcx, rcx
jne 0x140126b21
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0xd0]
call fcn.14012ae90
cmp byte [rsp + 0x80], 0
je 0x1401253c2
cmp byte [rsp + 0x118], 1
jne 0x14012539e
cmp byte [rsp + 0x100], 1
jne 0x14012539e
mov rax, qword [rsp + 0x98]
mov rsi, qword [rax]
test rsi, rsi
je 0x14012539e
mov rax, qword [rsi + 0x10]
test rax, rax
js 0x1401268b4
cmp dword [rsi + 0x24], 1
jne 0x140126caa
cmp qword [rsi + 0x18], 0
jne 0x140126c16
movabs rax, 0xbfffffffffffffff
lock and qword [rsi + 0x10], rax
mov rdi, qword [rsp + 0x108]
cmp qword [rsi + 0x18], 0
jne 0x140126c5a
mov rax, qword [rsi + 0x10]
movabs rcx, 0x4000000000000000
and rax, rcx
movabs rcx, 0xffffffffffffff
and rdi, rcx
or rdi, rax
mov qword [rsi + 0x10], rdi
dec dword [rsi + 0x24]
mov qword [rsp + 0x108], 0
mov byte [rsp + 0x110], 0
mov byte [rsp + 0x100], 0
mov byte [rsp + 0x118], 1
movaps xmmword [rsp + 0xc0], xmm6
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
lea rcx, [0x1401277d0]
cmp rax, rcx
jne 0x140125ae1
mov r14, qword [r13 + 0x70]
mov rdi, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0xb0], rdi
movaps xmmword [rsp + 0xf0], xmm10
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0xb8], rcx
mov rax, qword [r14]
mov rax, qword [rax + 0x20]
lea rcx, [0x140150e30]
cmp rax, rcx
jne 0x140124a7e
test rdi, rdi
jne 0x140125a19
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rcx, [rax - 0xaa]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
lea r15, [rsp + 0x1b8]
movups xmmword [r15 + 0x10], xmm6
movups xmmword [r15], xmm6
mov rsi, qword [r14 - 0x18]
mov qword [rsp + 0x190], rsi
mov byte [rsp + 0x1c8], 0
movups xmmword [r12 - 0x10], xmm10
movups xmmword [r12 - 0x20], xmm10
lea rax, fcn.140165220
mov qword [rsp + 0x188], rax
mov dword [rsp + 0x1d0], 0
movaps xmmword [rsp + 0x140], xmm6
movaps xmmword [rsp + 0x150], xmm6
mov byte [rsp + 0x140], 0
mov byte [rsp + 0x158], 0
mov qword [rsp + 0x160], 0
add rsi, 0x68
mov rcx, rsi
call rbp
test al, al
je 0x140125cad
cmp byte [r14 - 5], 1
mov qword [rsp + 0x70], rdi
je 0x140126a0e
cmp byte [r14 - 0x27], 0
je 0x140126a5b
mov rax, qword [r14 - 0x18]
mov rcx, qword [rax + 0x118]
dec rcx
cmp byte [r14 - 0x28], 0
mov qword [rax + 0x118], rcx
je 0x140125a51
mov rdx, qword [rax + 0x80]
cmp rdx, qword [rax + 0x88]
je 0x140125534
cmp rcx, qword [rax + 0x108]
jae 0x140125a09
mov word [rax + 0xb8], 0
cmp byte [r14 - 0x25], 1
jne 0x140125549
mov byte [r14 - 0x25], 0
cmp byte [r14 - 0x27], 1
jne 0x140125555
mov byte [r14 - 0x27], 0
lea rbp, [r14 - 0x40]
mov r13, qword [r14 - 0x18]
test rdi, rdi
jne 0x14012588e
mov qword [rsp + 0x68], rbp
mov rbp, qword [r13 + 0x98]
mov r9, qword [r13 + 0x120]
test rbp, rbp
jne 0x1401259a6
xor ebp, ebp
mov r12, qword [r13 + 0xa8]
mov r10, qword [r13 + 0x110]
mov rbx, qword [r13 + 0x120]
mov rdi, qword [r13 + 0x118]
add r12, qword [r13 + 0xa0]
je 0x140125913
mov rax, qword [r13 + 8]
mov eax, dword [rax + 0x1c]
cmp eax, 1
ja 0x140125913
mov rax, qword [r13 + 0x80]
cmp rax, qword [r13 + 0x88]
je 0x1401269b6
mov cl, byte [rax + 0x10]
dec cl
cmp cl, 1
ja 0x1401256d1
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
mov eax, 1
lea r8, [0x1401132b0]
cmp rdx, r8
je 0x1401256bf
lea rax, [0x14018f360]
cmp rdx, rax
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x90], r10
jne 0x140126ee3
mov eax, dword [rcx + 0x40]
test al, 1
jne 0x1401263f4
mov r15, qword [rcx + 0x70]
test r15, r15
je 0x140126955
mov edx, 1
lock xadd dword [r15], edx
test edx, edx
jle 0x140126952
mov qword [rsp + 0xa8], rsi
cmp edx, 0x7fffffff
je 0x14012694f
shr eax, 1
movzx edx, al
mov rax, qword [rcx + 0x70]
mov rax, qword [rax + 8]
mov rcx, r15
mov qword [rsp + 0xa0], rdx
call qword [0x1402a3ee8]
mov rsi, rax
lock dec dword [r15]
je 0x140126cf8
cmp rsi, 0x20
mov eax, 0x20
cmovae rsi, rax
sub rsi, qword [rsp + 0xa0]
mov eax, 0
cmovae rax, rsi
lea r15, [rsp + 0x1b8]
mov rsi, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x78]
mov r10, qword [rsp + 0x90]
lea rcx, [r12 + rax]
dec rcx
add r12, rax
cmp rcx, 1
adc r12, 0xffffffffffffffff
sub rdi, rbx
add rbp, r9
cmp r10, rbp
cmovb rbp, r10
cmp rbp, rbx
cmovbe rbp, rbx
add rdi, r12
add rdi, rbp
mov rax, qword [r13 + 0x108]
cmp rax, rdi
cmovb rdi, rax
mov eax, 0x100
cmp rdi, rax
cmovae rdi, rax
mov rax, qword [r14 - 0x18]
mov rcx, qword [rax + 0x1c0]
cmp rdi, rcx
jae 0x14012597f
dec rcx
mov qword [rax + 0x1c0], rcx
mov rcx, qword [r14 - 0x18]
mov eax, 0x130
add rcx, rax
call qword [sym.imp.KERNEL32.dll_WakeConditionVariable]
movaps xmmword [rsp + 0xc0], xmm10
mov r13, qword [rsp + 0x48]
lea r12, [rsp + 0x1b8]
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, rsi
call rbx
mov rcx, qword [rsp + 0x160]
test rcx, rcx
jne 0x1401266bf
cmp byte [rsp + 0x158], 1
je 0x140126526
lea rax, fcn.140165220
mov qword [rsp + 0x188], rax
cmp dword [rsp + 0x1d0], 0
jg 0x14012583c
lea rax, [0x140271e78]
mov qword [rsp + 0x188], rax
mov rdx, qword [rsp + 0x1b0]
mov rax, rdx
mov rdi, r15
and rax, 1
jne 0x14012677e
mov rsi, rdx
shr rsi, 1
mov cl, 1
cmp rdx, 2
jae 0x140126029
mov rdx, r15
test rax, rax
mov rdi, qword [rsp + 0x70]
jne 0x1401267ab
test cl, cl
je 0x140125e15
test rax, rax
jne 0x140126829
mov qword [rsp + 0x1b0], 0
cmp byte [rsp + 0x1c8], 0
jne 0x140126487
mov rbp, qword [rsp + 0x198]
test rbp, rbp
jne 0x14012591b
test rdi, rdi
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
je 0x140124aae
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140124aa2
jmp 0x140124a9c
xor esi, esi
mov qword [rsp + 0x168], 0x9a
mov al, byte [0x1402c58ea]
test al, al
jne 0x140126f6d
mov rax, qword [rsp + 0x190]
mov rcx, qword [rax + 0x1b0]
mov edx, 1
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
test eax, eax
je 0x1401269a0
inc esi
cmp esi, dword [rsp + 0x1d0]
jge 0x140125793
jmp 0x14012583e
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x138], rax
mov rcx, r13
mov rdi, rsi
lea rsi, [rsp + 0x188]
mov rdx, rsi
lea r8, [rsp + 0x140]
lea r9, [rsp + 0x128]
call fcn.140152080
mov rcx, rbp
lea rdx, [rsp + 0xc0]
mov r8, rsi
mov rsi, rdi
mov r13, qword [rsp + 0x48]
mov r9, r13
call fcn.140127800
xor eax, eax
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x58], rax
jmp 0x140125752
xor r12d, r12d
jmp 0x1401256d1
mov rsi, qword [rsp + 0x1a0]
mov rcx, rbp
cmp rsi, rbp
je 0x14012596d
mov rax, rsi
add rsi, 0xfffffffffffffff0
je 0x1401269a3
mov r14, qword [rsi]
test r14, r14
jne 0x14012618e
mov qword [rsi], 0
test r14, r14
jne 0x1401261b3
mov rcx, qword [rsi]
test rcx, rcx
jne 0x140126fc3
cmp rsi, rbp
jne 0x14012592b
mov rcx, qword [rsp + 0x198]
mov qword [rsp + 0x1a0], rbp
call fcn.14018f5a0
jmp 0x140125819
mov rcx, qword [rsp + 0x68]
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0x188]
mov r13, qword [rsp + 0x48]
mov r9, r13
call fcn.140127800
jmp 0x140125743
mov rax, qword [r13 + 8]
mov eax, dword [rax + 0x1c]
test eax, eax
jne 0x140125582
mov rax, qword [r13 + 0x80]
cmp rax, qword [r13 + 0x88]
je 0x1401269b6
cmp byte [rax + 0x10], 0
jne 0x140125584
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
mov eax, 1
lea r8, [0x1401132b0]
cmp rdx, r8
jne 0x140127017
lea rcx, [rax + rbp]
dec rcx
add rbp, rax
cmp rcx, 1
adc rbp, 0xffffffffffffffff
jmp 0x140125584
movzx ecx, word [rdx + 0x10]
mov word [rax + 0xb8], cx
jmp 0x14012553d
lea rsi, [rdi + 0x18]
movaps xmmword [rsp + 0xb0], xmm10
mov rcx, rsi
call rbp
test al, al
lea r15, [rsp + 0x1b8]
je 0x140125a46
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x58], rdi
jmp 0x14012545c
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140125a37
dec qword [rax + 0x120]
jmp 0x140125517
xor esi, esi
mov qword [rsp + 0x128], 0x9a
mov al, byte [0x1402c58ea]
test al, al
jne 0x14012702b
mov rax, qword [rsp + 0x190]
mov rcx, qword [rax + 0x1b0]
mov edx, 1
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
test eax, eax
je 0x140126d4f
inc esi
cmp esi, dword [rsp + 0x1d0]
jge 0x140125192
jmp 0x140125a5f
lea rcx, [0x140128a60]
cmp rax, rcx
jne 0x140126f2b
mov al, byte [r13 + 0x78]
jmp 0x140124c21
lea rcx, [0x140128a60]
cmp rax, rcx
jne 0x140126f39
mov al, byte [r13 + 0x78]
jmp 0x140125038
lea rcx, [0x1401277d0]
cmp rax, rcx
je 0x1401253e2
mov rcx, r13
call qword [0x1402a3ee8]
mov r14, rax
jmp 0x1401253e6
mov rcx, rsi
lea rdx, [rsp + 0x170]
call qword [0x1402a3ee8]
jmp 0x140124d43
mov rcx, rsi
lea rdx, [rsp + 0xf0]
mov r8, r13
call qword [0x1402a3ee8]
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14012521a
mov r15, qword [rsp + 0x1a0]
mov rcx, rdi
cmp r15, rdi
je 0x140125b87
mov rax, r15
add r15, 0xfffffffffffffff0
je 0x1401269a3
mov rsi, qword [r15]
test rsi, rsi
jne 0x140125ba3
mov qword [r15], 0
test rsi, rsi
jne 0x140125bcb
mov rcx, qword [r15]
test rcx, rcx
jne 0x140127081
cmp r15, rdi
mov r13, qword [rsp + 0x48]
jne 0x140125b48
mov rcx, qword [rsp + 0x198]
mov qword [rsp + 0x1a0], rdi
call fcn.14018f5a0
movabs r15, 0x7fffffffffffffff
jmp 0x14012521a
mov r13, qword [rax - 8]
test r13, r13
je 0x140125b5d
mov qword [r15], 0
mov al, byte [rsi + 0xd]
and al, 0x7f
cmp al, 2
je 0x1401267d1
lock dec dword [r13 + 0x18]
je 0x140126309
lock dec dword [rsi + 8]
jne 0x140125b69
mov rax, qword [rsi]
mov rax, qword [rax + 0x30]
mov rcx, rsi
mov edx, 1
call qword [0x1402a3ee8]
jmp 0x140125b69
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140125154
lea rcx, [0x1401277d0]
cmp rax, rcx
je 0x140124cbf
mov rcx, r13
call qword [0x1402a3ee8]
mov rsi, rax
jmp 0x140124cc3
mov al, byte [r13 + 0x30]
test al, al
jne 0x140125c7f
mov rax, qword [r13]
mov rax, qword [rax + 0x20]
mov rcx, r13
call qword [0x1402a3ee8]
test al, al
jne 0x140125c7f
mov rdi, qword [r13 + 0x38]
lea rsi, [rdi + 0x60]
mov rcx, rsi
call rbp
test al, al
je 0x140126717
mov rax, qword [rdi + 0x68]
test rax, rax
jne 0x140126867
mov rcx, rsi
call rbx
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
mov rcx, r13
call qword [0x1402a3ee8]
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x40]
mov rcx, rax
mov rax, rdx
call qword [0x1402a3ee8]
mov rax, qword [rsp + 0xf0]
jmp 0x140124b3e
lea rcx, [0x1401277d0]
cmp rax, rcx
je 0x1401250e3
mov rcx, r13
call qword [0x1402a3ee8]
mov rsi, rax
jmp 0x1401250e7
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1401254dc
xor esi, esi
jmp 0x140124b4a
lea rcx, [0x14000a220]
cmp rax, rcx
jne 0x140126f5c
lea rcx, [rsi + 0x10]
mov rdx, rbx
call fcn.14011a110
test al, al
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jne 0x140124fee
jmp 0x140125dad
mov ebp, eax
mov rax, qword [rsp + 0x140]
cmp rdi, 2
jb 0x140126d05
lea rcx, [rax + rbx]
sar rcx, 0x3f
btc rcx, 0x3f
add rax, rbx
cmovo rax, rcx
mov r13, rax
mov rax, qword [fcn.140118b10]
lea rcx, [0x140118bc0]
cmp rax, rcx
jne 0x1401268d6
mov qword [rsp + 0x188], 0
lea rcx, [rsp + 0x188]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x188]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1401273ea
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c5cb8]
cmp rax, r13
mov r13, qword [rsp + 0x48]
jle 0x140124fbf
cmp ebp, 0x102
lea r12, [rsp + 0x1b8]
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jne 0x1401270be
mov byte [rsi + 0x20], 1
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
call fcn.14012f0f0
mov rcx, qword [rsp + 0x128]
mov rax, qword [rsp + 0x170]
cmp rax, rcx
jle 0x140124fee
setns dl
movzx r8d, dl
add r8, r15
mov rdx, rax
sub rdx, rcx
lea rcx, [r15 + rcx + 2]
cmovo rdx, r8
cmp rcx, 2
cmovb rdx, r15
cmp rax, r15
cmove rdx, r15
mov rax, qword [rsi]
mov rax, qword [rax + 0x48]
mov rcx, rsi
call qword [0x1402a3ee8]
jmp 0x140124fee
mov rcx, rsi
call fcn.1401cec40
jmp 0x140124fee
lea rdi, [rdx + rsi*8]
add rdi, 0xfffffffffffffff8
neg rsi
test rdi, rdi
je 0x1401269a3
mov rcx, qword [rdi]
test rcx, rcx
je 0x140125e3b
lock dec dword [rcx + 8]
je 0x1401273b7
add rdi, 0xfffffffffffffff8
inc rsi
jne 0x140125e20
mov rax, qword [rsp + 0x1b0]
and eax, 1
mov rdi, qword [rsp + 0x70]
jmp 0x1401257e5
lea r14, [r15 + 1]
test rbx, rbx
cmovns r14, r15
jmp 0x140124f30
lock dec dword [rcx + 8]
jne 0x140125f05
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov edx, 1
call qword [0x1402a3ee8]
jmp 0x140125f05
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebx, eax
test eax, eax
jne 0x140126895
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test ebx, ebx
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jne 0x140124c50
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
mov rcx, r13
call qword [0x1402a3ee8]
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov rdx, r13
mov rax, r8
call qword [0x1402a3ee8]
mov rcx, qword [r13 + 0x48]
test rcx, rcx
jne 0x1401271bc
mov rcx, qword [r13 + 0x10]
mov qword [r13 + 0x10], 0
test rcx, rcx
mov rsi, qword [rsp + 0x88]
jne 0x140125e69
mov qword [rsp + 0x140], 0xa
mov al, byte [0x1402c585a]
test al, al
jne 0x14012731a
mov qword [rsp + 0x140], 0xa
mov al, byte [0x1402c585a]
test al, al
jne 0x140127360
mov ecx, dword [0x1402b5274]
test ecx, ecx
jne 0x1401270c7
test rsi, rsi
jne 0x140125f9b
mov rcx, qword [rsp + 0x1d8]
xor rcx, rsp
call fcn.140191d70
movaps xmm6, xmmword [rsp + 0x1e0]
movaps xmm7, xmmword [rsp + 0x1f0]
movaps xmm8, xmmword [rsp + 0x200]
movaps xmm9, xmmword [rsp + 0x210]
movaps xmm10, xmmword [rsp + 0x220]
add rsp, 0x238
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [0x1402a3ee8]
lock dec dword [rsi]
jne 0x140125f4c
mov rax, qword [rsi + 0x10]
lea rcx, [0x14025d280]
cmp rax, rcx
je 0x140125fc8
mov rcx, rsi
call qword [0x1402a3ee8]
jmp 0x140125f4c
mov rcx, qword [rsi + 0x28]
test rcx, rcx
jne 0x140125fde
mov rcx, rsi
call fcn.14018f5a0
jmp 0x140125f4c
lock dec dword [rcx]
jne 0x140125fd1
call fcn.14018f5a0
jmp 0x140125fd1
lea rsi, [rdx + rdi*8]
add rsi, 0xfffffffffffffff8
neg rdi
test rsi, rsi
je 0x1401269a3
mov rcx, qword [rsi]
test rcx, rcx
je 0x140126010
lock dec dword [rcx + 8]
je 0x14012742b
add rsi, 0xfffffffffffffff8
inc rdi
jne 0x140125ff5
mov rax, qword [rsp + 0x1b0]
and eax, 1
jmp 0x1401251e6
shl rsi, 3
xor ebx, ebx
mov r14, qword [rdi + rbx]
test r14, r14
je 0x14012604e
mov eax, 1
lock xadd dword [r14 + 8], eax
cmp eax, 0x7fffffff
je 0x140126958
mov rax, qword [rsp + 0x190]
mov rdx, qword [rax + 0x40]
mov r8, qword [rax + 0x48]
test rdx, rdx
je 0x140126078
mov eax, 1
lock xadd dword [rdx + 8], eax
cmp eax, 0x7fffffff
je 0x14012695b
mov rcx, r14
call fcn.1400469b0
mov rcx, qword [rsp + 0x190]
cmp byte [rcx + 0x1a0], 1
je 0x14012727d
test r14, r14
je 0x1401260a5
lock dec dword [r14 + 8]
je 0x140127411
add rbx, 8
cmp rsi, rbx
jne 0x14012602f
mov rcx, qword [rsp + 0x1b0]
mov rsi, rcx
shr rsi, 1
mov eax, ecx
and eax, 1
cmp rcx, 2
setb cl
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1401257cc
shl rdi, 3
xor r14d, r14d
mov rsi, qword [rbx + r14]
test rsi, rsi
je 0x1401260f9
mov eax, 1
lock xadd dword [rsi + 8], eax
cmp eax, 0x7fffffff
je 0x1401270c1
mov rax, qword [rsp + 0x190]
mov rdx, qword [rax + 0x40]
mov r8, qword [rax + 0x48]
test rdx, rdx
je 0x140126123
mov eax, 1
lock xadd dword [rdx + 8], eax
cmp eax, 0x7fffffff
je 0x1401270c4
mov rcx, rsi
call fcn.1400469b0
mov rcx, qword [rsp + 0x190]
cmp byte [rcx + 0x1a0], 1
je 0x1401273a6
test rsi, rsi
je 0x14012614f
lock dec dword [rsi + 8]
je 0x140127505
add r14, 8
cmp rdi, r14
jne 0x1401260db
mov rcx, qword [rsp + 0x1b0]
mov rdi, rcx
shr rdi, 1
mov eax, ecx
and eax, 1
cmp rcx, 2
setb cl
jmp 0x1401251cb
mov rax, qword [r15 + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x1401261ac
jmp 0x1401269c9
mov r15, qword [rax - 8]
test r15, r15
je 0x140125944
mov qword [rsi], 0
mov al, byte [r14 + 0xd]
and al, 0x7f
cmp al, 2
je 0x140126177
lock dec dword [r15 + 0x18]
je 0x1401261d8
lock dec dword [r14 + 8]
jne 0x140125954
mov rax, qword [r14]
mov rax, qword [rax + 0x30]
mov rcx, r14
mov edx, 1
call qword [0x1402a3ee8]
jmp 0x140125954
lea r13, [r15 + 0x20]
mov rcx, r13
mov rdi, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
call rdi
test al, al
je 0x1401273ce
lea rcx, [r15 + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r13
call rbx
mov rcx, r13
call rdi
test al, al
je 0x1401273dc
mov rax, qword [r15 + 0x40]
mov qword [rsp + 0x68], rax
mov rax, qword [r15 + 0x48]
mov qword [rsp + 0x78], rax
movups xmmword [r15 + 0x40], xmm10
mov r12, qword [r15 + 0x50]
mov rdi, qword [r15 + 0x58]
movups xmmword [r15 + 0x50], xmm10
mov rcx, r13
call rbx
mov rax, rdi
mov r13, r12
cmp r12, rdi
jne 0x14012745e
lea rcx, fcn.14011f760
mov rdx, qword [rsp + 0x68]
xor r8d, r8d
call fcn.14011d840
mov r13, qword [rsp + 0x48]
lea r12, [rsp + 0x1b8]
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rdi, qword [rsp + 0x70]
jmp 0x14012594b
lea rcx, [0x1402cc900]
call fcn.14018f720
cmp dword [0x1402cc900], 0xffffffff
jne 0x140124e27
mov qword [0x1402cc8f8], r14
lea rcx, [0x1402cc900]
call fcn.14018f6b4
jmp 0x140124e27
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140124c3e
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140125055
lea rcx, [0x1402cc8f0]
call fcn.14018f720
cmp dword [0x1402cc8f0], 0xffffffff
jne 0x140124df5
lea rcx, str.DelayFirstWorkerWake
call fcn.14012f5c0
mov byte [0x1402cc8ec], al
lea rcx, [0x1402cc8f0]
call fcn.14018f6b4
jmp 0x140124df5
mov esi, 3
jmp 0x140124b05
lea r14, [r13 + 0x20]
mov rcx, r14
call rbp
test al, al
je 0x140127442
lea rcx, [r13 + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r14
call rbx
mov rcx, r14
call rbp
test al, al
je 0x140127450
mov rax, qword [r13 + 0x40]
mov qword [rsp + 0x50], rax
mov rax, qword [r13 + 0x48]
mov qword [rsp + 0x40], rax
movups xmmword [r13 + 0x40], xmm10
mov rbp, qword [r13 + 0x50]
mov r12, qword [r13 + 0x58]
movups xmmword [r13 + 0x50], xmm10
mov rcx, r14
call rbx
mov rax, r12
mov r13, rbp
cmp rbp, r12
jne 0x14012751f
lea rcx, fcn.14011f760
mov rdx, qword [rsp + 0x50]
xor r8d, r8d
call fcn.14011d840
lea r12, [rsp + 0x1b8]
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140125b64
mov rax, qword [0x1402b3e18]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1402a3ee8]
lea rcx, [rax + 0x6218]
lea rdx, [0x1402b5268]
mov qword [rax + 0x6218], rdx
mov qword [rax + 0x6220], rax
mov rax, qword [rsp + 0x60]
mov qword [rax], rcx
mov edi, dword [0x1402b5274]
and edi, esi
je 0x140124c99
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
jmp 0x1401249e1
xor eax, eax
jmp 0x1401256bf
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 0x14012485e
mov rax, qword [r15 + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x14012476d
lea rbx, [r15 + 0x60]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140127623
mov rcx, qword [r15 + 0x68]
call fcn.140131550
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r13, qword [rsp + 0x48]
lea r12, [rsp + 0x1b8]
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14012476d
mov rcx, qword [rsp + 0x190]
call fcn.1401cee80
cmp qword [rsp + 0x1b0], 0
je 0x140125808
lea rcx, [rsp + 0x1b0]
call fcn.14020cdc0
jmp 0x140125808
mov ebp, dword [0x1402b5274]
and ebp, edi
test ebp, r9d
je 0x1401264e7
mov cl, byte [r8 + rax]
test cl, 1
je 0x1401264e7
add r8, rax
lea rcx, [0x1402b5268]
mov rdx, rsi
mov r9d, ebx
call fcn.14002c680
mov edi, ebp
jmp 0x140124883
mov edi, ebp
jmp 0x1401249b6
mov esi, 3
jmp 0x1401250b9
mov rcx, qword [rsp + 0x190]
call fcn.1401cee80
cmp qword [rsp + 0x1b0], 0
je 0x140125209
lea rcx, [rsp + 0x1b0]
call fcn.14020cdc0
jmp 0x140125209
mov rcx, qword [rsp + 0x150]
test rcx, rcx
je 0x140126549
add rcx, 0x18
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsp + 0x150], 0
lea rcx, [rsp + 0x140]
call fcn.14012a7a0
jmp 0x140125776
mov eax, dword [0x1402b5274]
test al, al
jns 0x140124a5b
mov cl, byte [0x1402b55f8]
test cl, 1
je 0x140124a5b
and edi, eax
lea r8, [0x1402b55f8]
jmp 0x140126656
mov ecx, dword [0x1402b5274]
and edi, ecx
test cl, 0x20
je 0x140124a48
mov cl, byte [0x1402b54f8]
test cl, 1
je 0x140124a48
lea r8, [0x1402b54f8]
jmp 0x140126656
mov ecx, dword [0x1402b5274]
and edi, ecx
test cl, 0x10
je 0x140124a3e
mov cl, byte [0x1402b5478]
test cl, 1
je 0x140124a3e
lea r8, [0x1402b5478]
jmp 0x140126656
mov ecx, dword [0x1402b5274]
and edi, ecx
test cl, 4
je 0x140124a2a
mov cl, byte [0x1402b5378]
test cl, 1
je 0x140124a2a
lea r8, [0x1402b5378]
jmp 0x140126656
mov ecx, dword [0x1402b5274]
and edi, ecx
test cl, 2
je 0x140124a20
mov cl, byte [0x1402b52f8]
test cl, 1
je 0x140124a20
lea r8, [0x1402b52f8]
jmp 0x140126656
mov ecx, dword [0x1402b5274]
and edi, ecx
test cl, 1
je 0x140124a16
mov cl, byte [0x1402b5278]
test cl, 1
je 0x140124a16
lea r8, [0x1402b5278]
xor ebx, ebx
lea rcx, [0x1402b5268]
mov rdx, rsi
mov r9d, ebx
call fcn.14002c680
jmp 0x140124883
mov ecx, dword [0x1402b5274]
and edi, ecx
test cl, 8
je 0x140124a34
mov cl, byte [0x1402b53f8]
test cl, 1
je 0x140124a34
lea r8, [0x1402b53f8]
jmp 0x140126656
mov ecx, dword [0x1402b5274]
and edi, ecx
test cl, 0x40
je 0x140124a52
mov cl, byte [0x1402b5578]
test cl, 1
je 0x140124a52
lea r8, [0x1402b5578]
jmp 0x140126656
cmp byte [rsp + 0x158], 0
je 0x14012694a
mov rax, qword [rsp + 0x140]
lea rdx, [rsp + 0x170]
mov qword [rdx], rax
mov qword [rsp + 0x140], 0
movupd xmm0, xmmword [rsp + 0x148]
xorps xmm1, xmm1
movups xmmword [rsp + 0x148], xmm1
movupd xmmword [rdx + 8], xmm0
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [0x1402a3ee8]
jmp 0x140125768
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140125c49
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebx, eax
test eax, eax
jne 0x140126753
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test ebx, ebx
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
je 0x140125cbb
jmp 0x140125067
cmp ebx, 0x102
je 0x140126736
mov ecx, ebx
call fcn.1401ffde0
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140125062
mov ecx, esi
call fcn.14001f700
mov dword [r13 + 0x54], esi
jmp 0x140124b0f
mov rdi, qword [rsp + 0x1b8]
jmp 0x1401257ba
mov rbx, qword [rsp + 0x1b8]
jmp 0x1401251b9
lea rcx, [rsp + 0x140]
call qword [0x1402a3ee8]
jmp 0x140124fbf
mov rdx, qword [rsp + 0x1b8]
jmp 0x1401257dd
lea rbx, [rsp + 0xf0]
mov rcx, rbx
call qword [0x1402a3ee8]
mov r14, qword [rbx]
jmp 0x140124dbc
mov rax, qword [r13 + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x140125bc0
lea rbx, [r13 + 0x60]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14012764d
mov rcx, qword [r13 + 0x68]
call fcn.140131550
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea r12, [rsp + 0x1b8]
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140125bc0
mov rcx, qword [rsp + 0x1b8]
call fcn.14018f5a0
jmp 0x1401257ee
mov rdx, qword [rsp + 0x1b8]
jmp 0x1401251de
mov rcx, qword [rsp + 0x1b8]
call fcn.14018f5a0
jmp 0x1401251ef
cmp ebx, 0x102
je 0x140126878
jmp 0x1401277b9
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebx, eax
test eax, eax
jne 0x14012685a
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test ebx, ebx
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jne 0x140125c5b
jmp 0x140125c7f
cmp ebx, 0x102
je 0x140125e9c
mov ecx, ebx
call fcn.1401ffde0
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140124c4b
mov rcx, qword [0x1402c5d88]
call fcn.1401ce760
jmp 0x14012533f
mov rcx, qword [0x1402c5d88]
call fcn.1401ce760
jmp 0x140124b83
lea r15, [rsp + 0x188]
mov rcx, r15
call qword [0x1402a3ee8]
mov rax, qword [r15]
movabs r15, 0x7fffffffffffffff
jmp 0x140125d79
mov rax, qword [rsp + 0x50]
lea rsi, [rax + 0x60]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140127631
call fcn.1401ceaf0
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
lea rcx, [0x1402742d5]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
call fcn.1401ceaf0
lea rcx, [0x1402742d5]
lea rdx, str....._third_partylibc_srcinclude_vector:618:_assertion__empty___failed:_front___called_on_an_empty_vector_n
call fcn.1401ceaf0
lea rbx, [r15 + 0x60]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14012763f
mov rcx, qword [r15 + 0x68]
call fcn.140131550
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r13, qword [rsp + 0x48]
lea r12, [rsp + 0x1b8]
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rdi, qword [rsp + 0x70]
jmp 0x1401261ac
mov rcx, qword [r14 - 0x18]
call fcn.1400b9540
cmp byte [r14 - 0x27], 0
je 0x140126a5b
cmp byte [r14 - 0x28], 0
jne 0x140126a2e
mov rcx, qword [r14 - 0x18]
call fcn.14020cca0
mov word [r14 - 7], 0
mov byte [r14 - 5], 0
lea r12, [rsp + 0x1b8]
lea r15, [rsp + 0x1b8]
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rdi, qword [rsp + 0x70]
jmp 0x1401254ec
lea rcx, [0x1402742d5]
lea rdx, str....._third_partylibc_srcincludeoptional:795:_assertion_this__has_value___failed:_optional_operator_called_on_a_disengaged_value_n
call fcn.1401ceaf0
mov qword [rsp + 0x128], 0xf4240
mov ebx, 0xf4240
jmp 0x140124ed7
lea rcx, [rsp + 0x100]
call fcn.140177b70
jmp 0x14012507f
lock dec dword [r8 + 8]
jne 0x1401252a2
mov rax, qword [r8]
mov rax, qword [rax + 0x30]
mov rcx, r8
mov edx, 1
call qword [0x1402a3ee8]
jmp 0x1401252a2
lock dec dword [rcx + 8]
jne 0x140124ae5
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402a3ee8]
jmp 0x140124ae5
mov rcx, qword [rsp + 0xf8]
test rcx, rcx
je 0x140125285
mov qword [rsp + 0xf0], 0
lea rsi, [rsp + 0x140]
mov rdx, rsi
call fcn.14001a4f0
mov r8, qword [rsi]
jmp 0x140125299
mov ecx, esi
call fcn.14001f700
mov dword [r13 + 0x54], esi
jmp 0x1401250c3
lock dec dword [rcx + 8]
jne 0x140126b39
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402a3ee8]
mov rcx, qword [rsp + 0x188]
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0xf8], rax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x188], xmm0
test rcx, rcx
mov r13, qword [rsp + 0x48]
movabs r15, 0x7fffffffffffffff
lea r12, [rsp + 0x1b8]
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
je 0x1401252df
lock dec dword [rcx + 8]
je 0x140126be9
mov rcx, qword [rsp + 0x188]
test rcx, rcx
mov r13, qword [rsp + 0x48]
movabs r15, 0x7fffffffffffffff
lea r12, [rsp + 0x1b8]
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
je 0x1401252df
lock dec dword [rcx + 8]
jne 0x1401252df
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402a3ee8]
jmp 0x1401252df
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402a3ee8]
jmp 0x140126b92
lea rsi, [rsp + 0x100]
mov rcx, rsi
call fcn.140177b70
mov byte [rsi + 0x18], 0
jmp 0x140124ca7
lea rcx, [rsi + 0x18]
mov rdi, qword [rsi + 0x10]
call fcn.140200250
movabs rcx, 0xff00000000000000
and rcx, rdi
or rcx, rax
mov qword [rsi + 0x10], rcx
jmp 0x140125354
lea rbx, [rsp + 0x128]
mov rcx, rsi
mov rdx, rbx
mov r8, r14
call fcn.140226860
mov rbx, qword [rbx]
jmp 0x140124ed7
lea rcx, [rsi + 0x18]
mov rbx, qword [rsi + 0x10]
call fcn.140200250
movabs rcx, 0xff00000000000000
and rcx, rbx
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
or rcx, rax
mov qword [rsi + 0x10], rcx
jmp 0x140125376
lea rcx, [rsi + 0x18]
mov rdi, qword [rsi + 0x10]
call fcn.140200250
movabs rcx, 0xff00000000000000
and rcx, rdi
or rcx, rax
mov qword [rsi + 0x10], rcx
jmp 0x140126cbf
cmp byte [rsp + 0x110], 1
jne 0x140125363
cmp qword [rsi + 0x18], 0
jne 0x140126c87
movabs rax, 0x4000000000000000
lock or qword [rsi + 0x10], rax
mov r13, qword [rsp + 0x48]
movabs r15, 0x7fffffffffffffff
lea r12, [rsp + 0x1b8]
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140125363
mov rcx, r15
call fcn.14017f1a0
jmp 0x140125684
mov r13, rbx
cmp rax, rbx
je 0x140125d1d
add rax, r15
add rax, 2
mov r13, rbx
cmp rax, 1
ja 0x140125d1d
int3
mov rcx, qword [0x1402c5cb8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140124fb7
int3
lea rcx, [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
call fcn.140200250
movabs rcx, 0xff00000000000000
and rcx, rbx
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x140124b98
lea rcx, [rdi + 0x18]
mov r14, qword [rdi + 0x10]
call fcn.140200250
movabs rcx, 0xff00000000000000
and rcx, r14
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x140124bba
mov rcx, qword [0x1402c5cb8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov r14, rax
add r14, r8
mov qword [rsp + 0xf0], r14
jmp 0x140124dbc
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0x188]
mov qword [r8], rax
lea rax, [0x140276580]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], Ordinal_73
lea rdx, [rsp + 0x140]
mov r9d, 2
call fcn.14002dd70
jmp 0x140124c8b
lea rcx, [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
call fcn.140200250
movabs rcx, 0xff00000000000000
and rcx, rbx
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x140126e4e
cmp byte [rsp + 0x110], 1
jne 0x140124ba7
cmp qword [rdi + 0x18], 0
jne 0x140126e16
movabs rax, 0x4000000000000000
lock or qword [rdi + 0x10], rax
mov r13, qword [rsp + 0x48]
movabs r15, 0x7fffffffffffffff
lea r12, [rsp + 0x1b8]
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jmp 0x140124ba7
movzx ecx, al
mov rax, qword [0x1402c3dc8]
xor rax, qword [r13 + 0x60]
mov qword [rsp + 0x188], rax
lea rax, str.WorkerThread_active
lea r8, [rsp + 0x140]
mov qword [r8], rax
lea rax, [rsp + 0x188]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x170]
mov r9d, 1
call fcn.140017980
jmp 0x140125009
call qword [0x1402a3ee8]
jmp 0x1401248b2
call qword [0x1402a3ee8]
jmp 0x140124952
mov rax, rdx
call qword [0x1402a3ee8]
mov r10, qword [rsp + 0x90]
mov r9, qword [rsp + 0x78]
jmp 0x1401256bf
lea rdx, [rsp + 0x188]
call qword [0x1402a3ee8]
jmp 0x1401248e3
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [0x1402a3ee8]
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
jmp 0x140124a0c
mov rcx, r13
call qword [0x1402a3ee8]
jmp 0x140124c21
mov rcx, r13
call qword [0x1402a3ee8]
jmp 0x140125038
int3
int3
int3
int3
int3
int3
int3
mov rcx, rsi
mov rdx, rbx
call qword [0x1402a3ee8]
jmp 0x140125cde
movzx ecx, al
mov eax, 0x1b0
add rax, qword [rsp + 0x190]
xor rax, qword [0x1402c3dc8]
mov qword [rsp + 0x140], rax
lea rax, [0x14028f2b8]
lea r8, [rsp + 0x170]
mov qword [r8], rax
lea rax, [rsp + 0x140]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x168]
mov r9d, 3
call fcn.140158c40
jmp 0x140125858
lock dec dword [rcx + 8]
jne 0x140125960
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402a3ee8]
jmp 0x140125960
mov rcx, qword [rsi]
lea rax, [0x1401d55a0]
lea rdx, [rsp + 0x188]
mov qword [rdx + 0x18], rax
lea rax, [0x140275fa0]
mov qword [rdx + 0x20], rax
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [0x1402a3ee8]
jmp 0x140124968
mov rax, rdx
mov rdi, r9
call qword [0x1402a3ee8]
mov r9, rdi
jmp 0x1401259f2
movzx ecx, al
mov eax, 0x1b0
add rax, qword [rsp + 0x190]
xor rax, qword [0x1402c3dc8]
mov qword [rsp + 0x140], rax
lea rax, [0x14028f2b8]
lea r8, [rsp + 0x170]
mov qword [r8], rax
lea rax, [rsp + 0x140]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x128]
mov r9d, 3
call fcn.140158c40
jmp 0x140125a79
lock dec dword [rcx + 8]
jne 0x140125b75
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402a3ee8]
jmp 0x140125b75
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1401246c7
int3
int3
int3
call fcn.140226ab0
jmp 0x140125f47
xor eax, eax
jmp 0x1401244ab
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1402a3ee8]
jmp 0x140124434
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x1402a3ee8]
jmp 0x140125ee8
add rcx, 0x190
call fcn.140164350
jmp 0x140126095
movzx ecx, al
lea rax, str.WorkerThread_born
lea r8, [rsp + 0x188]
mov qword [r8], rax
lea rax, [0x140276580]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 8
mov byte [rsp + 0x28], reloc.WLDAP32.dll_Ordinal_73
lea rdx, [rsp + 0x140]
mov r9d, 3
call fcn.14002dd70
jmp 0x14012440d
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0x188]
mov qword [r8], rax
lea rax, [0x140276580]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x42
lea rdx, [rsp + 0x140]
mov r9d, 1
call fcn.14002dd70
jmp 0x140124427
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0x188]
mov qword [r8], rax
lea rax, [0x140276580]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], Ordinal_73
lea rdx, [rsp + 0x140]
mov r9d, 2
call fcn.14002dd70
jmp 0x140125f1f
movzx ecx, al
lea rax, str.WorkerThread_dead
lea r8, [rsp + 0x188]
mov qword [r8], rax
lea rax, [0x140276580]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 8
mov byte [rsp + 0x28], reloc.WLDAP32.dll_Ordinal_73
lea rdx, [rsp + 0x140]
mov r9d, 3
call fcn.14002dd70
jmp 0x140125f39
add rcx, 0x190
call fcn.140164350
jmp 0x140126140
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov edx, 1
call qword [0x1402a3ee8]
jmp 0x140125e3b
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1401261f0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14012620c
mov rcx, qword [0x1402c5cb8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140125d79
mov rax, qword [r14]
mov rax, qword [rax + 8]
mov rcx, r14
mov edx, 1
call qword [0x1402a3ee8]
jmp 0x1401260a5
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov edx, 1
call qword [0x1402a3ee8]
jmp 0x140126010
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14012631a
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140126336
mov rbx, rax
mov r15, qword [rsp + 0x68]
mov rax, qword [rsp + 0x78]
cmp rax, r13
jb 0x140126970
mov rcx, qword [r15 + r13*8]
test rcx, rcx
je 0x14012696d
mov rdi, rax
lea rax, [rsp + 0x140]
mov qword [rax], rcx
xor edx, edx
mov qword [r15 + r13*8], rdx
mov rax, qword [rcx + 8]
call qword [0x1402a3ee8]
lea rcx, [rsp + 0x140]
call fcn.14011d020
inc r13
cmp r13, rdi
mov eax, 0
cmove r13, rax
mov rax, rbx
cmp r13, rbx
jne 0x14012745e
cmp rax, r12
jbe 0x14012765b
cmp rdi, rbx
jb 0x14012696a
cmp r12, rbx
jg 0x140126967
lea r15, [r15 + r12*8]
shl rbx, 3
shl r12, 3
sub rbx, r12
mov rcx, r15
call fcn.14011d020
add r15, 8
add rbx, 0xfffffffffffffff8
je 0x140126244
jmp 0x1401274ed
mov rax, qword [rsi]
mov rax, qword [rax + 8]
mov rcx, rsi
mov edx, 1
call qword [0x1402a3ee8]
jmp 0x14012614f
mov rbx, rax
mov r14, qword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
cmp rax, r13
jb 0x140126f47
mov rcx, qword [r14 + r13*8]
test rcx, rcx
je 0x140126f4a
mov r12, rax
lea rax, [rsp + 0x140]
mov qword [rax], rcx
xor edx, edx
mov qword [r14 + r13*8], rdx
mov rax, qword [rcx + 8]
call qword [0x1402a3ee8]
lea rcx, [rsp + 0x140]
call fcn.14011d020
inc r13
cmp r13, r12
mov eax, 0
cmove r13, rax
mov rax, rbx
cmp r13, rbx
jne 0x14012751f
cmp rax, rbp
jbe 0x1401275c2
cmp r12, rbx
jb 0x140126f4d
cmp rbp, rbx
jg 0x140126f50
lea r14, [r14 + rbp*8]
shl rbx, 3
shl rbp, 3
sub rbx, rbp
mov rcx, r14
call fcn.14011d020
add r14, 8
add rbx, 0xfffffffffffffff8
je 0x14012636e
jmp 0x1401275aa
cmp r12, rbp
jb 0x140126f53
jl 0x140126f56
je 0x1401275f4
lea r13, [r14 + rbp*8]
shl r12, 3
shl rbp, 3
sub r12, rbp
mov rcx, r13
call fcn.14011d020
add r13, 8
add r12, 0xfffffffffffffff8
jne 0x1401275e2
test rbx, rbx
js 0x140126f59
je 0x14012636e
shl rbx, 3
mov r14, qword [rsp + 0x50]
mov rcx, r14
call fcn.14011d020
add r14, 8
add rbx, 0xfffffffffffffff8
jne 0x14012760c
jmp 0x14012636e
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140126455
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1401269de
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1401267fc
cmp rdi, r12
jb 0x140126964
jl 0x140126961
je 0x14012768d
lea r13, [r15 + r12*8]
shl rdi, 3
shl r12, 3
sub rdi, r12
mov rcx, r13
call fcn.14011d020
add r13, 8
add rdi, 0xfffffffffffffff8
jne 0x14012767b
test rbx, rbx
js 0x14012695e
mov ecx, ebx
call fcn.1401ffde0
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140125c56