Function at 0x1400caee0
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, 0x228
movaps xmmword [rsp + 0x210], xmm10
movaps xmmword [rsp + 0x200], xmm9
movaps xmmword [rsp + 0x1f0], xmm8
movaps xmmword [rsp + 0x1e0], xmm7
movaps xmmword [rsp + 0x1d0], xmm6
mov rbp, rcx
mov rax, qword [0x140260028]
xor rax, rsp
mov qword [rsp + 0x1c8], rax
mov qword [rsp + 0x130], 0xb
mov al, byte [0x140271fcb]
test al, al
jne 0x1400cd9ab
mov qword [rsp + 0x130], 0xb
mov al, byte [0x140271fcb]
test al, al
jne 0x1400cd9f1
mov rcx, qword [rbp + 0x48]
test rcx, rcx
jne 0x1400cd8e6
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
call qword [0x1402529a0]
mov rcx, qword [rax]
mov r8, qword [rcx + 0x10]
mov rcx, rax
mov rdx, rbp
mov rax, r8
call qword [0x1402529a0]
mov eax, dword [0x140272548]
test eax, eax
je 0x1400cb0d7
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x1400cd8a8
cmp dword [rbp + 0x50], 0
mov qword [rsp + 0x110], 0
je 0x1400cb0e3
mov rcx, qword [0x140272538]
test rcx, rcx
je 0x1400cd8b9
lea rdx, [rsp + 0x158]
mov r8d, 2
call fcn.140034120
lea rcx, [rsp + 0x110]
lea rdi, [rsp + 0x158]
mov rdx, rdi
call fcn.140003fd0
mov rdi, qword [rdi]
test rdi, rdi
je 0x1400cb060
mov qword [rsp + 0x158], 0
mov rax, qword [rdi + 8]
mov rcx, rdi
call qword [0x1402529a0]
lock dec dword [rdi]
jne 0x1400cb04f
mov rax, qword [rdi + 0x10]
lea rcx, [0x1401ff0e0]
cmp rax, rcx
je 0x1400cb0f0
mov rcx, rdi
call qword [0x1402529a0]
mov rdi, qword [rsp + 0x158]
test rdi, rdi
jne 0x1400cb112
mov al, 1
mov dword [rsp + 0x5c], eax
movabs r14, 0x7fffffffffffffff
lea r15, [rsp + 0x188]
mov eax, dword [0x14026ee18]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rax, [rax + 0x158]
mov qword [rsp + 0x90], rax
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r12, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
movaps xmm6, xmmword [0x14022cb50]
movsd xmm7, qword [0x140248418]
movsd xmm8, qword [0x14023d700]
movsd xmm9, qword [0x14023d6f8]
xorps xmm10, xmm10
mov qword [rsp + 0x40], rbp
jmp 0x1400cb481
mov qword [rsp + 0x110], 0
mov dword [rsp + 0x5c], 0
jmp 0x1400cb066
mov rcx, qword [rdi + 0x28]
test rcx, rcx
jne 0x1400cb106
mov rcx, rdi
call fcn.140146640
jmp 0x1400cb04f
lock dec dword [rcx]
jne 0x1400cb0f9
call fcn.140146640
jmp 0x1400cb0f9
lock dec dword [rdi]
jne 0x1400cb060
mov rax, qword [rdi + 0x10]
lea rcx, [0x1401ff0e0]
cmp rax, rcx
je 0x1400cb139
mov rcx, rdi
call qword [0x1402529a0]
jmp 0x1400cb060
mov rcx, qword [rdi + 0x28]
test rcx, rcx
jne 0x1400cb14f
mov rcx, rdi
call fcn.140146640
jmp 0x1400cb060
lock dec dword [rcx]
jne 0x1400cb142
call fcn.140146640
jmp 0x1400cb142
xor esi, esi
jmp 0x1400cb3e4
lea r15, [r14 + 0x20]
mov rcx, r15
call r13
test al, al
je 0x1400cd7d0
lea rcx, [r14 + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r15
call r12
mov rcx, r15
call r13
test al, al
je 0x1400cd7de
mov rax, qword [r14 + 0x40]
mov qword [rsp + 0x50], rax
mov rbx, qword [r14 + 0x48]
movups xmmword [r14 + 0x40], xmm10
mov r13, qword [r14 + 0x50]
mov rsi, qword [r14 + 0x58]
movups xmmword [r14 + 0x50], xmm10
mov rcx, r15
call r12
mov rax, rsi
mov r15, r13
cmp r13, rsi
jne 0x1400cd7f5
lea rcx, fcn.140002230
mov rdx, qword [rsp + 0x50]
xor r8d, r8d
call fcn.140001050
lea r15, [rsp + 0x188]
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r12, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400cb36b
cmp qword [rsp + 0x60], 0
je 0x1400cb219
mov al, byte [rbx + 0xd]
and al, 0x7f
cmp al, 2
je 0x1400ccebc
mov rsi, qword [rsp + 0x60]
lock dec dword [rsi + 0x18]
je 0x1400cc788
lock dec dword [rbx + 8]
jne 0x1400cb352
jmp 0x1400ccb10
mov al, byte [rbp + 0x30]
test al, al
jne 0x1400cb291
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
mov rcx, rbp
call qword [0x1402529a0]
test al, al
jne 0x1400cb291
mov rsi, qword [rbp + 0x38]
lea rdi, [rsi + 0x60]
mov rcx, rdi
call r13
test al, al
je 0x1400ccf98
mov rax, qword [rsi + 0x68]
test rax, rax
jne 0x1400cd0d3
mov rcx, rdi
call r12
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
call qword [0x1402529a0]
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x40]
mov rcx, rax
mov rax, rdx
call qword [0x1402529a0]
mov rax, qword [rsp + 0xe0]
jmp 0x1400cb3d8
mov rcx, rdi
lea rdx, [rsp + 0x1b0]
call qword [0x1402529a0]
jmp 0x1400cb5b7
lea rcx, [0x1400cded0]
cmp rax, rcx
je 0x1400cb533
jmp 0x1400ccba8
lea rcx, [0x1400cf100]
cmp rax, rcx
jne 0x1400ccb8c
mov al, byte [rbp + 0x78]
jmp 0x1400cb4af
mov r14, qword [rsp + 0xa8]
test r14, r14
je 0x1400cb35f
mov qword [rsp + 0xa0], 0
mov al, byte [rdi + 0xd]
and al, 0x7f
cmp al, 2
je 0x1400ccd41
lock dec dword [r14 + 0x18]
je 0x1400cb162
lock dec dword [rdi + 8]
jne 0x1400cb370
jmp 0x1400cc820
mov rcx, r12
lea rdx, [rsp + 0xb0]
lea r8, [rsp + 0xa0]
mov r9, rbp
call qword [0x1402529a0]
mov r12, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400cb38b
add rcx, 0x18
call r12
test rbx, rbx
jne 0x1400cb1f5
mov rdi, qword [rsp + 0xa0]
test rdi, rdi
jne 0x1400cb2e1
mov qword [rsp + 0xa0], 0
test rdi, rdi
jne 0x1400cb312
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
jne 0x1400cd2cf
movabs r14, 0x7fffffffffffffff
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x1400ccb2a
mov edi, dword [rbp + 0x50]
cmp dword [rbp + 0x54], edi
jne 0x1400ccfbc
cmp qword [rsp + 0xe0], 0
jne 0x1400cd1ef
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rcx
test rax, rax
jne 0x1400cba81
mov sil, 1
cmp byte [rsp + 0x108], 1
jne 0x1400cb478
cmp byte [rsp + 0xf0], 1
jne 0x1400cb478
mov rax, qword [rsp + 0x90]
mov rdi, qword [rax]
test rdi, rdi
je 0x1400cb478
mov rax, qword [rdi + 0x10]
test rax, rax
js 0x1400cd325
cmp dword [rdi + 0x24], 1
jne 0x1400cd61e
cmp qword [rdi + 0x18], 0
jne 0x1400cd500
movabs rax, 0xbfffffffffffffff
lock and qword [rdi + 0x10], rax
mov rbx, qword [rsp + 0xf8]
cmp qword [rdi + 0x18], 0
jne 0x1400cd585
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 0x1400cc5fb
movzx eax, byte [rbp + 0x30]
test al, al
jne 0x1400cc5fb
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
lea rcx, [0x1400cdee0]
cmp rax, rcx
jne 0x1400cb2c9
mov rax, qword [rbp + 0x70]
mov rax, qword [rax + 0x18]
mov al, byte [rax]
test al, al
jne 0x1400cc5fb
mov rsi, qword [rbp + 0x38]
lea rdi, [rsi + 0x60]
mov rcx, rdi
call r13
test al, al
je 0x1400ccb34
mov rax, qword [rsi + 0x68]
test rax, rax
jne 0x1400ccf28
mov rcx, rdi
call r12
movaps xmmword [rsp + 0xf0], xmm6
movaps xmmword [rsp + 0x100], xmm6
mov byte [rsp + 0xf0], 0
mov byte [rsp + 0x108], 0
mov qword [rsp + 0x130], 0xb
movzx eax, byte [0x140271fcb]
test al, al
jne 0x1400cd5b5
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
lea rcx, [0x1400cded0]
cmp rax, rcx
jne 0x1400cb2b4
mov rdi, qword [rbp + 0x70]
mov rax, qword [rdi]
lea rcx, [fcn.140004590]
cmp qword [rax + 0x30], rcx
jne 0x1400cc5a4
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x1b0], rax
mov rax, qword [rdi]
mov rax, qword [rax + 0x28]
lea rcx, [0x1400d57b0]
cmp rax, rcx
jne 0x1400cb29e
cmp byte [rdi - 8], 1
mov rax, r14
jne 0x1400cb5af
mov rax, qword [rdi - 0x18]
cvtsi2sd xmm0, qword [rax + 0x30]
mulsd xmm0, xmm7
ucomisd xmm0, xmm8
mov rcx, r14
mov eax, 0
cmovb rcx, rax
ucomisd xmm9, xmm0
maxsd xmm0, xmm8
cvttsd2si rax, xmm0
cmovb rax, rcx
mov qword [rsp + 0x1b0], rax
mov rax, qword [fcn.140144d80]
lea rcx, [0x140136f50]
cmp rax, rcx
jne 0x1400cce14
mov qword [rsp + 0x158], 0
lea rcx, [rsp + 0x158]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x158]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400cd526
imul rax, rax, 0xf4240
cqo
idiv qword [0x140272470]
mov r13, rax
mov qword [rsp + 0x118], rax
mov rdx, qword [rdi]
mov eax, dword [0x140279798]
mov ecx, dword [0x14026ee18]
mov r8, qword gs:[0x58]
mov rcx, qword [r8 + rcx*8]
mov ecx, dword [rcx + 4]
lea r8, [fcn.1401ce250]
cmp qword [rdx + 0x50], r8
jne 0x1400ccc65
cmp eax, ecx
jg 0x1400ccb50
cmp byte [0x140279794], 1
jne 0x1400cd22e
mov eax, dword [0x1402797a8]
mov ecx, dword [0x14026ee18]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400ccadf
mov rax, qword [rdi + 8]
test rax, rax
jne 0x1400cb69b
mov rax, qword [0x1402797a0]
add rax, 0x3938700
cmovo rax, r14
cmp rax, r13
mov r12d, 0x3938700
mov r8d, 0xf4240
cmovl r12, r8
add r12, r13
cmovo r12, r14
mov rax, r12
movabs rcx, 0x431bde82d7b634db
imul rcx
mov rax, rdx
shr rax, 0x3f
sar rdx, 0x12
add rdx, rax
imul rcx, rdx, 0xf4240
mov rax, r12
sub rax, rcx
test r12, r12
mov edx, 0
cmovg rdx, r8
mov ecx, 0
test rax, rax
je 0x1400cb706
sub rdx, rax
mov rcx, rdx
lea rax, [r12 + rcx]
sar rax, 0x3f
movabs rdx, 0x8000000000000000
xor rax, rdx
add r12, rcx
cmovo r12, rax
xor eax, eax
cmp r12, r13
setns al
add rax, r14
sub r12, r13
cmovo r12, rax
mov r15, qword [rsp + 0x1b0]
cmp r15, r12
cmovge r15, r12
mov rax, qword [rdi]
mov rax, qword [rax + 0x48]
lea rcx, [0x1400d5550]
cmp rax, rcx
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jne 0x1400cc467
lea rsi, [r14 + r15]
add rsi, 2
cmp rsi, 2
jb 0x1400cc778
mov rax, r15
movabs rcx, 0x20c49ba5e353f7cf
imul rcx
mov rbx, rdx
mov rax, rdx
shr rax, 0x3f
sar rbx, 7
add rbx, rax
xor eax, eax
test rbx, rbx
setns al
neg eax
mov rcx, rbx
shr rcx, 0x20
cmovne ebx, eax
mov r13, qword [rdi + 0x10]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x130], rax
mov rax, qword [fcn.140144d80]
lea rcx, [0x140136f50]
cmp rax, rcx
jne 0x1400ccd9e
mov qword [rsp + 0x158], 0
lea rcx, [rsp + 0x158]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x158]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400cd4d6
imul rax, rax, 0xf4240
cqo
idiv qword [0x140272470]
mov qword [rsp + 0x130], rax
mov rcx, qword [r13]
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x1400cc494
mov byte [rdi + 0x20], 0
mov rbp, qword [rsp + 0x40]
lea r15, [rsp + 0x188]
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r12, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsp + 0x1b0], 0xb
movzx eax, byte [0x140271fcb]
test al, al
jne 0x1400cd66c
movzx eax, byte [rbp + 0x30]
test al, al
jne 0x1400cb15b
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
lea rcx, [0x1400cdee0]
cmp rax, rcx
jne 0x1400cc311
mov rax, qword [rbp + 0x70]
mov rax, qword [rax + 0x18]
mov al, byte [rax]
test al, al
jne 0x1400cb15b
mov rsi, qword [rbp + 0x38]
lea rdi, [rsi + 0x60]
mov rcx, rdi
call r13
test al, al
je 0x1400ccb42
mov rax, qword [rsi + 0x68]
test rax, rax
jne 0x1400ccf60
mov rcx, rdi
call r12
cmp byte [rsp + 0x5c], 0
je 0x1400cb908
cmp byte [rsp + 0x108], 1
je 0x1400cd298
mov qword [rsp + 0xf8], 0
mov byte [rsp + 0x100], 0
mov byte [rsp + 0xf0], 0
mov byte [rsp + 0x108], 1
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x1400ccc5b
mov edi, dword [rbp + 0x50]
cmp dword [rbp + 0x54], edi
jne 0x1400cd336
movaps xmmword [rsp + 0xe0], xmm6
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
lea rcx, [0x1400cded0]
cmp rax, rcx
jne 0x1400cc41c
mov rdi, qword [rbp + 0x70]
mov rax, qword [rdi]
mov rax, qword [rax + 0x18]
lea rcx, [0x1401425b0]
cmp rax, rcx
jne 0x1400cc34a
movups xmmword [r15 + 0x10], xmm6
movups xmmword [r15], xmm6
mov rbx, qword [rdi - 0x18]
mov qword [rsp + 0x160], rbx
mov byte [rsp + 0x198], 0
movups xmmword [r15 - 0x10], xmm10
movups xmmword [r15 - 0x20], xmm10
lea rsi, fcn.14011a8f0
mov qword [rsp + 0x158], rsi
mov dword [rsp + 0x1a0], 0
add rbx, 0x68
mov rcx, rbx
call r13
test al, al
je 0x1400cc43d
add rdi, 0xffffffffffffffc0
mov rcx, rdi
lea rdx, [rsp + 0xe0]
lea r8, [rsp + 0x158]
mov r9, rbp
call fcn.1400cdf00
mov rcx, rbx
call r12
mov qword [rsp + 0x158], rsi
cmp dword [rsp + 0x1a0], 0
jg 0x1400cc2bf
lea rax, [0x14022f818]
mov qword [rsp + 0x158], rax
mov rdx, qword [rsp + 0x180]
mov rax, rdx
mov rbx, r15
and rax, 1
jne 0x1400cd0af
mov rsi, rdx
shr rsi, 1
mov cl, 1
cmp rdx, 2
jae 0x1400cc92a
mov rdx, r15
test rax, rax
jne 0x1400cd03a
test cl, cl
je 0x1400cc83a
test rax, rax
jne 0x1400cd09d
mov qword [rsp + 0x180], 0
cmp byte [rsp + 0x198], 0
jne 0x1400cce2f
mov rsi, qword [rsp + 0x168]
test rsi, rsi
jne 0x1400cc363
mov rax, qword [rsp + 0xe0]
test rax, rax
je 0x1400cb228
mov qword [rsp + 0xd8], rax
lea rcx, [rsp + 0xd8]
call fcn.1400d1520
mov rcx, qword [rbp + 0x38]
movapd xmm0, xmmword [rsp + 0xe0]
movupd xmmword [rsp + 0xc8], xmm0
movaps xmmword [rsp + 0xe0], xmm10
lea rdx, [rsp + 0x158]
lea r8, [rsp + 0xc8]
call fcn.1400cf110
mov r8, qword [rsp + 0xe0]
test r8, r8
jne 0x1400cd2f0
mov qword [rsp + 0x130], r8
mov qword [rsp + 0xe0], 0
test r8, r8
jne 0x1400cd2aa
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x158], 0
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0xe0], rax
test rcx, rcx
jne 0x1400cd345
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xc0], rax
lea rcx, [rsp + 0xc0]
call fcn.1400d1520
cmp byte [rsp + 0x5c], 0
je 0x1400cbc15
cmp byte [rsp + 0x108], 1
jne 0x1400cbbf1
cmp byte [rsp + 0xf0], 1
jne 0x1400cbbf1
mov rax, qword [rsp + 0x90]
mov rsi, qword [rax]
test rsi, rsi
je 0x1400cbbf1
mov rax, qword [rsi + 0x10]
test rax, rax
js 0x1400cd287
cmp dword [rsi + 0x24], 1
jne 0x1400cd482
cmp qword [rsi + 0x18], 0
jne 0x1400cd413
movabs rax, 0xbfffffffffffffff
lock and qword [rsi + 0x10], rax
mov rdi, qword [rsp + 0xf8]
cmp qword [rsi + 0x18], 0
jne 0x1400cd439
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 + 0xf8], 0
mov byte [rsp + 0x100], 0
mov byte [rsp + 0xf0], 0
mov byte [rsp + 0x108], 1
movaps xmmword [rsp + 0xb0], xmm6
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
lea rcx, [0x1400cded0]
cmp rax, rcx
jne 0x1400cc329
mov r12, qword [rbp + 0x70]
mov rsi, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xe8]
mov qword [rsp + 0xa0], rsi
movaps xmmword [rsp + 0xe0], xmm10
mov qword [rsp + 0xa8], rbx
mov rax, qword [r12]
mov rax, qword [rax + 0x20]
lea rcx, [0x140103950]
cmp rax, rcx
jne 0x1400cb31d
test rsi, rsi
mov qword [rsp + 0x50], rsi
jne 0x1400cc27f
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rsi, [rax - 0xaa]
mov rbx, rax
mov qword [rsp + 0x70], rax
lea r14, [rsp + 0x188]
movups xmmword [r14 + 0x10], xmm6
movups xmmword [r14], xmm6
mov rdi, qword [r12 - 0x18]
mov qword [rsp + 0x160], rdi
mov byte [rsp + 0x198], 0
movups xmmword [r15 - 0x10], xmm10
movups xmmword [r15 - 0x20], xmm10
lea rax, fcn.14011a8f0
mov qword [rsp + 0x158], rax
mov dword [rsp + 0x1a0], 0
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x140], xmm6
mov byte [rsp + 0x130], 0
mov byte [rsp + 0x148], 0
mov qword [rsp + 0x150], 0
add rdi, 0x68
mov rcx, rdi
call r13
test al, al
je 0x1400cc44b
mov qword [rsp + 0x68], rdi
cmp byte [r12 - 5], 1
je 0x1400cd23b
cmp byte [r12 - 0x27], 0
lea rdi, fcn.14011a8f0
je 0x1400cd239
mov rax, qword [r12 - 0x18]
mov rcx, qword [rax + 0x120]
dec rcx
cmp byte [r12 - 0x28], 0
mov qword [rax + 0x120], rcx
je 0x1400cc2b3
mov rdx, qword [rax + 0x80]
cmp rdx, qword [rax + 0x88]
je 0x1400cbd8c
cmp rcx, qword [rax + 0x110]
jae 0x1400cc26f
mov word [rax + 0xb8], 0
cmp byte [r12 - 0x25], 1
jne 0x1400cbda3
mov byte [r12 - 0x25], 0
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x48], rsi
cmp byte [r12 - 0x27], 1
jne 0x1400cbdbb
mov byte [r12 - 0x27], 0
lea r13, [r12 - 0x40]
mov rbx, qword [r12 - 0x18]
cmp qword [rsp + 0x50], 0
jne 0x1400cc0fa
mov r15, qword [rbx + 0x98]
mov r9, qword [rbx + 0x128]
test r15, r15
mov qword [rsp + 0x78], r13
jne 0x1400cc20c
xor r15d, r15d
mov r13, qword [rbx + 0xa8]
mov r10, qword [rbx + 0x118]
mov rdi, qword [rbx + 0x128]
mov rsi, qword [rbx + 0x120]
add r13, qword [rbx + 0xa0]
je 0x1400cc16f
mov rax, qword [rbx + 8]
mov eax, dword [rax + 0x1c]
cmp eax, 1
ja 0x1400cc16f
mov rax, qword [rbx + 0x80]
cmp rax, qword [rbx + 0x88]
je 0x1400cd239
mov cl, byte [rax + 0x10]
dec cl
cmp cl, 1
ja 0x1400cbf38
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
mov eax, 1
lea r8, [0x1400e3240]
cmp rdx, r8
je 0x1400cbf26
lea rax, [0x140146410]
cmp rdx, rax
mov qword [rsp + 0x88], r9
mov qword [rsp + 0x80], r10
jne 0x1400ccd23
mov eax, dword [rcx + 0x40]
test al, 1
jne 0x1400ccc54
mov r14, qword [rcx + 0x70]
test r14, r14
je 0x1400cd1a4
mov edx, 1
lock xadd dword [r14], edx
test edx, edx
jle 0x1400cd1a1
cmp edx, 0x7fffffff
je 0x1400cd19e
shr eax, 1
movzx edx, al
mov rax, qword [rcx + 0x70]
mov rax, qword [rax + 8]
mov rcx, r14
mov qword [rsp + 0x98], rdx
call qword [0x1402529a0]
mov rbp, rax
lock dec dword [r14]
je 0x1400cd4c9
cmp rbp, 0x20
mov eax, 0x20
cmovae rbp, rax
sub rbp, qword [rsp + 0x98]
mov eax, 0
cmovae rax, rbp
mov rbp, qword [rsp + 0x40]
lea r14, [rsp + 0x188]
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0x80]
lea rcx, [rax + r13]
dec rcx
add r13, rax
cmp rcx, 1
adc r13, 0xffffffffffffffff
sub rsi, rdi
add r15, r9
cmp r10, r15
cmovb r15, r10
cmp r15, rdi
cmovbe r15, rdi
add rsi, r13
add rsi, r15
mov rax, qword [rbx + 0x110]
cmp rax, rsi
cmovb rsi, rax
mov eax, 0x100
cmp rsi, rax
cmovae rsi, rax
mov rax, qword [r12 - 0x18]
mov rcx, qword [rax + 0x1c8]
cmp rsi, rcx
jae 0x1400cc1ea
dec rcx
mov qword [rax + 0x1c8], rcx
mov rcx, qword [r12 - 0x18]
mov eax, 0x138
add rcx, rax
call qword [sym.imp.KERNEL32.dll_WakeConditionVariable]
movaps xmmword [rsp + 0xb0], xmm10
lea r15, [rsp + 0x188]
lea rdi, fcn.14011a8f0
mov rbx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x68]
mov r12, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
call r12
mov rcx, qword [rsp + 0x150]
test rcx, rcx
jne 0x1400cce5d
cmp byte [rsp + 0x148], 1
je 0x1400ccddf
mov qword [rsp + 0x158], rdi
cmp dword [rsp + 0x1a0], 0
jg 0x1400cc0a8
lea rax, [0x14022f818]
mov qword [rsp + 0x158], rax
mov rdx, qword [rsp + 0x180]
mov rax, rdx
mov rdi, r14
and rax, 1
jne 0x1400cd02d
mov rsi, rdx
shr rsi, 1
mov cl, 1
cmp rdx, 2
jae 0x1400cc879
mov rdx, r14
test rax, rax
jne 0x1400cd00e
test cl, cl
je 0x1400cc5b1
test rax, rax
jne 0x1400cd01b
mov qword [rsp + 0x180], 0
cmp byte [rsp + 0x198], 0
mov rsi, qword [rsp + 0x50]
jne 0x1400ccdb1
mov r13, qword [rsp + 0x168]
test r13, r13
jne 0x1400cc177
test rsi, rsi
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
je 0x1400cb352
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1400cb349
jmp 0x1400cb342
xor esi, esi
mov qword [rsp + 0x1a8], 0x9b
mov al, byte [0x14027205b]
test al, al
jne 0x1400cd6ce
mov rax, qword [rsp + 0x160]
mov rcx, qword [rax + 0x1b8]
mov edx, 1
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
test eax, eax
je 0x1400cd1f2
inc esi
cmp esi, dword [rsp + 0x1a0]
jge 0x1400cbfff
jmp 0x1400cc0aa
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x128], rax
mov rcx, rbx
lea rsi, [rsp + 0x158]
mov rdx, rsi
lea r8, [rsp + 0x130]
lea r9, [rsp + 0x118]
call fcn.140104b60
mov rcx, r13
lea rdx, [rsp + 0xb0]
mov r8, rsi
mov r9, rbp
call fcn.1400cdf00
xor ebx, ebx
xor eax, eax
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rsp + 0x70], rax
jmp 0x1400cbfbb
xor r13d, r13d
jmp 0x1400cbf38
mov rbp, qword [rsp + 0x170]
mov rcx, r13
cmp rbp, r13
je 0x1400cc1d3
mov rax, rbp
add rbp, 0xfffffffffffffff0
je 0x1400cd239
mov r12, qword [rbp]
test r12, r12
jne 0x1400cc9ee
mov qword [rbp], 0
test r12, r12
jne 0x1400cca15
mov rcx, qword [rbp]
test rcx, rcx
jne 0x1400cd724
cmp rbp, r13
mov r12, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jne 0x1400cc187
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x170], r13
call fcn.140146640
mov rbp, qword [rsp + 0x40]
jmp 0x1400cc085
mov rcx, qword [rsp + 0x78]
lea rdx, [rsp + 0xb0]
lea r8, [rsp + 0x158]
mov r9, rbp
call fcn.1400cdf00
jmp 0x1400cbfa7
mov rax, qword [rbx + 8]
mov eax, dword [rax + 0x1c]
test eax, eax
jne 0x1400cbded
mov rax, qword [rbx + 0x80]
cmp rax, qword [rbx + 0x88]
je 0x1400cd239
cmp byte [rax + 0x10], 0
jne 0x1400cbdf0
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
mov eax, 1
lea r8, [0x1400e3240]
cmp rdx, r8
jne 0x1400cd79b
lea rcx, [r15 + rax]
dec rcx
add r15, rax
cmp rcx, 1
adc r15, 0xffffffffffffffff
jmp 0x1400cbdf0
movzx ecx, word [rdx + 0x10]
mov word [rax + 0xb8], cx
jmp 0x1400cbd95
lea rdi, [rsi + 0x18]
movaps xmmword [rsp + 0xa0], xmm10
mov rcx, rdi
call r13
test al, al
lea r14, [rsp + 0x188]
je 0x1400cc2a8
mov qword [rsp + 0x70], rsi
jmp 0x1400cbca9
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400cc29e
dec qword [rax + 0x128]
jmp 0x1400cbd6f
xor esi, esi
mov qword [rsp + 0x118], 0x9b
mov al, byte [0x14027205b]
test al, al
jne 0x1400cd745
mov rax, qword [rsp + 0x160]
mov rcx, qword [rax + 0x1b8]
mov edx, 1
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
test eax, eax
je 0x1400cd4fd
inc esi
cmp esi, dword [rsp + 0x1a0]
jge 0x1400cb9ef
jmp 0x1400cc2c1
lea rcx, [0x1400cf100]
cmp rax, rcx
jne 0x1400ccb9a
mov al, byte [rbp + 0x78]
jmp 0x1400cb89e
lea rcx, [0x1400cded0]
cmp rax, rcx
je 0x1400cbc35
mov rcx, rbp
call qword [0x1402529a0]
mov r12, rax
jmp 0x1400cbc39
mov rcx, rdi
lea rdx, [rsp + 0xe0]
mov r8, rbp
call qword [0x1402529a0]
jmp 0x1400cba70
mov r12, qword [rsp + 0x170]
mov rcx, rsi
cmp r12, rsi
je 0x1400cc3ba
mov rax, r12
add r12, 0xfffffffffffffff0
je 0x1400cd239
mov rdi, qword [r12]
test rdi, rdi
jne 0x1400cc3d3
mov qword [r12], 0
test rdi, rdi
jne 0x1400cc3fc
mov rcx, qword [r12]
test rcx, rcx
jne 0x1400cd7af
cmp r12, rsi
movabs r14, 0x7fffffffffffffff
jne 0x1400cc373
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x170], rsi
call fcn.140146640
mov r12, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400cba70
mov r14, qword [rax - 8]
test r14, r14
je 0x1400cc389
mov qword [r12], 0
mov al, byte [rdi + 0xd]
and al, 0x7f
cmp al, 2
je 0x1400cd047
lock dec dword [r14 + 0x18]
je 0x1400ccbb9
lock dec dword [rdi + 8]
jne 0x1400cc396
mov rax, qword [rdi]
mov rax, qword [rax + 0x30]
mov rcx, rdi
mov edx, 1
call qword [0x1402529a0]
jmp 0x1400cc396
lea rcx, [0x1400cded0]
cmp rax, rcx
je 0x1400cb946
mov rcx, rbp
call qword [0x1402529a0]
mov rdi, rax
jmp 0x1400cb94a
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400cb9b4
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400cbd29
mov rcx, rdi
mov rdx, r15
call qword [0x1402529a0]
jmp 0x1400cc47f
lea rcx, [0x140004570]
cmp rax, rcx
jne 0x1400cc459
lea rcx, [rdi + 0x10]
mov rdx, r15
call fcn.1400bbc90
test al, al
lea r15, [rsp + 0x188]
jne 0x1400cb84e
jmp 0x1400cc552
mov ebp, eax
mov rax, qword [rsp + 0x130]
cmp rsi, 2
jb 0x1400cd558
lea rcx, [rax + r15]
sar rcx, 0x3f
btc rcx, 0x3f
add rax, r15
cmovo rax, rcx
mov r14, rax
mov rax, qword [fcn.140144d80]
lea rcx, [0x140136f50]
cmp rax, rcx
jne 0x1400cd13f
mov qword [rsp + 0x158], 0
lea rcx, [rsp + 0x158]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x158]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400cdb07
imul rax, rax, 0xf4240
cqo
idiv qword [0x140272470]
cmp rax, r14
movabs r14, 0x7fffffffffffffff
jle 0x1400cb822
cmp ebp, 0x102
lea r15, [rsp + 0x188]
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jne 0x1400cd7ec
mov byte [rdi + 0x20], 1
mov rbp, qword [rsp + 0x40]
call fcn.1400041a0
mov rax, qword [rsp + 0x1b0]
cmp rax, r12
jle 0x1400cb84e
setns cl
movzx ecx, cl
add rcx, r14
mov rdx, rax
sub rdx, r12
cmovo rdx, rcx
cmp rax, r14
lea rax, [r14 + r12 + 2]
cmove rdx, r14
cmp rax, 2
cmovb rdx, r14
mov rax, qword [rdi]
mov rax, qword [rax + 0x48]
mov rcx, rdi
call qword [0x1402529a0]
jmp 0x1400cb84e
mov rcx, rdi
call fcn.140004590
jmp 0x1400cb855
lea rdi, [rdx + rsi*8]
add rdi, 0xfffffffffffffff8
neg rsi
test rdi, rdi
je 0x1400cd239
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400cc5d7
lock dec dword [rcx + 8]
je 0x1400cdad4
add rdi, 0xfffffffffffffff8
inc rsi
jne 0x1400cc5bc
mov rax, qword [rsp + 0x180]
and eax, 1
jmp 0x1400cc04c
lock dec dword [rcx + 8]
jne 0x1400cc640
jmp 0x1400cd0bc
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
call qword [0x1402529a0]
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov rdx, rbp
mov rax, r8
call qword [0x1402529a0]
mov rcx, qword [rbp + 0x48]
test rcx, rcx
jne 0x1400cd8f8
mov rcx, qword [rbp + 0x10]
mov qword [rbp + 0x10], 0
test rcx, rcx
jne 0x1400cc5f0
mov qword [rsp + 0x130], 0xb
mov al, byte [0x140271fcb]
test al, al
jne 0x1400cda37
mov qword [rsp + 0x130], 0xb
mov al, byte [0x140271fcb]
test al, al
jne 0x1400cda7d
mov rsi, qword [rsp + 0x110]
test rsi, rsi
je 0x1400cc6c5
mov qword [rsp + 0x110], 0
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [0x1402529a0]
lock dec dword [rsi]
jne 0x1400cc6b8
mov rax, qword [rsi + 0x10]
lea rcx, [0x1401ff0e0]
cmp rax, rcx
je 0x1400cc714
mov rcx, rsi
call qword [0x1402529a0]
mov rsi, qword [rsp + 0x110]
test rsi, rsi
jne 0x1400cc733
mov rcx, qword [rsp + 0x1c8]
xor rcx, rsp
call fcn.140149190
movaps xmm6, xmmword [rsp + 0x1d0]
movaps xmm7, xmmword [rsp + 0x1e0]
movaps xmm8, xmmword [rsp + 0x1f0]
movaps xmm9, xmmword [rsp + 0x200]
movaps xmm10, xmmword [rsp + 0x210]
add rsp, 0x228
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsi + 0x28]
test rcx, rcx
jne 0x1400cc727
mov rcx, rsi
call fcn.140146640
jmp 0x1400cc6b8
lock dec dword [rcx]
jne 0x1400cc71d
call fcn.140146640
jmp 0x1400cc71d
lock dec dword [rsi]
jne 0x1400cc6c5
mov rax, qword [rsi + 0x10]
lea rcx, [0x1401ff0e0]
cmp rax, rcx
je 0x1400cc756
mov rcx, rsi
call qword [0x1402529a0]
jmp 0x1400cc6c5
mov rcx, qword [rsi + 0x28]
test rcx, rcx
jne 0x1400cc76c
mov rcx, rsi
call fcn.140146640
jmp 0x1400cc6c5
lock dec dword [rcx]
jne 0x1400cc75f
call fcn.140146640
jmp 0x1400cc75f
lea rbx, [r14 + 1]
test r15, r15
cmovns rbx, r14
jmp 0x1400cb794
lea r15, [rsi + 0x20]
mov rcx, r15
call r13
test al, al
je 0x1400cd8ca
mov qword [rsp + 0x48], rbx
lea rcx, [rsi + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r15
call r12
mov rcx, r15
call r13
test al, al
mov rdi, r12
je 0x1400cd8d8
mov rax, rsi
mov rbx, qword [rsi + 0x40]
mov r12, qword [rsi + 0x48]
movups xmmword [rsi + 0x40], xmm10
mov r13, qword [rsi + 0x50]
mov rsi, qword [rsi + 0x58]
movups xmmword [rax + 0x50], xmm10
mov rcx, r15
call rdi
mov r14, r13
cmp r13, rsi
jne 0x1400cd90a
lea rcx, fcn.140002230
mov rdx, rbx
xor r8d, r8d
call fcn.140001050
lea r15, [rsp + 0x188]
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r12, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rbx, qword [rsp + 0x48]
jmp 0x1400cb219
mov rax, qword [rdi]
mov rax, qword [rax + 0x30]
mov rcx, rdi
mov edx, 1
call qword [0x1402529a0]
jmp 0x1400cb370
lea rdi, [rdx + rsi*8]
add rdi, 0xfffffffffffffff8
neg rsi
test rdi, rdi
je 0x1400cd239
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400cc860
lock dec dword [rcx + 8]
je 0x1400cdb48
add rdi, 0xfffffffffffffff8
inc rsi
jne 0x1400cc845
mov rax, qword [rsp + 0x180]
and eax, 1
jmp 0x1400cba3c
mov r13, rbx
shl rsi, 3
xor r14d, r14d
mov rbx, qword [rdi + r14]
test rbx, rbx
je 0x1400cc8a1
mov eax, 1
lock xadd dword [rbx + 8], eax
cmp eax, 0x7fffffff
je 0x1400cd1a7
mov rax, qword [rsp + 0x160]
mov rdx, qword [rax + 0x40]
mov r8, qword [rax + 0x48]
test rdx, rdx
je 0x1400cc8cb
mov eax, 1
lock xadd dword [rdx + 8], eax
cmp eax, 0x7fffffff
je 0x1400cd1aa
mov rcx, rbx
call fcn.14004be40
mov rcx, qword [rsp + 0x160]
cmp byte [rcx + 0x1a8], 1
je 0x1400cd99a
test rbx, rbx
je 0x1400cc8f7
lock dec dword [rbx + 8]
je 0x1400cdb2e
add r14, 8
cmp rsi, r14
jne 0x1400cc883
mov rcx, qword [rsp + 0x180]
mov rsi, rcx
shr rsi, 1
mov eax, ecx
and eax, 1
cmp rcx, 2
setb cl
lea r14, [rsp + 0x188]
mov rbx, r13
jmp 0x1400cc038
shl rsi, 3
xor r14d, r14d
mov rdi, qword [rbx + r14]
test rdi, rdi
je 0x1400cc94f
mov eax, 1
lock xadd dword [rdi + 8], eax
cmp eax, 0x7fffffff
je 0x1400cd7ef
mov rax, qword [rsp + 0x160]
mov rdx, qword [rax + 0x40]
mov r8, qword [rax + 0x48]
test rdx, rdx
je 0x1400cc979
mov eax, 1
lock xadd dword [rdx + 8], eax
cmp eax, 0x7fffffff
je 0x1400cd7f2
mov rcx, rdi
call fcn.14004be40
mov rcx, qword [rsp + 0x160]
cmp byte [rcx + 0x1a8], 1
je 0x1400cdac3
test rdi, rdi
je 0x1400cc9a5
lock dec dword [rdi + 8]
je 0x1400cdc22
add r14, 8
cmp rsi, r14
jne 0x1400cc931
mov rcx, qword [rsp + 0x180]
mov rsi, rcx
shr rsi, 1
mov eax, ecx
and eax, 1
cmp rcx, 2
setb cl
movabs r14, 0x7fffffffffffffff
jmp 0x1400cba28
mov rax, qword [r14 + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x1400cca0e
jmp 0x1400cd1f5
mov r14, qword [rax - 8]
test r14, r14
je 0x1400cc1a1
mov qword [rbp], 0
mov al, byte [r12 + 0xd]
and al, 0x7f
cmp al, 2
je 0x1400cc9d7
lock dec dword [r14 + 0x18]
je 0x1400cca3c
lock dec dword [r12 + 8]
jne 0x1400cc1b2
mov rax, qword [r12]
mov rax, qword [rax + 0x30]
mov rcx, r12
mov edx, 1
call qword [0x1402529a0]
jmp 0x1400cc1b2
mov qword [rsp + 0x48], rbx
lea r15, [r14 + 0x20]
mov rcx, r15
mov rsi, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
call rsi
test al, al
je 0x1400cdaeb
lea rcx, [r14 + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r15
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
call rbx
mov rcx, r15
call rsi
test al, al
je 0x1400cdaf9
mov rax, qword [r14 + 0x40]
mov qword [rsp + 0x68], rax
mov rax, qword [r14 + 0x48]
mov qword [rsp + 0x78], rax
movups xmmword [r14 + 0x40], xmm10
mov rdi, qword [r14 + 0x50]
mov rsi, qword [r14 + 0x58]
movups xmmword [r14 + 0x50], xmm10
mov rcx, r15
call rbx
mov rax, rsi
mov r15, rdi
cmp rdi, rsi
jne 0x1400cdb7b
lea rcx, fcn.140002230
mov rdx, qword [rsp + 0x68]
xor r8d, r8d
call fcn.140001050
lea r15, [rsp + 0x188]
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
jmp 0x1400cc1a9
lea rcx, [0x1402797a8]
call fcn.1401467a0
cmp dword [0x1402797a8], 0xffffffff
jne 0x1400cb68b
mov qword [0x1402797a0], r13
lea rcx, [0x1402797a8]
call fcn.140146740
jmp 0x1400cb68b
mov rax, qword [rbx]
mov rax, qword [rax + 0x30]
mov rcx, rbx
mov edx, 1
call qword [0x1402529a0]
jmp 0x1400cb352
mov edi, 3
jmp 0x1400cb3a0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400cb4cd
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400cb8bc
lea rcx, [0x140279798]
call fcn.1401467a0
cmp dword [0x140279798], 0xffffffff
jne 0x1400cb659
lea rcx, str.xE__
call fcn.1400d5810
mov byte [0x140279794], al
lea rcx, [0x140279798]
call fcn.140146740
jmp 0x1400cb659
mov rcx, rbp
call qword [0x1402529a0]
jmp 0x1400cb4af
mov rcx, rbp
call qword [0x1402529a0]
jmp 0x1400cb89e
mov rcx, rbp
call qword [0x1402529a0]
mov rdi, rax
jmp 0x1400cb537
lea r15, [r14 + 0x20]
mov rcx, r15
call r13
test al, al
je 0x1400cdb5f
lea rcx, [r14 + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r15
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
call rbx
mov rcx, r15
call r13
test al, al
je 0x1400cdb6d
mov rax, qword [r14 + 0x40]
mov qword [rsp + 0x50], rax
mov rax, qword [r14 + 0x48]
mov qword [rsp + 0x48], rax
movups xmmword [r14 + 0x40], xmm10
mov rbp, qword [r14 + 0x50]
mov r13, qword [r14 + 0x58]
movups xmmword [r14 + 0x50], xmm10
mov rcx, r15
call rbx
mov rax, r13
mov r15, rbp
cmp rbp, r13
jne 0x1400cdc3c
lea rcx, fcn.140002230
mov rdx, qword [rsp + 0x50]
xor r8d, r8d
call fcn.140001050
mov rbp, qword [rsp + 0x40]
lea r15, [rsp + 0x188]
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jmp 0x1400cc391
xor eax, eax
jmp 0x1400cbf26
mov edi, 3
jmp 0x1400cb91d
cmp eax, ecx
jg 0x1400cd15d
cmp byte [0x140279794], 1
jne 0x1400cd22e
mov eax, dword [0x1402797a8]
mov ecx, dword [0x14026ee18]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400cd10e
mov rax, qword [rdi + 8]
test rax, rax
jne 0x1400cccaf
mov rax, qword [0x1402797a0]
mov ecx, 0x3938700
add rax, rcx
cmovo rax, r14
cmp rax, r13
mov r8d, 0xf4240
cmovl rcx, r8
add rcx, r13
cmovo rcx, r14
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 r12d, 0
cmovg r12, r8
sub r12, rdx
test rdx, rdx
cmove r12, rdx
lea rax, [rcx + r12]
sar rax, 0x3f
btc rax, 0x3f
jmp 0x1400cb71b
mov rax, rdx
call qword [0x1402529a0]
mov r10, qword [rsp + 0x80]
mov r9, qword [rsp + 0x88]
jmp 0x1400cbf26
mov rax, qword [r14 + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x1400cb307
lea rbx, [r14 + 0x60]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400cde13
mov rcx, qword [r14 + 0x68]
call fcn.1400f1890
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rbp, qword [rsp + 0x40]
lea r15, [rsp + 0x188]
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r12, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400cb307
lea rcx, [rsp + 0x130]
call qword [0x1402529a0]
jmp 0x1400cb822
mov rcx, qword [rsp + 0x160]
call fcn.140182b00
cmp qword [rsp + 0x180], 0
je 0x1400cc074
lea rcx, [rsp + 0x180]
call fcn.1401b8410
jmp 0x1400cc074
mov rcx, qword [rsp + 0x140]
test rcx, rcx
je 0x1400cce02
add rcx, 0x18
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsp + 0x140], 0
lea rcx, [rsp + 0x130]
call fcn.1400d0e30
jmp 0x1400cbfe9
lea rcx, [rsp + 0x118]
call qword [0x1402529a0]
mov r13, qword [rsp + 0x118]
jmp 0x1400cb61e
mov rcx, qword [rsp + 0x160]
call fcn.140182b00
cmp qword [rsp + 0x180], 0
je 0x1400cba5f
lea rcx, [rsp + 0x180]
call fcn.1401b8410
jmp 0x1400cba5f
cmp byte [rsp + 0x148], 0
je 0x1400cd199
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0x130], 0
movupd xmm0, xmmword [rsp + 0x138]
movups xmmword [rsp + 0x138], xmm10
movupd xmmword [rsp + 0x1b8], xmm0
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
lea rdx, [rsp + 0x1b0]
call qword [0x1402529a0]
jmp 0x1400cbfdb
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x1400cb20a
mov rax, qword [rsp + 0x60]
lea rdi, [rax + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400cde21
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0x68]
call fcn.1400f1890
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rbp, qword [rsp + 0x40]
lea r15, [rsp + 0x188]
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r12, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400cb20a
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebx, eax
test eax, eax
jne 0x1400ccf4c
mov rcx, rdi
call r12
test ebx, ebx
jne 0x1400cb4e0
jmp 0x1400cc5fb
cmp ebx, 0x102
je 0x1400ccf39
mov ecx, ebx
call fcn.1401abfa0
jmp 0x1400cb4da
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebx, eax
test eax, eax
jne 0x1400ccf84
mov rcx, rdi
call r12
test ebx, ebx
jne 0x1400cb8cf
jmp 0x1400cb15b
cmp ebx, 0x102
je 0x1400ccf71
mov ecx, ebx
call fcn.1401abfa0
jmp 0x1400cb8c9
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400cb25a
mov eax, dword [rax + 0x38]
cmp eax, 3
je 0x1400cdce3
xor edx, edx
cmp eax, 1
sete dl
jmp 0x1400ccfdd
mov eax, dword [0x14026ee18]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x160]
xor edx, edx
test rax, rax
jne 0x1400ccfa6
cmp edi, 7
jge 0x1400cd1ec
mov eax, dword [0x14026ee18]
mov rcx, qword gs:[0x58]
mov rsi, qword [rcx + rax*8]
mov ecx, edi
call fcn.14001fee0
mov dword [rsi + 0x14c], edi
mov dword [rbp + 0x54], edi
jmp 0x1400cb3a9
mov rdx, qword [rsp + 0x188]
jmp 0x1400cc044
mov rcx, qword [rsp + 0x188]
call fcn.140146640
jmp 0x1400cc055
mov rdi, qword [rsp + 0x188]
jmp 0x1400cc026
mov rdx, qword [rsp + 0x188]
jmp 0x1400cba34
mov rax, qword [r14 + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x1400cc3f1
lea rbx, [r14 + 0x60]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400cde3d
mov rcx, qword [r14 + 0x68]
call fcn.1400f1890
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rbp, qword [rsp + 0x40]
lea r15, [rsp + 0x188]
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jmp 0x1400cc3f1
mov rcx, qword [rsp + 0x188]
call fcn.140146640
jmp 0x1400cba45
mov rbx, qword [rsp + 0x188]
jmp 0x1400cba16
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov edx, 1
call qword [0x1402529a0]
jmp 0x1400cc640
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebx, eax
test eax, eax
jne 0x1400cd0fa
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test ebx, ebx
jne 0x1400cb26d
jmp 0x1400cb291
cmp ebx, 0x102
je 0x1400cd0e4
mov ecx, ebx
call fcn.1401abfa0
jmp 0x1400cb267
lea rcx, [0x1402797a8]
call fcn.1401467a0
cmp dword [0x1402797a8], 0xffffffff
jne 0x1400ccc9f
mov qword [0x1402797a0], r13
lea rcx, [0x1402797a8]
call fcn.140146740
jmp 0x1400ccc9f
lea rcx, [rsp + 0x158]
call qword [0x1402529a0]
lea rax, [rsp + 0x158]
mov rax, qword [rax]
jmp 0x1400cc51b
lea rcx, [0x140279798]
call fcn.1401467a0
cmp dword [0x140279798], 0xffffffff
jne 0x1400ccc6d
lea rcx, str.xE__
call fcn.1400d5810
mov byte [0x140279794], al
lea rcx, [0x140279798]
call fcn.140146740
jmp 0x1400ccc6d
call fcn.1401828f0
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
lea rdi, [r14 + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400cde2f
mov rcx, qword [r14 + 0x68]
call fcn.1400f1890
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea r15, [rsp + 0x188]
mov rsi, qword [rsp + 0x50]
jmp 0x1400cca0e
mov r12d, 0xf4240
jmp 0x1400cb734
ud2
mov rcx, qword [r12 - 0x18]
call fcn.1400b2300
cmp byte [r12 - 0x27], 0
je 0x1400cd239
cmp byte [r12 - 0x28], 0
jne 0x1400cd25f
mov rcx, qword [r12 - 0x18]
call fcn.1401b8360
mov word [r12 - 7], 0
mov byte [r12 - 5], 0
mov rbp, qword [rsp + 0x40]
lea r15, [rsp + 0x188]
lea r14, [rsp + 0x188]
jmp 0x1400cbd3a
mov rcx, qword [0x140272538]
call fcn.1401ac4c0
jmp 0x1400cbb92
lea rcx, [rsp + 0xf0]
call fcn.140145070
jmp 0x1400cb8e4
lock dec dword [r8 + 8]
jne 0x1400cbaf8
mov rax, qword [r8]
mov rax, qword [rax + 0x30]
mov rcx, r8
mov edx, 1
call qword [0x1402529a0]
jmp 0x1400cbaf8
lock dec dword [rcx + 8]
jne 0x1400cb381
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402529a0]
jmp 0x1400cb381
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x1400cbadb
mov qword [rsp + 0xe0], 0
lea rdi, [rsp + 0x130]
mov rdx, rdi
call fcn.140016ff0
mov r8, qword [rdi]
jmp 0x1400cbaef
mov rcx, qword [0x140272538]
call fcn.1401ac4c0
jmp 0x1400cb419
mov ecx, edi
call fcn.14001fe70
mov dword [rbp + 0x54], edi
jmp 0x1400cb926
lock dec dword [rcx + 8]
jne 0x1400cd35d
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402529a0]
mov rcx, qword [rsp + 0x158]
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0xe8], rax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x158], xmm0
test rcx, rcx
mov rbp, qword [rsp + 0x40]
movabs r14, 0x7fffffffffffffff
lea r15, [rsp + 0x188]
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
je 0x1400cbb35
lock dec dword [rcx + 8]
je 0x1400cd3ff
mov rcx, qword [rsp + 0x158]
test rcx, rcx
mov rbp, qword [rsp + 0x40]
movabs r14, 0x7fffffffffffffff
lea r15, [rsp + 0x188]
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
je 0x1400cbb35
lock dec dword [rcx + 8]
jne 0x1400cbb35
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402529a0]
jmp 0x1400cbb35
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402529a0]
jmp 0x1400cd3af
lea rcx, [rsi + 0x18]
mov rdi, qword [rsi + 0x10]
call fcn.1401ac510
movabs rcx, 0xff00000000000000
and rcx, rdi
or rcx, rax
mov qword [rsi + 0x10], rcx
jmp 0x1400cbba7
lea rcx, [rsi + 0x18]
mov rbx, qword [rsi + 0x10]
call fcn.1401ac510
movabs rcx, 0xff00000000000000
and rcx, rbx
or rcx, rax
mov qword [rsi + 0x10], rcx
jmp 0x1400cbbc9
lea rcx, [rsi + 0x18]
mov rdi, qword [rsi + 0x10]
call fcn.1401ac510
movabs rcx, 0xff00000000000000
and rcx, rdi
or rcx, rax
mov qword [rsi + 0x10], rcx
jmp 0x1400cd497
cmp byte [rsp + 0x100], 1
jne 0x1400cbbb6
cmp qword [rsi + 0x18], 0
jne 0x1400cd45f
movabs rax, 0x4000000000000000
lock or qword [rsi + 0x10], rax
mov rbp, qword [rsp + 0x40]
movabs r14, 0x7fffffffffffffff
lea r15, [rsp + 0x188]
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jmp 0x1400cbbb6
mov rcx, r14
call fcn.140138cd0
jmp 0x1400cbeeb
mov rcx, qword [0x140272470]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400cb81a
int3
lea rcx, [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
call fcn.1401ac510
movabs rcx, 0xff00000000000000
and rcx, rbx
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x1400cb42e
mov rcx, qword [0x140272470]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov r13, rax
add r13, r8
mov qword [rsp + 0x118], r13
jmp 0x1400cb61e
mov r14, r15
cmp rax, r15
je 0x1400cc4bf
movabs rcx, 0x7fffffffffffffff
add rax, rcx
add rax, 2
mov r14, r15
cmp rax, 1
ja 0x1400cc4bf
int3
lea rcx, [rdi + 0x18]
mov r14, qword [rdi + 0x10]
call fcn.1401ac510
movabs rcx, 0xff00000000000000
and rcx, r14
movabs r14, 0x7fffffffffffffff
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x1400cb450
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0x158]
mov qword [r8], rax
lea rax, [0x140232a18]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x45
lea rdx, [rsp + 0x130]
mov r9d, 2
call fcn.1400398d0
jmp 0x1400cb51b
lea rcx, [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
call fcn.1401ac510
movabs rcx, 0xff00000000000000
and rcx, rbx
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x1400cd633
cmp byte [rsp + 0x100], 1
jne 0x1400cb43d
cmp qword [rdi + 0x18], 0
jne 0x1400cd5fb
movabs rax, 0x4000000000000000
lock or qword [rdi + 0x10], rax
mov rbp, qword [rsp + 0x40]
movabs r14, 0x7fffffffffffffff
lea r15, [rsp + 0x188]
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r12, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400cb43d
movzx ecx, al
mov rax, qword [0x140270560]
xor rax, qword [rbp + 0x60]
mov qword [rsp + 0x158], rax
lea rax, str.WorkerThread_active
lea r8, [rsp + 0x130]
mov qword [r8], rax
lea rax, [rsp + 0x158]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x1b0]
mov r9d, 1
call fcn.140016d90
jmp 0x1400cb870
int3
int3
int3
int3
int3
int3
int3
movzx ecx, al
mov eax, 0x1b8
add rax, qword [rsp + 0x160]
xor rax, qword [0x140270560]
mov qword [rsp + 0x130], rax
lea rax, [0x140248420]
lea r8, [rsp + 0x1b0]
mov qword [r8], rax
lea rax, [rsp + 0x130]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x1a8]
mov r9d, 3
call fcn.14010f5c0
jmp 0x1400cc0c4
lock dec dword [rcx + 8]
jne 0x1400cc1bf
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402529a0]
jmp 0x1400cc1bf
movzx ecx, al
mov eax, 0x1b8
add rax, qword [rsp + 0x160]
xor rax, qword [0x140270560]
mov qword [rsp + 0x130], rax
lea rax, [0x140248420]
lea r8, [rsp + 0x1b0]
mov qword [r8], rax
lea rax, [rsp + 0x130]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x118]
mov r9d, 3
call fcn.14010f5c0
jmp 0x1400cc2db
mov rax, rdx
mov rsi, r9
call qword [0x1402529a0]
mov r9, rsi
jmp 0x1400cc258
lock dec dword [rcx + 8]
jne 0x1400cc3a3
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402529a0]
jmp 0x1400cc3a3
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400cb174
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400cb192
int3
int3
int3
mov qword [rsp + 0x48], rax
mov rsi, qword [rsp + 0x50]
cmp rbx, r15
jb 0x1400cd1e9
mov rcx, qword [rsi + r15*8]
test rcx, rcx
je 0x1400cd1e6
mov qword [rsp + 0x110], 0
jmp 0x1400cafd1
mov qword [rsp + 0x158], 0
jmp 0x1400caff4
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400cc79a
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400cc7c0
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1402529a0]
jmp 0x1400caf74
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x1402529a0]
jmp 0x1400cc62f
cmp r12, r14
jb 0x1400cd1d4
add rcx, 0x198
call fcn.140119a50
jmp 0x1400cc8e8
movzx ecx, al
lea rax, str.WorkerThread_born
lea r8, [rsp + 0x158]
mov qword [r8], rax
lea rax, [0x140232a18]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 8
mov byte [rsp + 0x28], 0x49
lea rdx, [rsp + 0x130]
mov r9d, 3
call fcn.1400398d0
jmp 0x1400caf4d
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0x158]
mov qword [r8], rax
lea rax, [0x140232a18]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x42
lea rdx, [rsp + 0x130]
mov r9d, 1
call fcn.1400398d0
jmp 0x1400caf67
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0x158]
mov qword [r8], rax
lea rax, [0x140232a18]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x45
lea rdx, [rsp + 0x130]
mov r9d, 2
call fcn.1400398d0
jmp 0x1400cc65a
movzx ecx, al
lea rax, str.WorkerThread_dead
lea r8, [rsp + 0x158]
mov qword [r8], rax
lea rax, [0x140232a18]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 8
mov byte [rsp + 0x28], 0x49
lea rdx, [rsp + 0x130]
mov r9d, 3
call fcn.1400398d0
jmp 0x1400cc674
add rcx, 0x198
call fcn.140119a50
jmp 0x1400cc996
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov edx, 1
call qword [0x1402529a0]
jmp 0x1400cc5d7
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400cca59
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400cca7c
mov rcx, qword [0x140272470]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400cc51b
mov rax, qword [rbx]
mov rax, qword [rax + 8]
mov rcx, rbx
mov edx, 1
call qword [0x1402529a0]
jmp 0x1400cc8f7
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov edx, 1
call qword [0x1402529a0]
jmp 0x1400cc860
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400ccbcb
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400ccbef
mov rbx, rax
mov r14, qword [rsp + 0x68]
mov rax, qword [rsp + 0x78]
cmp rax, r15
jb 0x1400cd1bf
mov rcx, qword [r14 + r15*8]
test rcx, rcx
je 0x1400cd1bc
mov rsi, rax
lea rax, [rsp + 0x130]
mov qword [rax], rcx
xor edx, edx
mov qword [r14 + r15*8], rdx
mov rax, qword [rcx + 8]
call qword [0x1402529a0]
lea rcx, [rsp + 0x130]
call fcn.1401396f0
inc r15
cmp r15, rsi
mov eax, 0
cmove r15, rax
mov rax, rbx
cmp r15, rbx
jne 0x1400cdb7b
mov rax, qword [rdi]
mov rax, qword [rax + 8]
mov rcx, rdi
mov edx, 1
call qword [0x1402529a0]
jmp 0x1400cc9a5
mov rbx, rax
mov r14, qword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
cmp rax, r15
jb 0x1400cd6b9
mov rcx, qword [r14 + r15*8]
test rcx, rcx
je 0x1400cd6bc
mov r13, rax
lea rax, [rsp + 0x130]
mov qword [rax], rcx
xor edx, edx
mov qword [r14 + r15*8], rdx
mov rax, qword [rcx + 8]
call qword [0x1402529a0]
lea rcx, [rsp + 0x130]
call fcn.1401396f0
inc r15
cmp r15, r13
mov eax, 0
cmove r15, rax
mov rax, rbx
cmp r15, rbx
jne 0x1400cdc3c
cmp rax, rbp
jbe 0x1400cdd4e
cmp r13, rbx
jb 0x1400cd6bf
cmp rbp, rbx
jg 0x1400cd6c2
lea r14, [r14 + rbp*8]
shl rbx, 3
shl rbp, 3
sub rbx, rbp
mov rcx, r14
call fcn.1401396f0
add r14, 8
add rbx, 0xfffffffffffffff8
je 0x1400ccc27
jmp 0x1400cdccb
mov edx, 3
jmp 0x1400ccfdd
cmp r13, rbp
jb 0x1400cd6c5
jl 0x1400cd6c8
je 0x1400cdd80
lea r15, [r14 + rbp*8]
shl r13, 3
shl rbp, 3
sub r13, rbp
mov rcx, r15
call fcn.1401396f0
add r15, 8
add r13, 0xfffffffffffffff8
jne 0x1400cdd6e
test rbx, rbx
js 0x1400cd6cb
je 0x1400ccc27
shl rbx, 3
mov r14, qword [rsp + 0x50]
mov rcx, r14
call fcn.1401396f0
add r14, 8
add rbx, 0xfffffffffffffff8
jne 0x1400cdd98
jmp 0x1400ccc27
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400ccd6c
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400ccef1
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400cd20a
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400cd072