Function at 0x14013eb10
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, 0x1d8
movapd xmmword [rsp + 0x1c0], xmm13
movapd xmmword [rsp + 0x1b0], xmm12
movapd xmmword [rsp + 0x1a0], xmm11
movaps xmmword [rsp + 0x190], xmm10
movaps xmmword [rsp + 0x180], xmm9
movaps xmmword [rsp + 0x170], xmm8
movaps xmmword [rsp + 0x160], xmm7
movaps xmmword [rsp + 0x150], xmm6
mov rsi, rcx
mov rax, qword [0x1402b3040]
xor rax, rsp
mov qword [rsp + 0x148], rax
mov qword [rsp + 0xc0], Ordinal_14
mov al, byte [0x1402c525b]
test al, al
jne 0x14014064a
mov qword [rsp + 0xc0], Ordinal_14
mov al, byte [0x1402c525b]
test al, al
jne 0x140140690
mov rcx, qword [rsi + 0x48]
test rcx, rcx
jne 0x1401405ff
mov rcx, qword [rsi + 0x70]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov rdx, rsi
call qword [0x1402a4958]
mov eax, dword [0x1402c57c0]
test eax, eax
je 0x14013eca9
mov rax, qword [rsi + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x14013ebfc
cmp dword [rsi + 0x50], 0
je 0x14013eca9
mov rcx, qword [0x1402c57b0]
test rcx, rcx
je 0x1401405f1
lea rdi, [rsp + 0xe0]
mov rdx, rdi
mov r8d, 2
call fcn.140028270
mov rax, qword [rdi]
mov qword [rsp + 0x58], rax
mov r14b, 1
movabs r13, 0xffffffffffffff
mov eax, dword [0x1402c2098]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x180]
mov qword [rsp + 0x68], rcx
lea r15, [rax + 0x188]
lea rcx, [rax + 0x1a8]
mov qword [rsp + 0x60], rcx
lea rbp, [rax + 0x170]
movaps xmm6, xmmword [0x140272a70]
movsd xmm7, qword [0x140291470]
movsd xmm8, qword [0x1402791b0]
movsd xmm9, qword [0x1402845c8]
xorps xmm10, xmm10
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x38], r15
jmp 0x14013f461
mov qword [rsp + 0x58], 0
xor r14d, r14d
jmp 0x14013ec2d
mov rax, qword [fcn.1401990d0]
lea rcx, [0x1401849a0]
cmp rax, rcx
jne 0x14013faca
mov qword [rsp + 0xc0], 0
lea rcx, [rsp + 0xc0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xc0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1401405ca
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c5700]
mov qword [rsp + 0x140], rax
mov rbp, qword [rsp + 0x108]
xor ecx, ecx
cmp rax, rbp
setns cl
movabs rdx, 0x7fffffffffffffff
add rcx, rdx
mov r12, rax
sub r12, rbp
cmovo r12, rcx
cmp r12, 0xf4240
jge 0x14013fe4b
mov r15, qword [rsp + 0x110]
test r15, r15
mov r14, qword [rsp + 0x40]
movabs r12, 0xfffffffc00000000
mov rbp, qword [rsp + 0x48]
je 0x14013ef49
lock dec dword [r15]
jne 0x14013ef49
jmp 0x1401400de
lea rcx, [rsp + 0x140]
call qword [0x1402a4958]
mov rax, qword [rsp + 0x140]
jmp 0x14013edf6
mov rax, qword [0x1402b5770]
lea rcx, [0x1401849a0]
cmp rax, rcx
jne 0x14013ed86
mov qword [rsp + 0xc0], 0
lea rcx, [rsp + 0xc0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xc0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140140597
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c5700]
lea rdx, [r12 + r14]
sar rdx, 0x3f
btc rdx, 0x3f
mov rcx, r12
add rcx, r14
cmovo rcx, rdx
xor edx, edx
cmp rcx, rax
setns dl
movabs r8, 0x7fffffffffffffff
add rdx, r8
xor ebx, ebx
sub rcx, rax
cmovo rcx, rdx
jg 0x14013f038
jmp 0x14013f0a1
mov qword [rsp + 0x140], Ordinal_14
mov al, byte [0x1402c525b]
test al, al
jne 0x1401404dd
call fcn.14019aabc
mov r12d, dword [rax]
call fcn.14019aabc
mov dword [rax], 0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbp, qword [rsp + 0xe0]
test rbp, rbp
je 0x14013ef09
cmp qword [rsp + 0xe8], 0
jne 0x14013ef09
cmp byte [rbp + 0x19], 1
jne 0x14013ef09
mov r15, qword [rbp + 0x28]
add r15, 0x68
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14013fd8e
mov qword [rbp + 0x20], 0
cmp byte [rbp + 0x3b], 0
jne 0x14013eef5
mov rax, qword [rbp + 0x28]
cmp byte [rbp + 0x39], 1
je 0x14013fcee
dec dword [rax + 0x130]
cmp byte [rbp + 0x19], 0
je 0x1401404af
cmp byte [rbp + 0x18], 0
jne 0x14013eef5
mov rcx, qword [rbp + 0x28]
cmp byte [rbp + 0x3a], 1
je 0x14014058d
dec dword [rcx + 0x134]
mov word [rbp + 0x39], 0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r15, qword [rsp + 0x38]
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_SetLastError]
call fcn.14019aabc
mov dword [rax], r12d
cmp byte [rsp + 0x118], 1
mov r14, qword [rsp + 0x40]
movabs r12, 0xfffffffc00000000
mov rbp, qword [rsp + 0x48]
jne 0x14013ef4e
mov r15, qword [rsp + 0x110]
test r15, r15
jne 0x14013ecba
mov r15, qword [rsp + 0x38]
mov rax, qword [rsp + 0xf0]
test rax, rax
je 0x14013ef66
mov rcx, qword [rsp + 0xf8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xe8]
mov rax, rcx
and rax, r12
cmp rax, qword [0x1402b5708]
je 0x14014047b
mov qword [rsp + 0xe8], 0
mov rcx, qword [rsp + 0xe0]
mov rax, rcx
and rax, r12
cmp rax, qword [0x1402b5708]
jne 0x14013f0b9
call fcn.140004e70
jmp 0x14013f0b9
mov rcx, r15
call fcn.140142360
mov r15, qword [rsp + 0x38]
jmp 0x14013f0cb
mov qword [rsp + 0x138], 0x16c
mov al, byte [0x1402c53bc]
test al, al
je 0x14013f0a1
jmp 0x140140541
mov edx, 0xffffffff
jmp 0x14013f083
mov qword [rsp + 0xc0], 0
lea rcx, [rsp + 0xc0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xc0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140140485
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c5700]
mov r12, rax
mov rcx, r14
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
je 0x14013efe3
mov rax, rcx
shr rax, 3
movabs rdx, 0x20c49ba5e353f7cf
mul rdx
mov rax, rdx
shr rax, 4
imul rdx, rax, 0x3e8
cmp rdx, rcx
adc rax, 0
mov rcx, rax
shr rcx, 0x20
neg rcx
mov edx, 0
sbb edx, edx
or edx, eax
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x14013ed9e
mov bl, 1
cmp byte [r15 + 0x18], 0
je 0x14013efc4
cmp byte [rsp + 0x120], 1
mov r15, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
je 0x14013ee36
test bl, bl
je 0x14013fc66
movabs r13, 0xffffffffffffff
mov qword [rsp + 0x140], Ordinal_14
movzx eax, byte [0x1402c525b]
test al, al
jne 0x1401403fc
movzx eax, byte [rsi + 0x30]
test al, al
jne 0x14013fa3d
movzx eax, byte [rsi + 0x78]
test al, al
jne 0x14013fa3d
mov rbx, qword [rsi + 0x38]
lea rdi, [rbx + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14013fd44
cmp byte [rbx + 0x78], 1
je 0x140140006
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r14b, r14b
je 0x14013f161
cmp byte [rsp + 0xa8], 1
je 0x14014013f
mov qword [rsp + 0x98], 0
mov byte [rsp + 0xa0], 0
mov byte [rsp + 0x90], 0
mov byte [rsp + 0xa8], 1
mov rax, qword [rsi + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x1401400f6
mov edi, dword [rsi + 0x50]
cmp edi, dword [rsi + 0x54]
jne 0x14014022c
movaps xmmword [rsp + 0xe0], xmm6
mov rcx, qword [rsi + 0x70]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
lea rdx, [rsp + 0xe0]
mov r8, rsi
call qword [0x1402a4958]
mov rax, qword [rsp + 0xe0]
test rax, rax
je 0x14013f9d2
mov qword [rsp + 0x138], rax
lea rcx, [rsp + 0x138]
call fcn.140105120
mov rcx, qword [rsi + 0x38]
movaps xmm0, xmmword [rsp + 0xe0]
movups xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0xe0], xmm10
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0x80]
call fcn.140140810
mov r8, qword [rsp + 0xe0]
test r8, r8
jne 0x140140151
mov qword [rsp + 0x140], r8
mov qword [rsp + 0xe0], 0
test r8, r8
jne 0x14014011a
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xc0], 0
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0xe0], rax
test rcx, rcx
jne 0x140140186
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x140], rax
lea rcx, [rsp + 0x140]
call fcn.140105120
test r14b, r14b
je 0x14013f32f
cmp byte [rsp + 0xa8], 1
jne 0x14013f30b
cmp byte [rsp + 0x90], 1
jne 0x14013f30b
mov rdi, qword [rbp]
test rdi, rdi
je 0x14013f30b
mov rax, qword [rdi + 0x10]
test rax, rax
js 0x140140061
cmp dword [rdi + 0x24], 1
jne 0x140140284
cmp qword [rdi + 0x18], 0
jne 0x14014023b
movabs rax, 0xbfffffffffffffff
lock and qword [rdi + 0x10], rax
mov rbx, qword [rsp + 0x98]
cmp qword [rdi + 0x18], 0
jne 0x1401402ec
mov rax, qword [rdi + 0x10]
movabs rcx, 0x4000000000000000
and rax, rcx
and rbx, r13
or rbx, rax
mov qword [rdi + 0x10], rbx
dec dword [rdi + 0x24]
mov qword [rsp + 0x98], 0
mov byte [rsp + 0xa0], 0
mov byte [rsp + 0x90], 0
mov byte [rsp + 0xa8], 1
movaps xmmword [rsp + 0xc0], xmm6
mov rcx, qword [rsi + 0x70]
movapd xmm0, xmmword [rsp + 0xe0]
movupd xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0xe0], xmm10
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0x70]
mov r9, rsi
call qword [0x1402a4958]
mov rax, qword [rsi + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x14013fddd
mov edi, dword [rsi + 0x50]
cmp edi, dword [rsi + 0x54]
jne 0x140140100
cmp qword [rsp + 0xe0], 0
jne 0x1401400f3
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rcx
test rax, rax
jne 0x14013f1b4
mov dil, 1
cmp byte [rsp + 0xa8], 1
jne 0x14013f458
cmp byte [rsp + 0x90], 1
jne 0x14013f458
mov rbx, qword [rbp]
test rbx, rbx
je 0x14013f458
mov rax, qword [rbx + 0x10]
test rax, rax
js 0x1401400cd
cmp dword [rbx + 0x24], 1
jne 0x14014036a
mov r12, rbp
cmp qword [rbx + 0x18], 0
jne 0x1401403d0
mov rbp, r14
movabs rax, 0xbfffffffffffffff
lock and qword [rbx + 0x10], rax
mov r14, qword [rsp + 0x98]
cmp qword [rbx + 0x18], 0
jne 0x1401402c6
mov rax, qword [rbx + 0x10]
movabs rcx, 0x4000000000000000
and rax, rcx
and r14, r13
or r14, rax
mov qword [rbx + 0x10], r14
dec dword [rbx + 0x24]
mov r14, rbp
mov rbp, r12
test dil, dil
je 0x14013fafd
movzx eax, byte [rsi + 0x30]
test al, al
jne 0x14013fafd
movzx eax, byte [rsi + 0x78]
test al, al
jne 0x14013fafd
mov rbx, qword [rsi + 0x38]
lea rdi, [rbx + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14013fd36
cmp byte [rbx + 0x78], 1
je 0x14013ffb4
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0xa0], xmm6
mov byte [rsp + 0x90], 0
mov byte [rsp + 0xa8], 0
mov qword [rsp + 0xc0], Ordinal_14
movzx eax, byte [0x1402c525b]
test al, al
jne 0x140140324
mov r15, qword [rsi + 0x70]
mov rax, qword [r15]
lea rcx, [fcn.140142360]
cmp qword [rax + 0x30], rcx
jne 0x14013efb2
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xb8], rax
mov rax, qword [r15]
mov rax, qword [rax + 0x28]
lea rcx, [0x14019a3b0]
cmp rax, rcx
jne 0x14013f77b
cmp byte [r15 + 0x58], 1
movabs rax, 0x7fffffffffffffff
je 0x14013fc00
mov qword [rsp + 0xb8], rax
mov rax, qword [fcn.1401990d0]
lea rcx, [0x1401849a0]
cmp rax, rcx
jne 0x14013f791
mov qword [rsp + 0xe0], 0
lea rcx, [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xe0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140140449
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c5700]
mov rdi, rax
mov qword [rsp + 0xb0], rax
mov rdx, qword [r15]
mov eax, dword [0x1402ccb10]
mov ecx, dword [0x1402c2098]
mov r8, qword gs:[0x58]
mov rcx, qword [r8 + rcx*8]
mov ecx, dword [rcx + 4]
lea r8, [0x14022c490]
cmp qword [rdx + 0x50], r8
cmp eax, ecx
jg 0x14013fd52
cmp byte [0x1402ccb0c], 1
jne 0x14014010f
mov eax, dword [0x1402ccb20]
mov ecx, dword [0x1402c2098]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14013fcbd
mov rax, qword [r15 + 8]
test rax, rax
jne 0x14013f61c
mov rax, qword [0x1402ccb18]
add rax, 0x3938700
movabs r8, 0x7fffffffffffffff
cmovo rax, r8
cmp rdi, rax
mov ecx, 0x3938700
mov r9d, 0xf4240
cmovg rcx, r9
add rcx, rdi
cmovo rcx, r8
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 r13d, 0
cmovg r13, r9
sub r13, rdx
test rdx, rdx
cmove r13, rdx
lea rax, [rcx + r13]
sar rax, 0x3f
movabs rdx, 0x8000000000000000
xor rax, rdx
add r13, rcx
cmovo r13, rax
xor eax, eax
cmp r13, rdi
setns al
add rax, r8
sub r13, rdi
cmovo r13, rax
mov r14, qword [rsp + 0xb8]
cmp r14, r13
cmovge r14, r13
mov rax, qword [r15]
lea rdi, [r15 + 0x10]
lea rcx, [0x14022c470]
cmp qword [rax + 0x48], rcx
jne 0x14013f7ac
test r14, r14
jle 0x14013fc3e
movaps xmmword [rsp + 0xe0], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x120], rax
movaps xmmword [rsp + 0x110], xmm6
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0xf0], xmm6
mov byte [rsp + 0xe0], 0
mov byte [rsp + 0x120], 0
cmp byte [r15 + 0x18], 0
je 0x14013f7ce
movabs rax, 0x7fffffffffffffff
cmp r14, rax
je 0x14013f8f7
mov rax, qword [0x1402b5770]
lea rcx, [0x1401849a0]
cmp rax, rcx
je 0x14013efed
lea rcx, [rsp + 0x140]
call qword [0x1402a4958]
mov r12, qword [rsp + 0x140]
jmp 0x14013f035
mov rcx, r15
lea rdx, [rsp + 0xb8]
call qword [0x1402a4958]
jmp 0x14013f53e
lea rcx, [rsp + 0xb0]
call qword [0x1402a4958]
mov rdi, qword [rsp + 0xb0]
jmp 0x14013f5a5
mov rcx, rdi
mov rdx, r14
call fcn.140105af0
test al, al
mov r15, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
jne 0x14013f0c1
jmp 0x14013fc66
lea rcx, [rsp + 0xc0]
lea rdx, str.TimedWait
lea r8, str....._base_synchronizationwaitable_event.cc
mov r9d, 0x40
call fcn.140131450
cmp byte [rsp + 0x120], 1
je 0x1401404c2
mov rax, qword [rsp + 0x68]
mov r12, qword [rax]
mov rax, r12
movabs rbx, 0xfffffffc00000000
and rax, rbx
cmp rax, qword [0x1402b5708]
je 0x14013f9bb
mov qword [rsp + 0xe0], r12
mov rbp, qword [rsp + 0x38]
mov r12, qword [rbp]
mov rcx, r12
and rcx, rbx
mov rax, r12
cmp rcx, qword [0x1402b5708]
je 0x1401404b1
mov qword [rsp + 0xe8], r12
mov qword [rsp + 0xf0], rbp
lea rcx, [rsp + 0xe0]
mov qword [rbp], rcx
mov qword [rsp + 0xf8], rax
test r12, r12
jne 0x14013f9c8
xor eax, eax
mov rbp, qword [rsp + 0x48]
mov byte [rsp + 0x100], al
xor eax, eax
mov byte [rsp + 0x108], al
mov byte [rsp + 0x118], al
mov rcx, qword [rsp + 0x60]
cmp byte [rcx], al
je 0x14013f984
test r12, r12
jne 0x14013fd9c
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x14013f8c9
cmp qword [rsp + 0xe8], 0
jne 0x14013f8c9
xor edx, edx
call fcn.140107340
mov qword [rsp + 0x130], Ordinal_14
mov al, byte [0x1402c525b]
test al, al
jne 0x140140507
mov byte [rsp + 0x120], 1
jmp 0x14013f736
mov edx, 0xffffffff
jmp 0x14013f94c
movabs rcx, 0x7fffffffffffffff
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
je 0x14013f8f0
mov rax, rcx
shr rax, 3
movabs rdx, 0x20c49ba5e353f7cf
mul rdx
mov rax, rdx
shr rax, 4
imul rdx, rax, 0x3e8
cmp rdx, rcx
adc rax, 0
mov rcx, rax
shr rcx, 0x20
neg rcx
mov edx, 0
sbb edx, edx
or edx, eax
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x14013f094
cmp eax, 0x102
jne 0x1401405be
mov rax, qword [0x1402b5770]
lea rcx, [0x1401849a0]
cmp rax, rcx
je 0x14013fa5c
jmp 0x14013fa44
mov eax, dword [0x1402cbe20]
mov ecx, dword [0x1402c2098]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14013fdf5
cmp byte [0x1402cbe1c], 0
jne 0x14013f8aa
jmp 0x14013fe3e
mov rcx, r12
call fcn.140004d30
jmp 0x14013f822
mov al, byte [r12 + 0x20]
jmp 0x14013f878
mov al, byte [rsi + 0x30]
test al, al
jne 0x14013fa28
mov al, byte [rsi + 0x78]
test al, al
jne 0x14013fa28
mov rbx, qword [rsi + 0x38]
lea rdi, [rbx + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14013fde7
cmp byte [rbx + 0x78], 1
je 0x140140072
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsi + 0x70]
mov rax, qword [rcx]
mov rax, qword [rax + 0x40]
lea rdx, [fcn.1401426b0]
cmp rax, rdx
jne 0x14013fa35
call fcn.1401426b0
mov rax, qword [rsp + 0xe0]
jmp 0x14013f3bd
call qword [0x1402a4958]
jmp 0x14013fa28
xor edi, edi
jmp 0x14013f3c9
lea rcx, [rsp + 0x140]
call qword [0x1402a4958]
mov rax, qword [rsp + 0x140]
jmp 0x14013faa1
mov qword [rsp + 0xc0], 0
lea rcx, [rsp + 0xc0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xc0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140140623
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c5700]
xor edx, edx
movabs rcx, 0x7fffffffffffffff
cmp rcx, rax
setns dl
add rdx, rcx
xor ebx, ebx
sub rcx, rax
cmovo rcx, rdx
jne 0x14013f901
jmp 0x14013f0a1
lea rcx, [rsp + 0x140]
call qword [0x1402a4958]
mov rax, qword [rsp + 0x140]
jmp 0x14013ed1e
lock dec dword [rdi + 8]
jne 0x14013fb2f
mov rcx, rdi
call fcn.14000ad70
mov rcx, rdi
call fcn.14019aab4
jmp 0x14013fb2f
mov rcx, qword [rsi + 0x70]
mov rax, qword [rcx]
mov rax, qword [rax + 0x38]
mov rdx, rsi
call qword [0x1402a4958]
mov rcx, qword [rsi + 0x48]
test rcx, rcx
jne 0x140140611
mov rdi, qword [rsi + 0x10]
mov qword [rsi + 0x10], 0
test rdi, rdi
jne 0x14013fae5
mov qword [rsp + 0xc0], Ordinal_14
mov al, byte [0x1402c525b]
test al, al
mov rsi, qword [rsp + 0x58]
jne 0x1401406d6
mov qword [rsp + 0xc0], Ordinal_14
mov al, byte [0x1402c525b]
test al, al
jne 0x14014071c
test rsi, rsi
je 0x14013fb8c
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [0x1402a4958]
lock dec dword [rsi]
jne 0x14013fb8c
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [0x1402a4958]
mov rcx, qword [rsp + 0x148]
xor rcx, rsp
cmp rcx, qword [0x1402b3040]
je 0x14013fba6
call fcn.14019d280
int3
movaps xmm6, xmmword [rsp + 0x150]
movaps xmm7, xmmword [rsp + 0x160]
movaps xmm8, xmmword [rsp + 0x170]
movaps xmm9, xmmword [rsp + 0x180]
movaps xmm10, xmmword [rsp + 0x190]
movaps xmm11, xmmword [rsp + 0x1a0]
movaps xmm12, xmmword [rsp + 0x1b0]
movaps xmm13, xmmword [rsp + 0x1c0]
add rsp, 0x1d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [r15 + 0x48]
cvtsi2sd xmm0, qword [rax + 0x30]
mulsd xmm0, xmm7
ucomisd xmm0, xmm8
movabs rcx, 0x7fffffffffffffff
mov eax, 0
cmovb rcx, rax
ucomisd xmm9, xmm0
maxsd xmm0, xmm8
cvttsd2si rax, xmm0
cmovb rax, rcx
jmp 0x14013f536
mov rcx, qword [rdi]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
mov r15, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
je 0x14013f0c1
cmp eax, 0x102
jne 0x140140772
call fcn.14000aca0
mov rax, qword [rsp + 0xb8]
cmp rax, r13
jle 0x14013f0c1
setns cl
movzx ecx, cl
movabs r8, 0x7fffffffffffffff
add rcx, r8
mov rdx, rax
sub rdx, r13
cmovo rdx, rcx
cmp rax, r8
cmove rdx, r8
lea rax, [r8 + r13]
add rax, 2
cmp rax, 2
cmovb rdx, r8
mov rcx, rdi
call fcn.140105af0
jmp 0x14013f0c1
lea rcx, [0x1402ccb20]
call fcn.14019ae60
cmp dword [0x1402ccb20], 0xffffffff
jne 0x14013f60c
mov qword [0x1402ccb18], rdi
lea rcx, [0x1402ccb20]
call fcn.14019ad84
jmp 0x14013f60c
mov rcx, qword [rax + 0x80]
mov rdx, qword [rax + 0x110]
dec rdx
mov qword [rax + 0x110], rdx
cmp rcx, qword [rax + 0x88]
je 0x14013fd18
cmp qword [rax + 0x120], rdx
jae 0x14013fd26
mov word [rax + 0xb8], 0
jmp 0x14013eed1
movzx ecx, word [rcx + 0x10]
mov word [rax + 0xb8], cx
jmp 0x14013eed1
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14013f492
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14013f117
lea rcx, [0x1402ccb10]
call fcn.14019ae60
cmp dword [0x1402ccb10], 0xffffffff
jne 0x14013f5da
lea rcx, str.DelayFirstWorkerWake
call fcn.140144890
mov byte [0x1402ccb0c], al
lea rcx, [0x1402ccb10]
call fcn.14019ad84
jmp 0x14013f5da
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14013eeaf
cmp byte [r12 + 0x38], 1
jne 0x14013f8aa
mov rbx, qword [r12 + 0x30]
mov qword [r12 + 0x30], 0
test rbx, rbx
je 0x14013f8aa
lock dec dword [rbx]
jne 0x14013f8aa
mov rcx, rbx
call fcn.14000ba30
mov rcx, rbx
call fcn.14019aab4
jmp 0x14013f8aa
mov edi, 3
jmp 0x14013f385
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14013f9f9
lea rcx, [0x1402cbe20]
call fcn.14019ae60
cmp dword [0x1402cbe20], 0xffffffff
jne 0x14013f9a9
mov rcx, qword [0x1402c5600]
test rcx, rcx
je 0x14013fe26
lea rdx, str.enable_background_thread_pool
call fcn.14014c970
mov byte [0x1402cbe1c], 1
lea rcx, [0x1402cbe20]
call fcn.14019ad84
jmp 0x14013f9a9
mov r12, qword [rsp + 0xe8]
jmp 0x14013f8a1
mov ecx, 0x3938700
add rcx, qword [r15 + 0x1f0]
movabs r14, 0x7fffffffffffffff
cmovo rcx, r14
cmp rax, rcx
jge 0x140140797
mov rax, qword [r15 + 0x1f0]
xor edx, edx
cmp rbp, rax
setns dl
add rdx, r14
mov rcx, rbp
sub rcx, rax
cmovo rcx, rdx
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
add rdx, 2
cmp rdx, 2
jb 0x14014077e
cvtsi2sd xmm0, rcx
movsd xmm13, qword [0x140283be0]
divsd xmm0, xmm13
call fcn.1401d5890
xor ecx, ecx
movsd xmm11, qword [0x140283be8]
ucomisd xmm0, xmm11
mov eax, 0x7fffffff
cmovb eax, ecx
movsd xmm12, qword [0x140283bf0]
ucomisd xmm12, xmm0
mov r14d, 0x7fffffff
maxsd xmm0, xmm11
cvttsd2si ebp, xmm0
cmovb ebp, eax
movabs rax, 0x7fffffffffffffff
add rax, r12
add rax, 2
cmp rax, 2
jb 0x14013ff1b
xorps xmm0, xmm0
cvtsi2sd xmm0, r12
divsd xmm0, xmm13
jmp 0x14013ff23
movsd xmm0, qword [0x140278e48]
call fcn.1401d5940
ucomisd xmm0, xmm11
mov eax, 0
cmovb r14d, eax
ucomisd xmm12, xmm0
maxsd xmm0, xmm11
cvttsd2si r12d, xmm0
cmovb r12d, r14d
add r12d, ebp
cmp r12d, 0x3c
mov r14d, 0x3c
cmovl r14d, r12d
lea rcx, [r15 + 8]
mov qword [rsp + 0x50], rcx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140140762
cmp ebp, r14d
jge 0x14013ff89
movsxd rax, ebp
movsxd rcx, r14d
inc qword [r15 + rax*8 + 0x10]
inc rax
cmp rcx, rax
jne 0x14013ff7c
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp r12d, 0x3d
jl 0x14013ed52
mov r15, qword [r15 + 0x1f8]
sub r12d, r14d
xor ebp, ebp
test r15, r15
jne 0x14013ff49
jmp 0x14013ed52
mov r15, rbp
mov rbp, r14
mov rcx, qword [rbx + 0x68]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov r14d, eax
test eax, eax
jne 0x14013ffea
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r14d, r14d
mov r14, rbp
mov rbp, r15
je 0x14013fafd
jmp 0x14013f4a5
cmp r14d, 0x102
je 0x14013ffcd
mov ecx, r14d
call fcn.1402097e0
mov r14, rbp
mov rbp, r15
jmp 0x14013f49c
mov r12, r15
mov r15, rbp
mov rbp, r14
mov rcx, qword [rbx + 0x68]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov r14d, eax
test eax, eax
jne 0x140140042
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r14d, r14d
mov r14, rbp
mov rbp, r15
mov r15, r12
je 0x14013fa3d
jmp 0x14013f12a
cmp r14d, 0x102
je 0x140140022
mov ecx, r14d
call fcn.1402097e0
mov r14, rbp
mov rbp, r15
mov r15, r12
jmp 0x14013f121
mov rcx, qword [0x1402c57b0]
call fcn.1401d9610
jmp 0x14013f2b6
mov r12, r15
mov r15, rbp
mov rbp, r14
mov rcx, qword [rbx + 0x68]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov r14d, eax
test eax, eax
jne 0x1401400ae
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r14d, r14d
mov r14, rbp
mov rbp, r15
mov r15, r12
je 0x14013fa28
jmp 0x14013fa0c
cmp r14d, 0x102
je 0x14014008e
mov ecx, r14d
call fcn.1402097e0
mov r14, rbp
mov rbp, r15
mov r15, r12
jmp 0x14013fa03
mov rcx, qword [0x1402c57b0]
call fcn.1401d9610
jmp 0x14013f3f7
mov rcx, r15
call fcn.14000ba30
mov rcx, r15
call fcn.14019aab4
jmp 0x14013ef49
int3
mov edi, 3
jmp 0x14013f176
mov ecx, edi
call fcn.14001a290
mov dword [rsi + 0x54], edi
jmp 0x14013f38e
mov r13d, 0xf4240
jmp 0x14013f6b9
lock dec dword [r8 + 8]
jne 0x14013f229
mov rax, qword [r8]
mov rax, qword [rax + 0x30]
mov rcx, r8
mov edx, 1
call qword [0x1402a4958]
jmp 0x14013f229
lea rcx, [rsp + 0x90]
call fcn.1401859c0
jmp 0x14013f13d
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x14013f20c
mov qword [rsp + 0xe0], 0
lea rdi, [rsp + 0x140]
mov rdx, rdi
call fcn.14015ac20
mov r8, qword [rdi]
jmp 0x14013f220
lock dec dword [rcx + 8]
jne 0x14014019e
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402a4958]
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xe8], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0xc0], xmm0
test rcx, rcx
mov r14, qword [rsp + 0x40]
movabs r13, 0xffffffffffffff
mov r15, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x48]
je 0x14013f266
lock dec dword [rcx + 8]
je 0x140140218
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
mov r14, qword [rsp + 0x40]
movabs r13, 0xffffffffffffff
mov r15, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x48]
je 0x14013f266
jmp 0x1401407e3
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402a4958]
jmp 0x1401401e9
mov ecx, edi
call fcn.14001a290
mov dword [rsi + 0x54], edi
jmp 0x14013f17f
lea rcx, [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
call fcn.140209e30
movabs rcx, 0xff00000000000000
and rcx, rbx
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x14013f2cb
lea rcx, [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
call fcn.140209e30
movabs rcx, 0xff00000000000000
and rcx, rbx
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x140140299
cmp byte [rsp + 0xa0], 1
jne 0x14013f2da
cmp qword [rdi + 0x18], 0
jne 0x140140261
movabs r12, 0x4000000000000000
lock or qword [rdi + 0x10], r12
mov r14, qword [rsp + 0x40]
movabs r13, 0xffffffffffffff
mov r15, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x48]
jmp 0x14013f2da
lea rcx, [rbx + 0x18]
mov r15, qword [rbx + 0x10]
call fcn.140209e30
movabs rcx, 0xff00000000000000
and rcx, r15
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x14013f434
lea rcx, [rdi + 0x18]
mov r12, r15
mov r15, rbp
mov rbp, r14
mov r14, qword [rdi + 0x10]
call fcn.140209e30
movabs rcx, 0xff00000000000000
and rcx, r14
mov r14, rbp
mov rbp, r15
mov r15, r12
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x14013f2ed
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0xe0]
mov qword [r8], rax
lea rax, [0x140278780]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], Ordinal_73
lea rdx, [rsp + 0xc0]
mov r9d, 2
call fcn.14002d550
jmp 0x14013f4e0
mov r12, rbp
mov rbp, r14
cmp byte [rsp + 0xa0], 1
jne 0x14013f421
cmp qword [rbx + 0x18], 0
jne 0x1401403ad
movabs r12, 0x4000000000000000
lock or qword [rbx + 0x10], r12
mov rbp, qword [rsp + 0x40]
movabs r13, 0xffffffffffffff
mov r12, qword [rsp + 0x48]
jmp 0x14013f421
lea rcx, [rbx + 0x18]
mov r14, qword [rbx + 0x10]
call fcn.140209e30
movabs rcx, 0xff00000000000000
and rcx, r14
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x140140385
lea rcx, [rbx + 0x18]
mov rbp, r14
mov r14, qword [rbx + 0x10]
call fcn.140209e30
movabs rcx, 0xff00000000000000
and rcx, r14
mov r14, rbp
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x14013f40f
movzx ecx, al
mov rax, qword [0x1402c37e8]
xor rax, qword [rsi + 0x60]
mov qword [rsp + 0xe0], rax
lea rax, str.WorkerThread_active
lea r8, [rsp + 0xc0]
mov qword [r8], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x140]
mov r9d, 1
call fcn.140019aa0
jmp 0x14013f0e6
mov rcx, qword [0x1402c5700]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov rdi, rax
add rdi, r8
mov qword [rsp + 0xb0], rdi
jmp 0x14013f5a5
call fcn.140004e70
jmp 0x14013ef81
mov rcx, qword [0x1402c5700]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov r12, rax
add r12, r8
jmp 0x14013f035
ud2
mov rcx, r12
call fcn.140004d30
mov rax, qword [rbp]
jmp 0x14013f849
lea r12, [rsp + 0xe0]
mov rcx, r12
call fcn.140107f50
mov byte [r12 + 0x40], 0
jmp 0x14013f7fd
movzx ecx, al
lea r8, [rsp + 0xc0]
mov qword [r8], 0
lea rdx, [rsp + 0x140]
mov r9d, 2
call fcn.14011a470
jmp 0x14013ee50
movzx ecx, al
lea r9, [rsp + 0x140]
lea rax, [rsp + 0xc0]
mov qword [r9], rax
lea rax, str.ScopedBlockingCallWithBaseSyncPrimitives
lea r8, [rsp + 0x138]
mov qword [r8], rax
lea rdx, [rsp + 0x130]
call fcn.140200760
jmp 0x14013f8e3
movzx ecx, al
mov rax, qword [0x1402c37e8]
xor rax, rdi
mov qword [rsp + 0xc0], rax
lea rax, str.WaitableEvent::Wait_Complete
lea r8, [rsp + 0x140]
mov qword [r8], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x138]
mov r9d, 3
call fcn.140019aa0
jmp 0x14013f0a1
call fcn.140215bb0
jmp 0x14013eef5
mov rcx, qword [0x1402c5700]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14013edf6
mov ecx, eax
call fcn.1402097e0
jmp 0x14013f968
mov rcx, qword [0x1402c5700]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14013ed16
mov qword [rsp + 0x58], 0
jmp 0x14013ec2a
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1402a4958]
jmp 0x14013ebc2
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x1402a4958]
jmp 0x14013fb1e
mov rcx, qword [0x1402c5700]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14013faa1
movzx ecx, al
lea rax, str.WorkerThread_born
lea r8, [rsp + 0xe0]
mov qword [r8], rax
lea rax, [0x140278780]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 8
mov byte [rsp + 0x28], reloc.WLDAP32.dll_Ordinal_73
lea rdx, [rsp + 0xc0]
mov r9d, 3
call fcn.14002d550
jmp 0x14013eb9b
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0xe0]
mov qword [r8], rax
lea rax, [0x140278780]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x42
lea rdx, [rsp + 0xc0]
mov r9d, 1
call fcn.14002d550
jmp 0x14013ebb5
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0xe0]
mov qword [r8], rax
lea rax, [0x140278780]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], Ordinal_73
lea rdx, [rsp + 0xc0]
mov r9d, 2
call fcn.14002d550
jmp 0x14013fb4e
movzx ecx, al
lea rax, str.WorkerThread_dead
lea r8, [rsp + 0xe0]
mov qword [r8], rax
lea rax, [0x140278780]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 8
mov byte [rsp + 0x28], reloc.WLDAP32.dll_Ordinal_73
lea rdx, [rsp + 0xc0]
mov r9d, 3
call fcn.14002d550
jmp 0x14013fb68
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14013ff71
mov ecx, eax
call fcn.1402097e0
jmp 0x14013fc66
xor ecx, ecx
cmp rbp, rax
setl cl
lea rax, [0x140283bd0]
movsd xmm0, qword [rax + rcx*8]
jmp 0x14013feaa
lea rcx, [rsp + 0xc0]
mov rdx, rax
call fcn.140060400
lea rax, [rsp + 0xc0]
mov rcx, qword [rax]
test rcx, rcx
je 0x14013fe6e
mov rax, rcx
lock dec dword [rcx]
jne 0x14013fe6e
mov rcx, rax
mov qword [rsp + 0x50], rax
call fcn.14000ba30
mov rcx, qword [rsp + 0x50]
call fcn.14019aab4
jmp 0x14013fe6e
lock dec dword [rcx + 8]
jne 0x14013f266
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402a4958]
jmp 0x14013f266