Function at 0x140140b20
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 [0x1402b7040]
xor rax, rsp
mov qword [rsp + 0x148], rax
mov qword [rsp + 0xc0], Ordinal_14
mov al, byte [0x1402c925b]
test al, al
jne 0x14014265a
mov qword [rsp + 0xc0], Ordinal_14
mov al, byte [0x1402c925b]
test al, al
jne 0x1401426a0
mov rcx, qword [rsi + 0x48]
test rcx, rcx
jne 0x14014260f
mov rcx, qword [rsi + 0x70]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov rdx, rsi
call qword [0x1402a7b00]
mov eax, dword [0x1402c97c0]
test eax, eax
je 0x140140cb9
mov rax, qword [rsi + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x140140c0c
cmp dword [rsi + 0x50], 0
je 0x140140cb9
mov rcx, qword [0x1402c97b0]
test rcx, rcx
je 0x140142601
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 [0x1402c6098]
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 [0x140275a70]
movsd xmm7, qword [0x140294610]
movsd xmm8, qword [0x14027c1d0]
movsd xmm9, qword [0x140287778]
xorps xmm10, xmm10
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x38], r15
jmp 0x140141471
mov qword [rsp + 0x58], 0
xor r14d, r14d
jmp 0x140140c3d
mov rax, qword [fcn.14019b0e0]
lea rcx, [0x1401869b0]
cmp rax, rcx
jne 0x140141ada
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 0x1401425da
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c9700]
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 0x140141e5b
mov r15, qword [rsp + 0x110]
test r15, r15
mov r14, qword [rsp + 0x40]
movabs r12, 0xfffffffc00000000
mov rbp, qword [rsp + 0x48]
je 0x140140f59
lock dec dword [r15]
jne 0x140140f59
jmp 0x1401420ee
lea rcx, [rsp + 0x140]
call qword [0x1402a7b00]
mov rax, qword [rsp + 0x140]
jmp 0x140140e06
mov rax, qword [0x1402b9770]
lea rcx, [0x1401869b0]
cmp rax, rcx
jne 0x140140d96
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 0x1401425a7
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c9700]
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 0x140141048
jmp 0x1401410b1
mov qword [rsp + 0x140], Ordinal_14
mov al, byte [0x1402c925b]
test al, al
jne 0x1401424ed
call fcn.14019cacc
mov r12d, dword [rax]
call fcn.14019cacc
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 0x140140f19
cmp qword [rsp + 0xe8], 0
jne 0x140140f19
cmp byte [rbp + 0x19], 1
jne 0x140140f19
mov r15, qword [rbp + 0x28]
add r15, 0x68
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140141d9e
mov qword [rbp + 0x20], 0
cmp byte [rbp + 0x3b], 0
jne 0x140140f05
mov rax, qword [rbp + 0x28]
cmp byte [rbp + 0x39], 1
je 0x140141cfe
dec dword [rax + 0x130]
cmp byte [rbp + 0x19], 0
je 0x1401424bf
cmp byte [rbp + 0x18], 0
jne 0x140140f05
mov rcx, qword [rbp + 0x28]
cmp byte [rbp + 0x3a], 1
je 0x14014259d
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.14019cacc
mov dword [rax], r12d
cmp byte [rsp + 0x118], 1
mov r14, qword [rsp + 0x40]
movabs r12, 0xfffffffc00000000
mov rbp, qword [rsp + 0x48]
jne 0x140140f5e
mov r15, qword [rsp + 0x110]
test r15, r15
jne 0x140140cca
mov r15, qword [rsp + 0x38]
mov rax, qword [rsp + 0xf0]
test rax, rax
je 0x140140f76
mov rcx, qword [rsp + 0xf8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xe8]
mov rax, rcx
and rax, r12
cmp rax, qword [0x1402b9708]
je 0x14014248b
mov qword [rsp + 0xe8], 0
mov rcx, qword [rsp + 0xe0]
mov rax, rcx
and rax, r12
cmp rax, qword [0x1402b9708]
jne 0x1401410c9
call fcn.140004e70
jmp 0x1401410c9
mov rcx, r15
call fcn.140144370
mov r15, qword [rsp + 0x38]
jmp 0x1401410db
mov qword [rsp + 0x138], 0x16c
mov al, byte [0x1402c93bc]
test al, al
je 0x1401410b1
jmp 0x140142551
mov edx, 0xffffffff
jmp 0x140141093
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 0x140142495
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c9700]
mov r12, rax
mov rcx, r14
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
je 0x140140ff3
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 0x140140dae
mov bl, 1
cmp byte [r15 + 0x18], 0
je 0x140140fd4
cmp byte [rsp + 0x120], 1
mov r15, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
je 0x140140e46
test bl, bl
je 0x140141c76
movabs r13, 0xffffffffffffff
mov qword [rsp + 0x140], Ordinal_14
movzx eax, byte [0x1402c925b]
test al, al
jne 0x14014240c
movzx eax, byte [rsi + 0x30]
test al, al
jne 0x140141a4d
movzx eax, byte [rsi + 0x78]
test al, al
jne 0x140141a4d
mov rbx, qword [rsi + 0x38]
lea rdi, [rbx + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140141d54
cmp byte [rbx + 0x78], 1
je 0x140142016
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r14b, r14b
je 0x140141171
cmp byte [rsp + 0xa8], 1
je 0x14014214f
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 0x140142106
mov edi, dword [rsi + 0x50]
cmp edi, dword [rsi + 0x54]
jne 0x14014223c
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 [0x1402a7b00]
mov rax, qword [rsp + 0xe0]
test rax, rax
je 0x1401419e2
mov qword [rsp + 0x138], rax
lea rcx, [rsp + 0x138]
call fcn.140107130
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.140142820
mov r8, qword [rsp + 0xe0]
test r8, r8
jne 0x140142161
mov qword [rsp + 0x140], r8
mov qword [rsp + 0xe0], 0
test r8, r8
jne 0x14014212a
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xc0], 0
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0xe0], rax
test rcx, rcx
jne 0x140142196
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.140107130
test r14b, r14b
je 0x14014133f
cmp byte [rsp + 0xa8], 1
jne 0x14014131b
cmp byte [rsp + 0x90], 1
jne 0x14014131b
mov rdi, qword [rbp]
test rdi, rdi
je 0x14014131b
mov rax, qword [rdi + 0x10]
test rax, rax
js 0x140142071
cmp dword [rdi + 0x24], 1
jne 0x140142294
cmp qword [rdi + 0x18], 0
jne 0x14014224b
movabs rax, 0xbfffffffffffffff
lock and qword [rdi + 0x10], rax
mov rbx, qword [rsp + 0x98]
cmp qword [rdi + 0x18], 0
jne 0x1401422fc
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 [0x1402a7b00]
mov rax, qword [rsi + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x140141ded
mov edi, dword [rsi + 0x50]
cmp edi, dword [rsi + 0x54]
jne 0x140142110
cmp qword [rsp + 0xe0], 0
jne 0x140142103
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rcx
test rax, rax
jne 0x1401411c4
mov dil, 1
cmp byte [rsp + 0xa8], 1
jne 0x140141468
cmp byte [rsp + 0x90], 1
jne 0x140141468
mov rbx, qword [rbp]
test rbx, rbx
je 0x140141468
mov rax, qword [rbx + 0x10]
test rax, rax
js 0x1401420dd
cmp dword [rbx + 0x24], 1
jne 0x14014237a
mov r12, rbp
cmp qword [rbx + 0x18], 0
jne 0x1401423e0
mov rbp, r14
movabs rax, 0xbfffffffffffffff
lock and qword [rbx + 0x10], rax
mov r14, qword [rsp + 0x98]
cmp qword [rbx + 0x18], 0
jne 0x1401422d6
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 0x140141b0d
movzx eax, byte [rsi + 0x30]
test al, al
jne 0x140141b0d
movzx eax, byte [rsi + 0x78]
test al, al
jne 0x140141b0d
mov rbx, qword [rsi + 0x38]
lea rdi, [rbx + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140141d46
cmp byte [rbx + 0x78], 1
je 0x140141fc4
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 [0x1402c925b]
test al, al
jne 0x140142334
mov r15, qword [rsi + 0x70]
mov rax, qword [r15]
lea rcx, [fcn.140144370]
cmp qword [rax + 0x30], rcx
jne 0x140140fc2
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xb8], rax
mov rax, qword [r15]
mov rax, qword [rax + 0x28]
lea rcx, [0x14019c3c0]
cmp rax, rcx
jne 0x14014178b
cmp byte [r15 + 0x58], 1
movabs rax, 0x7fffffffffffffff
je 0x140141c10
mov qword [rsp + 0xb8], rax
mov rax, qword [fcn.14019b0e0]
lea rcx, [0x1401869b0]
cmp rax, rcx
jne 0x1401417a1
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 0x140142459
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c9700]
mov rdi, rax
mov qword [rsp + 0xb0], rax
mov rdx, qword [r15]
mov eax, dword [0x1402d0b10]
mov ecx, dword [0x1402c6098]
mov r8, qword gs:[0x58]
mov rcx, qword [r8 + rcx*8]
mov ecx, dword [rcx + 4]
lea r8, [0x14022f130]
cmp qword [rdx + 0x50], r8
cmp eax, ecx
jg 0x140141d62
cmp byte [0x1402d0b0c], 1
jne 0x14014211f
mov eax, dword [0x1402d0b20]
mov ecx, dword [0x1402c6098]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140141ccd
mov rax, qword [r15 + 8]
test rax, rax
jne 0x14014162c
mov rax, qword [0x1402d0b18]
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, [0x14022f110]
cmp qword [rax + 0x48], rcx
jne 0x1401417bc
test r14, r14
jle 0x140141c4e
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 0x1401417de
movabs rax, 0x7fffffffffffffff
cmp r14, rax
je 0x140141907
mov rax, qword [0x1402b9770]
lea rcx, [0x1401869b0]
cmp rax, rcx
je 0x140140ffd
lea rcx, [rsp + 0x140]
call qword [0x1402a7b00]
mov r12, qword [rsp + 0x140]
jmp 0x140141045
mov rcx, r15
lea rdx, [rsp + 0xb8]
call qword [0x1402a7b00]
jmp 0x14014154e
lea rcx, [rsp + 0xb0]
call qword [0x1402a7b00]
mov rdi, qword [rsp + 0xb0]
jmp 0x1401415b5
mov rcx, rdi
mov rdx, r14
call fcn.140107b00
test al, al
mov r15, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
jne 0x1401410d1
jmp 0x140141c76
lea rcx, [rsp + 0xc0]
lea rdx, str.TimedWait
lea r8, str....._base_synchronizationwaitable_event.cc
mov r9d, 0x40
call fcn.140133460
cmp byte [rsp + 0x120], 1
je 0x1401424d2
mov rax, qword [rsp + 0x68]
mov r12, qword [rax]
mov rax, r12
movabs rbx, 0xfffffffc00000000
and rax, rbx
cmp rax, qword [0x1402b9708]
je 0x1401419cb
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 [0x1402b9708]
je 0x1401424c1
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 0x1401419d8
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 0x140141994
test r12, r12
jne 0x140141dac
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x1401418d9
cmp qword [rsp + 0xe8], 0
jne 0x1401418d9
xor edx, edx
call fcn.140109350
mov qword [rsp + 0x130], Ordinal_14
mov al, byte [0x1402c925b]
test al, al
jne 0x140142517
mov byte [rsp + 0x120], 1
jmp 0x140141746
mov edx, 0xffffffff
jmp 0x14014195c
movabs rcx, 0x7fffffffffffffff
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
je 0x140141900
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 0x1401410a4
cmp eax, 0x102
jne 0x1401425ce
mov rax, qword [0x1402b9770]
lea rcx, [0x1401869b0]
cmp rax, rcx
je 0x140141a6c
jmp 0x140141a54
mov eax, dword [0x1402cfe20]
mov ecx, dword [0x1402c6098]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140141e05
cmp byte [0x1402cfe1c], 0
jne 0x1401418ba
jmp 0x140141e4e
mov rcx, r12
call fcn.140004d30
jmp 0x140141832
mov al, byte [r12 + 0x20]
jmp 0x140141888
mov al, byte [rsi + 0x30]
test al, al
jne 0x140141a38
mov al, byte [rsi + 0x78]
test al, al
jne 0x140141a38
mov rbx, qword [rsi + 0x38]
lea rdi, [rbx + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140141df7
cmp byte [rbx + 0x78], 1
je 0x140142082
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.1401446c0]
cmp rax, rdx
jne 0x140141a45
call fcn.1401446c0
mov rax, qword [rsp + 0xe0]
jmp 0x1401413cd
call qword [0x1402a7b00]
jmp 0x140141a38
xor edi, edi
jmp 0x1401413d9
lea rcx, [rsp + 0x140]
call qword [0x1402a7b00]
mov rax, qword [rsp + 0x140]
jmp 0x140141ab1
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 0x140142633
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c9700]
xor edx, edx
movabs rcx, 0x7fffffffffffffff
cmp rcx, rax
setns dl
add rdx, rcx
xor ebx, ebx
sub rcx, rax
cmovo rcx, rdx
jne 0x140141911
jmp 0x1401410b1
lea rcx, [rsp + 0x140]
call qword [0x1402a7b00]
mov rax, qword [rsp + 0x140]
jmp 0x140140d2e
lock dec dword [rdi + 8]
jne 0x140141b3f
mov rcx, rdi
call fcn.14000ad70
mov rcx, rdi
call fcn.14019cac4
jmp 0x140141b3f
mov rcx, qword [rsi + 0x70]
mov rax, qword [rcx]
mov rax, qword [rax + 0x38]
mov rdx, rsi
call qword [0x1402a7b00]
mov rcx, qword [rsi + 0x48]
test rcx, rcx
jne 0x140142621
mov rdi, qword [rsi + 0x10]
mov qword [rsi + 0x10], 0
test rdi, rdi
jne 0x140141af5
mov qword [rsp + 0xc0], Ordinal_14
mov al, byte [0x1402c925b]
test al, al
mov rsi, qword [rsp + 0x58]
jne 0x1401426e6
mov qword [rsp + 0xc0], Ordinal_14
mov al, byte [0x1402c925b]
test al, al
jne 0x14014272c
test rsi, rsi
je 0x140141b9c
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [0x1402a7b00]
lock dec dword [rsi]
jne 0x140141b9c
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [0x1402a7b00]
mov rcx, qword [rsp + 0x148]
xor rcx, rsp
cmp rcx, qword [0x1402b7040]
je 0x140141bb6
call fcn.14019f290
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 0x140141546
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 0x1401410d1
cmp eax, 0x102
jne 0x140142782
call fcn.14000aca0
mov rax, qword [rsp + 0xb8]
cmp rax, r13
jle 0x1401410d1
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.140107b00
jmp 0x1401410d1
lea rcx, [0x1402d0b20]
call fcn.14019ce70
cmp dword [0x1402d0b20], 0xffffffff
jne 0x14014161c
mov qword [0x1402d0b18], rdi
lea rcx, [0x1402d0b20]
call fcn.14019cd94
jmp 0x14014161c
mov rcx, qword [rax + 0x80]
mov rdx, qword [rax + 0x110]
dec rdx
mov qword [rax + 0x110], rdx
cmp rcx, qword [rax + 0x88]
je 0x140141d28
cmp qword [rax + 0x120], rdx
jae 0x140141d36
mov word [rax + 0xb8], 0
jmp 0x140140ee1
movzx ecx, word [rcx + 0x10]
mov word [rax + 0xb8], cx
jmp 0x140140ee1
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1401414a2
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140141127
lea rcx, [0x1402d0b10]
call fcn.14019ce70
cmp dword [0x1402d0b10], 0xffffffff
jne 0x1401415ea
lea rcx, str.DelayFirstWorkerWake
call fcn.1401468a0
mov byte [0x1402d0b0c], al
lea rcx, [0x1402d0b10]
call fcn.14019cd94
jmp 0x1401415ea
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140140ebf
cmp byte [r12 + 0x38], 1
jne 0x1401418ba
mov rbx, qword [r12 + 0x30]
mov qword [r12 + 0x30], 0
test rbx, rbx
je 0x1401418ba
lock dec dword [rbx]
jne 0x1401418ba
mov rcx, rbx
call fcn.14000ba30
mov rcx, rbx
call fcn.14019cac4
jmp 0x1401418ba
mov edi, 3
jmp 0x140141395
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140141a09
lea rcx, [0x1402cfe20]
call fcn.14019ce70
cmp dword [0x1402cfe20], 0xffffffff
jne 0x1401419b9
mov rcx, qword [0x1402c9600]
test rcx, rcx
je 0x140141e36
lea rdx, str.enable_background_thread_pool
call fcn.14014e980
mov byte [0x1402cfe1c], 1
lea rcx, [0x1402cfe20]
call fcn.14019cd94
jmp 0x1401419b9
mov r12, qword [rsp + 0xe8]
jmp 0x1401418b1
mov ecx, 0x3938700
add rcx, qword [r15 + 0x1f0]
movabs r14, 0x7fffffffffffffff
cmovo rcx, r14
cmp rax, rcx
jge 0x1401427a7
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 0x14014278e
cvtsi2sd xmm0, rcx
movsd xmm13, qword [0x140286d90]
divsd xmm0, xmm13
call fcn.1401d78a0
xor ecx, ecx
movsd xmm11, qword [0x140286d98]
ucomisd xmm0, xmm11
mov eax, 0x7fffffff
cmovb eax, ecx
movsd xmm12, qword [0x140286da0]
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 0x140141f2b
xorps xmm0, xmm0
cvtsi2sd xmm0, r12
divsd xmm0, xmm13
jmp 0x140141f33
movsd xmm0, qword [0x14027be68]
call fcn.1401d7950
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 0x140142772
cmp ebp, r14d
jge 0x140141f99
movsxd rax, ebp
movsxd rcx, r14d
inc qword [r15 + rax*8 + 0x10]
inc rax
cmp rcx, rax
jne 0x140141f8c
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp r12d, 0x3d
jl 0x140140d62
mov r15, qword [r15 + 0x1f8]
sub r12d, r14d
xor ebp, ebp
test r15, r15
jne 0x140141f59
jmp 0x140140d62
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 0x140141ffa
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r14d, r14d
mov r14, rbp
mov rbp, r15
je 0x140141b0d
jmp 0x1401414b5
cmp r14d, 0x102
je 0x140141fdd
mov ecx, r14d
call fcn.14020c490
mov r14, rbp
mov rbp, r15
jmp 0x1401414ac
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 0x140142052
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r14d, r14d
mov r14, rbp
mov rbp, r15
mov r15, r12
je 0x140141a4d
jmp 0x14014113a
cmp r14d, 0x102
je 0x140142032
mov ecx, r14d
call fcn.14020c490
mov r14, rbp
mov rbp, r15
mov r15, r12
jmp 0x140141131
mov rcx, qword [0x1402c97b0]
call fcn.1401db620
jmp 0x1401412c6
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 0x1401420be
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r14d, r14d
mov r14, rbp
mov rbp, r15
mov r15, r12
je 0x140141a38
jmp 0x140141a1c
cmp r14d, 0x102
je 0x14014209e
mov ecx, r14d
call fcn.14020c490
mov r14, rbp
mov rbp, r15
mov r15, r12
jmp 0x140141a13
mov rcx, qword [0x1402c97b0]
call fcn.1401db620
jmp 0x140141407
mov rcx, r15
call fcn.14000ba30
mov rcx, r15
call fcn.14019cac4
jmp 0x140140f59
int3
mov edi, 3
jmp 0x140141186
mov ecx, edi
call fcn.14001a290
mov dword [rsi + 0x54], edi
jmp 0x14014139e
mov r13d, 0xf4240
jmp 0x1401416c9
lock dec dword [r8 + 8]
jne 0x140141239
mov rax, qword [r8]
mov rax, qword [rax + 0x30]
mov rcx, r8
mov edx, 1
call qword [0x1402a7b00]
jmp 0x140141239
lea rcx, [rsp + 0x90]
call fcn.1401879d0
jmp 0x14014114d
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x14014121c
mov qword [rsp + 0xe0], 0
lea rdi, [rsp + 0x140]
mov rdx, rdi
call fcn.14015cc30
mov r8, qword [rdi]
jmp 0x140141230
lock dec dword [rcx + 8]
jne 0x1401421ae
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402a7b00]
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 0x140141276
lock dec dword [rcx + 8]
je 0x140142228
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 0x140141276
jmp 0x1401427f3
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402a7b00]
jmp 0x1401421f9
mov ecx, edi
call fcn.14001a290
mov dword [rsi + 0x54], edi
jmp 0x14014118f
lea rcx, [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
call fcn.14020cae0
movabs rcx, 0xff00000000000000
and rcx, rbx
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x1401412db
lea rcx, [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
call fcn.14020cae0
movabs rcx, 0xff00000000000000
and rcx, rbx
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x1401422a9
cmp byte [rsp + 0xa0], 1
jne 0x1401412ea
cmp qword [rdi + 0x18], 0
jne 0x140142271
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 0x1401412ea
lea rcx, [rbx + 0x18]
mov r15, qword [rbx + 0x10]
call fcn.14020cae0
movabs rcx, 0xff00000000000000
and rcx, r15
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x140141444
lea rcx, [rdi + 0x18]
mov r12, r15
mov r15, rbp
mov rbp, r14
mov r14, qword [rdi + 0x10]
call fcn.14020cae0
movabs rcx, 0xff00000000000000
and rcx, r14
mov r14, rbp
mov rbp, r15
mov r15, r12
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x1401412fd
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0xe0]
mov qword [r8], rax
lea rax, [0x14027b790]
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 0x1401414f0
mov r12, rbp
mov rbp, r14
cmp byte [rsp + 0xa0], 1
jne 0x140141431
cmp qword [rbx + 0x18], 0
jne 0x1401423bd
movabs r12, 0x4000000000000000
lock or qword [rbx + 0x10], r12
mov rbp, qword [rsp + 0x40]
movabs r13, 0xffffffffffffff
mov r12, qword [rsp + 0x48]
jmp 0x140141431
lea rcx, [rbx + 0x18]
mov r14, qword [rbx + 0x10]
call fcn.14020cae0
movabs rcx, 0xff00000000000000
and rcx, r14
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x140142395
lea rcx, [rbx + 0x18]
mov rbp, r14
mov r14, qword [rbx + 0x10]
call fcn.14020cae0
movabs rcx, 0xff00000000000000
and rcx, r14
mov r14, rbp
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x14014141f
movzx ecx, al
mov rax, qword [0x1402c77e8]
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 0x1401410f6
mov rcx, qword [0x1402c9700]
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 0x1401415b5
call fcn.140004e70
jmp 0x140140f91
mov rcx, qword [0x1402c9700]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov r12, rax
add r12, r8
jmp 0x140141045
ud2
mov rcx, r12
call fcn.140004d30
mov rax, qword [rbp]
jmp 0x140141859
lea r12, [rsp + 0xe0]
mov rcx, r12
call fcn.140109f60
mov byte [r12 + 0x40], 0
jmp 0x14014180d
movzx ecx, al
lea r8, [rsp + 0xc0]
mov qword [r8], 0
lea rdx, [rsp + 0x140]
mov r9d, 2
call fcn.14011c480
jmp 0x140140e60
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.140203410
jmp 0x1401418f3
movzx ecx, al
mov rax, qword [0x1402c77e8]
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 0x1401410b1
call fcn.140218860
jmp 0x140140f05
mov rcx, qword [0x1402c9700]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140140e06
mov ecx, eax
call fcn.14020c490
jmp 0x140141978
mov rcx, qword [0x1402c9700]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140140d26
mov qword [rsp + 0x58], 0
jmp 0x140140c3a
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1402a7b00]
jmp 0x140140bd2
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x1402a7b00]
jmp 0x140141b2e
mov rcx, qword [0x1402c9700]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140141ab1
movzx ecx, al
lea rax, str.WorkerThread_born
lea r8, [rsp + 0xe0]
mov qword [r8], rax
lea rax, [0x14027b790]
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 0x140140bab
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0xe0]
mov qword [r8], rax
lea rax, [0x14027b790]
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 0x140140bc5
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0xe0]
mov qword [r8], rax
lea rax, [0x14027b790]
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 0x140141b5e
movzx ecx, al
lea rax, str.WorkerThread_dead
lea r8, [rsp + 0xe0]
mov qword [r8], rax
lea rax, [0x14027b790]
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 0x140141b78
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140141f81
mov ecx, eax
call fcn.14020c490
jmp 0x140141c76
xor ecx, ecx
cmp rbp, rax
setl cl
lea rax, [0x140286d80]
movsd xmm0, qword [rax + rcx*8]
jmp 0x140141eba
lea rcx, [rsp + 0xc0]
mov rdx, rax
call fcn.140060400
lea rax, [rsp + 0xc0]
mov rcx, qword [rax]
test rcx, rcx
je 0x140141e7e
mov rax, rcx
lock dec dword [rcx]
jne 0x140141e7e
mov rcx, rax
mov qword [rsp + 0x50], rax
call fcn.14000ba30
mov rcx, qword [rsp + 0x50]
call fcn.14019cac4
jmp 0x140141e7e
lock dec dword [rcx + 8]
jne 0x140141276
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
call qword [0x1402a7b00]
jmp 0x140141276