Function at 0x140076e30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x188
movaps xmmword [rsp + 0x170], xmm7
movaps xmmword [rsp + 0x160], xmm6
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x68], rdx
mov rax, qword [0x14012c028]
xor rax, rsp
mov qword [rsp + 0x158], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x38], rcx
mov r15, qword [rcx + 0x30]
xorps xmm6, xmm6
movaps xmmword [rsp + 0x90], xmm6
mov qword [rsp + 0xa0], 0
mov rax, qword [0x14012dfa0]
and rax, r15
mov rbx, r15
cmp rax, qword [0x14012df88]
je 0x1400787ad
mov qword [rsp + 0xa8], r15
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xd0], xmm6
movaps xmmword [rsp + 0xe0], xmm6
mov byte [rsp + 0xf0], 0
add rbx, 0x28
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140077d80
mov rax, qword [rsp + 0x38]
mov r15, qword [rax + 0x30]
mov rax, qword [r15]
mov rax, qword [rax + 0x38]
lea rcx, [fcn.140074480]
cmp rax, rcx
jne 0x1400787c3
cmp qword [r15 + 0x100], 0
je 0x140077187
cmp byte [r15 + 0x160], 0
jne 0x140077187
mov rdi, qword [r15 + 0x58]
mov r14, qword [r15 + 0x118]
test rdi, rdi
jne 0x140077806
xor edi, edi
add rdi, r14
mov rax, qword [r15 + 0x108]
cmp rax, rdi
cmovb rdi, rax
mov r12, qword [r15 + 0x118]
cmp rdi, r12
cmovbe rdi, r12
mov r13, qword [r15 + 0x68]
mov r14, qword [r15 + 0x110]
add r13, qword [r15 + 0x60]
je 0x1400775b0
mov rax, qword [r15 + 8]
mov eax, dword [rax + 0x3c]
cmp eax, 1
ja 0x1400775b0
mov rax, qword [r15 + 0x40]
cmp rax, qword [r15 + 0x48]
je 0x1400786fd
mov cl, byte [rax + 0x10]
dec cl
cmp cl, 1
ja 0x140076fe9
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov esi, 1
lea r8, [0x140095f70]
mov edx, 1
cmp rax, r8
je 0x140076fd7
call qword [0x140150008]
mov rdx, rax
lea rax, [rdx + r13]
dec rax
cmp rax, 2
cmovae rsi, rax
mov r13, rsi
sub r14, r12
add r14, rdi
add r14, r13
mov rax, qword [r15 + 0x100]
cmp rax, r14
cmovb r14, rax
cmp r14, 0x100
mov ebp, 0x100
cmovb rbp, r14
mov r14, qword [r15 + 0xe8]
sub r14, qword [r15 + 0xe0]
sar r14, 3
lea r12, [r15 + 0x128]
mov rax, qword [r15 + 0x130]
sub rax, qword [r15 + 0x128]
sar rax, 3
sub r14, rax
xor eax, eax
mov rcx, rbp
sub rcx, r14
cmovae rax, rcx
cmp rax, 2
mov edi, 2
cmovb rdi, rax
test rdi, rdi
jne 0x1400776c9
cmp rbp, r14
jne 0x14007708f
mov rax, qword [r15 + 0xe8]
sub rax, qword [r15 + 0xe0]
cmp rax, 0x800
je 0x14007708f
mov rcx, qword [r15 + 0x128]
cmp rcx, qword [r15 + 0x130]
je 0x140077bfc
mov rax, qword [r15 + 0x40]
cmp rax, qword [r15 + 0x48]
je 0x1400770ad
mov rcx, qword [r15 + 0x110]
cmp rcx, qword [r15 + 0x100]
jae 0x140077f27
mov word [r15 + 0x78], 0
cmp byte [r15 + 0x148], 0
jne 0x140077187
mov rdi, qword [r15 + 0x58]
mov rsi, qword [r15 + 0x118]
test rdi, rdi
jne 0x140077868
xor edi, edi
add rdi, rsi
cmp rdi, qword [r15 + 0x108]
ja 0x14007847f
mov rdi, qword [r15 + 0x58]
mov rsi, qword [r15 + 0x110]
test rdi, rdi
jne 0x1400778cb
xor edi, edi
mov r14, qword [r15 + 0x68]
add r14, qword [r15 + 0x60]
je 0x140077633
mov rax, qword [r15 + 8]
mov eax, dword [rax + 0x3c]
cmp eax, 1
ja 0x140077633
mov rax, qword [r15 + 0x40]
cmp rax, qword [r15 + 0x48]
je 0x1400786fd
mov cl, byte [rax + 0x10]
dec cl
cmp cl, 1
ja 0x140077170
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov r12d, 1
lea r8, [0x140095f70]
mov edx, 1
cmp rax, r8
je 0x14007715e
call qword [0x140150008]
mov rdx, rax
lea rax, [r14 + rdx]
dec rax
cmp rax, 2
cmovae r12, rax
mov r14, r12
add rsi, rdi
lea rax, [r14 + rsi]
inc rax
cmp rax, qword [r15 + 0x100]
ja 0x140077be9
mov rax, qword [rsp + 0xb0]
or rax, qword [rsp + 0xd0]
jne 0x140077d8d
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x30]
mov rdx, qword [rax + 0x128]
mov rcx, qword [rax + 0x130]
cmp rdx, rcx
je 0x1400777fe
mov r8, qword [rcx - 8]
mov rsi, qword [rsp + 0x48]
cmp r8, rsi
je 0x1400784fb
lea r15, [rsi + 0x18]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140078834
mov rsi, qword [rsi + 0x28]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x30]
cmp byte [rax + 0x98], 0
je 0x1400787e3
mov rdx, qword [rax + 0x128]
mov rcx, qword [rax + 0x130]
sub rcx, rdx
mov rdx, qword [rax + 0xe8]
sub rdx, qword [rax + 0xe0]
sar rdx, 3
sar rcx, 3
sub rdx, rcx
cmp rdx, qword [rax + 0x100]
ja 0x140078a07
lea r15, [0x140095f60]
xorps xmm6, xmm6
xor edi, edi
movaps xmm7, xmmword [0x140114940]
mov rax, qword [rsp + 0x38]
mov r13, qword [rax + 0x30]
mov rax, qword [r13 + 0x40]
cmp rax, qword [r13 + 0x48]
je 0x1400773b0
movzx ebp, byte [rax + 0x10]
mov rax, qword [r13 + 8]
mov eax, dword [rax + 0x3c]
test eax, eax
jne 0x14007739a
mov rax, qword [rsp + 0x38]
mov r13, qword [rax + 0x30]
test ebp, ebp
je 0x140077b96
mov rax, qword [r13 + 0x40]
cmp rax, qword [r13 + 0x48]
je 0x1400786fd
lea r12, [r13 + 0x38]
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
cmp rax, r15
jne 0x14007737e
mov dword [rcx + 0xb8], 3
mov rax, qword [r13 + 0x40]
cmp rax, qword [r13 + 0x48]
je 0x1400786fd
movzx ecx, byte [rax + 0x10]
cmp rcx, 3
jae 0x140078729
dec qword [r13 + rcx*8 + 0x58]
mov rcx, qword [rax]
mov qword [rcx + 0x28], 0xffffffffffffffff
mov rcx, qword [rax]
mov qword [rsp + 0x80], rcx
mov rcx, qword [rax + 8]
movups xmmword [rax], xmm6
mov qword [rsp + 0x88], rcx
mov rcx, qword [r13 + 0x40]
mov rax, qword [r13 + 0x48]
mov rdx, rax
sub rdx, rcx
je 0x140078781
mov r8, qword [rcx]
test r8, r8
jne 0x140077bce
sar rdx, 5
dec rdx
jne 0x14007792e
cmp rcx, rax
je 0x140078755
lea rsi, [rax - 0x20]
mov r12, qword [rax - 0x20]
test r12, r12
jne 0x140077c9e
mov qword [rsi], 0
test r12, r12
jne 0x140077ccc
mov rcx, qword [rsi]
test rcx, rcx
jne 0x140078841
mov qword [r13 + 0x48], rsi
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x140077251
jmp 0x1400775b8
call qword [0x140150008]
cmp eax, 2
je 0x1400772bb
test eax, eax
jne 0x140077998
jmp 0x140077c6e
mov rcx, qword [rsp + 0x38]
mov r13, qword [rcx + 0x30]
test ebp, ebp
je 0x1400773b0
cmp eax, 1
je 0x14007728c
cmp byte [r13 + 0x98], 0
je 0x1400773d9
mov rax, qword [r13 + 0xe8]
sub rax, qword [r13 + 0xe0]
sar rax, 3
cmp rax, qword [r13 + 0x100]
ja 0x140078a07
mov rax, qword [r13 + 0x128]
mov rcx, qword [r13 + 0x130]
cmp rax, rcx
je 0x140077474
mov rsi, qword [rcx - 8]
lea r15, [rsi + 0x18]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400786de
mov rax, qword [0x14013b5d0]
lea rcx, [0x140095b10]
lea r12, [rsp + 0x130]
cmp rax, rcx
jne 0x1400786cc
mov qword [r12], 0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r12]
movabs rcx, 0x8637bd05af6
cmp rax, rcx
jg 0x14007885a
imul rax, rax, 0xf4240
cqo
idiv qword [0x14013e7d0]
mov qword [rsi + 0x28], rax
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [r13 + 0x130]
cmp rax, qword [r13 + 0x138]
je 0x1400781a0
test rax, rax
je 0x140078a39
mov rcx, qword [rsp + 0x48]
mov qword [rax], rcx
add rax, 8
mov qword [r13 + 0x130], rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x30]
mov rcx, qword [rax + 0x140]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
xorps xmm0, xmm0
mov rax, qword [rsp + 0x68]
movups xmmword [rax], xmm0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rsi, qword [rsp + 0xb0]
test rsi, rsi
jne 0x140077b1f
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
jne 0x140078350
cmp byte [rsp + 0xf0], 0
jne 0x14007850d
mov rsi, qword [rsp + 0xd8]
test rsi, rsi
jne 0x140078025
mov rdi, qword [rsp + 0xd0]
test rdi, rdi
jne 0x140078460
mov rsi, qword [rsp + 0xb8]
test rsi, rsi
jne 0x14007804b
mov rdi, qword [rsp + 0xb0]
test rdi, rdi
jne 0x140077baf
mov rcx, qword [rsp + 0xa8]
mov rax, qword [0x14012dfa0]
and rax, rcx
cmp rax, qword [0x14012df88]
je 0x1400787d9
mov qword [rsp + 0xa8], 0
mov r12, qword [rsp + 0x90]
test r12, r12
jne 0x14007763b
mov rcx, qword [rsp + 0x158]
xor rcx, rsp
call fcn.1400985e0
mov rax, qword [rsp + 0x68]
movaps xmm6, xmmword [rsp + 0x160]
movaps xmm7, xmmword [rsp + 0x170]
add rsp, 0x188
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r13d, r13d
jmp 0x140076fe9
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x38]
mov rdx, qword [rdx + 0x30]
mov r8, qword [rdx + 0x110]
inc r8
mov qword [rdx + 0x110], r8
test ebp, ebp
jne 0x1400775e5
inc qword [rdx + 0x118]
mov r9, qword [rdx + 0x40]
cmp r9, qword [rdx + 0x48]
je 0x1400775fc
cmp r8, qword [rdx + 0x100]
jae 0x140078071
mov word [rdx + 0x78], 0
shl ebp, 8
or ebp, 1
mov r8, qword [rsp + 0x38]
mov dword [r8 + 0x20], ebp
movzx edx, byte [rax + 0x16]
and edx, 0x7f
shl edx, 8
or edx, 1
mov dword [r8 + 0x24], edx
mov rdx, qword [rsp + 0x68]
mov qword [rdx], rax
mov qword [rdx + 8], rcx
jmp 0x1400774be
xor r14d, r14d
jmp 0x140077170
mov r13, qword [rsp + 0x98]
mov rcx, r12
cmp r13, r12
je 0x1400776b7
lea r15, [0x140113f00]
lea rdi, fcn.140062590
lea rdx, [0x140113f60]
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r8, qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rsi, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
xorps xmm6, xmm6
mov rax, r13
add r13, 0xfffffffffffffff0
mov rbx, qword [rax - 0x10]
test rbx, rbx
jne 0x140077f35
mov qword [r13], 0
test rbx, rbx
jne 0x140077f62
mov rcx, qword [r13]
test rcx, rcx
jne 0x140078881
cmp r13, r12
jne 0x140077678
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x98], r12
call fcn.140096334
jmp 0x140077577
neg rdi
mov qword [rsp + 0x40], r12
mov rax, qword [r15 + 0xe8]
sub rax, qword [r15 + 0xe0]
cmp rax, 0x800
je 0x1400776fb
mov rcx, qword [r15 + 0x128]
cmp rcx, qword [r15 + 0x130]
je 0x14007778d
mov rcx, qword [r15 + 0x128]
mov rax, qword [r15 + 0x130]
cmp rcx, rax
je 0x14007777f
lea rdx, [rax - 8]
mov rsi, qword [rax - 8]
mov qword [r15 + 0x130], rdx
cmp rcx, rdx
je 0x140077757
mov r12, rbx
mov rbx, qword [rax - 0x10]
lea r13, [rbx + 0x18]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400788a6
mov qword [rbx + 0x28], 0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rbx, r12
mov r12, qword [rsp + 0x40]
test rsi, rsi
je 0x14007777f
lock inc dword [rsi + 8]
mov qword [rsp + 0x130], rsi
cmp qword [rsp + 0xb0], 0
jne 0x140077ecb
mov qword [rsp + 0xb0], rsi
inc rdi
je 0x140077060
jmp 0x1400776d1
sar rax, 3
cmp rax, qword [r15 + 0x100]
jae 0x1400776fb
lea r13, [rsp + 0x130]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [r13], rax
lea r8, [rsp + 0x90]
mov rcx, r15
mov rdx, r13
call fcn.14000afd0
mov rsi, qword [r13]
mov rcx, r12
mov rdx, rsi
call fcn.14007a710
test rsi, rsi
je 0x1400776fb
lock dec dword [rsi + 8]
jne 0x1400776fb
mov rcx, rsi
call fcn.1400057b0
mov rcx, rsi
call fcn.140096334
jmp 0x1400776fb
xor r8d, r8d
jmp 0x1400771c1
mov rax, qword [r15 + 8]
mov eax, dword [rax + 0x3c]
test eax, eax
jne 0x140076f50
mov rax, qword [r15 + 0x40]
cmp rax, qword [r15 + 0x48]
je 0x1400786fd
cmp byte [rax + 0x10], 0
jne 0x140076f52
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov esi, 1
lea r8, [0x140095f70]
mov edx, 1
cmp rax, r8
jne 0x14007894c
lea rax, [rdi + rdx]
dec rax
cmp rax, 2
cmovae rsi, rax
mov rdi, rsi
jmp 0x140076f52
mov rax, qword [r15 + 8]
mov eax, dword [rax + 0x3c]
test eax, eax
jne 0x1400770d6
mov rax, qword [r15 + 0x40]
cmp rax, qword [r15 + 0x48]
je 0x1400786fd
cmp byte [rax + 0x10], 0
jne 0x1400770d8
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov r14d, 1
lea r8, [0x140095f70]
mov edx, 1
cmp rax, r8
jne 0x1400789d4
lea rax, [rdi + rdx]
dec rax
cmp rax, 2
cmovae r14, rax
mov rdi, r14
jmp 0x1400770d8
mov rax, qword [r15 + 8]
mov eax, dword [rax + 0x3c]
test eax, eax
jne 0x1400770fc
mov rax, qword [r15 + 0x40]
cmp rax, qword [r15 + 0x48]
je 0x1400786fd
cmp byte [rax + 0x10], 0
jne 0x1400770fe
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov r14d, 1
lea r8, [0x140095f70]
mov edx, 1
cmp rax, r8
jne 0x1400789e2
lea rax, [rdi + rdx]
dec rax
cmp rax, 2
cmovae r14, rax
mov rdi, r14
jmp 0x1400770fe
cmp rax, rcx
je 0x140078781
shl rdx, 5
mov rdx, qword [rcx + rdx]
test rdx, rdx
jne 0x140078010
cmp rax, rcx
je 0x140078781
mov rcx, qword [rax - 0x20]
mov qword [rsp + 0x130], rcx
mov rcx, qword [rax - 0x18]
movups xmmword [rax - 0x20], xmm6
mov qword [rsp + 0x138], rcx
movups xmm0, xmmword [rax - 0x10]
movups xmmword [rsp + 0x140], xmm0
mov rcx, r12
xor edx, edx
lea r8, [rsp + 0x130]
call fcn.140079310
mov rcx, qword [r13 + 0x40]
mov rax, qword [r13 + 0x48]
jmp 0x14007732e
movaps xmmword [rsp + 0x110], xmm7
mov rax, qword [r13 + 0x40]
cmp rax, qword [r13 + 0x48]
je 0x1400786fd
mov rcx, qword [r13 + 8]
mov r8, qword [rax]
test r8, r8
je 0x1400779bf
lock inc dword [r8 + 8]
lea rdx, [rsp + 0x110]
call fcn.140079270
cmp qword [rsp + 0x110], 0
je 0x1400788b3
mov rsi, qword [r13 + 0x40]
cmp rsi, qword [r13 + 0x48]
je 0x1400786fd
mov rax, qword [rsi]
mov qword [rsp + 0x130], rax
mov rax, qword [rsi + 8]
mov qword [rsi + 8], rdi
mov qword [rsp + 0x138], rax
mov qword [rsi], rdi
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x110], rdi
mov rcx, qword [rsi]
mov qword [rsi], rax
test rcx, rcx
jne 0x1400788c8
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x118], 0
mov qword [rsi + 8], rax
mov r8, qword [rsp + 0x110]
test r8, r8
jne 0x1400788e1
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x110], 0
test r8, r8
jne 0x140078916
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x130], 0
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0x110], rax
test rcx, rcx
jne 0x140078933
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x118], rax
lea rcx, [rsp + 0x130]
call fcn.140079690
mov rcx, qword [rsp + 0x110]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
lea rsi, [rsp + 0x100]
mov rdx, rsi
call qword [0x140150008]
mov rdx, qword [rsp + 0x110]
mov rcx, r12
mov r8, rsi
call fcn.14000a870
movaps xmm0, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x110], xmm6
lea rcx, [rsp + 0x110]
call fcn.140079690
jmp 0x140077368
add rsi, 0x30
test byte [0x14012e8f0], 0x19
jne 0x14007895a
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rsi, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
cmp rsi, rbx
je 0x1400774d8
mov r14, qword [sym.imp.KERNEL32.dll_SetEvent]
mov rdi, qword [rsi]
test rdi, rdi
je 0x140078a8f
lock inc dword [rdi + 8]
test byte [0x14012e8f0], 0x19
jne 0x140078a9b
mov rcx, qword [rdi + 0x30]
call r14
lock dec dword [rdi + 8]
je 0x140078b16
add rsi, 8
cmp rsi, rbx
je 0x1400774d8
jmp 0x140077b59
mov rax, qword [r13 + 0x118]
cmp rax, qword [r13 + 0x108]
jb 0x14007728c
jmp 0x1400773b0
lock dec dword [rdi + 8]
jne 0x14007753b
mov rcx, rdi
call fcn.1400057b0
mov rcx, rdi
call fcn.140096334
jmp 0x14007753b
mov qword [r8 + 0x28], 0xffffffffffffffff
mov rcx, qword [r13 + 0x40]
mov rax, qword [r13 + 0x48]
mov rdx, rax
sub rdx, rcx
jmp 0x140077321
cmp dword [r15 + 0x120], 0
jle 0x140077187
jmp 0x14007848d
sar rax, 3
cmp rax, qword [r15 + 0x100]
jae 0x14007708f
lea r13, [rsp + 0x130]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [r13], rax
lea r8, [rsp + 0x90]
mov rcx, r15
mov rdx, r13
call fcn.14000afd0
mov r13, qword [r13]
mov rcx, r12
mov rdx, r13
call fcn.14007a710
test r13, r13
je 0x14007708f
lock dec dword [r13 + 8]
jne 0x14007708f
mov rcx, r13
call fcn.1400057b0
mov rcx, r13
call fcn.140096334
jmp 0x14007708f
mov rcx, r12
lea rsi, [rsp + 0x120]
mov rdx, rsi
call fcn.14007a090
lea rcx, [rsp + 0x90]
mov rdx, rsi
call fcn.14000a580
movaps xmmword [rsp + 0x80], xmm6
jmp 0x140077368
mov r14, qword [rax - 0x18]
test r14, r14
je 0x140077348
mov qword [rsi], 0
mov al, byte [r12 + 0x16]
and al, 0x7f
cmp al, 2
je 0x14007830c
lock dec dword [r14 + 0x38]
je 0x140078080
lock dec dword [r12 + 8]
jne 0x140077358
lea rax, [0x140113f00]
mov qword [r12], rax
mov rdi, qword [r12 + 0xa0]
test rdi, rdi
jne 0x1400784ac
lea r14, [r12 + 0x78]
mov rdi, qword [r12 + 0x78]
mov rax, qword [r12 + 0x80]
mov rdx, rdi
cmp rax, rdi
jne 0x140078c1d
mov qword [r12 + 0x80], rdi
test rdx, rdx
jne 0x140078c46
mov rax, qword [r12 + 0x60]
mov rdi, qword [r12 + 0x68]
cmp rdi, rax
jne 0x140078c5b
mov rdx, qword [r12 + 0x50]
lea rcx, fcn.140062590
xor r8d, r8d
call fcn.14006d070
lea rax, [0x140113f60]
mov qword [r12], rax
mov rcx, qword [r12 + 0x38]
mov rax, qword [0x14012dfa0]
and rax, rcx
cmp rax, qword [0x14012df88]
je 0x140078456
mov rcx, r12
call fcn.140096334
xor edi, edi
jmp 0x140077358
mov rcx, rbx
call fcn.140062160
jmp 0x140076f00
mov rax, qword [rsp + 0x38]
mov r15, qword [rax + 0x30]
add r15, 0x28
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rsi, qword [rsp + 0xb0]
test rsi, rsi
jne 0x140078124
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
jne 0x140078613
cmp byte [rsp + 0xf0], 0
jne 0x1400786eb
mov r12, qword [rsp + 0xb0]
mov qword [rsp + 0xb0], 0
test r12, r12
je 0x140077df8
lock dec dword [r12 + 8]
je 0x140078a65
mov rsi, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xc0]
cmp rdi, rsi
je 0x140077e34
mov r12, qword [rdi - 8]
add rdi, 0xfffffffffffffff8
test r12, r12
je 0x140077e08
lock dec dword [r12 + 8]
jne 0x140077e08
mov rcx, r12
call fcn.1400057b0
mov rcx, r12
call fcn.140096334
jmp 0x140077e08
mov qword [rsp + 0xc0], rsi
mov r12, qword [rsp + 0xd0]
mov qword [rsp + 0xd0], 0
test r12, r12
je 0x140077e61
lock dec dword [r12 + 8]
je 0x140078a7a
mov rsi, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xe0]
cmp rdi, rsi
je 0x140077e9d
mov r12, qword [rdi - 8]
add rdi, 0xfffffffffffffff8
test r12, r12
je 0x140077e71
lock dec dword [r12 + 8]
jne 0x140077e71
mov rcx, r12
call fcn.1400057b0
mov rcx, r12
call fcn.140096334
jmp 0x140077e71
mov qword [rsp + 0xe0], rsi
mov byte [rsp + 0xf0], 0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x14007719d
mov rcx, r15
call fcn.140062160
jmp 0x14007719d
mov rax, qword [rsp + 0xc0]
cmp rax, qword [rsp + 0xc8]
jb 0x140078a1b
lea rcx, [rsp + 0xb8]
lea rdx, [rsp + 0x130]
call fcn.14000a710
mov r13, qword [rsp + 0x130]
test r13, r13
je 0x14007777f
lock dec dword [r13 + 8]
jne 0x14007777f
mov rcx, r13
call fcn.1400057b0
mov rcx, r13
call fcn.140096334
jmp 0x14007777f
movzx eax, word [rax + 0x10]
mov word [r15 + 0x78], ax
jmp 0x1400770b4
mov r14, qword [rax - 8]
test r14, r14
je 0x14007768c
mov qword [r13], 0
mov al, byte [rbx + 0x16]
and al, 0x7f
cmp al, 2
je 0x1400783ff
lock dec dword [r14 + 0x38]
je 0x14007826f
lock dec dword [rbx + 8]
jne 0x14007769d
mov qword [rbx], r15
mov r14, qword [rbx + 0xa0]
test r14, r14
jne 0x1400785c6
lea rax, [rbx + 0x78]
mov r14, qword [rbx + 0x78]
mov r15, qword [rbx + 0x80]
mov rdx, r14
cmp r15, r14
jne 0x140078e8f
mov qword [rbx + 0x80], r14
test rdx, rdx
jne 0x140078eb9
mov r14, r8
mov rax, qword [rbx + 0x60]
mov r15, qword [rbx + 0x68]
cmp r15, rax
jne 0x140078ed7
mov rdx, qword [rbx + 0x50]
mov rcx, rdi
xor r8d, r8d
call fcn.14006d070
lea rax, [0x140113f60]
mov qword [rbx], rax
mov rcx, qword [rbx + 0x38]
mov rax, qword [0x14012dfa0]
and rax, rcx
cmp rax, qword [0x14012df88]
je 0x1400784a2
mov rcx, rbx
call fcn.140096334
lea r15, [0x140113f00]
lea rdx, [0x140113f60]
mov r8, r14
jmp 0x14007769d
mov qword [rdx + 0x28], 0xffffffffffffffff
mov rcx, qword [r13 + 0x40]
mov rax, qword [r13 + 0x48]
jmp 0x140077948
mov rbx, qword [rsp + 0xe0]
mov rcx, rsi
cmp rbx, rsi
jne 0x140079202
mov qword [rsp + 0xe0], rsi
call fcn.140096334
jmp 0x140077508
mov rbx, qword [rsp + 0xc0]
mov rcx, rsi
cmp rbx, rsi
jne 0x140079239
mov qword [rsp + 0xc0], rsi
call fcn.140096334
jmp 0x14007752a
movzx r8d, word [r9 + 0x10]
mov word [rdx + 0x78], r8w
jmp 0x140077602
lea rdi, [r14 + 0x40]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140078b2b
mov rcx, qword [r14 + 0x48]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsp + 0x70], rdi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140078b38
mov rax, qword [r14 + 0x50]
mov qword [rsp + 0x40], rax
mov rax, qword [r14 + 0x58]
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [r14 + 0x50], xmm0
mov rax, qword [r14 + 0x60]
mov qword [rsp + 0x78], rax
mov rdi, qword [r14 + 0x68]
movups xmmword [r14 + 0x60], xmm0
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsp + 0x78]
mov rax, rdi
mov r14, rcx
cmp rcx, rdi
jne 0x140078b47
lea rcx, fcn.140062590
mov rdx, qword [rsp + 0x40]
xor r8d, r8d
call fcn.14006d070
xor edi, edi
jmp 0x14007734f
add rsi, 0x30
test byte [0x14012e8f0], 0x19
jne 0x140078cb2
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rsi, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xc0]
cmp rsi, rdi
je 0x140077db4
mov r14, qword [sym.imp.KERNEL32.dll_SetEvent]
mov r12, qword [rsi]
test r12, r12
je 0x140078fc8
lock inc dword [r12 + 8]
test byte [0x14012e8f0], 0x19
jne 0x140078fd4
mov rcx, qword [r12 + 0x30]
call r14
lock dec dword [r12 + 8]
je 0x140079052
add rsi, 8
cmp rsi, rdi
je 0x140077db4
jmp 0x14007815e
sub rax, qword [r13 + 0x128]
mov r15, rax
sar r15, 3
lea rdx, [r15 + 1]
mov rcx, rdx
shr rcx, 0x3d
jne 0x140078d2c
movabs rcx, 0x1fffffffffffffff
mov rsi, rax
sar rsi, 2
cmp rsi, rdx
cmovbe rsi, rdx
movabs rdx, 0x7ffffffffffffff8
cmp rax, rdx
cmovae rsi, rcx
test rsi, rsi
je 0x140078d31
cmp rsi, rcx
ja 0x140078d38
lea rcx, [rsi*8]
call fcn.14009633c
shl r15, 3
add r15, rax
je 0x140078a39
lea rsi, [rax + rsi*8]
mov rax, qword [rsp + 0x48]
mov qword [r15], rax
lea rdi, [r15 + 8]
mov rdx, qword [r13 + 0x128]
mov r8, qword [r13 + 0x130]
sub r8, rdx
sub r15, r8
mov rcx, r15
call fcn.14009a050
mov rcx, qword [r13 + 0x128]
mov qword [r13 + 0x128], r15
mov qword [r13 + 0x130], rdi
mov qword [r13 + 0x138], rsi
test rcx, rcx
je 0x14007749d
call fcn.140096334
jmp 0x14007749d
lea r15, [r14 + 0x40]
mov rcx, r15
call rbp
test al, al
je 0x140078db1
mov rcx, qword [r14 + 0x48]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r15
call rsi
mov rcx, r15
call rbp
test al, al
je 0x140078dbe
mov rax, qword [r14 + 0x50]
mov qword [rsp + 0x38], rax
mov rax, qword [r14 + 0x58]
mov qword [rsp + 0x48], rax
movups xmmword [r14 + 0x50], xmm6
mov rdi, qword [r14 + 0x60]
mov rbp, qword [r14 + 0x68]
movups xmmword [r14 + 0x60], xmm6
mov rcx, r15
call rsi
mov rax, rbp
mov r14, rdi
cmp rdi, rbp
jne 0x140078dcb
lea rdi, fcn.140062590
mov rcx, rdi
mov rdx, qword [rsp + 0x38]
xor r8d, r8d
call fcn.14006d070
lea r15, [0x140113f00]
lea rdx, [0x140113f60]
mov r8, qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jmp 0x140077694
mov rax, qword [r14 + 0x30]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x140077cc1
lea rdi, [r14 + 0x70]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400790d1
mov rcx, qword [r14 + 0x78]
call fcn.140096170
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
xor edi, edi
jmp 0x140077cc1
mov rax, qword [rsp + 0xa8]
mov rdx, qword [rax + 0xa0]
mov r8, qword [rax + 0xa8]
test rdx, rdx
je 0x14007836f
lock inc dword [rdx + 8]
call fcn.140010d80
mov rcx, qword [rsp + 0xa8]
cmp byte [rcx + 0x168], 0
jne 0x140078fb7
mov rsi, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0xe0]
cmp rsi, rbx
je 0x1400774e9
mov rdi, qword [rsi]
test rdi, rdi
je 0x1400783ae
lock inc dword [rdi + 8]
mov rax, qword [rsp + 0xa8]
mov rdx, qword [rax + 0xa0]
mov r8, qword [rax + 0xa8]
test rdx, rdx
je 0x1400783cd
lock inc dword [rdx + 8]
mov rcx, rdi
call fcn.140010d80
mov rcx, qword [rsp + 0xa8]
cmp byte [rcx + 0x168], 0
jne 0x140079074
test rdi, rdi
je 0x1400783f9
lock dec dword [rdi + 8]
je 0x140079085
add rsi, 8
jmp 0x140078399
mov rax, qword [r14 + 0x30]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x140077f57
lea r15, [r14 + 0x70]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400790de
mov rcx, qword [r14 + 0x78]
call fcn.140096170
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea r15, [0x140113f00]
lea rdx, [0x140113f60]
mov r8, qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
jmp 0x140077f57
call fcn.140064060
jmp 0x140077d71
lock dec dword [rdi + 8]
jne 0x140077519
mov rcx, rdi
call fcn.1400057b0
mov rcx, rdi
call fcn.140096334
jmp 0x140077519
cmp dword [r15 + 0x124], 0
jle 0x1400770e8
mov al, 1
mov byte [rsp + 0xf0], al
mov byte [r15 + 0x148], al
jmp 0x140077187
call fcn.140064060
jmp 0x140077ff2
mov r14, rbx
mov rax, qword [r12 + 0xa8]
mov rcx, rdi
cmp rax, rdi
je 0x1400784e6
lea rbx, [rax - 0x18]
mov rcx, qword [rax - 0x10]
test rcx, rcx
je 0x1400784d6
mov rax, qword [rax - 8]
call qword [0x140150008]
mov rax, rbx
cmp rbx, rdi
jne 0x1400784bf
mov rcx, qword [r12 + 0xa0]
mov qword [r12 + 0xa8], rdi
call fcn.140096334
mov rbx, r14
jmp 0x140077cf4
cmp byte [rax + 0x98], 0
jne 0x140077215
jmp 0x1400789f0
mov r14, qword [rsp + 0xa8]
mov rbx, qword [r14 + 0xa0]
mov rdi, qword [r14 + 0xb8]
mov rax, qword [0x14012dfa0]
and rax, r14
cmp rax, qword [0x14012df88]
je 0x140079067
mov ecx, 0x30
call fcn.14009633c
mov dword [rax], 1
lea rcx, [0x1400334b0]
mov qword [rax + 8], rcx
lea rcx, [0x140036bd0]
mov qword [rax + 0x10], rcx
lea rcx, [0x1400e2a40]
mov qword [rax + 0x18], rcx
lea rcx, [0x140023480]
mov qword [rax + 0x20], rcx
mov qword [rax + 0x28], r14
lea r14, [rsp + 0x120]
mov qword [r14], rax
lea rdx, str.ScheduleAdjustMaxTasks
lea r8, str....._base_task_thread_pool_thread_group_impl.cc
lea r15, [rsp + 0x130]
mov rcx, r15
mov r9d, 0x46c
call fcn.140061ec0
mov rax, qword [rbx]
mov rax, qword [rax]
mov rcx, rbx
mov rdx, r15
mov r8, r14
mov r9, rdi
call qword [0x140150008]
jmp 0x1400774f7
mov rax, qword [rbx + 0xa8]
mov rcx, r14
cmp rax, r14
je 0x1400785fb
lea r15, [rax - 0x18]
mov rcx, qword [rax - 0x10]
test rcx, rcx
je 0x1400785ec
mov rax, qword [rax - 8]
call qword [0x140150008]
mov rax, r15
cmp r15, r14
jne 0x1400785d5
mov rcx, qword [rbx + 0xa0]
mov qword [rbx + 0xa8], r14
call fcn.140096334
mov r8, qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
jmp 0x140077f7f
mov r14, rbx
mov rax, qword [rsp + 0xa8]
mov rdx, qword [rax + 0xa0]
mov r8, qword [rax + 0xa8]
test rdx, rdx
je 0x140078635
lock inc dword [rdx + 8]
call fcn.140010d80
mov rcx, qword [rsp + 0xa8]
cmp byte [rcx + 0x168], 0
jne 0x14007909a
mov rsi, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xe0]
cmp rsi, rdi
mov rbx, r14
je 0x140077dc5
mov r12, qword [rsi]
test r12, r12
je 0x140078679
lock inc dword [r12 + 8]
mov rax, qword [rsp + 0xa8]
mov rdx, qword [rax + 0xa0]
mov r8, qword [rax + 0xa8]
test rdx, rdx
je 0x140078698
lock inc dword [rdx + 8]
mov rcx, r12
call fcn.140010d80
mov rcx, qword [rsp + 0xa8]
cmp byte [rcx + 0x168], 0
jne 0x1400790ab
test r12, r12
je 0x1400786c6
lock dec dword [r12 + 8]
je 0x1400790bc
add rsi, 8
jmp 0x14007865f
mov rcx, r12
call qword [0x140150008]
mov rax, qword [r12]
jmp 0x140077460
mov rcx, r15
call fcn.140062160
jmp 0x140077409
mov rcx, qword [rsp + 0xa8]
call fcn.1400c8d10
jmp 0x140077dd3
lea rax, str.front___called_on_an_empty_vector
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str._empty__
mov r8d, 0x225
call fcn.1400c9120
lea rax, str.out_of_bounds_access_in_std::array_T__N_
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_array
lea r9, str.__n____Size
mov r8d, 0xda
call fcn.1400c9120
lea rax, str.vector::pop_back_called_on_an_empty_vector
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str._empty__
mov r8d, 0x623
call fcn.1400c9120
lea rax, str.vector___index_out_of_bounds
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str.__n___size__
mov r8d, 0x587
call fcn.1400c9120
mov rcx, r15
call fcn.140062440
mov rax, qword [rsp + 0x38]
mov rbx, qword [rax + 0x30]
jmp 0x140076ebb
lea rdx, [rsp + 0x90]
mov rcx, r15
call qword [0x140150008]
jmp 0x140077187
call fcn.14006a8b0
jmp 0x14007755a
test rsi, rsi
jne 0x1400789f0
mov rcx, qword [rax + 0xe8]
sub rcx, qword [rax + 0xe0]
mov rdx, qword [rax + 0x130]
sar rcx, 3
sub rdx, qword [rax + 0x128]
sar rdx, 3
sub rcx, rdx
cmp rcx, qword [rax + 0x100]
jbe 0x14007723e
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x48]
call fcn.1400f9260
jmp 0x1400774b3
mov rcx, r15
call fcn.140062160
jmp 0x1400771e4
lock dec dword [rcx + 8]
jne 0x140077364
mov edx, 1
call fcn.1400877a0
jmp 0x140077364
mov rcx, qword [0x14013e7d0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140077460
lock dec dword [rcx + 8]
jne 0x1400776aa
mov rbx, rdx
mov edx, 1
mov r14, r8
call fcn.1400877a0
mov r8, r14
mov rdx, rbx
jmp 0x1400776aa
mov rcx, r13
call fcn.140062160
jmp 0x14007773e
lea rdx, [rsp + 0x80]
mov rcx, r12
call fcn.14007a090
jmp 0x140077b0d
lock dec dword [rcx + 8]
jne 0x140077a26
mov edx, 1
call fcn.1400877a0
jmp 0x140077a26
mov rcx, qword [rsp + 0x118]
test rcx, rcx
je 0x140077a4f
mov qword [rsp + 0x110], 0
lea rsi, [rsp + 0x80]
mov rdx, rsi
call fcn.140087540
mov r8, qword [rsi]
jmp 0x140077a63
lock dec dword [r8 + 8]
jne 0x140077a6c
mov rcx, r8
mov edx, 1
call fcn.1400877a0
jmp 0x140077a6c
lock dec dword [rcx + 8]
jne 0x140077a99
mov edx, 1
call fcn.1400877a0
jmp 0x140077a99
call qword [0x140150008]
mov rdx, rax
jmp 0x140077851
mov rax, qword [0x14013ce70]
xor rax, rsi
lea rcx, [0x140018290]
lea rdi, [rsp + 0x130]
mov qword [rdi + 0x18], rcx
lea rcx, [0x14011a070]
mov qword [rdi + 0x20], rcx
mov qword [rdi + 8], rax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0
lea rdx, [0x14012e8f0]
lea r8, str.WaitableEvent::Signal
lea r9, [0x140117ca8]
mov cl, 0x49
call fcn.140018080
mov rax, qword [rdi + 0x20]
mov rax, qword [rax + 8]
test rax, rax
je 0x140077b30
mov rcx, qword [rsp + 0x138]
call qword [0x140150008]
jmp 0x140077b30
call qword [0x140150008]
mov rdx, rax
jmp 0x1400778b4
call qword [0x140150008]
mov rdx, rax
jmp 0x140077917
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x48]
call fcn.1400f92c0
test al, al
je 0x1400774b3
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x48]
call fcn.14000b3c0
jmp 0x1400774b3
test rax, rax
je 0x140078a39
mov qword [rax], rsi
add rax, 8
mov qword [rsp + 0xc0], rax
mov r12, qword [rsp + 0x40]
jmp 0x14007777f
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x23
call fcn.1400c9120
mov rcx, r12
call fcn.1400057b0
mov rcx, r12
call fcn.140096334
jmp 0x140077df8
mov rcx, r12
call fcn.1400057b0
mov rcx, r12
call fcn.140096334
jmp 0x140077e61
xor ecx, ecx
call fcn.140096230
jmp 0x140077b87
lea rax, [rdi + 0x30]
xor rax, qword [0x14013ce70]
lea rcx, [0x140018290]
lea r15, [rsp + 0x130]
mov qword [r15 + 0x18], rcx
lea rcx, [0x14011a070]
mov qword [r15 + 0x20], rcx
mov qword [r15 + 8], rax
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], 0
lea rdx, [0x14012e8f0]
lea r8, str.WaitableEvent::Signal
lea r9, [0x140117ca8]
mov cl, 0x49
call fcn.140018080
mov rax, qword [r15 + 0x20]
mov rax, qword [rax + 8]
test rax, rax
je 0x140077b76
mov rcx, qword [rsp + 0x138]
call qword [0x140150008]
jmp 0x140077b76
mov rcx, rdi
call fcn.1400057b0
mov rcx, rdi
call fcn.140096334
jmp 0x140077b87
mov rcx, rdi
call fcn.140062160
jmp 0x140078095
mov rcx, qword [rsp + 0x70]
call fcn.140062160
jmp 0x1400780be
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rbx
mov rax, qword [rsp + 0x60]
cmp rax, r14
jb 0x140078c1a
mov rdi, rcx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + r14*8]
lea rbx, [rsp + 0x110]
mov qword [rbx], rcx
mov qword [rax + r14*8], 0
mov rax, qword [rcx + 8]
call qword [0x140150008]
mov rcx, rbx
call fcn.140095a60
inc r14
xor eax, eax
mov rcx, qword [rsp + 0x60]
cmp r14, rcx
cmove r14, rax
mov rax, qword [rsp + 0x58]
cmp r14, rax
mov rbx, qword [rsp + 0x50]
mov rcx, rdi
jne 0x140078b47
cmp rax, rcx
jbe 0x1400790eb
mov rax, qword [rsp + 0x60]
cmp rax, qword [rsp + 0x58]
jb 0x140078c17
cmp qword [rsp + 0x60], rdi
jb 0x140078c14
cmp rdi, qword [rsp + 0x58]
jg 0x140078c11
mov rax, qword [rsp + 0x40]
lea r14, [rax + rdi*8]
mov rax, qword [rsp + 0x58]
shl rax, 3
shl rdi, 3
sub rax, rdi
mov rbx, qword [rsp + 0x50]
mov rcx, r14
mov rdi, rax
call fcn.140095a60
mov rax, rdi
add r14, 8
add rax, 0xfffffffffffffff8
jne 0x140078bf4
jmp 0x140078109
int3
int3
int3
int3
mov qword [rsp + 0x50], rbx
mov rbx, rax
add rbx, 0xffffffffffffff80
mov rcx, rbx
call fcn.140095a60
mov rax, rbx
cmp rbx, rdi
jne 0x140078c22
mov rdx, qword [r14]
mov rbx, qword [rsp + 0x50]
jmp 0x140077d12
mov rcx, r14
call fcn.1400faa70
mov rcx, qword [r14]
call fcn.140096334
jmp 0x140077d23
mov qword [rsp + 0x50], rbx
mov rbx, qword [r12 + 0x58]
jbe 0x140078d3d
cmp rbx, rdi
jb 0x140078caf
cmp rbx, rax
jb 0x140078cac
cmp rax, rdi
jg 0x140078ca9
shl rax, 7
mov r14, qword [r12 + 0x50]
add r14, rax
shl rdi, 7
sub rdi, rax
mov rbx, qword [rsp + 0x50]
mov rcx, r14
call fcn.140095a60
sub r14, 0xffffffffffffff80
add rdi, 0xffffffffffffff80
jne 0x140078c92
jmp 0x140077d36
int3
int3
int3
mov rax, qword [0x14013ce70]
xor rax, rsi
lea rcx, [0x140018290]
lea rdi, [rsp + 0x130]
mov qword [rdi + 0x18], rcx
lea rcx, [0x14011a070]
mov qword [rdi + 0x20], rcx
mov qword [rdi + 8], rax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0
lea rdx, [0x14012e8f0]
lea r8, str.WaitableEvent::Signal
lea r9, [0x140117ca8]
mov cl, 0x49
call fcn.140018080
mov rax, qword [rdi + 0x20]
mov rax, qword [rax + 8]
test rax, rax
je 0x140078135
mov rcx, qword [rsp + 0x138]
call qword [0x140150008]
jmp 0x140078135
call fcn.1400ae5f0
xor eax, eax
jmp 0x140078207
call fcn.1400c9bf0
cmp rbx, rax
jb 0x140078dae
jl 0x140078dab
je 0x140078d70
shl rax, 7
mov r14, qword [r12 + 0x50]
add r14, rax
shl rbx, 7
sub rbx, rax
mov rcx, r14
call fcn.140095a60
sub r14, 0xffffffffffffff80
add rbx, 0xffffffffffffff80
jne 0x140078d59
mov rax, qword [r12 + 0x58]
cmp rax, rdi
jb 0x140078da8
test rdi, rdi
js 0x140078da5
mov rbx, qword [rsp + 0x50]
je 0x140077d36
mov r14, qword [r12 + 0x50]
shl rdi, 7
mov rcx, r14
call fcn.140095a60
sub r14, 0xffffffffffffff80
add rdi, 0xffffffffffffff80
jne 0x140078d8e
jmp 0x140077d36
int3
int3
int3
int3
mov rcx, r15
call fcn.140062160
jmp 0x140078280
mov rcx, r15
call fcn.140062160
jmp 0x14007829c
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x48]
cmp rax, r14
jb 0x140078e86
mov r15, rdi
mov rbp, rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + r14*8]
lea rdi, [rsp + 0x130]
mov qword [rdi], rcx
mov qword [rax + r14*8], 0
mov rax, qword [rcx + 8]
call qword [0x140150008]
mov rcx, rdi
call fcn.140095a60
inc r14
xor eax, eax
mov rcx, rbp
cmp r14, rbp
cmove r14, rax
mov rax, qword [rsp + 0x40]
cmp r14, rax
mov rdi, r15
jne 0x140078dcb
cmp rax, rdi
jbe 0x140079183
cmp rbp, qword [rsp + 0x40]
jb 0x140078e89
cmp rbp, r15
jb 0x140078e8c
cmp r15, qword [rsp + 0x40]
jg 0x140078e83
mov rcx, r15
mov rax, qword [rsp + 0x38]
lea r15, [rax + r15*8]
mov rax, qword [rsp + 0x40]
shl rax, 3
shl rcx, 3
sub rax, rcx
mov rcx, r15
mov r14, rax
call fcn.140095a60
mov rax, r14
add r15, 8
add rax, 0xfffffffffffffff8
jne 0x140078e66
jmp 0x1400782d4
int3
int3
int3
int3
mov qword [rsp + 0x38], rax
add r15, 0xffffffffffffff80
mov rcx, r15
call fcn.140095a60
cmp r15, r14
jne 0x140078e94
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax]
mov r8, qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
jmp 0x140077f9a
mov r15, rax
mov rcx, rax
mov r14, r8
call fcn.1400faa70
mov rcx, qword [r15]
call fcn.140096334
mov r8, r14
jmp 0x140077faa
mov rbp, qword [rbx + 0x58]
jbe 0x140078f33
cmp rbp, r15
jb 0x140078f30
cmp rbp, rax
jb 0x140078f2d
cmp rax, r15
jg 0x140078f2a
shl rax, 7
mov rcx, qword [rbx + 0x50]
add rcx, rax
shl r15, 7
sub r15, rax
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
lea rdi, fcn.140062590
mov qword [rsp + 0x38], rcx
call fcn.140095a60
mov rcx, qword [rsp + 0x38]
sub rcx, 0xffffffffffffff80
add r15, 0xffffffffffffff80
jne 0x140078f0c
jmp 0x140077fbe
int3
int3
int3
cmp rbp, rax
jb 0x140078fae
jl 0x140078fb1
je 0x140078f64
shl rax, 7
mov rdi, qword [rbx + 0x50]
add rdi, rax
shl rbp, 7
sub rbp, rax
mov rcx, rdi
call fcn.140095a60
sub rdi, 0xffffffffffffff80
add rbp, 0xffffffffffffff80
jne 0x140078f4e
mov rax, qword [rbx + 0x58]
cmp rax, r15
jb 0x140078fb4
test r15, r15
js 0x140078fab
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
lea rdi, fcn.140062590
je 0x140077fbe
mov rax, qword [rbx + 0x50]
shl r15, 7
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.140095a60
mov rax, qword [rsp + 0x38]
sub rax, 0xffffffffffffff80
add r15, 0xffffffffffffff80
jne 0x140078f8a
jmp 0x140077fbe
int3
int3
int3
int3
add rcx, 0x170
call fcn.140094e20
jmp 0x140078389
xor ecx, ecx
call fcn.140096230
jmp 0x140078191
mov r13, rbx
lea rax, [r12 + 0x30]
xor rax, qword [0x14013ce70]
lea rcx, [0x140018290]
lea rbx, [rsp + 0x130]
mov qword [rbx + 0x18], rcx
lea rcx, [0x14011a070]
mov qword [rbx + 0x20], rcx
mov qword [rbx + 8], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], 0
lea rdx, [0x14012e8f0]
lea r8, str.WaitableEvent::Signal
lea r9, [0x140117ca8]
mov cl, 0x49
call fcn.140018080
mov rax, qword [rbx + 0x20]
mov rax, qword [rax + 8]
test rax, rax
je 0x14007904a
mov rcx, qword [rsp + 0x138]
call qword [0x140150008]
mov rbx, r13
jmp 0x14007817d
mov rcx, r12
call fcn.1400057b0
mov rcx, r12
call fcn.140096334
jmp 0x140078191
mov rcx, r14
call fcn.140062440
jmp 0x14007853a
add rcx, 0x170
call fcn.140094e20
jmp 0x1400783ea
mov rcx, rdi
call fcn.1400057b0
mov rcx, rdi
call fcn.140096334
jmp 0x1400783f9
add rcx, 0x170
call fcn.140094e20
jmp 0x14007864f
add rcx, 0x170
call fcn.140094e20
jmp 0x1400786b5
mov rcx, r12
call fcn.1400057b0
mov rcx, r12
call fcn.140096334
jmp 0x1400786c6
mov rcx, rdi
call fcn.140062160
jmp 0x140078337
mov rcx, r15
call fcn.140062160
jmp 0x14007842a
cmp qword [rsp + 0x60], rdi
jb 0x140079180
jl 0x14007917d
je 0x14007912d
mov rax, qword [rsp + 0x40]
lea rbx, [rax + rdi*8]
mov rax, qword [rsp + 0x60]
lea r14, [rax*8]
shl rdi, 3
sub r14, rdi
mov rcx, rbx
call fcn.140095a60
add rbx, 8
add r14, 0xfffffffffffffff8
jne 0x14007911b
mov rax, qword [rsp + 0x60]
cmp rax, qword [rsp + 0x58]
jb 0x14007917a
cmp qword [rsp + 0x58], 0
js 0x140079177
mov rbx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
je 0x140078109
shl rax, 3
mov r14, qword [rsp + 0x40]
mov rcx, r14
mov rdi, rax
call fcn.140095a60
mov rax, rdi
add r14, 8
add rax, 0xfffffffffffffff8
jne 0x14007915a
jmp 0x140078109
int3
int3
int3
int3
cmp rbp, r15
jb 0x1400791f6
jl 0x1400791f9
je 0x1400791b6
mov rax, qword [rsp + 0x38]
lea r14, [rax + r15*8]
lea rdi, [rbp*8]
shl r15, 3
sub rdi, r15
mov rcx, r14
call fcn.140095a60
add r14, 8
add rdi, 0xfffffffffffffff8
jne 0x1400791a4
cmp rbp, qword [rsp + 0x40]
jb 0x1400791fc
cmp qword [rsp + 0x40], 0
js 0x1400791ff
mov rax, qword [rsp + 0x40]
je 0x1400782d4
shl rax, 3
mov r15, qword [rsp + 0x38]
mov rcx, r15
mov r14, rax
call fcn.140095a60
mov rax, r14
add r15, 8
add rax, 0xfffffffffffffff8
jne 0x1400791d9
jmp 0x1400782d4
int3
int3
int3
int3
mov rdi, qword [rbx - 8]
add rbx, 0xfffffffffffffff8
test rdi, rdi
je 0x140079215
lock dec dword [rdi + 8]
je 0x140079227
cmp rbx, rsi
jne 0x140079202
mov rcx, qword [rsp + 0xd8]
jmp 0x140078039
mov rcx, rdi
call fcn.1400057b0
mov rcx, rdi
call fcn.140096334
jmp 0x140079215
mov rdi, qword [rbx - 8]
add rbx, 0xfffffffffffffff8
test rdi, rdi
je 0x14007924c
lock dec dword [rdi + 8]
je 0x14007925e
cmp rbx, rsi
jne 0x140079239
mov rcx, qword [rsp + 0xb8]
jmp 0x14007805f
mov rcx, rdi
call fcn.1400057b0
mov rcx, rdi
call fcn.140096334
jmp 0x14007924c