Function at 0x14011ee10
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0xd0
mov rax, qword [0x1402db040]
xor rax, rsp
mov qword [rsp + 0xc8], rax
mov rax, qword [rcx + 0xc0]
cmp qword [rcx + 0xb8], rax
je 0x14011f00e
mov rsi, rdx
mov rdi, rcx
mov eax, dword [rax - 0x38]
test eax, eax
je 0x14011f047
cmp eax, 2
je 0x14011f603
cmp qword [rdi + 0x80], 0
je 0x14011efe7
cmp qword [rdi + 0x68], 0
je 0x14011efe7
mov rax, qword [rdi + 0xa8]
test rax, rax
je 0x14011f5a3
mov rcx, qword [rax + 0xc0]
sub rcx, qword [rax + 0xb8]
cmp rcx, 0x80
jne 0x14011efe7
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x40], rax
movzx eax, byte [rsi + 8]
test al, al
jne 0x14011ef34
mov rax, qword [fcn.1401a83e0]
lea rcx, [0x1401930c0]
cmp rax, rcx
jne 0x14011f037
mov qword [rsp + 0x50], 0
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x50]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14011f73d
imul rax, rax, 0xf4240
cqo
idiv qword [0x14032e5f0]
mov qword [rsp + 0x50], rax
movzx eax, byte [rsi + 8]
cmp al, 1
je 0x14011f656
test rsi, rsi
je 0x14011f5a9
mov rax, qword [rsp + 0x50]
mov qword [rsi], rax
mov byte [rsi + 8], 1
mov al, 1
test al, al
je 0x14011f5a9
lea r14, [rdi + 0x68]
mov rax, qword [rsi]
mov qword [rsp + 0x40], rax
mov rcx, qword [r14]
xor edx, edx
cmp rax, rcx
setns dl
movabs r15, 0x7fffffffffffffff
add rdx, r15
sub rax, rcx
cmovo rax, rdx
cmp rax, 0x1c9c37f
jg 0x14011efc6
movabs rcx, 0x8000000000000001
lea r8, [rax + rcx]
mov rdx, qword [rdi + 0x30]
cmp r8, 1
jbe 0x14011f630
lea rcx, [rdx + rax]
sar rcx, 0x3f
movabs r8, 0x8000000000000000
xor r8, rcx
add rdx, rax
cmovo rdx, r8
mov qword [rdi + 0x30], rdx
cmp rdx, 0x186a0
jge 0x14011f4d0
cmp qword [rdi + 0xa8], 0
je 0x14011f5a6
movzx eax, byte [0x14032e1ea]
test al, al
setne bl
jne 0x14011f663
mov byte [rdi + 0xa0], bl
mov rax, qword [rsp + 0x40]
mov qword [rdi + 0x68], rax
mov r14, qword [rdi + 0xc0]
cmp qword [rdi + 0xb8], r14
je 0x14011f5a9
cmp dword [r14 - 0x38], 0
mov dword [r14 - 0x38], 2
je 0x14011f12e
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
cmp rcx, qword [0x1402db040]
je 0x14011f028
call fcn.1401ac870
int3
add rsp, 0xd0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
lea rcx, [rsp + 0x50]
call qword [0x1402cbd20]
jmp 0x14011ef11
cmp qword [rdi + 0x80], 0
je 0x14011efe7
mov rax, qword [rdi + 0xa8]
test rax, rax
je 0x14011f653
mov rcx, qword [rax + 0xc0]
sub rcx, qword [rax + 0xb8]
cmp rcx, 0x80
jne 0x14011efe7
movzx eax, byte [rsi + 8]
test al, al
jne 0x14011f0fe
mov rax, qword [fcn.1401a83e0]
lea rcx, [0x1401930c0]
cmp rax, rcx
jne 0x14011f279
lea rbx, [rsp + 0x50]
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14011f764
imul rax, rax, 0xf4240
cqo
idiv qword [0x14032e5f0]
mov qword [rsp + 0x50], rax
movzx eax, byte [rsi + 8]
cmp al, 1
je 0x14011f6ed
test rsi, rsi
je 0x14011f5a9
mov rax, qword [rsp + 0x50]
mov qword [rsi], rax
mov byte [rsi + 8], 1
mov al, 1
test al, al
je 0x14011f5a9
mov rax, qword [rsi]
mov qword [rdi + 0x60], rax
mov qword [rdi + 0x68], rax
mov qword [rsp + 0x48], 0xaa
movzx eax, byte [0x14032e1ea]
test al, al
je 0x14011efe7
jmp 0x14011f5ab
cmp qword [r14 - 0x78], 0
jne 0x14011f5ed
cmp qword [r14 - 0x70], 0
jne 0x14011f5f0
lea rdi, [r14 - 0x80]
cmp qword [rdi], 0
jne 0x14011f379
mov eax, dword [0x140334c68]
mov ecx, dword [0x1402ea130]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14011f479
mov rax, qword [r14 - 0x30]
test rax, rax
je 0x14011f5f3
cmp byte [0x140334c64], 1
jne 0x14011f1eb
cmp byte [rax + 0x18], 0
jne 0x14011f5f6
movsd xmm0, qword [0x1402a0e88]
mov rax, qword [r14 - 0x48]
mov rcx, qword [r14 - 0x40]
mov qword [r14 - 0x48], rcx
mov rdx, rax
shl rdx, 0x17
xor rdx, rax
mov rax, rcx
shr rax, 0x1a
xor rax, rcx
xor rax, rdx
shr rdx, 0x11
xor rdx, rax
mov qword [r14 - 0x40], rdx
add rdx, rcx
shr rdx, 0xb
cvtsi2sd xmm1, rdx
mulsd xmm1, qword [0x1402a0e80]
ucomisd xmm0, xmm1
ja 0x14011f2c8
mov qword [rsp + 0x38], Ordinal_14
movzx eax, byte [0x14032e14b]
test al, al
jne 0x14011f6fa
mov rsi, qword [r14 - 0x10]
inc rsi
mov qword [r14 - 0x10], rsi
mov eax, dword [0x140335990]
mov ecx, dword [0x1402ea130]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14011f289
cmp dword [r14 - 0x18], 0
je 0x14011f274
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov eax, eax
movabs r9, 0x100000000
or r9, rax
mov byte [rsp + 0x50], 0
mov byte [rsp + 0x58], 0
mov rdx, qword [r14 - 0x20]
mov qword [rsp + 0x20], rsi
lea rcx, [0x140335008]
lea r8, [rsp + 0x50]
call fcn.140003a70
jmp 0x14011f00e
xor r9d, r9d
jmp 0x14011f24b
lea rcx, [rsp + 0x50]
call qword [0x1402cbd20]
jmp 0x14011f0db
lea rcx, [0x140335990]
call fcn.1401aa170
cmp dword [0x140335990], 0xffffffff
jne 0x14011f22f
lea rcx, [0x140335008]
call fcn.140003c40
lea rcx, [0x140335990]
call fcn.1401aa094
jmp 0x14011f22f
lea rcx, [rsp + 0x50]
call qword [0x1402cbd20]
jmp 0x14011f322
mov al, byte [rsi + 8]
test al, al
jne 0x14011f344
mov rax, qword [fcn.1401a83e0]
lea rcx, [0x1401930c0]
cmp rax, rcx
jne 0x14011f2bb
lea rbx, [rsp + 0x50]
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14011f805
imul rax, rax, 0xf4240
cqo
idiv qword [0x14032e5f0]
mov qword [rsp + 0x50], rax
mov al, byte [rsi + 8]
cmp al, 1
je 0x14011f78b
test rsi, rsi
je 0x14011f5a9
mov rax, qword [rsp + 0x50]
mov qword [rsi], rax
mov byte [rsi + 8], 1
mov al, 1
test al, al
je 0x14011f5a9
mov rax, qword [rsi]
mov qword [r14 - 0x78], rax
lea rbx, [rsp + 0x50]
mov rcx, rbx
call fcn.140009010
mov rax, qword [rbx]
mov qword [r14 - 0x70], rax
jmp 0x14011f1eb
lea rcx, [rsp + 0x50]
call qword [0x1402cbd20]
jmp 0x14011f3d3
mov al, byte [rsi + 8]
test al, al
jne 0x14011f3f5
mov rax, qword [fcn.1401a83e0]
lea rcx, [0x1401930c0]
cmp rax, rcx
jne 0x14011f36c
lea rbx, [rsp + 0x50]
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14011f82c
imul rax, rax, 0xf4240
cqo
idiv qword [0x14032e5f0]
mov qword [rsp + 0x50], rax
mov al, byte [rsi + 8]
cmp al, 1
je 0x14011f798
test rsi, rsi
je 0x14011f5a9
mov rax, qword [rsp + 0x50]
mov qword [rsi], rax
mov byte [rsi + 8], 1
mov al, 1
test al, al
je 0x14011f5a9
mov rbx, qword [rsi]
mov rax, qword [r14 - 0x80]
xor ecx, ecx
cmp rbx, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
sub rbx, rax
movabs r15, 0x8000000000000001
cmovo rbx, rdx
lea rdx, str.Scheduling.ThreadController.IdleDuration
mov rcx, rdi
mov r8, rbx
mov r9, rbx
call fcn.140005ce0
mov qword [r14 - 0x80], 0
lea rcx, [rbx + r15]
mov rax, qword [r14 - 0x68]
cmp rcx, 2
jb 0x14011f7a5
lea rcx, [rax + rbx]
sar rcx, 0x3f
btc rcx, 0x3f
add rax, rbx
cmovo rax, rcx
mov rbx, rax
mov qword [r14 - 0x68], rbx
jmp 0x14011f152
lea rcx, [0x140334c68]
call fcn.1401aa170
cmp dword [0x140334c68], 0xffffffff
jne 0x14011f177
mov eax, dword [0x14032e5a4]
mov ecx, dword [0x1402ea130]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14011f526
mov al, byte [0x14032e5a0]
mov byte [0x140334c64], al
lea rcx, [0x140334c68]
call fcn.1401aa094
jmp 0x14011f177
cvtsi2sd xmm0, rdx
divsd xmm0, qword [0x1402b78c0]
cvttsd2si ebx, xmm0
mov rcx, qword [rdi + 0x80]
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 2
mov r8d, ebx
call qword [0x1402cbd20]
movsxd rax, ebx
imul rax, rax, 0x3e8
mov rcx, qword [rdi + 0x30]
xor edx, edx
cmp rcx, rax
setns dl
add rdx, r15
sub rcx, rax
cmovo rcx, rdx
mov qword [rdi + 0x30], rcx
jmp 0x14011efb8
lea rcx, [0x14032e5a4]
call fcn.1401aa170
cmp dword [0x14032e5a4], 0xffffffff
jne 0x14011f4b3
xorpd xmm0, xmm0
lea rbx, [rsp + 0x50]
movupd xmmword [rbx + 0x1f], xmm0
movapd xmmword [rbx + 0x10], xmm0
movapd xmmword [rbx], xmm0
mov rax, qword [0x1402b778d]
mov qword [rbx + 0x2f], rax
mov rax, qword [0x1402b7792]
mov qword [rbx + 0x34], rax
movupd xmmword [rbx + 0x3c], xmm0
movupd xmmword [rbx + 0x4c], xmm0
movupd xmmword [rbx + 0x5c], xmm0
mov byte [rbx + 0x6c], 0
mov rcx, rbx
xor edx, edx
call fcn.1400414d0
mov al, byte [rbx + 0x2d]
mov byte [0x14032e5a0], al
lea rcx, [0x14032e5a4]
call fcn.1401aa094
jmp 0x14011f4b3
int3
int3
ud2
cmp byte [rdi + 0x98], 0
je 0x14011f5a9
lea rdx, [rdi + 0x60]
movzx ecx, al
lea rax, [rdi + 0x88]
lea r8, [rsp + 0x50]
mov qword [r8], 0
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x48]
mov r9d, 2
call fcn.140026bb0
jmp 0x14011efe7
int3
int3
int3
movsd xmm0, qword [0x14028ff68]
jmp 0x14011f19f
lea rcx, [rdi + 0xb8]
lea r8, [rsp + 0x48]
mov byte [r8], 1
lea rdx, [rsp + 0x50]
mov dword [rdx], 2
mov qword [rsp + 0x20], rsi
mov r9, rdi
call fcn.140239e80
jmp 0x14011f00e
lea r8, [rdx + rcx]
cmp r8, 2
setae r8b
cmp rdx, rax
sete al
or al, r8b
je 0x14011f8bb
dec rcx
jmp 0x14011f51d
int3
mov rcx, qword [rsp + 0x50]
mov qword [rsi], rcx
jmp 0x14011ef34
cmp byte [rdi + 0xa0], 0
jne 0x14011f683
mov qword [rsp + 0x38], 0xaa
mov al, byte [0x14032e1ea]
test al, al
jne 0x14011f853
mov qword [rsp + 0x48], 0xaa
mov al, byte [0x14032e1ea]
test al, al
jne 0x14011f7c0
mov qword [rsp + 0x48], 0xaa
mov al, byte [0x14032e1ea]
test al, al
je 0x14011efd8
cmp byte [rdi + 0x98], 0
je 0x14011f5a9
movzx ecx, al
lea r9, [rdi + 0x88]
lea r8, [rsp + 0x50]
mov qword [r8], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x48]
call fcn.14023a690
jmp 0x14011efd8
mov rcx, qword [rsp + 0x50]
mov qword [rsi], rcx
jmp 0x14011f0fe
movzx ebx, al
lea r15, [rsp + 0x50]
mov qword [r15], rdi
lea rdi, [rsp + 0x48]
mov rcx, rsi
mov rdx, rdi
call fcn.1401a92c0
lea rax, str.ThreadController_active
lea r8, [rsp + 0x40]
mov qword [r8], rax
mov qword [rsp + 0x20], r15
lea rdx, [rsp + 0x38]
mov ecx, ebx
mov r9, rdi
call fcn.14023a340
jmp 0x14011f203
mov rcx, qword [0x14032e5f0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14011ef0c
mov rcx, qword [0x14032e5f0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14011f0d6
mov rcx, qword [rsp + 0x50]
mov qword [rsi], rcx
jmp 0x14011f344
mov rcx, qword [rsp + 0x50]
mov qword [rsi], rcx
jmp 0x14011f3f5
add r15, rax
cmp r15, 2
setae cl
cmp rax, rbx
sete al
or al, cl
jne 0x14011f470
int3
cmp byte [rdi + 0x98], 0
je 0x14011f5a9
movzx ecx, al
lea rax, [rdi + 0x88]
lea rdx, str.PumpOverhead
lea r8, [rsp + 0x50]
mov qword [r8], rdx
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x48]
mov r9d, 1
call fcn.140026bb0
jmp 0x14011f69a
mov rcx, qword [0x14032e5f0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14011f31d
mov rcx, qword [0x14032e5f0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14011f3ce
mov rcx, 0xfffffffffff0bdc0
add rcx, qword [rdi + 0x68]
movabs rdx, 0x8000000000000000
cmovno rdx, rcx
mov qword [rsp + 0x50], rdx
cmp byte [rdi + 0x98], 0
je 0x14011f5a9
movzx ecx, al
lea rax, [rdi + 0x88]
lea rdx, str.MessagePumpPhases
lea r8, [rsp + 0x48]
mov qword [r8], rdx
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x38]
mov r9d, 3
call fcn.140026bb0
jmp 0x14011f683
int3