Function at 0x14014d5c0
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 [0x1402db040]
xor rax, rsp
mov qword [rsp + 0x148], rax
mov qword [rsp + 0xc0], Ordinal_14
mov al, byte [0x14032e14b]
test al, al
jne 0x14014f0fa
mov qword [rsp + 0xc0], Ordinal_14
mov al, byte [0x14032e14b]
test al, al
jne 0x14014f140
mov rcx, qword [rsi + 0x48]
test rcx, rcx
jne 0x14014f0af
mov rcx, qword [rsi + 0x70]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov rdx, rsi
call qword [0x1402cbd20]
mov eax, dword [0x14032e6b0]
test eax, eax
je 0x14014d759
mov rax, qword [rsi + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x14014d6ac
cmp dword [rsi + 0x50], 0
je 0x14014d759
mov rcx, qword [0x14032e6a0]
test rcx, rcx
je 0x14014f0a1
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 [0x1402ea130]
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 [0x140299a90]
movsd xmm7, qword [0x1402b85b0]
movsd xmm8, qword [0x1402a0280]
movsd xmm9, qword [0x1402ab6e8]
xorps xmm10, xmm10
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x38], r15
jmp 0x14014df11
mov qword [rsp + 0x58], 0
xor r14d, r14d
jmp 0x14014d6dd
mov rax, qword [fcn.1401a83e0]
lea rcx, [0x1401930c0]
cmp rax, rcx
jne 0x14014e57a
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 0x14014f07a
imul rax, rax, 0xf4240
cqo
idiv qword [0x14032e5f0]
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 0x14014e8fb
mov r15, qword [rsp + 0x110]
test r15, r15
mov r14, qword [rsp + 0x40]
movabs r12, 0xfffffffc00000000
mov rbp, qword [rsp + 0x48]
je 0x14014d9f9
lock dec dword [r15]
jne 0x14014d9f9
jmp 0x14014eb8e
lea rcx, [rsp + 0x140]
call qword [0x1402cbd20]
mov rax, qword [rsp + 0x140]
jmp 0x14014d8a6
mov rax, qword [0x1402dd7b0]
lea rcx, [0x1401930c0]
cmp rax, rcx
jne 0x14014d836
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 0x14014f047
imul rax, rax, 0xf4240
cqo
idiv qword [0x14032e5f0]
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 0x14014dae8
jmp 0x14014db51
mov qword [rsp + 0x140], Ordinal_14
mov al, byte [0x14032e14b]
test al, al
jne 0x14014ef8d
call fcn.1401a9dcc
mov r12d, dword [rax]
call fcn.1401a9dcc
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 0x14014d9b9
cmp qword [rsp + 0xe8], 0
jne 0x14014d9b9
cmp byte [rbp + 0x19], 1
jne 0x14014d9b9
mov r15, qword [rbp + 0x28]
add r15, 0x68
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14014e83e
mov qword [rbp + 0x20], 0
cmp byte [rbp + 0x3b], 0
jne 0x14014d9a5
mov rax, qword [rbp + 0x28]
cmp byte [rbp + 0x39], 1
je 0x14014e79e
dec dword [rax + 0x130]
cmp byte [rbp + 0x19], 0
je 0x14014ef5f
cmp byte [rbp + 0x18], 0
jne 0x14014d9a5
mov rcx, qword [rbp + 0x28]
cmp byte [rbp + 0x3a], 1
je 0x14014f03d
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.1401a9dcc
mov dword [rax], r12d
cmp byte [rsp + 0x118], 1
mov r14, qword [rsp + 0x40]
movabs r12, 0xfffffffc00000000
mov rbp, qword [rsp + 0x48]
jne 0x14014d9fe
mov r15, qword [rsp + 0x110]
test r15, r15
jne 0x14014d76a
mov r15, qword [rsp + 0x38]
mov rax, qword [rsp + 0xf0]
test rax, rax
je 0x14014da16
mov rcx, qword [rsp + 0xf8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xe8]
mov rax, rcx
and rax, r12
cmp rax, qword [0x1402dd748]
je 0x14014ef2b
mov qword [rsp + 0xe8], 0
mov rcx, qword [rsp + 0xe0]
mov rax, rcx
and rax, r12
cmp rax, qword [0x1402dd748]
jne 0x14014db69
call fcn.140004e70
jmp 0x14014db69
mov rcx, r15
call fcn.140150e10
mov r15, qword [rsp + 0x38]
jmp 0x14014db7b
mov qword [rsp + 0x138], 0x16c
mov al, byte [0x14032e2ac]
test al, al
je 0x14014db51
jmp 0x14014eff1
mov edx, 0xffffffff
jmp 0x14014db33
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 0x14014ef35
imul rax, rax, 0xf4240
cqo
idiv qword [0x14032e5f0]
mov r12, rax
mov rcx, r14
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
je 0x14014da93
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 0x14014d84e
mov bl, 1
cmp byte [r15 + 0x18], 0
je 0x14014da74
cmp byte [rsp + 0x120], 1
mov r15, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
je 0x14014d8e6
test bl, bl
je 0x14014e716
movabs r13, 0xffffffffffffff
mov qword [rsp + 0x140], Ordinal_14
movzx eax, byte [0x14032e14b]
test al, al
jne 0x14014eeac
movzx eax, byte [rsi + 0x30]
test al, al
jne 0x14014e4ed
movzx eax, byte [rsi + 0x78]
test al, al
jne 0x14014e4ed
mov rbx, qword [rsi + 0x38]
lea rdi, [rbx + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14014e7f4
cmp byte [rbx + 0x78], 1
je 0x14014eab6
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r14b, r14b
je 0x14014dc11
cmp byte [rsp + 0xa8], 1
je 0x14014ebef
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 0x14014eba6
mov edi, dword [rsi + 0x50]
cmp edi, dword [rsi + 0x54]
jne 0x14014ecdc
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 [0x1402cbd20]
mov rax, qword [rsp + 0xe0]
test rax, rax
je 0x14014e482
mov qword [rsp + 0x138], rax
lea rcx, [rsp + 0x138]
call fcn.140113bd0
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.14014f2c0
mov r8, qword [rsp + 0xe0]
test r8, r8
jne 0x14014ec01
mov qword [rsp + 0x140], r8
mov qword [rsp + 0xe0], 0
test r8, r8
jne 0x14014ebca
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xc0], 0
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0xe0], rax
test rcx, rcx
jne 0x14014ec36
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.140113bd0
test r14b, r14b
je 0x14014dddf
cmp byte [rsp + 0xa8], 1
jne 0x14014ddbb
cmp byte [rsp + 0x90], 1
jne 0x14014ddbb
mov rdi, qword [rbp]
test rdi, rdi
je 0x14014ddbb
mov rax, qword [rdi + 0x10]
test rax, rax
js 0x14014eb11
cmp dword [rdi + 0x24], 1
jne 0x14014ed34
cmp qword [rdi + 0x18], 0
jne 0x14014eceb
movabs rax, 0xbfffffffffffffff
lock and qword [rdi + 0x10], rax
mov rbx, qword [rsp + 0x98]
cmp qword [rdi + 0x18], 0
jne 0x14014ed9c
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 [0x1402cbd20]
mov rax, qword [rsi + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x14014e88d
mov edi, dword [rsi + 0x50]
cmp edi, dword [rsi + 0x54]
jne 0x14014ebb0
cmp qword [rsp + 0xe0], 0
jne 0x14014eba3
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rcx
test rax, rax
jne 0x14014dc64
mov dil, 1
cmp byte [rsp + 0xa8], 1
jne 0x14014df08
cmp byte [rsp + 0x90], 1
jne 0x14014df08
mov rbx, qword [rbp]
test rbx, rbx
je 0x14014df08
mov rax, qword [rbx + 0x10]
test rax, rax
js 0x14014eb7d
cmp dword [rbx + 0x24], 1
jne 0x14014ee1a
mov r12, rbp
cmp qword [rbx + 0x18], 0
jne 0x14014ee80
mov rbp, r14
movabs rax, 0xbfffffffffffffff
lock and qword [rbx + 0x10], rax
mov r14, qword [rsp + 0x98]
cmp qword [rbx + 0x18], 0
jne 0x14014ed76
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 0x14014e5ad
movzx eax, byte [rsi + 0x30]
test al, al
jne 0x14014e5ad
movzx eax, byte [rsi + 0x78]
test al, al
jne 0x14014e5ad
mov rbx, qword [rsi + 0x38]
lea rdi, [rbx + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14014e7e6
cmp byte [rbx + 0x78], 1
je 0x14014ea64
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 [0x14032e14b]
test al, al
jne 0x14014edd4
mov r15, qword [rsi + 0x70]
mov rax, qword [r15]
lea rcx, [fcn.140150e10]
cmp qword [rax + 0x30], rcx
jne 0x14014da62
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xb8], rax
mov rax, qword [r15]
mov rax, qword [rax + 0x28]
lea rcx, [0x1401a96c0]
cmp rax, rcx
jne 0x14014e22b
cmp byte [r15 + 0x58], 1
movabs rax, 0x7fffffffffffffff
je 0x14014e6b0
mov qword [rsp + 0xb8], rax
mov rax, qword [fcn.1401a83e0]
lea rcx, [0x1401930c0]
cmp rax, rcx
jne 0x14014e241
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 0x14014eef9
imul rax, rax, 0xf4240
cqo
idiv qword [0x14032e5f0]
mov rdi, rax
mov qword [rsp + 0xb0], rax
mov rdx, qword [r15]
mov eax, dword [0x1403359d0]
mov ecx, dword [0x1402ea130]
mov r8, qword gs:[0x58]
mov rcx, qword [r8 + rcx*8]
mov ecx, dword [rcx + 4]
lea r8, [0x140253830]
cmp qword [rdx + 0x50], r8
cmp eax, ecx
jg 0x14014e802
cmp byte [0x1403359cc], 1
jne 0x14014ebbf
mov eax, dword [0x1403359e0]
mov ecx, dword [0x1402ea130]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14014e76d
mov rax, qword [r15 + 8]
test rax, rax
jne 0x14014e0cc
mov rax, qword [0x1403359d8]
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, [0x140253810]
cmp qword [rax + 0x48], rcx
jne 0x14014e25c
test r14, r14
jle 0x14014e6ee
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 0x14014e27e
movabs rax, 0x7fffffffffffffff
cmp r14, rax
je 0x14014e3a7
mov rax, qword [0x1402dd7b0]
lea rcx, [0x1401930c0]
cmp rax, rcx
je 0x14014da9d
lea rcx, [rsp + 0x140]
call qword [0x1402cbd20]
mov r12, qword [rsp + 0x140]
jmp 0x14014dae5
mov rcx, r15
lea rdx, [rsp + 0xb8]
call qword [0x1402cbd20]
jmp 0x14014dfee
lea rcx, [rsp + 0xb0]
call qword [0x1402cbd20]
mov rdi, qword [rsp + 0xb0]
jmp 0x14014e055
mov rcx, rdi
mov rdx, r14
call fcn.1401145a0
test al, al
mov r15, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
jne 0x14014db71
jmp 0x14014e716
lea rcx, [rsp + 0xc0]
lea rdx, str.TimedWait
lea r8, str....._base_synchronizationwaitable_event.cc
mov r9d, 0x40
call fcn.14013ff00
cmp byte [rsp + 0x120], 1
je 0x14014ef72
mov rax, qword [rsp + 0x68]
mov r12, qword [rax]
mov rax, r12
movabs rbx, 0xfffffffc00000000
and rax, rbx
cmp rax, qword [0x1402dd748]
je 0x14014e46b
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 [0x1402dd748]
je 0x14014ef61
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 0x14014e478
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 0x14014e434
test r12, r12
jne 0x14014e84c
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x14014e379
cmp qword [rsp + 0xe8], 0
jne 0x14014e379
xor edx, edx
call fcn.140115df0
mov qword [rsp + 0x130], Ordinal_14
mov al, byte [0x14032e14b]
test al, al
jne 0x14014efb7
mov byte [rsp + 0x120], 1
jmp 0x14014e1e6
mov edx, 0xffffffff
jmp 0x14014e3fc
movabs rcx, 0x7fffffffffffffff
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
je 0x14014e3a0
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 0x14014db44
cmp eax, 0x102
jne 0x14014f06e
mov rax, qword [0x1402dd7b0]
lea rcx, [0x1401930c0]
cmp rax, rcx
je 0x14014e50c
jmp 0x14014e4f4
mov eax, dword [0x140334ce0]
mov ecx, dword [0x1402ea130]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14014e8a5
cmp byte [0x140334cdc], 0
jne 0x14014e35a
jmp 0x14014e8ee
mov rcx, r12
call fcn.140004d30
jmp 0x14014e2d2
mov al, byte [r12 + 0x20]
jmp 0x14014e328
mov al, byte [rsi + 0x30]
test al, al
jne 0x14014e4d8
mov al, byte [rsi + 0x78]
test al, al
jne 0x14014e4d8
mov rbx, qword [rsi + 0x38]
lea rdi, [rbx + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14014e897
cmp byte [rbx + 0x78], 1
je 0x14014eb22
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.140151160]
cmp rax, rdx
jne 0x14014e4e5
call fcn.140151160
mov rax, qword [rsp + 0xe0]
jmp 0x14014de6d
call qword [0x1402cbd20]
jmp 0x14014e4d8
xor edi, edi
jmp 0x14014de79
lea rcx, [rsp + 0x140]
call qword [0x1402cbd20]
mov rax, qword [rsp + 0x140]
jmp 0x14014e551
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 0x14014f0d3
imul rax, rax, 0xf4240
cqo
idiv qword [0x14032e5f0]
xor edx, edx
movabs rcx, 0x7fffffffffffffff
cmp rcx, rax
setns dl
add rdx, rcx
xor ebx, ebx
sub rcx, rax
cmovo rcx, rdx
jne 0x14014e3b1
jmp 0x14014db51
lea rcx, [rsp + 0x140]
call qword [0x1402cbd20]
mov rax, qword [rsp + 0x140]
jmp 0x14014d7ce
lock dec dword [rdi + 8]
jne 0x14014e5df
mov rcx, rdi
call fcn.14000ad70
mov rcx, rdi
call fcn.1401a9dc4
jmp 0x14014e5df
mov rcx, qword [rsi + 0x70]
mov rax, qword [rcx]
mov rax, qword [rax + 0x38]
mov rdx, rsi
call qword [0x1402cbd20]
mov rcx, qword [rsi + 0x48]
test rcx, rcx
jne 0x14014f0c1
mov rdi, qword [rsi + 0x10]
mov qword [rsi + 0x10], 0
test rdi, rdi
jne 0x14014e595
mov qword [rsp + 0xc0], Ordinal_14
mov al, byte [0x14032e14b]
test al, al
mov rsi, qword [rsp + 0x58]
jne 0x14014f186
mov qword [rsp + 0xc0], Ordinal_14
mov al, byte [0x14032e14b]
test al, al
jne 0x14014f1cc
test rsi, rsi
je 0x14014e63c
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [0x1402cbd20]
lock dec dword [rsi]
jne 0x14014e63c
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [0x1402cbd20]
mov rcx, qword [rsp + 0x148]
xor rcx, rsp
cmp rcx, qword [0x1402db040]
je 0x14014e656
call fcn.1401ac870
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 0x14014dfe6
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 0x14014db71
cmp eax, 0x102
jne 0x14014f222
call fcn.14000aca0
mov rax, qword [rsp + 0xb8]
cmp rax, r13
jle 0x14014db71
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.1401145a0
jmp 0x14014db71
lea rcx, [0x1403359e0]
call fcn.1401aa170
cmp dword [0x1403359e0], 0xffffffff
jne 0x14014e0bc
mov qword [0x1403359d8], rdi
lea rcx, [0x1403359e0]
call fcn.1401aa094
jmp 0x14014e0bc
mov rcx, qword [rax + 0x80]
mov rdx, qword [rax + 0x110]
dec rdx
mov qword [rax + 0x110], rdx
cmp rcx, qword [rax + 0x88]
je 0x14014e7c8
cmp qword [rax + 0x120], rdx
jae 0x14014e7d6
mov word [rax + 0xb8], 0
jmp 0x14014d981
movzx ecx, word [rcx + 0x10]
mov word [rax + 0xb8], cx
jmp 0x14014d981
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14014df42
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14014dbc7
lea rcx, [0x1403359d0]
call fcn.1401aa170
cmp dword [0x1403359d0], 0xffffffff
jne 0x14014e08a
lea rcx, str.DelayFirstWorkerWake
call fcn.140153340
mov byte [0x1403359cc], al
lea rcx, [0x1403359d0]
call fcn.1401aa094
jmp 0x14014e08a
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14014d95f
cmp byte [r12 + 0x38], 1
jne 0x14014e35a
mov rbx, qword [r12 + 0x30]
mov qword [r12 + 0x30], 0
test rbx, rbx
je 0x14014e35a
lock dec dword [rbx]
jne 0x14014e35a
mov rcx, rbx
call fcn.14000ba30
mov rcx, rbx
call fcn.1401a9dc4
jmp 0x14014e35a
mov edi, 3
jmp 0x14014de35
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14014e4a9
lea rcx, [0x140334ce0]
call fcn.1401aa170
cmp dword [0x140334ce0], 0xffffffff
jne 0x14014e459
mov rcx, qword [0x14032e4f0]
test rcx, rcx
je 0x14014e8d6
lea rdx, str.enable_background_thread_pool
call fcn.14015b420
mov byte [0x140334cdc], 1
lea rcx, [0x140334ce0]
call fcn.1401aa094
jmp 0x14014e459
mov r12, qword [rsp + 0xe8]
jmp 0x14014e351
mov ecx, 0x3938700
add rcx, qword [r15 + 0x1f0]
movabs r14, 0x7fffffffffffffff
cmovo rcx, r14
cmp rax, rcx
jge 0x14014f247
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 0x14014f22e
cvtsi2sd xmm0, rcx
movsd xmm13, qword [0x1402aad10]
divsd xmm0, xmm13
call fcn.1401e4ed0
xor ecx, ecx
movsd xmm11, qword [0x1402a0258]
ucomisd xmm0, xmm11
mov eax, 0x7fffffff
cmovb eax, ecx
movsd xmm12, qword [0x1402a0260]
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 0x14014e9cb
xorps xmm0, xmm0
cvtsi2sd xmm0, r12
divsd xmm0, xmm13
jmp 0x14014e9d3
movsd xmm0, qword [0x14029ff08]
call fcn.1401e4f80
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 0x14014f212
cmp ebp, r14d
jge 0x14014ea39
movsxd rax, ebp
movsxd rcx, r14d
inc qword [r15 + rax*8 + 0x10]
inc rax
cmp rcx, rax
jne 0x14014ea2c
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp r12d, 0x3d
jl 0x14014d802
mov r15, qword [r15 + 0x1f8]
sub r12d, r14d
xor ebp, ebp
test r15, r15
jne 0x14014e9f9
jmp 0x14014d802
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 0x14014ea9a
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r14d, r14d
mov r14, rbp
mov rbp, r15
je 0x14014e5ad
jmp 0x14014df55
cmp r14d, 0x102
je 0x14014ea7d
mov ecx, r14d
call fcn.140230b90
mov r14, rbp
mov rbp, r15
jmp 0x14014df4c
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 0x14014eaf2
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r14d, r14d
mov r14, rbp
mov rbp, r15
mov r15, r12
je 0x14014e4ed
jmp 0x14014dbda
cmp r14d, 0x102
je 0x14014ead2
mov ecx, r14d
call fcn.140230b90
mov r14, rbp
mov rbp, r15
mov r15, r12
jmp 0x14014dbd1
mov rcx, qword [0x14032e6a0]
call fcn.1401e8c50
jmp 0x14014dd66
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 0x14014eb5e
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r14d, r14d
mov r14, rbp
mov rbp, r15
mov r15, r12
je 0x14014e4d8
jmp 0x14014e4bc
cmp r14d, 0x102
je 0x14014eb3e
mov ecx, r14d
call fcn.140230b90
mov r14, rbp
mov rbp, r15
mov r15, r12
jmp 0x14014e4b3
mov rcx, qword [0x14032e6a0]
call fcn.1401e8c50
jmp 0x14014dea7
mov rcx, r15
call fcn.14000ba30
mov rcx, r15
call fcn.1401a9dc4
jmp 0x14014d9f9
int3
mov edi, 3
jmp 0x14014dc26
mov ecx, edi
call fcn.14001a290
mov dword [rsi + 0x54], edi
jmp 0x14014de3e
mov r13d, 0xf4240
jmp 0x14014e169
lock dec dword [r8 + 8]
jne 0x14014dcd9
mov rax, qword [r8]
mov rax, qword [rax + 0x30]
mov rcx, r8
mov edx, 1
call qword [0x1402cbd20]
jmp 0x14014dcd9
lea rcx, [rsp + 0x90]
call fcn.1401940e0
jmp 0x14014dbed
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x14014dcbc
mov qword [rsp + 0xe0], 0
lea rdi, [rsp + 0x140]
mov rdx, rdi
call fcn.1401696d0
mov r8, qword [rdi]
jmp 0x14014dcd0
lock dec dword [rcx + 8]
jne 0x14014ec4e
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402cbd20]
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 0x14014dd16
lock dec dword [rcx + 8]
je 0x14014ecc8
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 0x14014dd16
jmp 0x14014f293
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402cbd20]
jmp 0x14014ec99
mov ecx, edi
call fcn.14001a290
mov dword [rsi + 0x54], edi
jmp 0x14014dc2f
lea rcx, [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
call fcn.1402311e0
movabs rcx, 0xff00000000000000
and rcx, rbx
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x14014dd7b
lea rcx, [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
call fcn.1402311e0
movabs rcx, 0xff00000000000000
and rcx, rbx
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x14014ed49
cmp byte [rsp + 0xa0], 1
jne 0x14014dd8a
cmp qword [rdi + 0x18], 0
jne 0x14014ed11
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 0x14014dd8a
lea rcx, [rbx + 0x18]
mov r15, qword [rbx + 0x10]
call fcn.1402311e0
movabs rcx, 0xff00000000000000
and rcx, r15
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x14014dee4
lea rcx, [rdi + 0x18]
mov r12, r15
mov r15, rbp
mov rbp, r14
mov r14, qword [rdi + 0x10]
call fcn.1402311e0
movabs rcx, 0xff00000000000000
and rcx, r14
mov r14, rbp
mov rbp, r15
mov r15, r12
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x14014dd9d
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0xe0]
mov qword [r8], rax
lea rax, [0x14029f830]
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.14002d480
jmp 0x14014df90
mov r12, rbp
mov rbp, r14
cmp byte [rsp + 0xa0], 1
jne 0x14014ded1
cmp qword [rbx + 0x18], 0
jne 0x14014ee5d
movabs r12, 0x4000000000000000
lock or qword [rbx + 0x10], r12
mov rbp, qword [rsp + 0x40]
movabs r13, 0xffffffffffffff
mov r12, qword [rsp + 0x48]
jmp 0x14014ded1
lea rcx, [rbx + 0x18]
mov r14, qword [rbx + 0x10]
call fcn.1402311e0
movabs rcx, 0xff00000000000000
and rcx, r14
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x14014ee35
lea rcx, [rbx + 0x18]
mov rbp, r14
mov r14, qword [rbx + 0x10]
call fcn.1402311e0
movabs rcx, 0xff00000000000000
and rcx, r14
mov r14, rbp
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x14014debf
movzx ecx, al
mov rax, qword [0x1402eb888]
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 0x14014db96
mov rcx, qword [0x14032e5f0]
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 0x14014e055
call fcn.140004e70
jmp 0x14014da31
mov rcx, qword [0x14032e5f0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov r12, rax
add r12, r8
jmp 0x14014dae5
ud2
mov rcx, r12
call fcn.140004d30
mov rax, qword [rbp]
jmp 0x14014e2f9
lea r12, [rsp + 0xe0]
mov rcx, r12
call fcn.140116a00
mov byte [r12 + 0x40], 0
jmp 0x14014e2ad
movzx ecx, al
lea r8, [rsp + 0xc0]
mov qword [r8], 0
lea rdx, [rsp + 0x140]
mov r9d, 2
call fcn.140128f20
jmp 0x14014d900
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.140227b10
jmp 0x14014e393
movzx ecx, al
mov rax, qword [0x1402eb888]
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 0x14014db51
call fcn.14023cf60
jmp 0x14014d9a5
mov rcx, qword [0x14032e5f0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14014d8a6
mov ecx, eax
call fcn.140230b90
jmp 0x14014e418
mov rcx, qword [0x14032e5f0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14014d7c6
mov qword [rsp + 0x58], 0
jmp 0x14014d6da
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1402cbd20]
jmp 0x14014d672
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x1402cbd20]
jmp 0x14014e5ce
mov rcx, qword [0x14032e5f0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14014e551
movzx ecx, al
lea rax, str.WorkerThread_born
lea r8, [rsp + 0xe0]
mov qword [r8], rax
lea rax, [0x14029f830]
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.14002d480
jmp 0x14014d64b
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0xe0]
mov qword [r8], rax
lea rax, [0x14029f830]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x42
lea rdx, [rsp + 0xc0]
mov r9d, 1
call fcn.14002d480
jmp 0x14014d665
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0xe0]
mov qword [r8], rax
lea rax, [0x14029f830]
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.14002d480
jmp 0x14014e5fe
movzx ecx, al
lea rax, str.WorkerThread_dead
lea r8, [rsp + 0xe0]
mov qword [r8], rax
lea rax, [0x14029f830]
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.14002d480
jmp 0x14014e618
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14014ea21
mov ecx, eax
call fcn.140230b90
jmp 0x14014e716
xor ecx, ecx
cmp rbp, rax
setl cl
lea rax, [0x1402aad00]
movsd xmm0, qword [rax + rcx*8]
jmp 0x14014e95a
lea rcx, [rsp + 0xc0]
mov rdx, rax
call fcn.140060340
lea rax, [rsp + 0xc0]
mov rcx, qword [rax]
test rcx, rcx
je 0x14014e91e
mov rax, rcx
lock dec dword [rcx]
jne 0x14014e91e
mov rcx, rax
mov qword [rsp + 0x50], rax
call fcn.14000ba30
mov rcx, qword [rsp + 0x50]
call fcn.1401a9dc4
jmp 0x14014e91e
lock dec dword [rcx + 8]
jne 0x14014dd16
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402cbd20]
jmp 0x14014dd16