Function at 0x1400d2030
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, 0x288
movaps xmmword [rsp + 0x270], xmm10
movaps xmmword [rsp + 0x260], xmm9
movaps xmmword [rsp + 0x250], xmm8
movaps xmmword [rsp + 0x240], xmm7
movaps xmmword [rsp + 0x230], xmm6
mov r13, rcx
mov rax, qword [0x140231040]
xor rax, rsp
mov qword [rsp + 0x228], rax
mov qword [rsp + 0x150], 0xa
mov al, byte [0x14024358a]
test al, al
jne 0x1400d7e68
mov qword [rsp + 0x150], 0xa
mov al, byte [0x14024358a]
test al, al
jne 0x1400d7eae
mov rcx, qword [r13 + 0x48]
test rcx, rcx
jne 0x1400d7e33
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
mov rcx, r13
call qword [0x1402233e0]
mov rcx, qword [rax]
mov r8, qword [rcx + 0x10]
mov rcx, rax
mov rdx, r13
mov rax, r8
call qword [0x1402233e0]
mov eax, dword [0x140243b58]
test eax, eax
je 0x1400d21be
mov rax, qword [r13 + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x1400d2112
cmp dword [r13 + 0x50], 0
je 0x1400d21be
mov rcx, qword [0x140243b48]
test rcx, rcx
je 0x1400d7e2c
lea rsi, [rsp + 0x1d8]
mov rdx, rsi
mov r8d, 2
call fcn.140037850
mov rax, qword [rsi]
mov qword [rsp + 0x98], rax
mov al, 1
mov qword [rsp + 0xa0], rax
movabs r15, 0xfffffffc00000000
mov eax, dword [0x1402403d8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x128]
mov qword [rsp + 0x88], rcx
lea rax, [rax + 0x160]
mov qword [rsp + 0xb0], rax
movaps xmm6, xmmword [0x1401fd000]
movsd xmm7, qword [0x140219ca0]
movsd xmm8, qword [0x14020ff08]
movsd xmm9, qword [0x14020ff10]
xorps xmm10, xmm10
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsp + 0x48], r13
jmp 0x1400d32cb
xor eax, eax
mov qword [rsp + 0x98], rax
xor eax, eax
jmp 0x1400d2145
mov rax, qword [rdi + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x1400d2206
jmp 0x1400d67e6
mov rdi, qword [r14 - 0x18]
test rdi, rdi
je 0x1400d26e3
mov qword [rbp], 0
mov al, byte [r12 + 0xd]
and al, 0x7f
cmp al, 2
je 0x1400d21cf
lock dec dword [rdi + 0x18]
je 0x1400d223f
lock dec dword [r12 + 8]
jne 0x1400d26f4
mov rax, qword [r12]
mov rax, qword [rax + 0x30]
mov rcx, r12
mov edx, 1
mov esi, r8d
mov rdi, r9
call qword [0x1402233e0]
mov r9, rdi
mov r8d, esi
jmp 0x1400d26f4
mov qword [rsp + 0x60], r9
mov dword [rsp + 0x50], r8d
lea r13, [rdi + 0x20]
mov rcx, r13
mov rsi, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
call rsi
test al, al
je 0x1400d7afc
mov rcx, qword [rdi + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r13
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
call rbx
mov rcx, r13
call rsi
test al, al
je 0x1400d7b0a
mov rax, qword [rdi + 0x30]
mov qword [rsp + 0x40], rax
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0x80], rax
movups xmmword [rdi + 0x30], xmm10
mov rbx, qword [rdi + 0x40]
mov rsi, qword [rdi + 0x48]
movups xmmword [rdi + 0x40], xmm10
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, rbx
mov rax, rsi
mov rdi, rbx
cmp rbx, rsi
jne 0x1400d7b63
lea rcx, str.PM_v_
mov rdx, qword [rsp + 0x40]
xor r8d, r8d
call fcn.1400ce810
mov r8d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x60]
jmp 0x1400d26eb
seta r9b
jmp 0x1400d247f
setb r9b
jmp 0x1400d247f
mov qword [rcx + 0x20], 0xffffffffffffffff
mov rax, qword [r15 + 0x80]
mov r14, qword [r15 + 0x88]
jmp 0x1400d2392
cmp rdi, rsi
jbe 0x1400d6891
mov rcx, rsi
shl rcx, 5
add r13, rcx
cmp rax, qword [r15 + 0x90]
jae 0x1400d62f3
test rax, rax
je 0x1400d697b
mov rcx, qword [r13]
mov qword [rax], rcx
xor edx, edx
mov qword [r13], rdx
mov rcx, qword [r13 + 8]
mov qword [rax + 8], rcx
mov qword [r13 + 8], rdx
movupd xmm0, xmmword [r13 + 0x10]
movupd xmmword [rax + 0x10], xmm0
add rax, 0x20
mov qword [r15 + 0x88], rax
jmp 0x1400d2549
mov rsi, rcx
jmp 0x1400d248a
cmp r14, rax
je 0x1400d6891
shl rcx, 5
mov rcx, qword [rax + rcx]
test rcx, rcx
jne 0x1400d22fb
cmp r14, rax
je 0x1400d6891
mov rax, qword [r14 - 0x20]
mov qword [rsp + 0x80], rax
mov rax, qword [r14 - 0x18]
movups xmmword [r14 - 0x20], xmm10
movupd xmm0, xmmword [r14 - 0x10]
movapd xmmword [rsp + 0x1a0], xmm0
mov r14, qword [r15 + 0x88]
sub r14, qword [r15 + 0x80]
sar r14, 5
dec r14
cmp r14, 2
mov dword [rsp + 0x50], r8d
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x70], rax
jb 0x1400d6664
lea r12, [r15 + 0x80]
mov ecx, 1
xor edx, edx
xor edi, edi
mov qword [rsp + 0x40], r12
add rdx, 2
mov r13, qword [r15 + 0x80]
mov rax, qword [r15 + 0x88]
mov r8, rax
sub r8, r13
sar r8, 5
cmp rdx, r14
jae 0x1400d2370
cmp r8, rdx
jbe 0x1400d6891
cmp r8, rcx
jbe 0x1400d6891
mov r9, rcx
shl r9, 5
mov r10, rdx
shl r10, 5
mov r11b, byte [r13 + r10 + 0x10]
cmp byte [r13 + r9 + 0x10], r11b
jne 0x1400d22f2
add r9, r13
add r9, 0x10
add r10, r13
add r10, 0x10
mov r11b, byte [r10 + 1]
cmp byte [r9 + 1], r11b
jne 0x1400d22e9
mov r9, qword [r9 + 8]
cmp r9, qword [r10 + 8]
setg r9b
test r9b, r9b
jne 0x1400d2487
mov rdx, rcx
mov rsi, rdx
cmp r8, rdi
je 0x1400d2313
cmp r8, rsi
jbe 0x1400d6891
cmp r8, rdi
jbe 0x1400d6891
mov rbp, rbx
mov rax, rdi
shl rax, 5
lea rbx, [rax + r13]
mov r8, qword [r13 + rax]
test r8, r8
jne 0x1400d7515
mov qword [rsp + 0x1c8], r8
mov qword [rbx], 0
test r8, r8
jne 0x1400d74d4
mov rax, rsi
shl rax, 5
add r13, rax
mov rax, qword [r13]
mov qword [r13], 0
mov rcx, qword [rbx]
mov qword [rbx], rax
test rcx, rcx
jne 0x1400d743a
mov r12, qword [r13 + 8]
mov qword [r13 + 8], 0
mov rcx, qword [rbx + 8]
mov rax, rcx
movabs rdx, 0xfffffffc00000000
and rax, rdx
cmp rax, qword [0x1402336c8]
je 0x1400d72c8
mov qword [rbx + 8], r12
movupd xmm0, xmmword [r13 + 0x10]
movupd xmmword [rbx + 0x10], xmm0
mov rax, qword [r15 + 0x88]
mov rbx, rbp
mov r12, qword [rsp + 0x40]
mov rcx, qword [r12]
sub rax, rcx
sar rax, 5
cmp rax, rdi
jbe 0x1400d6891
mov rax, rdi
shl rax, 5
mov rcx, qword [rcx + rax]
mov qword [rcx + 0x20], rdi
mov rcx, qword [r15 + 0x80]
mov rdx, qword [r15 + 0x88]
sub rdx, rcx
sar rdx, 5
cmp rdx, rdi
jbe 0x1400d6891
cmp qword [rcx + rax], 0
je 0x1400d73ce
lea rdx, [rsi + rsi]
lea rcx, [rsi*2 + 1]
mov rdi, rsi
cmp rcx, r14
jb 0x1400d2402
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x158], rax
movapd xmm0, xmmword [rsp + 0x1a0]
lea rax, [rsp + 0x160]
movupd xmmword [rax], xmm0
mov rcx, rbx
mov rdx, rsi
lea r8, [rsp + 0x150]
call fcn.1400e0280
mov rax, qword [r15 + 0x80]
mov r14, qword [r15 + 0x88]
mov r8d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x60]
jmp 0x1400d26c0
mov qword [rdx + 0x20], 0xffffffffffffffff
mov rax, qword [r15 + 0x80]
mov r14, qword [r15 + 0x88]
mov rcx, r14
sub rcx, rax
jmp 0x1400d26b3
mov byte [r13 + 0x98], 1
mov rax, qword [r15 + 0x80]
cmp rax, qword [r15 + 0x88]
je 0x1400d687e
movzx ecx, byte [rax + 0x10]
cmp rcx, 3
jae 0x1400d6968
dec qword [r15 + rcx*8 + 0x98]
mov rcx, qword [rax]
mov qword [rcx + 0x20], 0xffffffffffffffff
mov rcx, qword [rax]
mov qword [rsp + 0x120], rcx
xor edx, edx
mov qword [rax], rdx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x128], rcx
mov qword [rax + 8], rdx
mov rax, qword [r15 + 0x80]
mov r14, qword [r15 + 0x88]
mov rcx, r14
sub rcx, rax
je 0x1400d6891
mov rdx, qword [rax]
test rdx, rdx
jne 0x1400d260f
sar rcx, 5
dec rcx
jne 0x1400d2378
cmp rax, r14
je 0x1400d6b72
mov rbp, r14
add rbp, 0xffffffffffffffe0
je 0x1400d6955
mov r12, qword [rbp]
test r12, r12
jne 0x1400d21e6
mov qword [rbp], 0
test r12, r12
jne 0x1400d220c
mov rcx, qword [r14 - 0x18]
mov rax, rcx
movabs rdx, 0xfffffffc00000000
and rax, rdx
cmp rax, qword [0x1402336c8]
je 0x1400d6f32
mov qword [r14 - 0x18], 0
mov rcx, qword [r14 - 0x20]
test rcx, rcx
mov r12, qword [rsp + 0x38]
jne 0x1400d6ff4
mov qword [r15 + 0x88], rbp
movabs rbx, 0xfffffffc00000000
mov r13, qword [rsp + 0x120]
mov r14, qword [rsp + 0x128]
movaps xmmword [rsp + 0x120], xmm10
mov rax, r9
and rax, rbx
cmp rax, qword [0x1402336c8]
je 0x1400d714b
mov qword [rsp + 0x120], 0
mov rcx, qword [rsp + 0x128]
mov rax, rcx
movabs rsi, 0xfffffffc00000000
and rax, rsi
cmp rax, qword [0x1402336c8]
je 0x1400d6c4c
mov qword [rsp + 0x128], 0
mov rcx, qword [rsp + 0x120]
test rcx, rcx
jne 0x1400d6e84
test r13, r13
je 0x1400d3d9b
mov rax, qword [r12 - 0x18]
mov rcx, qword [rax + 0x120]
inc rcx
mov qword [rax + 0x120], rcx
test r8b, r8b
je 0x1400d5157
mov rdx, qword [rax + 0x80]
cmp rdx, qword [rax + 0x88]
je 0x1400d27ff
cmp rcx, qword [rax + 0x110]
jae 0x1400d5360
mov word [rax + 0xb8], 0
movzx eax, r8w
mov ecx, 0x100
or eax, ecx
mov word [r12 - 0x28], ax
movzx eax, byte [r13 + 0xd]
and eax, 0x7f
or eax, ecx
mov word [r12 - 0x26], ax
mov qword [rsp + 0xf0], r13
mov qword [rsp + 0xf8], r14
xor edx, edx
mov r13, qword [rsp + 0x48]
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, rdx
and rax, rsi
cmp rax, qword [0x1402336c8]
mov rcx, qword [rsp + 0x68]
je 0x1400d6b97
mov rax, qword [rsp + 0x90]
cmp rax, qword [0x1402336c8]
jne 0x1400d287f
mov rcx, qword [rsp + 0x58]
call fcn.1400a3600
mov rcx, qword [rsp + 0x68]
call r14
lea rax, fcn.1401057c0
mov qword [rsp + 0x1d8], rax
cmp dword [rsp + 0x220], 0
jg 0x1400d4d46
lea rax, [0x140200850]
mov qword [rsp + 0x1d8], rax
mov rdx, qword [rsp + 0x200]
mov rax, rdx
lea rbx, [rsp + 0x208]
and rax, 1
jne 0x1400d64f2
mov rsi, rdx
shr rsi, 1
mov cl, 1
cmp rdx, 2
jae 0x1400d5dc1
lea rdx, [rsp + 0x208]
test rax, rax
jne 0x1400d6580
test cl, cl
je 0x1400d5d3c
test rax, rax
jne 0x1400d65f6
mov qword [rsp + 0x200], 0
cmp byte [rsp + 0x218], 0
jne 0x1400d62ab
mov r15, qword [rsp + 0x1e8]
test r15, r15
jne 0x1400d54e8
mov rcx, qword [rsp + 0x1e0]
mov rax, rcx
movabs r15, 0xfffffffc00000000
and rax, r15
cmp rax, qword [0x1402336c8]
jne 0x1400d2950
call fcn.1400a3600
mov rax, qword [rsp + 0xf0]
test rax, rax
je 0x1400d590f
mov qword [rsp + 0xe8], rax
lea rcx, [rsp + 0xe8]
call fcn.1400ab2c0
mov rcx, qword [r13 + 0x38]
movapd xmm0, xmmword [rsp + 0xf0]
movupd xmmword [rsp + 0xd8], xmm0
movaps xmmword [rsp + 0xf0], xmm10
lea rdx, [rsp + 0x1d8]
lea r8, [rsp + 0xd8]
call fcn.1400d9020
mov r8, qword [rsp + 0xf0]
test r8, r8
jne 0x1400d6b1e
mov qword [rsp + 0x150], r8
mov qword [rsp + 0xf0], 0
test r8, r8
jne 0x1400d6ae3
mov rax, qword [rsp + 0x1d8]
mov qword [rsp + 0x1d8], 0
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0xf0], rax
test rcx, rcx
jne 0x1400d6a5f
mov rsi, qword [rsp + 0x1e0]
mov qword [rsp + 0x1e0], 0
mov rcx, qword [rsp + 0xf8]
mov rax, rcx
and rax, r15
cmp rax, qword [0x1402336c8]
je 0x1400d698e
mov qword [rsp + 0xf8], rsi
mov rdi, qword [rsp + 0x1d8]
test rdi, rdi
jne 0x1400d55aa
mov qword [rsp + 0x1d8], 0
test rdi, rdi
jne 0x1400d55d6
mov rcx, qword [rsp + 0x1e0]
mov rax, rcx
and rax, r15
cmp rax, qword [0x1402336c8]
je 0x1400d6998
mov qword [rsp + 0x1e0], 0
mov rcx, qword [rsp + 0x1d8]
test rcx, rcx
jne 0x1400d6a80
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0xd0]
call fcn.1400ab2c0
cmp byte [rsp + 0xa0], 0
je 0x1400d2b7d
cmp byte [rsp + 0x118], 0
je 0x1400d2b59
cmp byte [rsp + 0x100], 0
je 0x1400d2b59
mov rax, qword [rsp + 0xb0]
mov rsi, qword [rax]
test rsi, rsi
je 0x1400d2b59
mov rax, qword [rsi + 0x10]
test rax, rax
js 0x1400d6a0f
cmp dword [rsi + 0x24], 1
jne 0x1400d6df0
cmp qword [rsi + 0x18], 0
jne 0x1400d6e2f
movabs rax, 0xbfffffffffffffff
lock and qword [rsi + 0x10], rax
mov rdi, qword [rsp + 0x108]
cmp qword [rsi + 0x18], 0
jne 0x1400d6e55
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 + 0x120], xmm6
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
lea rcx, [0x1400d89a0]
cmp rax, rcx
jne 0x1400d519a
mov rdi, qword [r13 + 0x70]
mov r12, qword [rsp + 0xf0]
mov rbp, qword [rsp + 0xf8]
mov qword [rsp + 0xc0], r12
movaps xmmword [rsp + 0xf0], xmm10
mov qword [rsp + 0xc8], rbp
mov rax, qword [rdi]
mov rax, qword [rax + 0x20]
lea rcx, [0x140124220]
cmp rax, rcx
jne 0x1400d5136
test r12, r12
jne 0x1400d418f
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rcx, [rax - 0xaa]
mov qword [rsp + 0x58], rcx
mov rbp, rax
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x208]
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax], xmm6
mov rsi, qword [rdi - 0x18]
mov rax, rsi
and rax, r15
mov rbx, rsi
cmp rax, qword [0x1402336c8]
jne 0x1400d2c39
mov rcx, rsi
call fcn.1400a3490
mov rbx, qword [rdi - 0x18]
mov qword [rsp + 0x1e0], rsi
mov byte [rsp + 0x218], 0
lea rax, [rsp + 0x208]
movups xmmword [rax - 0x10], xmm10
movups xmmword [rax - 0x20], xmm10
lea rax, fcn.1401057c0
mov qword [rsp + 0x1d8], rax
mov dword [rsp + 0x220], 0
movaps xmmword [rsp + 0x150], xmm6
movaps xmmword [rsp + 0x160], xmm6
mov byte [rsp + 0x150], 0
mov byte [rsp + 0x168], 0
mov qword [rsp + 0x170], 0
add rbx, 0x68
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d5585
mov r14, qword [rdi - 0x18]
add r14, 0x68
mov rsi, r14
and rsi, r15
cmp rsi, qword [0x1402336c8]
jne 0x1400d2cd5
mov rcx, r14
call fcn.1400a3490
test r14, r14
je 0x1400d6952
cmp byte [rdi - 5], 0
jne 0x1400d69c0
cmp byte [rdi - 0x27], 0
je 0x1400d69fc
mov rax, qword [rdi - 0x18]
mov rcx, qword [rax + 0x120]
dec rcx
cmp byte [rdi - 0x28], 0
mov qword [rax + 0x120], rcx
je 0x1400d4d3a
mov rdx, qword [rax + 0x80]
cmp rdx, qword [rax + 0x88]
je 0x1400d2d2e
cmp rcx, qword [rax + 0x110]
jae 0x1400d5163
mov word [rax + 0xb8], 0
cmp byte [rdi - 0x25], 0
je 0x1400d2d41
mov byte [rdi - 0x25], 0
cmp byte [rdi - 0x27], 0
je 0x1400d2d4b
mov byte [rdi - 0x27], 0
lea rax, [rdi - 0x40]
mov qword [rsp + 0x50], rax
mov r9, qword [rdi - 0x18]
test r12, r12
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x90], r12
mov qword [rsp + 0x60], r14
jne 0x1400d4369
mov r15, qword [r9 + 0x98]
mov r10, qword [r9 + 0x128]
test r15, r15
mov qword [rsp + 0x40], rbp
jne 0x1400d51bb
xor r15d, r15d
mov r12, qword [r9 + 0xa8]
mov r11, qword [r9 + 0x118]
mov rbp, qword [r9 + 0x128]
mov r14, qword [r9 + 0x120]
add r12, qword [r9 + 0xa0]
je 0x1400d424b
mov rax, qword [r9 + 8]
mov eax, dword [rax + 0x1c]
cmp eax, 1
ja 0x1400d424b
mov rax, qword [r9 + 0x80]
cmp rax, qword [r9 + 0x88]
je 0x1400d687e
mov cl, byte [rax + 0x10]
dec cl
cmp cl, 1
ja 0x1400d2ed9
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
mov eax, 1
lea r8, [0x1400de3e0]
cmp rdx, r8
je 0x1400d2ec7
lea rax, [0x14012a820]
cmp rdx, rax
mov qword [rsp + 0x70], r10
mov qword [rsp + 0xa8], r11
jne 0x1400d66ef
mov eax, dword [rcx + 0x40]
test al, 1
jne 0x1400d6101
mov qword [rsp + 0x78], rsi
mov rsi, qword [rcx + 0x58]
test rsi, rsi
je 0x1400d68e9
mov edx, 1
lock xadd dword [rsi], edx
test edx, edx
jle 0x1400d68e6
cmp edx, 0x7fffffff
je 0x1400d68e3
shr eax, 1
movzx edx, al
mov rax, qword [rcx + 0x58]
mov rax, qword [rax + 8]
mov rcx, rsi
mov qword [rsp + 0xb8], rdx
call qword [0x1402233e0]
mov r13, rax
lock dec dword [rsi]
je 0x1400d6fc6
cmp r13, 0x20
mov eax, 0x20
cmovae r13, rax
sub r13, qword [rsp + 0xb8]
mov eax, 0
cmovae rax, r13
mov r13, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x78]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x70]
mov r11, qword [rsp + 0xa8]
lea rcx, [r12 + rax]
dec rcx
add r12, rax
cmp rcx, 1
adc r12, 0xffffffffffffffff
sub r14, rbp
add r15, r10
cmp r11, r15
cmovb r15, r11
cmp r15, rbp
cmovbe r15, rbp
add r14, r12
add r14, r15
mov rax, qword [r9 + 0x110]
cmp rax, r14
cmovb r14, rax
mov eax, 0x100
cmp r14, rax
cmovae r14, rax
mov rax, qword [rdi - 0x18]
movsxd r9, dword [rax + 0x19c]
cmp r14, r9
jae 0x1400d5390
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rcx]
lea r8, [fcn.14004ba70]
cmp qword [rdx + 0x38], r8
mov rbp, qword [rsp + 0x90]
jne 0x1400d6eab
dec r9d
mov dword [rax + 0x19c], r9d
mov rax, qword [rdi - 0x18]
mov rcx, qword [rax + 0x138]
call qword [sym.imp.KERNEL32.dll_WakeConditionVariable]
mov rax, qword [rdi - 0x18]
cmp dword [rax + 0x19c], 0
movabs r15, 0xfffffffc00000000
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
js 0x1400d694f
movaps xmmword [rsp + 0x120], xmm10
cmp rsi, qword [0x1402336c8]
jne 0x1400d2f9b
mov rcx, qword [rsp + 0x60]
call fcn.1400a3600
mov rcx, rbx
call r14
mov rsi, qword [rsp + 0x170]
test rsi, rsi
jne 0x1400d6be0
xor ecx, ecx
mov rax, rcx
and rax, r15
cmp rax, qword [0x1402336c8]
je 0x1400d69ac
mov qword [rsp + 0x170], 0
cmp byte [rsp + 0x168], 0
jne 0x1400d6b53
lea rax, fcn.1401057c0
mov qword [rsp + 0x1d8], rax
cmp dword [rsp + 0x220], 0
jg 0x1400d4262
mov rax, qword [r13 + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x1400d5ea1
mov edi, dword [r13 + 0x50]
cmp dword [r13 + 0x54], edi
jne 0x1400d65a3
cmp qword [rsp + 0xf0], 0
jne 0x1400d6934
mov rax, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x128]
movaps xmmword [rsp + 0x120], xmm10
mov qword [rsp + 0xf0], rax
mov rcx, qword [rsp + 0xf8]
mov rax, rcx
and rax, r15
cmp rax, qword [0x1402336c8]
je 0x1400d6ca2
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0x120], 0
mov rcx, qword [rsp + 0x128]
mov rax, rcx
and rax, r15
cmp rax, qword [0x1402336c8]
je 0x1400d69a2
mov qword [rsp + 0x128], 0
mov rcx, qword [rsp + 0x120]
test rcx, rcx
jne 0x1400d6aa1
mov rax, qword [rsp + 0xf0]
test rax, rax
jne 0x1400d2961
mov qword [rsp + 0xf0], 0
mov rcx, qword [rsp + 0xf8]
mov rax, rcx
and rax, r15
cmp rax, qword [0x1402336c8]
je 0x1400d6ed1
mov sil, 1
cmp byte [rsp + 0x118], 0
je 0x1400d32c2
cmp byte [rsp + 0x100], 0
je 0x1400d32c2
mov rax, qword [rsp + 0xb0]
mov rdi, qword [rax]
test rdi, rdi
je 0x1400d32c2
mov rax, qword [rdi + 0x10]
test rax, rax
js 0x1400d6bba
cmp dword [rdi + 0x24], 1
jne 0x1400d70cf
cmp qword [rdi + 0x18], 0
jne 0x1400d710e
movabs rax, 0xbfffffffffffffff
lock and qword [rdi + 0x10], rax
mov rbx, qword [rsp + 0x108]
cmp qword [rdi + 0x18], 0
jne 0x1400d72d2
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]
test sil, sil
je 0x1400d5b22
mov al, byte [r13 + 0x30]
test al, al
jne 0x1400d5b22
mov rax, qword [r13]
mov rax, qword [rax + 0x20]
lea rcx, [0x1400d8ff0]
cmp rax, rcx
jne 0x1400d5104
mov rax, qword [r13 + 0x70]
mov rax, qword [rax + 0x18]
mov al, byte [rax]
test al, al
jne 0x1400d5b22
mov rsi, qword [r13 + 0x38]
lea rdi, [rsi + 0x50]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d5e85
mov rax, qword [rsi + 0x58]
test rax, rax
jne 0x1400d5aff
mov rcx, rdi
call r14
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0x110], xmm6
xor eax, eax
mov byte [rsp + 0x100], al
mov byte [rsp + 0x118], al
mov qword [rsp + 0x150], 0xa
mov al, byte [0x14024358a]
test al, al
jne 0x1400d730f
mov edi, dword [0x140233234]
test edi, edi
jne 0x1400d4dad
cmp byte [rsp + 0x118], 0
jne 0x1400d6c72
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
lea rcx, [0x1400d89a0]
cmp rax, rcx
jne 0x1400d5473
mov rdi, qword [r13 + 0x70]
mov rax, qword [rdi]
lea rcx, [fcn.140164e00]
cmp qword [rax + 0x30], rcx
jne 0x1400d5a6d
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x1a0], rax
mov rax, qword [rdi]
mov rax, qword [rax + 0x28]
lea rcx, [0x14012a440]
cmp rax, rcx
jne 0x1400d5370
cmp byte [rdi - 8], 0
movabs r15, 0x7fffffffffffffff
mov rax, r15
je 0x1400d3412
mov rax, qword [rdi - 0x18]
cvtsi2sd xmm0, qword [rax + 0x30]
mulsd xmm0, xmm7
ucomisd xmm8, xmm0
jb 0x1400d73e0
maxsd xmm0, xmm9
cvttsd2si rax, xmm0
mov qword [rsp + 0x1a0], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x138], rax
mov rax, qword [fcn.140116a00]
lea rcx, [0x140116ab0]
cmp rax, rcx
jne 0x1400d666b
mov qword [rsp + 0x1d8], 0
lea rcx, [rsp + 0x1d8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x1d8]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400d7077
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402439e8]
mov r14, rax
mov qword [rsp + 0x180], r14
mov rax, qword [rdi]
lea rcx, [fcn.1401b6f00]
cmp qword [rax + 0x50], rcx
jne 0x1400d6f14
mov eax, dword [0x14024a448]
mov ecx, dword [0x1402403d8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400d5ed0
cmp byte [0x14024a444], 0
je 0x1400d6b08
mov eax, dword [0x14024a458]
mov ecx, dword [0x1402403d8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400d5d90
mov rax, qword [rdi + 8]
test rax, rax
jne 0x1400d350e
mov rax, qword [0x14024a450]
mov ecx, 0x3938700
add rax, rcx
cmovo rax, r15
cmp rax, r14
mov r8d, 0xf4240
cmovl rcx, r8
add rcx, r14
cmovo rcx, r15
mov rax, rcx
movabs rdx, 0x431bde82d7b634db
imul rdx
mov rax, rdx
shr rax, 0x3f
sar rdx, 0x12
add rdx, rax
imul rax, rdx, 0xf4240
mov rdx, rcx
sub rdx, rax
test rcx, rcx
mov ebx, 0
cmovg rbx, r8
sub rbx, rdx
test rdx, rdx
cmove rbx, rdx
lea rax, [rcx + rbx]
sar rax, 0x3f
btc rax, 0x3f
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 + 0x138], rbx
mov rax, qword [rsp + 0x1a0]
cmp rax, rbx
cmovl rbx, rax
mov rax, qword [rdi]
mov rax, qword [rax + 0x48]
lea rcx, [0x1400e0fa0]
cmp rax, rcx
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jne 0x1400d57ba
add r15, rbx
add r15, 2
cmp r15, 2
jb 0x1400d5c6a
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 [rdi + 0x10]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x150], rax
mov rax, qword [fcn.140116a00]
lea rcx, [0x140116ab0]
cmp rax, rcx
jne 0x1400d6651
mov qword [rsp + 0x1d8], 0
lea rcx, [rsp + 0x1d8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x1d8]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400d7050
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402439e8]
mov qword [rsp + 0x150], rax
mov rcx, qword [r12]
mov edx, r14d
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x1400d57ed
mov byte [rdi + 0x20], 0
movabs r15, 0xfffffffc00000000
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsp + 0x1a0], 0xa
mov al, byte [0x14024358a]
test al, al
jne 0x1400d7381
mov al, byte [r13 + 0x30]
test al, al
jne 0x1400d5908
mov rax, qword [r13]
mov rax, qword [rax + 0x20]
lea rcx, [0x1400d8ff0]
cmp rax, rcx
jne 0x1400d511d
mov rax, qword [r13 + 0x70]
mov rax, qword [rax + 0x18]
mov al, byte [rax]
test al, al
jne 0x1400d5908
mov rsi, qword [r13 + 0x38]
lea rdi, [rsi + 0x50]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d5e93
mov rax, qword [rsi + 0x58]
test rax, rax
jne 0x1400d64ff
mov rcx, rdi
call r14
cmp byte [rsp + 0xa0], 0
je 0x1400d376d
cmp byte [rsp + 0x118], 0
jne 0x1400d6b85
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 0x1400d5fd8
mov esi, dword [r13 + 0x50]
cmp dword [r13 + 0x54], esi
jne 0x1400d6bcb
movaps xmmword [rsp + 0xf0], xmm6
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
lea rcx, [0x1400d89a0]
cmp rax, rcx
jne 0x1400d5494
mov r12, qword [r13 + 0x70]
mov rax, qword [r12]
mov rax, qword [rax + 0x18]
lea rcx, [0x140116e10]
cmp rax, rcx
jne 0x1400d5337
mov rsi, qword [r12 - 0x18]
mov rax, rsi
and rax, r15
mov rcx, rsi
cmp rax, qword [0x1402336c8]
jne 0x1400d37ed
mov rcx, rsi
call fcn.1400a3490
mov rcx, qword [r12 - 0x18]
lea rax, [rsp + 0x208]
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax], xmm6
mov qword [rsp + 0x1e0], rsi
mov byte [rsp + 0x218], 0
movups xmmword [rax - 0x10], xmm10
movups xmmword [rax - 0x20], xmm10
lea rax, fcn.1401057c0
mov qword [rsp + 0x1d8], rax
mov dword [rsp + 0x220], 0
add rcx, 0x68
mov qword [rsp + 0x68], rcx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d5575
mov rax, qword [r12 - 0x18]
add rax, 0x68
mov rcx, rax
and rcx, r15
mov qword [rsp + 0x90], rcx
cmp rcx, qword [0x1402336c8]
mov qword [rsp + 0x58], rax
jne 0x1400d387b
mov rcx, qword [rsp + 0x58]
call fcn.1400a3490
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x1400d6a56
mov rdi, qword [r12 - 0x18]
mov rax, qword [rdi]
mov rax, qword [rax + 0x50]
lea rcx, [fcn.1400d89b0]
cmp rax, rcx
mov qword [rsp + 0x38], r12
jne 0x1400d6c5c
cmp qword [rdi + 0x110], 0
je 0x1400d3cb8
mov al, byte [rdi + 0x198]
test al, al
jne 0x1400d3cb8
mov r13, qword [rdi + 0x98]
mov rsi, qword [rdi + 0x128]
test r13, r13
jne 0x1400d52d4
xor r13d, r13d
mov rbp, qword [rdi + 0xa8]
mov r9, qword [rdi + 0x118]
mov rbx, qword [rdi + 0x128]
mov r12, qword [rdi + 0x120]
add rbp, qword [rdi + 0xa0]
je 0x1400d4253
mov rax, qword [rdi + 8]
mov eax, dword [rax + 0x1c]
cmp eax, 1
ja 0x1400d4253
mov rax, qword [rdi + 0x80]
cmp rax, qword [rdi + 0x88]
je 0x1400d687e
mov cl, byte [rax + 0x10]
dec cl
cmp cl, 1
ja 0x1400d3a0b
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
mov eax, 1
lea r8, [0x1400de3e0]
cmp rdx, r8
je 0x1400d39f9
lea rax, [0x14012a820]
cmp rdx, rax
mov qword [rsp + 0x50], r9
jne 0x1400d66e1
mov eax, dword [rcx + 0x40]
test al, 1
jne 0x1400d6108
mov r15, qword [rcx + 0x58]
test r15, r15
je 0x1400d6e81
mov edx, 1
lock xadd dword [r15], edx
test edx, edx
jle 0x1400d6e7b
cmp edx, 0x7fffffff
je 0x1400d6e7e
shr eax, 1
movzx edx, al
mov rax, qword [rcx + 0x58]
mov rax, qword [rax + 8]
mov rcx, r15
mov qword [rsp + 0x60], rdx
call qword [0x1402233e0]
mov r14, rax
lock dec dword [r15]
je 0x1400d702e
cmp r14, 0x20
mov eax, 0x20
cmovae r14, rax
sub r14, qword [rsp + 0x60]
mov eax, 0
cmovae rax, r14
movabs r15, 0xfffffffc00000000
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r9, qword [rsp + 0x50]
lea rcx, [rax + rbp]
dec rcx
add rbp, rax
cmp rcx, 1
adc rbp, 0xffffffffffffffff
sub r12, rbx
add r13, rsi
cmp r9, r13
cmovb r13, r9
cmp r13, rbx
cmovbe r13, rbx
add r12, rbp
add r12, r13
mov rcx, qword [rdi + 0x110]
mov rax, qword [rdi + 0x160]
cmp rcx, r12
cmovb r12, rcx
mov ecx, 0x100
cmp r12, rcx
cmovae r12, rcx
movsxd rcx, dword [rdi + 0x60]
sub rax, qword [rdi + 0x158]
sar rax, 3
lea rdx, [r12 + 1]
sub rdx, rax
mov esi, 0
cmovae rsi, rdx
cmp rsi, rcx
cmovae rsi, rcx
test rsi, rsi
jne 0x1400d578b
movsxd rcx, dword [rdi + 0x19c]
mov rdx, rcx
sar rdx, 0x3f
mov r8d, ecx
sar r8d, 0x1f
movsxd r8, r8d
sub rax, rcx
mov r9d, 0
sbb r9, rdx
mov r10d, r9d
and r10d, 1
neg r10
cmovs rax, r8
xor r10, r9
cmovne rax, r8
sub r12, rcx
mov ecx, 0
sbb rcx, rdx
and ecx, 1
neg rcx
cmovs r12, r8
cmp r12, rax
cmovae r12, rax
lea rsi, [rdi + 0x68]
mov r13, rsi
and r13, r15
cmp r13, qword [0x1402336c8]
jne 0x1400d3ae6
mov rcx, rsi
call fcn.1400a3490
test r12, r12
jne 0x1400d50e0
mov rax, qword [rdi + 0x80]
cmp rax, qword [rdi + 0x88]
mov qword [rsp + 0x50], rsi
je 0x1400d3b18
mov rcx, qword [rdi + 0x120]
cmp rcx, qword [rdi + 0x110]
jae 0x1400d5350
mov word [rdi + 0xb8], 0
mov r12, qword [rsp + 0x38]
cmp byte [rdi + 0x140], 0
jne 0x1400d3ca0
mov rbx, qword [rdi + 0x98]
mov rsi, qword [rdi + 0x128]
test rbx, rbx
jne 0x1400d53cb
xor ebx, ebx
add rbx, rsi
cmp rbx, qword [rdi + 0x118]
ja 0x1400d5fb7
mov rbx, qword [rdi + 0x98]
mov rbp, qword [rdi + 0x120]
test rbx, rbx
jne 0x1400d541f
xor ebx, ebx
mov r15, qword [rdi + 0xa8]
add r15, qword [rdi + 0xa0]
je 0x1400d425a
mov rax, qword [rdi + 8]
mov eax, dword [rax + 0x1c]
cmp eax, 1
ja 0x1400d425a
mov rax, qword [rdi + 0x80]
cmp rax, qword [rdi + 0x88]
je 0x1400d687e
mov cl, byte [rax + 0x10]
dec cl
cmp cl, 1
ja 0x1400d3c7f
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
mov eax, 1
lea r8, [0x1400de3e0]
cmp rdx, r8
je 0x1400d3c6d
lea rax, [0x14012a820]
cmp rdx, rax
jne 0x1400d7255
mov eax, dword [rcx + 0x40]
test al, 1
jne 0x1400d61b2
mov r12, qword [rcx + 0x58]
test r12, r12
je 0x1400d6f74
mov edx, 1
lock xadd dword [r12], edx
test edx, edx
jle 0x1400d6f77
cmp edx, 0x7fffffff
je 0x1400d6f7a
shr eax, 1
movzx esi, al
mov rax, qword [rcx + 0x58]
mov rax, qword [rax + 8]
mov rcx, r12
mov rdx, rsi
call qword [0x1402233e0]
mov r14, rax
lock dec dword [r12]
je 0x1400d7263
cmp r14, 0x20
mov eax, 0x20
cmovae r14, rax
sub r14, rsi
mov eax, 0
cmovae rax, r14
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r12, qword [rsp + 0x38]
lea rcx, [r15 + rax]
dec rcx
add r15, rax
cmp rcx, 1
adc r15, 0xffffffffffffffff
add rbp, rbx
lea rax, [r15 + rbp]
inc rax
cmp rax, qword [rdi + 0x110]
movabs r15, 0xfffffffc00000000
ja 0x1400d4172
cmp r13, qword [0x1402336c8]
mov r13, qword [rsp + 0x48]
jne 0x1400d3cb8
mov rcx, qword [rsp + 0x50]
call fcn.1400a3600
mov rdi, qword [r12 - 0x18]
add rdi, 0x68
mov rbx, rdi
and rbx, r15
cmp rbx, qword [0x1402336c8]
jne 0x1400d3cd8
mov rcx, rdi
call fcn.1400a3490
test rdi, rdi
je 0x1400d6a59
mov rcx, rdi
call r14
cmp qword [rsp + 0x200], 2
jae 0x1400d6f7d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d5c84
cmp rbx, qword [0x1402336c8]
jne 0x1400d3d18
mov rcx, rdi
call fcn.1400a3600
lea rax, [r12 - 0x40]
mov qword [rsp + 0x78], rax
mov rax, qword [rax]
mov rax, qword [rax + 0x28]
lea rcx, [0x140167fe0]
cmp rax, rcx
jne 0x1400d6fa3
mov rdi, qword [r12 - 0x18]
add rdi, 0x68
mov rsi, rdi
and rsi, r15
cmp rsi, qword [0x1402336c8]
jne 0x1400d3d59
mov rcx, rdi
call fcn.1400a3490
test rdi, rdi
je 0x1400d6a5c
cmp byte [r12 + 0x20], 0
jne 0x1400d669b
mov rax, qword [r12 - 0x18]
movsxd rcx, dword [rax + 0x19c]
cmp qword [rax + 0x110], rcx
jb 0x1400d5c24
cmp rsi, qword [0x1402336c8]
jne 0x1400d3d98
mov rcx, rdi
call fcn.1400a3600
xor r14d, r14d
mov r9, r14
mov rax, qword [r12 - 0x18]
mov rcx, qword [rax + 0x80]
cmp rcx, qword [rax + 0x88]
mov r13, qword [rsp + 0x48]
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
je 0x1400d5a7a
movzx r8d, byte [rcx + 0x10]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x1c]
test eax, eax
jne 0x1400d411b
mov r15, qword [r12 - 0x18]
test r8b, r8b
je 0x1400d4102
mov rax, qword [r15 + 0x80]
cmp rax, qword [r15 + 0x88]
je 0x1400d687e
lea rbx, [r15 + 0x78]
mov r13, qword [rax]
mov rax, qword [r13]
mov rax, qword [rax + 0x38]
lea rcx, [0x14012a340]
cmp rax, rcx
je 0x1400d2630
mov qword [rsp + 0x60], r9
mov dword [rsp + 0x50], r8d
lea rcx, [0x14012a730]
cmp rax, rcx
jne 0x1400d72ff
lea rdi, [r13 + 0x38]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d5d7b
mov eax, dword [r13 + 0x40]
test al, 1
jne 0x1400d5d89
mov rbp, qword [r13 + 0x58]
test rbp, rbp
je 0x1400d6a23
mov ecx, 1
lock xadd dword [rbp], ecx
test ecx, ecx
jle 0x1400d6a26
cmp ecx, 0x7fffffff
je 0x1400d6a29
shr eax, 1
movzx r12d, al
mov rax, qword [r13 + 0x58]
mov rax, qword [rax + 8]
mov rcx, rbp
mov rdx, r12
call qword [0x1402233e0]
mov r14, rax
lock dec dword [rbp]
je 0x1400d7021
cmp r14, 0x20
mov eax, 0x20
cmovae r14, rax
cmp r14, r12
jbe 0x1400d3ec8
mov eax, 2
lock xadd dword [r13 + 0x40], eax
shr eax, 1
movzx r12d, al
lea rax, [r12 + 1]
xor esi, esi
cmp r14, rax
sete sil
inc esi
cmp r14, r12
mov eax, 0
cmovbe esi, eax
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r12, qword [rsp + 0x38]
mov rcx, rdi
call r14
cmp esi, 2
mov r8d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x60]
je 0x1400d2638
test esi, esi
je 0x1400d4137
movaps xmmword [rsp + 0x1a0], xmm6
mov rax, qword [r15 + 0x80]
cmp rax, qword [r15 + 0x88]
je 0x1400d687e
mov rcx, qword [r15 + 8]
mov r8, qword [rax]
test r8, r8
je 0x1400d3f4e
mov eax, 1
lock xadd dword [r8 + 8], eax
cmp eax, 0x7fffffff
je 0x1400d6a20
lea rdx, [rsp + 0x1a0]
call fcn.1400ef670
cmp qword [rsp + 0x1a0], 0
je 0x1400d78d2
mov rsi, qword [r15 + 0x80]
cmp rsi, qword [r15 + 0x88]
je 0x1400d687e
mov r14, rbx
mov rax, qword [rsi]
mov qword [rsp + 0x150], rax
xor ecx, ecx
mov qword [rsi], rcx
mov rax, qword [rsi + 8]
mov qword [rsp + 0x158], rax
movups xmmword [rsi], xmm10
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x1a0], rcx
mov rcx, qword [rsi]
mov qword [rsi], rax
test rcx, rcx
movabs rbx, 0xfffffffc00000000
jne 0x1400d7890
mov rdi, qword [rsp + 0x1a8]
mov qword [rsp + 0x1a8], 0
mov rcx, qword [rsi + 8]
mov rax, rcx
and rax, rbx
cmp rax, qword [0x1402336c8]
je 0x1400d7554
mov qword [rsi + 8], rdi
mov r8, qword [rsp + 0x1a0]
test r8, r8
jne 0x1400d7937
mov qword [rsp + 0x120], r8
mov qword [rsp + 0x1a0], 0
test r8, r8
jne 0x1400d7912
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x150], 0
mov rcx, qword [rsp + 0x1a0]
mov qword [rsp + 0x1a0], rax
test rcx, rcx
jne 0x1400d78b1
mov rsi, qword [rsp + 0x158]
mov qword [rsp + 0x158], 0
mov rcx, qword [rsp + 0x1a8]
mov rax, rcx
and rax, rbx
cmp rax, qword [0x1402336c8]
je 0x1400d755e
mov qword [rsp + 0x1a8], rsi
lea rcx, [rsp + 0x150]
call fcn.1400de7f0
mov rcx, qword [rsp + 0x1a0]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
lea rsi, [rsp + 0x180]
mov rdx, rsi
call qword [0x1402233e0]
mov rdx, qword [rsp + 0x1a0]
mov rcx, r14
mov r8, rsi
call fcn.14000b270
movapd xmm0, xmmword [rsp + 0x1a0]
movapd xmmword [rsp + 0x120], xmm0
movaps xmmword [rsp + 0x1a0], xmm10
lea rcx, [rsp + 0x1a0]
call fcn.1400de7f0
mov r8d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x60]
jmp 0x1400d2740
mov rax, qword [r15 + 0x128]
cmp rax, qword [r15 + 0x118]
jb 0x1400d3de5
jmp 0x1400d5a7a
test r8b, r8b
je 0x1400d5a7a
cmp eax, 1
jne 0x1400d5a7a
mov r15, qword [r12 - 0x18]
jmp 0x1400d3de5
mov rcx, rbx
lea rsi, [rsp + 0x138]
mov rdx, rsi
call fcn.1400dfac0
lea rcx, [rsp + 0x1d8]
mov rdx, rsi
call fcn.140106ae0
mov r9, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x50]
movaps xmmword [rsp + 0x120], xmm10
jmp 0x1400d2736
cmp dword [rdi + 0x130], 0
jle 0x1400d3ca0
jmp 0x1400d5fc4
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d41c1
mov rbx, r12
and rbx, r15
movaps xmmword [rsp + 0xc0], xmm10
cmp rbx, qword [0x1402336c8]
jne 0x1400d41af
mov rcx, r12
call fcn.14009b840
lea rsi, [r12 + 0x18]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d4184
mov rax, qword [0x1402336c8]
cmp rbx, rax
jne 0x1400d41dc
mov rcx, r12
call fcn.14009b840
mov rax, qword [0x1402336c8]
cmp rbx, rax
jne 0x1400d41f0
mov rcx, r12
call fcn.14009b9a0
mov rax, qword [0x1402336c8]
cmp rbx, rax
jne 0x1400d4204
mov rcx, r12
call fcn.14009b840
mov rax, qword [0x1402336c8]
cmp rbx, rax
jne 0x1400d4218
mov rcx, r12
call fcn.14009b9a0
mov rax, qword [0x1402336c8]
cmp rbx, rax
jne 0x1400d422c
mov rcx, r12
call fcn.14009b840
mov rax, qword [0x1402336c8]
cmp rbx, rax
jne 0x1400d4239
mov rcx, r12
call fcn.14009b9a0
mov rax, r12
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x58], r12
jmp 0x1400d2c08
xor r12d, r12d
jmp 0x1400d2ed9
xor ebp, ebp
jmp 0x1400d3a0b
xor r15d, r15d
jmp 0x1400d3c7f
add r13, r15
cmp rax, qword [r9 + 0x90]
jae 0x1400d6608
test rax, rax
movabs r15, 0xfffffffc00000000
je 0x1400d697b
mov rcx, qword [r13]
mov qword [rax], rcx
xor edx, edx
mov qword [r13], rdx
mov rcx, qword [r13 + 8]
mov qword [rax + 8], rcx
mov qword [r13 + 8], rdx
movupd xmm0, xmmword [r13 + 0x10]
movupd xmmword [rax + 0x10], xmm0
add rax, 0x20
mov qword [r9 + 0x88], rax
jmp 0x1400d4762
lea rdx, [rsp + 0x180]
call qword [0x1402233e0]
jmp 0x1400d4588
mov bpl, 1
lea rcx, [method.std::__Cr::codecvt_char__char__struct__Mbstatet_.virtual_48]
cmp rax, rcx
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
je 0x1400d4511
jmp 0x1400d7adc
test eax, eax
jne 0x1400d441f
mov al, byte [rsp + 0x1a2]
test al, 0x7f
jne 0x1400d440f
mov rdi, qword [rcx + 0x238]
test rdi, rdi
jne 0x1400d4426
jmp 0x1400d440f
mov qword [rsp + 0x78], rsi
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rbp
mov rdi, qword [rsp + 0x68]
mov rsi, rdi
and rsi, r15
mov rax, qword [0x1402336c8]
cmp rsi, rax
jne 0x1400d43ae
mov rcx, rdi
call fcn.14009b840
mov r9, qword [rsp + 0x38]
mov rax, qword [0x1402336c8]
mov qword [rsp + 0x148], rdi
cmp rsi, rax
jne 0x1400d43c8
mov rcx, rdi
call fcn.14009b9a0
mov r9, qword [rsp + 0x38]
mov rcx, qword [r9 + 0x18]
mov al, byte [rdi + 0x10]
mov byte [rsp + 0x1a4], al
mov eax, dword [rdi + 0xc]
mov dword [rsp + 0x1a0], eax
mov rax, qword [rcx]
mov rax, qword [rax + 8]
lea rdx, [0x1401299e0]
cmp rax, rdx
jne 0x1400d6f48
movzx eax, byte [rsp + 0x1a0]
cmp eax, 1
jne 0x1400d433d
mov al, byte [rsp + 0x1a2]
test al, 0x7f
jne 0x1400d441f
mov rdi, qword [rcx + 0x230]
test rdi, rdi
jne 0x1400d4426
mov rdi, qword [rcx + 0x228]
mov rax, qword [fcn.140116a00]
lea rcx, [0x140116ab0]
cmp rax, rcx
jne 0x1400d66c3
mov qword [rsp + 0x1a0], 0
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x1a0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400d7406
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402439e8]
mov r13, rax
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x198], r13
mov rsi, qword [rsp + 0x138]
mov rax, qword [rsi]
mov rax, qword [rax + 0x50]
lea rcx, [0x140123d50]
cmp rax, rcx
jne 0x1400d431e
mov rax, r15
mov r15, rbx
lea rbx, [rsi + 0x18]
mov r14, rbx
mov r12, rax
and r14, rax
cmp r14, qword [0x1402336c8]
jne 0x1400d44da
mov rcx, rbx
call fcn.1400a3490
mov r9, qword [rsp + 0x38]
mov rax, qword [rsi + 0x90]
cmp rax, r13
setle bpl
jg 0x1400d6bae
cmp r14, qword [0x1402336c8]
jne 0x1400d4504
mov rcx, rbx
call fcn.1400a3600
mov r9, qword [rsp + 0x38]
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rbx, r15
mov r15, r12
mov rcx, qword [rsp + 0x138]
cmp rdi, r9
mov qword [rsp + 0x80], rbx
jne 0x1400d7478
cmp qword [rcx + 0x20], 0xffffffffffffffff
mov r13, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x78]
jne 0x1400d4b2f
test bpl, bpl
je 0x1400d494a
movaps xmmword [rsp + 0x180], xmm6
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
lea rdx, [0x14012a350]
cmp rax, rdx
jne 0x1400d430b
mov rax, qword [rcx + 0x88]
mov cl, byte [rcx + 0x11]
mov byte [rsp + 0x180], cl
mov byte [rsp + 0x181], 0
mov qword [rsp + 0x188], rax
mov rcx, qword [rsp + 0x148]
add rcx, 0x18
call r14
mov rcx, qword [rsp + 0x148]
mov rax, rcx
and rax, r15
cmp rax, qword [0x1402336c8]
jne 0x1400d45b3
call fcn.14009b9a0
xor ecx, ecx
mov qword [rsp + 0x148], rcx
mov r10b, byte [rsp + 0x180]
mov r8b, byte [rsp + 0x181]
lea rdx, [rsp + 0x182]
movzx eax, word [rdx + 4]
mov word [rsp + 0x1d4], ax
mov eax, dword [rdx]
mov dword [rsp + 0x1d0], eax
mov r12, qword [rsp + 0x188]
mov rsi, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x140]
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x140], rcx
mov r9, qword [rsp + 0x38]
lea r11, [r9 + 0x80]
mov r13, qword [r9 + 0x88]
mov rbp, r13
mov rax, r13
mov ebx, 0
sub rbp, qword [r9 + 0x80]
je 0x1400d47cd
mov qword [rsp + 0x58], rdx
sar rbp, 5
lea rdi, [rbp - 1]
mov rbx, rdi
shr rbx, 1
mov r13, qword [r9 + 0x80]
mov rax, qword [r9 + 0x88]
mov rcx, rax
sub rcx, r13
sar rcx, 5
cmp rcx, rbx
jbe 0x1400d6891
mov r15, rbx
shl r15, 5
cmp byte [r13 + r15 + 0x10], r10b
jne 0x1400d4a38
lea rdx, [r15 + r13]
add rdx, 0x10
cmp byte [rdx + 1], r8b
jne 0x1400d4a7c
cmp qword [rdx + 8], r12
jle 0x1400d4a3e
cmp rcx, rbp
je 0x1400d42b4
mov qword [rsp + 0x68], r12
jbe 0x1400d6891
mov r12d, r8d
mov rax, rbp
shl rax, 5
lea r14, [rax + r13]
mov r8, qword [r13 + rax]
test r8, r8
jne 0x1400d777f
mov qword [rsp + 0x1c8], r8
mov qword [r14], 0
test r8, r8
jne 0x1400d77c9
add r13, r15
mov rax, qword [r13]
mov qword [r13], 0
mov rcx, qword [r14]
mov qword [r14], rax
test rcx, rcx
jne 0x1400d7723
mov r15, qword [r13 + 8]
mov qword [r13 + 8], 0
mov rcx, qword [r14 + 8]
mov rax, rcx
movabs rdx, 0xfffffffc00000000
and rax, rdx
cmp rax, qword [0x1402336c8]
mov r8d, r12d
je 0x1400d7759
mov rcx, qword [r11]
sub rax, rcx
sar rax, 5
cmp rax, rbp
jbe 0x1400d6891
mov rax, rbp
shl rax, 5
mov rcx, qword [rcx + rax]
mov qword [rcx + 0x20], rbp
mov rcx, qword [r9 + 0x80]
mov rdx, qword [r9 + 0x88]
sub rdx, rcx
sar rdx, 5
cmp rdx, rbp
jbe 0x1400d6891
cmp qword [rcx + rax], 0
je 0x1400d7807
mov rbp, rbx
cmp rdi, 1
ja 0x1400d4646
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x1a0], rsi
mov qword [rsp + 0x1a8], rdx
mov byte [rsp + 0x1b0], r10b
mov byte [rsp + 0x1b1], r8b
movzx ecx, word [rsp + 0x1d4]
lea rdx, [rsp + 0x1b0]
mov word [rdx + 6], cx
mov ecx, dword [rsp + 0x1d0]
mov dword [rdx + 2], ecx
mov qword [rsp + 0x1b8], r12
mov rcx, rax
sub rcx, r13
sar rcx, 5
cmp rcx, rbx
jne 0x1400d4a84
cmp rax, qword [r9 + 0x90]
jae 0x1400d60d6
test rax, rax
mov r13, qword [rsp + 0x48]
je 0x1400d697b
mov qword [rax], rsi
xor edx, edx
mov qword [rsp + 0x1a0], rdx
mov rcx, qword [rsp + 0x1a8]
mov qword [rax + 8], rcx
mov qword [rsp + 0x1a8], rdx
lea rcx, [rsp + 0x1b0]
movupd xmm0, xmmword [rcx]
movupd xmmword [rax + 0x10], xmm0
add rax, 0x20
mov qword [r9 + 0x88], rax
mov rsi, qword [rsp + 0x78]
mov rcx, qword [r11]
sub rax, rcx
sar rax, 5
cmp rax, rbx
jbe 0x1400d6891
mov rax, rbx
shl rax, 5
mov rcx, qword [rcx + rax]
mov qword [rcx + 0x20], rbx
mov rcx, qword [r9 + 0x80]
mov rdx, qword [r9 + 0x88]
sub rdx, rcx
sar rdx, 5
cmp rdx, rbx
jbe 0x1400d6891
cmp qword [rcx + rax], 0
mov rbx, qword [rsp + 0x80]
je 0x1400d72ab
mov rdi, qword [rsp + 0x1a0]
test rdi, rdi
jne 0x1400d4bae
mov qword [rsp + 0x1a0], 0
test rdi, rdi
jne 0x1400d4be2
mov rcx, qword [rsp + 0x1a8]
mov rax, rcx
and rax, r15
cmp rax, qword [0x1402336c8]
je 0x1400d703b
mov rax, qword [r9]
mov rax, qword [rax + 0x50]
lea rcx, [fcn.1400d89b0]
cmp rax, rcx
jne 0x1400d6f5e
mov rcx, r9
lea rdx, [rsp + 0x1d8]
call fcn.1400d89b0
mov rcx, qword [rsp + 0x148]
test rcx, rcx
jne 0x1400d4a50
mov qword [rsp + 0x148], 0
mov rdi, qword [rsp + 0x138]
test rdi, rdi
jne 0x1400d4b6f
mov qword [rsp + 0x138], 0
test rdi, rdi
jne 0x1400d4b9f
mov rcx, qword [rsp + 0x140]
mov rax, rcx
and rax, r15
cmp rax, qword [0x1402336c8]
je 0x1400d6ba4
mov qword [rsp + 0x140], 0
mov rcx, qword [rsp + 0x138]
test rcx, rcx
mov rbp, qword [rsp + 0x90]
jne 0x1400d6fd3
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0x120]
lea r8, [rsp + 0x1d8]
mov r9, r13
call fcn.1400dc8f0
xor eax, eax
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [rsp + 0x58], rax
cmp rsi, qword [0x1402336c8]
je 0x1400d2f91
jmp 0x1400d2f9b
jb 0x1400d469f
mov rbx, rbp
movabs r15, 0xfffffffc00000000
jmp 0x1400d47c8
add rcx, 0x18
call r14
mov rcx, qword [rsp + 0x148]
mov rax, rcx
and rax, r15
cmp rax, qword [0x1402336c8]
jne 0x1400d4982
call fcn.14009b9a0
jmp 0x1400d4982
ja 0x1400d469f
jmp 0x1400d4a3e
jbe 0x1400d6891
mov rax, rbx
shl rax, 5
lea rdi, [rax + r13]
mov r8, qword [r13 + rax]
test r8, r8
jne 0x1400d7672
mov qword [rsp + 0x1c8], r8
mov qword [rdi], 0
mov r13, qword [rsp + 0x48]
test r8, r8
jne 0x1400d76af
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x1a0], 0
mov rcx, qword [rdi]
mov qword [rdi], rax
test rcx, rcx
jne 0x1400d760d
mov rsi, qword [rsp + 0x1a8]
mov qword [rsp + 0x1a8], 0
mov rcx, qword [rdi + 8]
mov rax, rcx
and rax, r15
cmp rax, qword [0x1402336c8]
je 0x1400d7572
mov qword [rdi + 8], rsi
lea rax, [rsp + 0x1b0]
movupd xmm0, xmmword [rax]
movupd xmmword [rdi + 0x10], xmm0
mov rax, qword [r9 + 0x88]
jmp 0x1400d487e
mov qword [rsp + 0x1a0], rcx
mov rax, qword [rsp + 0x140]
movups xmmword [rsp + 0x138], xmm10
mov qword [rsp + 0x1a8], rax
lea rcx, [rsp + 0x1d8]
lea rdx, [rsp + 0x1a0]
call fcn.140106ae0
mov r9, qword [rsp + 0x38]
jmp 0x1400d494a
mov rbp, qword [rsp + 0x140]
test rbp, rbp
je 0x1400d499f
mov qword [rsp + 0x138], 0
mov al, byte [rdi + 0xd]
and al, 0x7f
cmp al, 2
je 0x1400d6079
lock dec dword [rbp + 0x18]
je 0x1400d4bf1
lock dec dword [rdi + 8]
jne 0x1400d49b4
jmp 0x1400d5e6b
mov rbp, qword [rsp + 0x1a8]
test rbp, rbp
je 0x1400d48e7
mov qword [rsp + 0x1a0], 0
mov al, byte [rdi + 0xd]
and al, 0x7f
cmp al, 2
je 0x1400d610f
lock dec dword [rbp + 0x18]
je 0x1400d4c8e
lock dec dword [rdi + 8]
jne 0x1400d48fc
lea r13, [rbp + 0x20]
mov rcx, r13
mov rsi, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
call rsi
test al, al
je 0x1400d7b47
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r13
call r14
mov rcx, r13
call rsi
test al, al
mov rsi, r14
je 0x1400d7b55
mov r12, qword [rbp + 0x30]
mov r15, qword [rbp + 0x38]
movups xmmword [rbp + 0x30], xmm10
mov r14, qword [rbp + 0x40]
mov rbx, qword [rbp + 0x48]
movups xmmword [rbp + 0x40], xmm10
mov rcx, r13
call rsi
mov r13, r14
cmp r14, rbx
jne 0x1400d7c51
lea rcx, str.PM_v_
mov rdx, r12
xor r8d, r8d
call fcn.1400ce810
mov r13, qword [rsp + 0x48]
movabs r15, 0xfffffffc00000000
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rbx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x78]
jmp 0x1400d49ab
dec qword [rax + 0x128]
jmp 0x1400d2d11
xor esi, esi
mov qword [rsp + 0x138], 0x9b
mov al, byte [0x14024361b]
test al, al
jne 0x1400d783a
mov rax, qword [rsp + 0x1e0]
mov rcx, qword [rax + 0x190]
mov edx, 1
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
test eax, eax
je 0x1400d72a8
inc esi
cmp esi, dword [rsp + 0x220]
jge 0x1400d289f
jmp 0x1400d4d48
lea rdi, [rax + 0x10]
xor ebx, ebx
cmp qword [rdi], 0
jne 0x1400d4f7b
jmp 0x1400d6444
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
test rax, rax
je 0x1400d61d3
mov esi, edi
mov rax, qword [rax + 8]
cmp byte [rax + 0xc], 0
jne 0x1400d3375
mov rcx, qword [0x140231e18]
mov byte [rax + 0xc], 1
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov rdx, qword [rax + 8]
mov r8d, dword [rcx + 0x10]
cmp dword [rdx + 8], r8d
jne 0x1400d745b
test sil, 1
jne 0x1400d4d98
test sil, 2
jne 0x1400d4e57
test sil, 4
jne 0x1400d4e70
test sil, 8
jne 0x1400d4e8f
test sil, 0x10
jne 0x1400d4eae
test sil, 0x20
jne 0x1400d4ecd
test sil, 0x40
jne 0x1400d4eec
test sil, sil
jns 0x1400d50c8
lea rdi, [rax + 0x2b0]
mov ebx, 7
cmp qword [rax + 0x2b0], 0
jne 0x1400d4f7b
jmp 0x1400d6356
lea rdi, [rax + 0x70]
mov ebx, 1
cmp qword [rax + 0x70], 0
jne 0x1400d4f7b
jmp 0x1400d6416
lea rdi, [rax + 0xd0]
mov ebx, 2
cmp qword [rax + 0xd0], 0
jne 0x1400d4f7b
jmp 0x1400d63e8
lea rdi, [rax + 0x130]
mov ebx, 3
cmp qword [rax + 0x130], 0
jne 0x1400d4f7b
jmp 0x1400d6484
lea rdi, [rax + 0x190]
mov ebx, 4
cmp qword [rax + 0x190], 0
jne 0x1400d4f7b
jmp 0x1400d63b7
lea rdi, [rax + 0x1f0]
mov ebx, 5
cmp qword [rax + 0x1f0], 0
jne 0x1400d4f7b
jmp 0x1400d6386
lea rdi, [rax + 0x250]
mov ebx, 6
cmp qword [rax + 0x250], 0
jne 0x1400d4f7b
jmp 0x1400d64b2
mov r8d, dword [r14 + 0x20]
cmp r8, 0x7f
ja 0x1400d6183
mov r12, qword [r14]
mov rdx, qword [r12 + 0x18]
sub rdx, r8
lea rcx, [rdx - 4]
cmp rax, rcx
jne 0x1400d6183
cmp rax, qword [r12 + 8]
jb 0x1400d6183
lea rcx, [rdx - 3]
call fcn.140163ed0
add qword [r12 + 0x18], 0xfffffffffffffffd
mov al, byte [r14 + 0x20]
mov rcx, qword [r14 + 0x18]
mov byte [rcx], al
mov al, 2
mov byte [r14 + 0x24], al
mov qword [r14 + 0x18], 0
jmp 0x1400d5014
mov rcx, r14
call fcn.1400ab1c0
jmp 0x1400d5002
cmp qword [rdi], 0
je 0x1400d6230
test rdi, rdi
je 0x1400d50c8
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [0x140128680]
cmp rax, rdx
jne 0x1400d70a1
mov rax, qword [rcx + 0x60]
add rax, qword [rcx + 0x58]
sub rax, qword [rcx + 0x48]
cmp rax, qword [rdi + 0x50]
je 0x1400d505f
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
lea rdx, [fcn.1400de3f0]
cmp rax, rdx
jne 0x1400d73f3
lea rdx, [rsp + 0x1d8]
call fcn.1400de3f0
mov r14, qword [rsp + 0x1d8]
test r14, r14
je 0x1400d5024
mov r15, qword [rsp + 0x1e0]
cmp byte [r14 + 0x24], 0
jne 0x1400d5014
cmp qword [r14 + 0x10], 0
jne 0x1400d4f64
mov rax, qword [r14 + 0x18]
test rax, rax
jne 0x1400d4f07
mov byte [r14 + 0x24], 1
test r15, r15
je 0x1400d5024
mov rcx, r15
mov rdx, r14
call fcn.1400cc7e0
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [0x140128680]
cmp rax, rdx
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jne 0x1400d7270
mov rax, qword [rcx + 0x60]
add rax, qword [rcx + 0x58]
sub rax, qword [rcx + 0x48]
movabs r15, 0xfffffffc00000000
mov qword [rdi + 0x50], rax
cmp byte [rdi + 0x48], 0
jne 0x1400d763f
inc ebx
cmp ebx, 7
ja 0x1400d50c8
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov ebx, ebx
mov rcx, rbx
shl rcx, 7
lea rdx, [0x140233228]
lea r8, [rcx + rdx]
add r8, 0x10
lea rcx, [rbx + rbx*2]
shl rcx, 5
lea rdi, [rax + rcx]
add rdi, 0x10
mov ebp, esi
mov eax, 1
mov ecx, ebx
shl eax, cl
bt ebp, ebx
jb 0x1400d4f71
inc rbx
sub r8, 0xffffffffffffff80
add rdi, 0x60
cmp rbx, 8
jne 0x1400d50a5
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov byte [rax + 0xc], 0
jmp 0x1400d3375
mov rax, qword [rsp + 0x1e0]
mov ecx, dword [rax + 0x19c]
add ecx, r12d
add dword [rsp + 0x220], r12d
mov dword [rax + 0x19c], ecx
jmp 0x1400d3aef
lea rcx, [0x1400d9010]
cmp rax, rcx
jne 0x1400d74f9
mov al, byte [r13 + 0x78]
jmp 0x1400d32f9
lea rcx, [0x1400d9010]
cmp rax, rcx
jne 0x1400d7507
mov al, byte [r13 + 0x78]
jmp 0x1400d36fd
mov rcx, rdi
lea rdx, [rsp + 0x120]
lea r8, [rsp + 0xc0]
mov r9, r13
call qword [0x1402233e0]
jmp 0x1400d313c
inc qword [rax + 0x128]
jmp 0x1400d27e2
movzx ecx, word [rdx + 0x10]
mov word [rax + 0xb8], cx
jmp 0x1400d2d37
lea rcx, [0x1400d89a0]
cmp rax, rcx
je 0x1400d2b9d
mov rcx, r13
call qword [0x1402233e0]
mov rdi, rax
jmp 0x1400d2ba1
mov rax, qword [r9 + 8]
mov eax, dword [rax + 0x1c]
test eax, eax
jne 0x1400d2d8f
mov rax, qword [r9 + 0x80]
cmp rax, qword [r9 + 0x88]
je 0x1400d687e
cmp byte [rax + 0x10], 0
jne 0x1400d2d92
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
mov eax, 1
lea r8, [0x1400de3e0]
cmp rdx, r8
jne 0x1400d7706
lea rcx, [r15 + rax]
dec rcx
add r15, rax
cmp rcx, 1
adc r15, 0xffffffffffffffff
jmp 0x1400d2d92
mov rax, qword [rdi + 8]
mov eax, dword [rax + 0x1c]
test eax, eax
jne 0x1400d38d8
mov rax, qword [rdi + 0x80]
cmp rax, qword [rdi + 0x88]
je 0x1400d687e
cmp byte [rax + 0x10], 0
jne 0x1400d38db
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
mov eax, 1
lea r8, [0x1400de3e0]
cmp rdx, r8
jne 0x1400d7546
lea rcx, [rax + r13]
dec rcx
add r13, rax
cmp rcx, 1
adc r13, 0xffffffffffffffff
jmp 0x1400d38db
mov rcx, r12
lea rdx, [rsp + 0xf0]
mov r8, r13
call qword [0x1402233e0]
jmp 0x1400d2950
movzx eax, word [rax + 0x10]
mov word [rdi + 0xb8], ax
jmp 0x1400d3b21
movzx ecx, word [rdx + 0x10]
mov word [rax + 0xb8], cx
jmp 0x1400d2808
mov rcx, rdi
lea rdx, [rsp + 0x1a0]
call qword [0x1402233e0]
movabs r15, 0x7fffffffffffffff
jmp 0x1400d341a
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0x120]
lea r8, [rsp + 0x1d8]
mov r9, r13
call fcn.1400dc8f0
movabs r15, 0xfffffffc00000000
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rbp, qword [rsp + 0x90]
jmp 0x1400d2f88
mov rax, qword [rdi + 8]
mov eax, dword [rax + 0x1c]
test eax, eax
jne 0x1400d3b4a
mov rax, qword [rdi + 0x80]
cmp rax, qword [rdi + 0x88]
je 0x1400d687e
cmp byte [rax + 0x10], 0
jne 0x1400d3b4c
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1402233e0]
lea rcx, [rbx + rax]
dec rcx
add rbx, rax
cmp rcx, 1
adc rbx, 0xffffffffffffffff
jmp 0x1400d3b4c
mov rax, qword [rdi + 8]
mov eax, dword [rax + 0x1c]
test eax, eax
jne 0x1400d3b73
mov rax, qword [rdi + 0x80]
cmp rax, qword [rdi + 0x88]
je 0x1400d687e
cmp byte [rax + 0x10], 0
jne 0x1400d3b75
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1402233e0]
lea rcx, [rbx + rax]
dec rcx
add rbx, rax
cmp rcx, 1
adc rbx, 0xffffffffffffffff
jmp 0x1400d3b75
lea rcx, [0x1400d89a0]
cmp rax, rcx
je 0x1400d339b
mov rcx, r13
call qword [0x1402233e0]
mov rdi, rax
jmp 0x1400d339f
lea rcx, [0x1400d89a0]
cmp rax, rcx
je 0x1400d37ad
mov rcx, r13
call qword [0x1402233e0]
mov r12, rax
jmp 0x1400d37b1
mov rbx, qword [r13 - 8]
test rbx, rbx
je 0x1400d550e
mov qword [r12], 0
mov al, byte [rdi + 0xd]
and al, 0x7f
cmp al, 2
je 0x1400d6537
lock dec dword [rbx + 0x18]
je 0x1400d5fe2
lock dec dword [rdi + 8]
jne 0x1400d551b
jmp 0x1400d6291
mov r12, qword [rsp + 0x1f0]
mov rcx, r15
cmp r12, r15
je 0x1400d5563
mov r13, r12
add r12, 0xfffffffffffffff0
je 0x1400d6955
mov rdi, qword [r12]
test rdi, rdi
jne 0x1400d54b5
mov qword [r12], 0
test rdi, rdi
jne 0x1400d54dd
mov rcx, qword [r13 - 8]
mov rax, rcx
movabs rdx, 0xfffffffc00000000
and rax, rdx
cmp rax, qword [0x1402336c8]
je 0x1400d7568
mov qword [r13 - 8], 0
mov rcx, qword [r13 - 0x10]
test rcx, rcx
jne 0x1400d78f1
cmp r12, r15
mov r13, qword [rsp + 0x48]
jne 0x1400d54f8
mov rcx, qword [rsp + 0x1e8]
mov qword [rsp + 0x1f0], r15
call fcn.14012aa6c
jmp 0x1400d292a
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d3847
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d2cb6
mov rax, qword [rbp + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x1400d55d0
jmp 0x1400d6762
mov rbp, qword [rsp + 0x1e0]
test rbp, rbp
je 0x1400d2a4d
mov qword [rsp + 0x1d8], 0
mov al, byte [rdi + 0xd]
and al, 0x7f
cmp al, 2
je 0x1400d5593
lock dec dword [rbp + 0x18]
je 0x1400d55fa
lock dec dword [rdi + 8]
jne 0x1400d2a62
mov rax, qword [rdi]
mov rax, qword [rax + 0x30]
mov rcx, rdi
mov edx, 1
call qword [0x1402233e0]
jmp 0x1400d2a62
lea r14, [rbp + 0x20]
mov rcx, r14
mov rsi, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
call rsi
test al, al
je 0x1400d796c
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r14
mov r13, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
call r13
mov rcx, r14
call rsi
test al, al
je 0x1400d797a
mov rbx, qword [rbp + 0x30]
mov rsi, qword [rbp + 0x38]
movups xmmword [rbp + 0x30], xmm10
mov r12, qword [rbp + 0x40]
mov r15, qword [rbp + 0x48]
movups xmmword [rbp + 0x40], xmm10
mov rcx, r14
call r13
mov r14, r12
cmp r12, r15
jne 0x1400d79a4
lea rcx, str.PM_v_
mov rdx, rbx
xor r8d, r8d
call fcn.1400ce810
mov r13, qword [rsp + 0x48]
movabs r15, 0xfffffffc00000000
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400d2a59
neg rsi
mov rcx, rdi
lea rdx, [rsp + 0x1d8]
call fcn.14000ba40
inc rsi
jne 0x1400d578e
mov rax, qword [rdi + 0x160]
sub rax, qword [rdi + 0x158]
sar rax, 3
jmp 0x1400d3a76
lea rcx, [0x14000ce00]
cmp rax, rcx
jne 0x1400d75fc
lea rcx, [rdi + 0x10]
mov rdx, rbx
call fcn.1400ab2d0
test al, al
movabs r15, 0xfffffffc00000000
jne 0x1400d36b5
jmp 0x1400d58a3
mov ebp, eax
mov rax, qword [rsp + 0x150]
cmp r15, 2
jb 0x1400d727b
lea rcx, [rax + rbx]
sar rcx, 0x3f
btc rcx, 0x3f
add rax, rbx
cmovo rax, rcx
mov r13, rax
mov rax, qword [fcn.140116a00]
lea rcx, [0x140116ab0]
cmp rax, rcx
jne 0x1400d6865
mov qword [rsp + 0x1d8], 0
lea rcx, [rsp + 0x1d8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x1d8]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400d7fc4
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402439e8]
cmp rax, r13
mov r13, qword [rsp + 0x48]
jle 0x1400d368b
cmp ebp, 0x102
movabs r15, 0xfffffffc00000000
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jne 0x1400d7b18
mov byte [rdi + 0x20], 1
call fcn.1400e0d90
mov rcx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x1a0]
cmp rax, rcx
jle 0x1400d36b5
setns dl
movzx r8d, dl
movabs r9, 0x7fffffffffffffff
add r8, r9
mov rdx, rax
sub rdx, rcx
lea rcx, [r9 + rcx + 2]
cmovo rdx, r8
cmp rcx, 2
cmovb rdx, r9
cmp rax, r9
cmove rdx, r9
mov rax, qword [rdi]
mov rax, qword [rax + 0x48]
mov rcx, rdi
call qword [0x1402233e0]
jmp 0x1400d36b5
xor esi, esi
jmp 0x1400d322e
mov al, byte [r13 + 0x30]
test al, al
jne 0x1400d31f3
mov rax, qword [r13]
mov rax, qword [rax + 0x20]
mov rcx, r13
call qword [0x1402233e0]
test al, al
jne 0x1400d31f3
mov rsi, qword [r13 + 0x38]
lea rdi, [rsi + 0x50]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d6643
mov rax, qword [rsi + 0x58]
test rax, rax
jne 0x1400d6727
mov rcx, rdi
call r14
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
mov rcx, r13
call qword [0x1402233e0]
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x40]
mov rcx, rax
mov rax, rdx
call qword [0x1402233e0]
jmp 0x1400d31f3
mov rcx, rdi
call fcn.140164e00
jmp 0x1400d36b5
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
mov rax, qword [rax + 0x38]
lea rdx, [rsp + 0x1d8]
mov r8, r13
mov rsi, r9
call qword [0x1402233e0]
mov rdx, rsi
movaps xmmword [rsp + 0xf0], xmm10
movabs rsi, 0xfffffffc00000000
jmp 0x1400d2847
lock dec dword [rcx + 8]
jne 0x1400d5b67
jmp 0x1400d6684
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, eax
test eax, eax
jne 0x1400d670f
mov rcx, rdi
call r14
test esi, esi
jne 0x1400d332d
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
mov rcx, r13
call qword [0x1402233e0]
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov rdx, r13
mov rax, r8
call qword [0x1402233e0]
mov rcx, qword [r13 + 0x48]
test rcx, rcx
jne 0x1400d7e45
mov rcx, qword [r13 + 0x10]
mov qword [r13 + 0x10], 0
test rcx, rcx
jne 0x1400d5af4
mov qword [rsp + 0x150], 0xa
mov al, byte [0x14024358a]
test al, al
mov rsi, qword [rsp + 0x98]
jne 0x1400d7ef4
mov qword [rsp + 0x150], 0xa
mov al, byte [0x14024358a]
test al, al
jne 0x1400d7f3a
mov ecx, dword [0x140233234]
test ecx, ecx
jne 0x1400d7b21
test rsi, rsi
je 0x1400d5bd5
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [0x1402233e0]
lock dec dword [rsi]
jne 0x1400d5bd5
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [0x1402233e0]
mov rcx, qword [rsp + 0x228]
xor rcx, rsp
call fcn.14012d2c0
movaps xmm6, xmmword [rsp + 0x230]
movaps xmm7, xmmword [rsp + 0x240]
movaps xmm8, xmmword [rsp + 0x250]
movaps xmm9, xmmword [rsp + 0x260]
movaps xmm10, xmmword [rsp + 0x270]
add rsp, 0x288
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, 0x38
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rcx]
mov rax, qword [rdx + rax]
lea rdx, [rsp + 0x1d8]
mov r8, r13
call qword [0x1402233e0]
cmp rsi, qword [0x1402336c8]
jne 0x1400d5c57
mov rcx, rdi
call fcn.1400a3600
movaps xmmword [rsp + 0xf0], xmm10
mov rcx, qword [rsp + 0x68]
jmp 0x1400d285f
movabs rax, 0x7fffffffffffffff
lea r14, [rax + 1]
test rbx, rbx
cmovns r14, rax
jmp 0x1400d35fc
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d3d07
lea rdi, [rdx + rsi*8]
add rdi, 0xfffffffffffffff8
neg rsi
test rdi, rdi
je 0x1400d6955
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400d5d62
lock dec dword [rcx + 8]
je 0x1400d80ed
add rdi, 0xfffffffffffffff8
inc rsi
jne 0x1400d5d47
mov rax, qword [rsp + 0x200]
and eax, 1
jmp 0x1400d28f6
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d3e47
xor esi, esi
jmp 0x1400d3eef
lea rcx, [0x14024a458]
call fcn.14012ad90
cmp dword [0x14024a458], 0xffffffff
jne 0x1400d34fe
mov qword [0x14024a450], r14
lea rcx, [0x14024a458]
call fcn.14012ad24
jmp 0x1400d34fe
shl rsi, 3
xor r14d, r14d
mov rdi, qword [rbx + r14]
test rdi, rdi
je 0x1400d5de6
mov eax, 1
lock xadd dword [rdi + 8], eax
cmp eax, 0x7fffffff
je 0x1400d7b1b
mov rax, qword [rsp + 0x1e0]
mov rdx, qword [rax + 0x40]
mov r8, qword [rax + 0x48]
test rdx, rdx
je 0x1400d5e10
mov eax, 1
lock xadd dword [rdx + 8], eax
cmp eax, 0x7fffffff
je 0x1400d7b1e
mov rcx, rdi
call fcn.14001d910
mov rcx, qword [rsp + 0x1e0]
cmp byte [rcx + 0x180], 0
jne 0x1400d7fb3
test rdi, rdi
je 0x1400d5e3c
lock dec dword [rdi + 8]
je 0x1400d8104
add r14, 8
cmp rsi, r14
jne 0x1400d5dc8
mov rcx, qword [rsp + 0x200]
mov rsi, rcx
shr rsi, 1
mov eax, ecx
and eax, 1
cmp rcx, 2
setb cl
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400d28dd
mov rax, qword [rdi]
mov rax, qword [rax + 0x30]
mov rcx, rdi
mov edx, 1
call qword [0x1402233e0]
jmp 0x1400d49b4
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d331a
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d371e
mov edi, 3
jmp 0x1400d3152
lea rcx, [0x14024a448]
call fcn.14012ad90
cmp dword [0x14024a448], 0xffffffff
jne 0x1400d34cc
lea rcx, str.DelayFirstWorkerWake
call fcn.1400e1200
mov byte [0x14024a444], al
lea rcx, [0x14024a448]
call fcn.14012ad24
jmp 0x1400d34cc
cmp dword [rdi + 0x134], 0
jle 0x1400d3b5c
mov al, 1
mov byte [rsp + 0x218], al
mov byte [rdi + 0x140], al
jmp 0x1400d3ca0
mov esi, 3
jmp 0x1400d3783
lea r14, [rbx + 0x20]
mov rcx, r14
mov rsi, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
call rsi
test al, al
je 0x1400d80d1
mov rcx, qword [rbx + 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 rsi
test al, al
je 0x1400d80df
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x58], rax
movups xmmword [rbx + 0x30], xmm10
mov rbp, qword [rbx + 0x40]
mov rsi, qword [rbx + 0x48]
movups xmmword [rbx + 0x40], xmm10
mov rcx, r14
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
call r14
mov rcx, rbp
mov rax, rsi
mov rbx, rbp
cmp rbp, rsi
jne 0x1400d811e
lea rcx, str.PM_v_
mov rdx, qword [rsp + 0x38]
xor r8d, r8d
call fcn.1400ce810
jmp 0x1400d5516
mov rax, qword [rbp + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x1400d4b99
lea rsi, [rbp + 0x50]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d87d0
mov rcx, qword [rbp + 0x58]
call fcn.1400bab60
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r13, qword [rsp + 0x48]
movabs r15, 0xfffffffc00000000
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rsi, qword [rsp + 0x78]
jmp 0x1400d4b99
mov rcx, r11
lea rdx, [rsp + 0x1a0]
mov esi, r10d
mov rdi, r11
call fcn.1400154d0
mov r11, rdi
mov r10d, esi
mov r9, qword [rsp + 0x38]
mov r13, qword [rsp + 0x48]
jmp 0x1400d4877
xor eax, eax
jmp 0x1400d2ec7
xor eax, eax
jmp 0x1400d39f9
mov rax, qword [rbp + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x1400d4bd8
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 0x1400d4f53
xor eax, eax
jmp 0x1400d3c6d
mov rax, qword [0x140231e18]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1402233e0]
lea rcx, [rax + 0x6218]
lea rdx, [0x140233228]
mov qword [rax + 0x6218], rdx
mov qword [rax + 0x6220], rax
mov rax, qword [rsp + 0x88]
mov qword [rax], rcx
mov esi, dword [0x140233234]
and esi, edi
je 0x1400d3375
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
jmp 0x1400d4dc3
mov ebp, dword [0x140233234]
and ebp, esi
test ebp, eax
je 0x1400d625c
mov al, byte [r8]
test al, 1
je 0x1400d625c
lea rcx, [0x140233228]
mov rdx, rdi
mov r9d, ebx
call fcn.1400362a0
mov esi, ebp
jmp 0x1400d4f7b
mov esi, ebp
jmp 0x1400d50b7
mov rax, qword [rdi]
mov rax, qword [rax + 0x30]
mov rcx, rdi
mov edx, 1
call qword [0x1402233e0]
jmp 0x1400d551b
mov rcx, qword [rsp + 0x1e0]
call fcn.140165050
cmp qword [rsp + 0x200], 0
je 0x1400d2919
lea rcx, [rsp + 0x200]
call fcn.14019e710
jmp 0x1400d2919
mov rcx, r12
mov rdx, r13
call fcn.1400154d0
jmp 0x1400d2364
mov eax, dword [0x140233234]
test al, al
jns 0x1400d50c8
mov cl, byte [0x1402335b8]
test cl, 1
je 0x1400d50c8
and esi, eax
lea r8, [0x1402335b8]
mov ebx, 7
jmp 0x1400d646d
mov ecx, dword [0x140233234]
and esi, ecx
test cl, 0x20
je 0x1400d4e25
mov cl, byte [0x1402334b8]
test cl, 1
je 0x1400d4e25
lea r8, [0x1402334b8]
mov ebx, 5
jmp 0x1400d646d
mov ecx, dword [0x140233234]
and esi, ecx
test cl, 0x10
je 0x1400d4e1b
mov cl, byte [0x140233438]
test cl, 1
je 0x1400d4e1b
lea r8, [0x140233438]
mov ebx, 4
jmp 0x1400d646d
mov ecx, dword [0x140233234]
and esi, ecx
test cl, 4
je 0x1400d4e0b
mov cl, byte [0x140233338]
test cl, 1
je 0x1400d4e0b
lea r8, [0x140233338]
mov ebx, 2
jmp 0x1400d646d
mov ecx, dword [0x140233234]
and esi, ecx
test cl, 2
je 0x1400d4e05
mov cl, byte [0x1402332b8]
test cl, 1
je 0x1400d4e05
lea r8, [0x1402332b8]
mov ebx, 1
jmp 0x1400d646d
mov ecx, dword [0x140233234]
and esi, ecx
test cl, 1
je 0x1400d4dff
mov cl, byte [0x140233238]
test cl, 1
je 0x1400d4dff
lea r8, [0x140233238]
xor ebx, ebx
lea rcx, [0x140233228]
mov rdx, rdi
mov r9d, ebx
call fcn.1400362a0
jmp 0x1400d4f7b
mov ecx, dword [0x140233234]
and esi, ecx
test cl, 8
je 0x1400d4e11
mov cl, byte [0x1402333b8]
test cl, 1
je 0x1400d4e11
lea r8, [0x1402333b8]
mov ebx, 3
jmp 0x1400d646d
mov ecx, dword [0x140233234]
and esi, ecx
test cl, 0x40
je 0x1400d4e2f
mov cl, byte [0x140233538]
test cl, 1
je 0x1400d4e2f
lea r8, [0x140233538]
mov ebx, 6
jmp 0x1400d646d
mov rbx, qword [rsp + 0x208]
jmp 0x1400d28cb
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, eax
test eax, eax
jne 0x1400d6523
mov rcx, rdi
call r14
test esi, esi
jne 0x1400d3731
jmp 0x1400d5908
cmp esi, 0x102
je 0x1400d6510
mov ecx, esi
call fcn.14018e7a0
jmp 0x1400d372b
mov rax, qword [rbx + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x1400d54d3
lea rsi, [rbx + 0x50]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d878a
mov rcx, qword [rbx + 0x58]
call fcn.1400bab60
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400d54d3
mov rdx, qword [rsp + 0x208]
jmp 0x1400d28ee
mov eax, dword [rax + 0x38]
cmp eax, 3
je 0x1400d81ed
xor edx, edx
cmp eax, 1
sete dl
jmp 0x1400d65c4
mov eax, dword [0x1402403d8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x168]
xor edx, edx
test rax, rax
jne 0x1400d658d
cmp edi, 7
jge 0x1400d6931
mov eax, dword [0x1402403d8]
mov rcx, qword gs:[0x58]
mov rsi, qword [rcx + rax*8]
mov ecx, edi
call fcn.14001d290
mov dword [rsi + 0x154], edi
mov dword [r13 + 0x54], edi
jmp 0x1400d315c
mov rcx, qword [rsp + 0x208]
call fcn.14012aa6c
jmp 0x1400d28ff
mov rcx, r11
mov rdx, r13
mov r15d, r10d
mov r13, r11
mov qword [rsp + 0x68], r12
mov r12d, r8d
call fcn.1400154d0
mov r8d, r12d
mov r12, qword [rsp + 0x68]
mov r11, r13
mov r10d, r15d
mov r9, qword [rsp + 0x38]
movabs r15, 0xfffffffc00000000
jmp 0x1400d42ff
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d594d
lea rcx, [rsp + 0x150]
call qword [0x1402233e0]
jmp 0x1400d368b
xor esi, esi
jmp 0x1400d25ad
lea rsi, [rsp + 0x180]
mov rcx, rsi
call qword [0x1402233e0]
mov r14, qword [rsi]
jmp 0x1400d3493
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov edx, 1
call qword [0x1402233e0]
jmp 0x1400d5b67
cmp byte [r12 - 8], 0
je 0x1400d5c46
mov rcx, qword [r12 - 0x18]
mov eax, 0x30
cmp byte [rcx + 0x141], 0
je 0x1400d5c29
jmp 0x1400d5c46
lea rsi, [rsp + 0x198]
mov rcx, rsi
call qword [0x1402233e0]
mov r13, qword [rsi]
mov r9, qword [rsp + 0x38]
jmp 0x1400d4492
mov rax, rdx
call qword [0x1402233e0]
jmp 0x1400d39f4
mov rax, rdx
call qword [0x1402233e0]
mov r11, qword [rsp + 0xa8]
mov r10, qword [rsp + 0x70]
mov r9, qword [rsp + 0x38]
jmp 0x1400d2ec7
cmp esi, 0x102
je 0x1400d5b14
mov ecx, esi
call fcn.14018e7a0
jmp 0x1400d3327
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, eax
test eax, eax
jne 0x1400d674e
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test esi, esi
jne 0x1400d5960
jmp 0x1400d31f3
cmp esi, 0x102
je 0x1400d6738
mov ecx, esi
call fcn.14018e7a0
jmp 0x1400d595a
lea rsi, [rbp + 0x50]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d8798
mov rcx, qword [rbp + 0x58]
call fcn.1400bab60
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r13, qword [rsp + 0x48]
movabs r15, 0xfffffffc00000000
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400d55d0
mov r13, r9
mov ebx, r8d
lea rsi, [rdi + 0x50]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d87b4
mov rcx, qword [rdi + 0x58]
call fcn.1400bab60
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r8d, ebx
mov r9, r13
jmp 0x1400d2206
lea rsi, [rsp + 0x1d8]
mov rcx, rsi
call qword [0x1402233e0]
mov rax, qword [rsi]
jmp 0x1400d5874
lea rcx, [0x14020310b]
lea rdx, str....._third_partylibc_srcinclude_vector:618:_assertion__empty___failed:_front___called_on_an_empty_vector_n
call fcn.140164a90
lea rcx, [0x14020310b]
lea rdx, str....._third_partylibc_srcinclude_vector:1411:_assertion___n___size___failed:_vector___index_out_of_bounds_n
call fcn.140164a90
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
lea rcx, [0x14020310b]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
call fcn.140164a90
lea rcx, [0x14020310b]
lea rdx, str....._third_partylibc_srcinclude_array:234:_assertion___n____Size_failed:_out_of_bounds_access_in_std::array_T__N__n
call fcn.140164a90
lea rcx, [0x14020310b]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:40:_assertion___location___nullptr_failed:_null_pointer_given_to_construct_at_n
call fcn.140164a90
call fcn.14009b9a0
jmp 0x1400d2a34
call fcn.14009b9a0
jmp 0x1400d2a7d
call fcn.14009b9a0
jmp 0x1400d31d6
call fcn.1400a3600
jmp 0x1400d2fc7
mov rcx, qword [rdi - 0x18]
call fcn.140099900
cmp byte [rdi - 0x27], 0
je 0x1400d69fc
cmp byte [rdi - 0x28], 0
jne 0x1400d69de
mov rcx, qword [rdi - 0x18]
call fcn.14019e5f0
mov word [rdi - 7], 0
mov byte [rdi - 5], 0
mov r13, qword [rsp + 0x48]
movabs r15, 0xfffffffc00000000
jmp 0x1400d2ce8
lea rcx, [0x14020310b]
lea rdx, str....._third_partylibc_srcincludeoptional:801:_assertion_this__has_value___failed:_optional_operator_called_on_a_disengaged_value_n
call fcn.140164a90
mov rcx, qword [0x140243b48]
call fcn.14018e6f0
jmp 0x1400d2afa
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
lock dec dword [rcx + 8]
jne 0x1400d2a05
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402233e0]
jmp 0x1400d2a05
lock dec dword [rcx + 8]
jne 0x1400d2a9a
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402233e0]
jmp 0x1400d2a9a
lock dec dword [rcx + 8]
jne 0x1400d31f3
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402233e0]
jmp 0x1400d31f3
lock dec dword [r8 + 8]
jne 0x1400d29d8
mov rax, qword [r8]
mov rax, qword [rax + 0x30]
mov rcx, r8
mov edx, 1
call qword [0x1402233e0]
jmp 0x1400d29d8
mov qword [rsp + 0x138], 0xf4240
mov ebx, 0xf4240
jmp 0x1400d359d
mov rcx, qword [rsp + 0xf8]
test rcx, rcx
je 0x1400d29bb
mov qword [rsp + 0xf0], 0
lea rsi, [rsp + 0x150]
mov rdx, rsi
call fcn.140015290
mov r8, qword [rsi]
jmp 0x1400d29cf
lea rcx, [rsp + 0x160]
call fcn.140123fd0
lea rcx, [rsp + 0x150]
call fcn.1400de7f0
jmp 0x1400d2fe1
lea rcx, [0x14020310b]
lea rdx, str....._third_partylibc_srcinclude_vector:1539:_assertion__empty___failed:_vector::pop_back_called_on_an_empty_vector_n
call fcn.140164a90
lea rcx, [rsp + 0x100]
call fcn.14010e140
jmp 0x1400d3749
mov rcx, rdx
call fcn.14009b9a0
jmp 0x1400d5c60
call fcn.14009b9a0
jmp 0x1400d49cf
mov byte [rsi + 0x99], 0
jmp 0x1400d44ee
mov rcx, qword [0x140243b48]
call fcn.14018e6f0
jmp 0x1400d3263
mov ecx, esi
call fcn.14001d220
mov dword [r13 + 0x54], esi
jmp 0x1400d378d
call fcn.140164a90
cmp byte [rsp + 0x168], 0
je 0x1400d6bdb
lea rcx, [rsp + 0x1b0]
lea rdi, [rsp + 0x160]
movapd xmm0, xmmword [rdi - 0x10]
movupd xmmword [rcx - 0x10], xmm0
xorpd xmm0, xmm0
movapd xmmword [rdi - 0x10], xmm0
mov rdx, rdi
call fcn.140123f70
mov rax, qword [rsi]
mov rax, qword [rax + 0x18]
lea rdx, [rsp + 0x1a0]
mov rcx, rsi
call qword [0x1402233e0]
mov rcx, qword [rdi + 0x10]
mov r13, qword [rsp + 0x48]
movabs r15, 0xfffffffc00000000
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400d2fb4
mov edi, r8d
call fcn.14009b9a0
mov r8d, edi
jmp 0x1400d279d
lea rdx, [rsp + 0x1d8]
mov rcx, rdi
call qword [0x1402233e0]
jmp 0x1400d3cb8
lea rsi, [rsp + 0x100]
mov rcx, rsi
call fcn.14010e140
mov byte [rsi + 0x18], 0
jmp 0x1400d3383
mov rax, qword [rbp + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x1400d6ce6
jmp 0x1400d8202
call fcn.14009b9a0
mov rdi, qword [rsp + 0x120]
mov qword [rsp + 0xf8], rsi
test rdi, rdi
je 0x1400d31af
mov rbp, qword [rsp + 0x128]
mov qword [rsp + 0x120], 0
test rbp, rbp
je 0x1400d6d9a
mov al, byte [rdi + 0xd]
and al, 0x7f
cmp al, 2
je 0x1400d6c8b
lock dec dword [rbp + 0x18]
mov r13, qword [rsp + 0x48]
movabs r15, 0xfffffffc00000000
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jne 0x1400d6d9a
lea r14, [rbp + 0x20]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d87ec
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d87fa
mov rbx, qword [rbp + 0x30]
mov r13, qword [rbp + 0x38]
xorpd xmm0, xmm0
movupd xmmword [rbp + 0x30], xmm0
mov r12, qword [rbp + 0x40]
mov r15, qword [rbp + 0x48]
movupd xmmword [rbp + 0x40], xmm0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r14, r12
cmp r12, r15
jne 0x1400d88d5
lea rcx, str.PM_v_
mov rdx, rbx
xor r8d, r8d
call fcn.1400ce810
mov r13, qword [rsp + 0x48]
movabs r15, 0xfffffffc00000000
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lock dec dword [rdi + 8]
jne 0x1400d31bb
mov rax, qword [rdi]
mov rax, qword [rax + 0x30]
mov rcx, rdi
mov edx, 1
call qword [0x1402233e0]
jmp 0x1400d31bb
lea rcx, [rsi + 0x18]
mov rdi, qword [rsi + 0x10]
call fcn.14018e740
movabs rcx, 0xff00000000000000
and rcx, rdi
or rcx, rax
mov qword [rsi + 0x10], rcx
jmp 0x1400d6e05
cmp byte [rsp + 0x110], 0
je 0x1400d2b1e
cmp qword [rsi + 0x18], 0
jne 0x1400d6dcd
movabs rax, 0x4000000000000000
lock or qword [rsi + 0x10], rax
mov r13, qword [rsp + 0x48]
movabs r15, 0xfffffffc00000000
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400d2b1e
lea rcx, [rsi + 0x18]
mov rdi, qword [rsi + 0x10]
call fcn.14018e740
movabs rcx, 0xff00000000000000
and rcx, rdi
or rcx, rax
mov qword [rsi + 0x10], rcx
jmp 0x1400d2b0f
lea rcx, [rsi + 0x18]
mov rbx, qword [rsi + 0x10]
call fcn.14018e740
movabs rcx, 0xff00000000000000
and rcx, rbx
or rcx, rax
mov qword [rsi + 0x10], rcx
jmp 0x1400d2b31
int3
int3
int3
lock dec dword [rcx + 8]
jne 0x1400d27ba
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
mov edi, r8d
call qword [0x1402233e0]
mov r8d, edi
jmp 0x1400d27ba
lea rdx, [rsp + 0x1d8]
mov r8, r13
call fcn.14004ba70
movabs r15, 0xfffffffc00000000
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400d2f7f
call fcn.14009b9a0
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0xf8], 0
test rcx, rcx
je 0x1400d322b
lock dec dword [rcx + 8]
jne 0x1400d322b
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402233e0]
jmp 0x1400d322b
lea rsi, [rsp + 0x138]
mov rcx, rdi
mov rdx, rsi
mov r8, r14
call fcn.1401b6f00
mov rbx, qword [rsi]
jmp 0x1400d359d
mov esi, r8d
mov rdi, r9
call fcn.14009b9a0
mov r9, rdi
mov r8d, esi
jmp 0x1400d2715
lea rdx, [rsp + 0x1a0]
call qword [0x1402233e0]
mov rdi, rax
jmp 0x1400d4426
lea rdx, [rsp + 0x1d8]
mov rcx, r9
call qword [0x1402233e0]
jmp 0x1400d4971
int3
int3
int3
lea rsi, [rsp + 0x1d8]
mov rcx, rsi
call fcn.14019e300
lea rcx, [rsp + 0x200]
call fcn.14019e4d0
mov byte [rsi + 0x40], 0
jmp 0x1400d3cf6
lea rdx, [rsp + 0x1d8]
mov rcx, qword [rsp + 0x78]
mov r8, r13
call qword [0x1402233e0]
test al, al
jne 0x1400d3d98
jmp 0x1400d5c57
mov rcx, rsi
call fcn.140119860
jmp 0x1400d2e8d
lock dec dword [rcx + 8]
jne 0x1400d49f4
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402233e0]
jmp 0x1400d49f4
lock dec dword [rcx + 8]
jne 0x1400d272f
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
mov esi, r8d
mov rdi, r9
call qword [0x1402233e0]
mov r9, rdi
mov r8d, esi
jmp 0x1400d272f
mov rcx, rbp
call fcn.140119860
jmp 0x1400d3ea5
mov rcx, r15
call fcn.140119860
jmp 0x1400d39c8
mov rcx, qword [0x1402439e8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400d3683
mov rcx, qword [0x1402439e8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov r14, rax
add r14, r8
jmp 0x1400d348b
call qword [0x1402233e0]
jmp 0x1400d4faa
lea rcx, [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
call fcn.14018e740
movabs rcx, 0xff00000000000000
and rcx, rbx
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x1400d70e4
cmp byte [rsp + 0x110], 0
je 0x1400d3287
cmp qword [rdi + 0x18], 0
jne 0x1400d70ac
movabs rax, 0x4000000000000000
lock or qword [rdi + 0x10], rax
mov r13, qword [rsp + 0x48]
movabs r15, 0xfffffffc00000000
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400d3287
lea rcx, [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
call fcn.14018e740
movabs rcx, 0xff00000000000000
and rcx, rbx
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x1400d3278
mov rax, qword [rsi + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x1400d7191
jmp 0x1400d8235
mov rcx, r9
mov edi, r8d
call fcn.14009b9a0
mov r8d, edi
mov r15, qword [rsp + 0x120]
test r15, r15
je 0x1400d276c
mov rsi, qword [rsp + 0x128]
mov qword [rsp + 0x120], 0
test rsi, rsi
je 0x1400d7225
mov al, byte [r15 + 0xd]
and al, 0x7f
cmp al, 2
je 0x1400d7134
lock dec dword [rsi + 0x18]
jne 0x1400d7225
lea r12, [rsi + 0x20]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d8808
mov rcx, qword [rsi + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d8816
mov rax, qword [rsi + 0x30]
mov qword [rsp + 0x60], rax
mov rax, qword [rsi + 0x38]
mov qword [rsp + 0x40], rax
xorpd xmm0, xmm0
movupd xmmword [rsi + 0x30], xmm0
mov rbx, qword [rsi + 0x40]
mov rbp, qword [rsi + 0x48]
movupd xmmword [rsi + 0x40], xmm0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rsi, rbx
cmp rbx, rbp
jne 0x1400d8824
lea rcx, str.PM_v_
mov rdx, qword [rsp + 0x60]
xor r8d, r8d
call fcn.1400ce810
lock dec dword [r15 + 8]
mov r12, qword [rsp + 0x38]
mov r8d, edi
jne 0x1400d2778
mov rax, qword [r15]
mov rax, qword [rax + 0x30]
mov rcx, r15
mov edx, 1
call qword [0x1402233e0]
mov r8d, edi
jmp 0x1400d2778
mov rax, rdx
call qword [0x1402233e0]
jmp 0x1400d3c6d
mov rcx, r12
call fcn.140119860
jmp 0x1400d3c48
call qword [0x1402233e0]
jmp 0x1400d5051
mov r13, rbx
cmp rax, rbx
je 0x1400d5818
movabs rcx, 0x7fffffffffffffff
add rax, rcx
add rax, 2
mov r13, rbx
cmp rax, 1
ja 0x1400d5818
int3
int3
lea rcx, [rsp + 0x1c8]
mov edi, r10d
call fcn.14012a590
mov r10d, edi
mov r9, qword [rsp + 0x38]
jmp 0x1400d48d6
call fcn.14009b9a0
jmp 0x1400d252b
lea rcx, [rdi + 0x18]
mov r14, qword [rdi + 0x10]
call fcn.14018e740
movabs rcx, 0xff00000000000000
and rcx, r14
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x1400d329a
mov rcx, r13
call qword [0x1402233e0]
mov esi, eax
jmp 0x1400d3ef5
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0x1d8]
mov qword [r8], rax
lea rax, [0x1402050c0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x45
lea rdx, [rsp + 0x150]
mov r9d, 2
call fcn.140036f80
jmp 0x1400d3367
movzx ecx, al
mov rax, qword [0x140241b20]
xor rax, qword [r13 + 0x60]
mov qword [rsp + 0x1d8], rax
lea rax, str.WorkerThread_active
lea r8, [rsp + 0x150]
mov qword [r8], rax
lea rax, [rsp + 0x1d8]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x1a0]
mov r9d, 1
call fcn.1400ffe80
jmp 0x1400d36cf
lea rcx, [rsp + 0x1c8]
call fcn.14012a590
jmp 0x1400d2595
xor eax, eax
ucomisd xmm0, qword [0x14020ff10]
cmovae rax, r15
jmp 0x1400d3412
lea rdx, [rsp + 0x1d8]
call qword [0x1402233e0]
jmp 0x1400d4fdb
mov rcx, qword [0x1402439e8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov r13, rax
add r13, r8
jmp 0x1400d4485
lock dec dword [rcx + 8]
jne 0x1400d24fe
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402233e0]
jmp 0x1400d24fe
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [0x1402233e0]
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
jmp 0x1400d4df9
lea rax, [rsp + 0x1b0]
mov qword [rax - 0x10], rcx
xorpd xmm0, xmm0
mov rcx, qword [rsp + 0x140]
movupd xmmword [rsp + 0x138], xmm0
mov qword [rax - 8], rcx
mov rcx, rax
lea rdx, [rsp + 0x148]
call fcn.140123f70
lea rcx, [rsp + 0x150]
lea rdx, [rsp + 0x1a0]
mov r8, rdi
call fcn.14019e580
mov r13, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x78]
jmp 0x1400d4971
lock dec dword [r8 + 8]
jne 0x1400d24d9
mov rax, qword [r8]
mov rax, qword [rax + 0x30]
mov rcx, r8
mov edx, 1
call qword [0x1402233e0]
jmp 0x1400d24d9
mov rcx, r13
call qword [0x1402233e0]
jmp 0x1400d32f9
mov rcx, r13
call qword [0x1402233e0]
jmp 0x1400d36fd
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400d24c1
mov qword [rbx], 0
lea rdx, [rsp + 0x1c8]
call fcn.140015290
lea rax, [rsp + 0x1c8]
mov r8, qword [rax]
jmp 0x1400d24d0
mov rax, rdx
call qword [0x1402233e0]
jmp 0x1400d5320
call fcn.14009b9a0
jmp 0x1400d3ff5
call fcn.14009b9a0
jmp 0x1400d4083
call fcn.14009b9a0
jmp 0x1400d553c
mov ebp, r10d
mov qword [rsp + 0x70], r11
call fcn.14009b9a0
mov r11, qword [rsp + 0x70]
mov r10d, ebp
mov r9, qword [rsp + 0x38]
jmp 0x1400d4b0e
int3
int3
int3
int3
int3
int3
int3
mov rcx, rdi
mov rdx, rbx
call qword [0x1402233e0]
jmp 0x1400d57d6
lock dec dword [rcx + 8]
jne 0x1400d4ae3
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
mov esi, r10d
mov rbp, r11
call qword [0x1402233e0]
mov r11, rbp
mov r10d, esi
mov r9, qword [rsp + 0x38]
jmp 0x1400d4ae3
mov rcx, qword [rdi]
lea rax, [0x140169740]
lea rdx, [rsp + 0x1d8]
mov qword [rdx + 0x18], rax
lea rax, [0x140204af0]
mov qword [rdx + 0x20], rax
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [0x1402233e0]
jmp 0x1400d5069
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400d4aa3
mov qword [rdi], 0
lea rsi, [rsp + 0x1c8]
mov rdx, rsi
mov ebp, r10d
mov r13, r11
call fcn.140015290
mov r11, r13
mov r10d, ebp
mov r9, qword [rsp + 0x38]
mov r8, qword [rsi]
jmp 0x1400d4ab2
lock dec dword [r8 + 8]
jne 0x1400d4ac0
mov rax, qword [r8]
mov rax, qword [rax + 0x30]
mov rcx, r8
mov edx, 1
mov esi, r10d
mov rbp, r11
call qword [0x1402233e0]
mov r11, rbp
mov r10d, esi
mov r9, qword [rsp + 0x38]
jmp 0x1400d4ac0
mov rax, rdx
mov qword [rsp + 0x70], r10
call qword [0x1402233e0]
mov r10, qword [rsp + 0x70]
mov r9, qword [rsp + 0x38]
jmp 0x1400d5207
lock dec dword [rcx + 8]
jne 0x1400d4705
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x1400d46cf
mov qword [r14], 0
lea rdx, [rsp + 0x1c8]
mov byte [rsp + 0x40], r10b
mov qword [rsp + 0x70], r11
call fcn.140015290
mov r11, qword [rsp + 0x70]
mov r10b, byte [rsp + 0x40]
mov r9, qword [rsp + 0x38]
lea rax, [rsp + 0x1c8]
mov r8, qword [rax]
jmp 0x1400d46de
lock dec dword [r8 + 8]
jne 0x1400d46e7
mov rax, qword [r8]
mov rax, qword [rax + 0x30]
mov rcx, r8
mov edx, 1
mov byte [rsp + 0x40], r10b
mov qword [rsp + 0x70], r11
call qword [0x1402233e0]
mov r11, qword [rsp + 0x70]
mov r10b, byte [rsp + 0x40]
mov r9, qword [rsp + 0x38]
jmp 0x1400d46e7
lea rcx, [rsp + 0x1c8]
mov ebp, r10d
mov r13, r11
mov qword [rsp + 0x68], r12
mov r12d, r8d
call fcn.14012a590
mov r8d, r12d
mov r12, qword [rsp + 0x68]
mov r11, r13
mov r10d, ebp
mov r9, qword [rsp + 0x38]
jmp 0x1400d47ad
movzx ecx, al
mov eax, 0x190
add rax, qword [rsp + 0x1e0]
xor rax, qword [0x140241b20]
mov qword [rsp + 0x150], rax
lea rax, [0x140219ca8]
lea r8, [rsp + 0x1a0]
mov qword [r8], rax
lea rax, [rsp + 0x150]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x138]
mov r9d, 3
call fcn.140014d10
jmp 0x1400d4d62
lock dec dword [rcx + 8]
jne 0x1400d3fca
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402233e0]
jmp 0x1400d3fca
lock dec dword [rcx + 8]
jne 0x1400d4054
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402233e0]
jmp 0x1400d4054
lea rdx, [rsp + 0x120]
mov rcx, rbx
call fcn.1400dfac0
movabs rbx, 0xfffffffc00000000
jmp 0x1400d40e6
lock dec dword [rcx + 8]
jne 0x1400d5551
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402233e0]
jmp 0x1400d5551
lock dec dword [r8 + 8]
jne 0x1400d4027
mov rax, qword [r8]
mov rax, qword [rax + 0x30]
mov rcx, r8
mov edx, 1
call qword [0x1402233e0]
jmp 0x1400d4027
mov rcx, qword [rsp + 0x1a8]
test rcx, rcx
je 0x1400d400a
mov qword [rsp + 0x1a0], 0
lea rsi, [rsp + 0x120]
mov rdx, rsi
call fcn.140015290
mov r8, qword [rsi]
jmp 0x1400d401e
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d5612
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d5636
cmp rsi, r14
jb 0x1400d68b6
mov r13, qword [rbx + r14*8]
test r13, r13
je 0x1400d68b3
mov qword [rbx + r14*8], 0
mov rax, qword [r13 + 8]
mov rcx, r13
call qword [0x1402233e0]
lock dec dword [r13]
jne 0x1400d79e3
mov rax, qword [r13 + 0x10]
mov rcx, r13
call qword [0x1402233e0]
inc r14
xor eax, eax
cmp r14, rsi
cmove r14, rax
cmp r14, r15
jne 0x1400d79a4
cmp r15, r12
jbe 0x1400d82d2
cmp rsi, r15
jb 0x1400d68b0
cmp r12, r15
jg 0x1400d68ad
shl r15, 3
shl r12, 3
mov rcx, qword [rbx + r12]
test rcx, rcx
jne 0x1400d7a2f
add r12, 8
cmp r15, r12
je 0x1400d5662
jmp 0x1400d7a17
lock dec dword [rcx]
jne 0x1400d7a20
mov rax, qword [rcx + 0x10]
call qword [0x1402233e0]
jmp 0x1400d7a20
mov rcx, rsi
mov rdx, r13
lea r8, [rsp + 0x148]
call qword [0x1402233e0]
mov r9, qword [rsp + 0x38]
mov ebp, eax
jmp 0x1400d4511
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d2261
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d2284
int3
int3
int3
call fcn.1401b7150
jmp 0x1400d5bb1
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d4c09
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d4c29
cmp qword [rsp + 0x80], rdi
jb 0x1400d6a3e
mov rbx, rax
mov rax, qword [rsp + 0x40]
mov r13, qword [rax + rdi*8]
test r13, r13
je 0x1400d6a2f
mov rsi, rcx
mov rax, qword [rsp + 0x40]
mov qword [rax + rdi*8], 0
mov rax, qword [r13 + 8]
mov rcx, r13
call qword [0x1402233e0]
lock dec dword [r13]
jne 0x1400d7bb7
mov rax, qword [r13 + 0x10]
mov rcx, r13
call qword [0x1402233e0]
inc rdi
xor eax, eax
cmp rdi, qword [rsp + 0x80]
cmove rdi, rax
mov rax, rbx
cmp rdi, rbx
mov rcx, rsi
jne 0x1400d7b63
cmp rax, rcx
jbe 0x1400d852d
cmp qword [rsp + 0x80], rbx
jb 0x1400d6a32
cmp rsi, rbx
jg 0x1400d6a35
mov rdi, rbx
shl rdi, 3
mov rax, rsi
shl rax, 3
mov rsi, rax
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + rax]
test rcx, rcx
jne 0x1400d7c24
mov rax, rsi
add rax, 8
cmp rdi, rax
je 0x1400d22c6
jmp 0x1400d7c01
lock dec dword [rcx]
jne 0x1400d7c12
mov rax, qword [rcx + 0x10]
call qword [0x1402233e0]
jmp 0x1400d7c12
cmp r15, r13
jb 0x1400d68e0
mov rsi, qword [r12 + r13*8]
test rsi, rsi
je 0x1400d68dd
mov qword [r12 + r13*8], 0
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [0x1402233e0]
lock dec dword [rsi]
jne 0x1400d7c8e
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [0x1402233e0]
inc r13
xor eax, eax
cmp r13, r15
cmove r13, rax
cmp r13, rbx
jne 0x1400d7c51
xor eax, eax
jmp 0x1400d213b
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1402233e0]
jmp 0x1400d20c4
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x1402233e0]
jmp 0x1400d5b56
movzx ecx, al
lea rax, str.WorkerThread_born
lea r8, [rsp + 0x1d8]
mov qword [r8], rax
lea rax, [0x1402050c0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 8
mov byte [rsp + 0x28], 0x49
lea rdx, [rsp + 0x150]
mov r9d, 3
call fcn.140036f80
jmp 0x1400d209d
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0x1d8]
mov qword [r8], rax
lea rax, [0x1402050c0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x42
lea rdx, [rsp + 0x150]
mov r9d, 1
call fcn.140036f80
jmp 0x1400d20b7
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0x1d8]
mov qword [r8], rax
lea rax, [0x1402050c0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x45
lea rdx, [rsp + 0x150]
mov r9d, 2
call fcn.140036f80
jmp 0x1400d5b89
movzx ecx, al
lea rax, str.WorkerThread_dead
lea r8, [rsp + 0x1d8]
mov qword [r8], rax
lea rax, [0x1402050c0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 8
mov byte [rsp + 0x28], 0x49
lea rdx, [rsp + 0x150]
mov r9d, 3
call fcn.140036f80
jmp 0x1400d5ba3
add rcx, 0x170
call fcn.140104e50
jmp 0x1400d5e2d
mov rcx, qword [0x1402439e8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400d5874
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d5ffa
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d601d
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov edx, 1
call qword [0x1402233e0]
jmp 0x1400d5d62
mov rax, qword [rdi]
mov rax, qword [rax + 8]
mov rcx, rdi
mov edx, 1
call qword [0x1402233e0]
jmp 0x1400d5e3c
cmp qword [rsp + 0x58], rbx
jb 0x1400d7591
mov rbp, rax
mov rax, qword [rsp + 0x38]
mov r14, qword [rax + rbx*8]
test r14, r14
je 0x1400d7594
mov rsi, rcx
mov rax, qword [rsp + 0x38]
mov qword [rax + rbx*8], 0
mov rax, qword [r14 + 8]
mov rcx, r14
call qword [0x1402233e0]
lock dec dword [r14]
jne 0x1400d816e
mov rax, qword [r14 + 0x10]
mov rcx, r14
call qword [0x1402233e0]
inc rbx
xor eax, eax
cmp rbx, qword [rsp + 0x58]
cmove rbx, rax
mov rax, rbp
cmp rbx, rbp
mov rcx, rsi
jne 0x1400d811e
cmp rax, rcx
jbe 0x1400d86e3
cmp qword [rsp + 0x58], rbp
jb 0x1400d7597
cmp rsi, rbp
jg 0x1400d759a
mov rbx, rbp
shl rbx, 3
mov rax, rsi
shl rax, 3
mov rsi, rax
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + rax]
test rcx, rcx
jne 0x1400d81dc
mov rax, rsi
add rax, 8
cmp rbx, rax
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
je 0x1400d6060
jmp 0x1400d81b2
lock dec dword [rcx]
jne 0x1400d81c3
mov rax, qword [rcx + 0x10]
call qword [0x1402233e0]
jmp 0x1400d81c3
mov edx, 3
jmp 0x1400d65c4
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d8213
lea rsi, [rbp + 0x50]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d81f7
mov rcx, qword [rbp + 0x58]
call fcn.1400bab60
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400d6ce6
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d8246
lea rbx, [rsi + 0x50]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d822a
mov rcx, qword [rsi + 0x58]
call fcn.1400bab60
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400d7191
cmp r13, r12
jb 0x1400d693d
jl 0x1400d693a
je 0x1400d8297
shl r13, 3
shl r12, 3
mov rcx, qword [rbx + r12]
test rcx, rcx
je 0x1400d828e
lock dec dword [rcx]
jne 0x1400d828e
mov rax, qword [rcx + 0x10]
call qword [0x1402233e0]
add r12, 8
cmp r13, r12
jne 0x1400d8276
test r15, r15
js 0x1400d6937
je 0x1400d8967
shl r15, 3
xor esi, esi
mov rcx, qword [rbx + rsi]
test rcx, rcx
je 0x1400d82c4
lock dec dword [rcx]
jne 0x1400d82c4
mov rax, qword [rcx + 0x10]
call qword [0x1402233e0]
add rsi, 8
cmp r15, rsi
jne 0x1400d82ac
jmp 0x1400d8967
cmp rsi, r12
jb 0x1400d68aa
jl 0x1400d68a7
je 0x1400d830c
shl rsi, 3
shl r12, 3
mov rcx, qword [rbx + r12]
test rcx, rcx
je 0x1400d8303
lock dec dword [rcx]
jne 0x1400d8303
mov rax, qword [rcx + 0x10]
call qword [0x1402233e0]
add r12, 8
cmp rsi, r12
jne 0x1400d82eb
test r15, r15
js 0x1400d68a4
je 0x1400d5662
shl r15, 3
xor esi, esi
mov rcx, qword [rbx + rsi]
test rcx, rcx
je 0x1400d8339
lock dec dword [rcx]
jne 0x1400d8339
mov rax, qword [rcx + 0x10]
call qword [0x1402233e0]
add rsi, 8
cmp r15, rsi
jne 0x1400d8321
jmp 0x1400d5662
cmp qword [rsp + 0x40], rbx
jb 0x1400d6a41
jl 0x1400d6a44
je 0x1400d84ed
shl qword [rsp + 0x40], 3
shl rbx, 3
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + rbx]
test rcx, rcx
je 0x1400d84e2
lock dec dword [rcx]
jne 0x1400d84e2
mov rax, qword [rcx + 0x10]
call qword [0x1402233e0]
add rbx, 8
cmp qword [rsp + 0x40], rbx
jne 0x1400d84c5
test rbp, rbp
js 0x1400d6a47
je 0x1400d7211
shl rbp, 3
xor esi, esi
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + rsi]
test rcx, rcx
je 0x1400d851f
lock dec dword [rcx]
jne 0x1400d851f
mov rax, qword [rcx + 0x10]
call qword [0x1402233e0]
add rsi, 8
cmp rbp, rsi
jne 0x1400d8502
jmp 0x1400d7211
cmp qword [rsp + 0x80], rsi
jb 0x1400d6a38
jl 0x1400d6a3b
je 0x1400d8581
shl qword [rsp + 0x80], 3
shl rsi, 3
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + rsi]
test rcx, rcx
je 0x1400d856d
lock dec dword [rcx]
jne 0x1400d856d
mov rax, qword [rcx + 0x10]
call qword [0x1402233e0]
mov rax, rsi
add rax, 8
mov rsi, rax
cmp qword [rsp + 0x80], rax
jne 0x1400d8550
test rbx, rbx
js 0x1400d6a2c
je 0x1400d22c6
shl rbx, 3
xor edi, edi
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + rdi]
test rcx, rcx
je 0x1400d85b3
lock dec dword [rcx]
jne 0x1400d85b3
mov rax, qword [rcx + 0x10]
call qword [0x1402233e0]
add rdi, 8
cmp rbx, rdi
jne 0x1400d8596
jmp 0x1400d22c6
cmp qword [rsp + 0x58], rsi
jb 0x1400d759d
jl 0x1400d75a0
je 0x1400d872e
shl qword [rsp + 0x58], 3
shl rsi, 3
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + rsi]
test rcx, rcx
je 0x1400d871d
lock dec dword [rcx]
jne 0x1400d871d
mov rax, qword [rcx + 0x10]
call qword [0x1402233e0]
mov rax, rsi
add rax, 8
mov rsi, rax
cmp qword [rsp + 0x58], rax
jne 0x1400d8700
test rbp, rbp
js 0x1400d75a3
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
je 0x1400d6060
shl rbp, 3
xor ebx, ebx
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + rbx]
test rcx, rcx
je 0x1400d8767
lock dec dword [rcx]
jne 0x1400d8767
mov rax, qword [rcx + 0x10]
call qword [0x1402233e0]
add rbx, 8
cmp rbp, rbx
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jne 0x1400d874a
jmp 0x1400d6060
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d6562
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d6777
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d6801
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d60a4
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d6d1b
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d6d3f
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d71b0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d71d4
cmp qword [rsp + 0x40], rsi
jb 0x1400d6a4a
mov rax, qword [rsp + 0x60]
mov r12, qword [rax + rsi*8]
test r12, r12
je 0x1400d6a4d
mov rax, qword [rsp + 0x60]
mov qword [rax + rsi*8], 0
mov rax, qword [r12 + 8]
mov rcx, r12
call qword [0x1402233e0]
lock dec dword [r12]
jne 0x1400d8871
mov rax, qword [r12 + 0x10]
mov rcx, r12
call qword [0x1402233e0]
inc rsi
xor eax, eax
cmp rsi, qword [rsp + 0x40]
cmove rsi, rax
cmp rsi, rbp
jne 0x1400d8824
cmp rbp, rbx
jbe 0x1400d84a8
cmp qword [rsp + 0x40], rbp
jb 0x1400d6a50
cmp rbx, rbp
jg 0x1400d6a53
shl rbp, 3
shl rbx, 3
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + rbx]
test rcx, rcx
je 0x1400d88c6
lock dec dword [rcx]
jne 0x1400d88c6
mov rax, qword [rcx + 0x10]
call qword [0x1402233e0]
add rbx, 8
cmp rbp, rbx
je 0x1400d7211
jmp 0x1400d88a9
cmp r13, r14
jb 0x1400d6949
mov rsi, qword [rbx + r14*8]
test rsi, rsi
je 0x1400d6946
mov qword [rbx + r14*8], 0
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [0x1402233e0]
lock dec dword [rsi]
jne 0x1400d8912
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [0x1402233e0]
inc r14
xor eax, eax
cmp r14, r13
cmove r14, rax
cmp r14, r15
jne 0x1400d88d5
cmp r15, r12
jbe 0x1400d825d
cmp r13, r15
jb 0x1400d6943
cmp r12, r15
jg 0x1400d6940
shl r15, 3
shl r12, 3
mov rcx, qword [rbx + r12]
test rcx, rcx
je 0x1400d895e
lock dec dword [rcx]
jne 0x1400d895e
mov rax, qword [rcx + 0x10]
call qword [0x1402233e0]
add r12, 8
cmp r15, r12
jne 0x1400d8946
lea rcx, str.PM_v_
mov rdx, rbx
xor r8d, r8d
call fcn.1400ce810
test rdi, rdi
mov r13, qword [rsp + 0x48]
movabs r15, 0xfffffffc00000000
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
je 0x1400d31bb
jmp 0x1400d6d9a