Function at 0x1400c0d90
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, 0x1f8
movaps xmmword [rsp + 0x1e0], xmm6
mov esi, edx
mov rbx, rcx
mov rax, qword [0x1401ff028]
xor rax, rsp
mov qword [rsp + 0x1d8], rax
add rcx, 0xfffffffffffffff8
mov qword [rsp + 0x78], rcx
call fcn.1400c3010
test al, al
je 0x1400c2380
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov al, byte [0x140201b80]
mov byte [rsp + 0x6f], al
test al, 0x19
mov dword [rsp + 0x58], esi
jne 0x1400c2383
xor eax, eax
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xb8], rbp
mov qword [rsp + 0xb0], rbp
mov rbp, qword [rbx + 0x60]
test rbp, rbp
je 0x1400c0ec0
lea r14, [0x140174cb0]
lea r15, [0x1401023b0]
xor esi, esi
xchg qword [rbp], rsi
test rsi, rsi
je 0x1400c0eb0
bsf rax, rsi
btc rsi, rax
mov rcx, qword [rbp + rax*8 + 0x10]
mov rax, qword [rcx + 8]
cmp rax, r14
jne 0x1400c28b8
mov rax, qword [rcx + 0x20]
mov r12, qword [rcx + 0x28]
cmp rax, r15
jne 0x1400c28b5
mov rdi, qword [r12 + 0xb0]
mov rcx, qword [rdi + 0x30]
mov rdx, rdi
int3
mov rbp, qword [rbp + 0x218]
test rbp, rbp
jne 0x1400c0e2d
movaps xmm6, xmmword [0x1401d8770]
movaps xmmword [rsp + 0x1c0], xmm6
movaps xmmword [rsp + 0x1b0], xmm6
mov rcx, qword [rbx + 0x28]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x78]
lea rax, [0x1400fb090]
cmp rdx, rax
jne 0x1400c23f6
mov rax, qword [rcx + 0x118]
mov qword [rsp + 0x1b0], rax
mov byte [rsp + 0x1b8], 0
mov r12b, byte [0x140201b80]
test r12b, 0x19
jne 0x1400c23fd
xor edx, edx
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov r8, rdi
mov r15, qword [rbx + 0xd68]
lea r14, [rbx + 0xd70]
cmp r15, r14
je 0x1400c113b
lea rbp, [rsp + 0x110]
mov qword [rsp + 0x60], rdx
mov r13, qword [r15 + 0x20]
cmp r13, qword [rbx + 0xd80]
jne 0x1400c105a
mov rsi, qword [r13 + 0x18]
cmp rsi, qword [r13 + 0x20]
je 0x1400c102f
cmp byte [rsp + 0x1b8], 0
je 0x1400c0f90
mov rax, qword [rsp + 0x1c0]
cmp qword [rsi], rax
jg 0x1400c102f
jmp 0x1400c1d56
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x80], rdi
mov rax, qword [fcn.1400f9c10]
lea rcx, [0x140103600]
cmp rax, rcx
jne 0x1400c21d0
mov qword [rsp + 0x110], 0
mov rdi, rbp
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x110]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400c2845
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402070a0]
cmp byte [rsp + 0x1b8], 0
mov qword [rsp + 0x1c0], rax
mov rdx, qword [rsp + 0x60]
mov rbp, rdi
jne 0x1400c1019
mov byte [rsp + 0x1b8], 1
mov rdi, qword [rsp + 0x80]
mov r8, qword [rsp + 0x70]
cmp qword [rsi], rax
jle 0x1400c1d56
mov rcx, qword [r15 + 8]
test rcx, rcx
jne 0x1400c1c01
mov rax, qword [r15 + 0x10]
cmp qword [rax], r15
jne 0x1400c1c12
mov r15, rax
cmp rax, r14
jne 0x1400c0f4d
jmp 0x1400c113b
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x110], xmm6
mov rax, qword [r13]
mov rcx, r13
mov rdx, rbp
mov rbp, r8
call qword [rax + 8]
mov r8, rbp
mov rsi, qword [r13 + 0x18]
cmp rsi, qword [r13 + 0x20]
je 0x1400c1129
cmp byte [rsp + 0x118], 0
je 0x1400c10ab
mov rax, qword [rsp + 0x120]
cmp qword [rsi], rax
jg 0x1400c1129
jmp 0x1400c1fa2
mov rax, qword [fcn.1400f9c10]
lea rcx, [0x140103600]
cmp rax, rcx
jne 0x1400c2210
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 0x1400c2ab8
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402070a0]
cmp byte [rsp + 0x118], 0
mov qword [rsp + 0x120], rax
mov r8, rbp
jne 0x1400c109d
mov byte [rsp + 0x118], 1
jmp 0x1400c109d
mov rdx, qword [rsp + 0x60]
lea rbp, [rsp + 0x110]
jmp 0x1400c102f
test r12b, 0x19
jne 0x1400c246e
cmp byte [rsp + 0x1b8], 0
mov esi, dword [rsp + 0x58]
je 0x1400c1168
mov rax, qword [rsp + 0x1c0]
cmp rax, qword [rbx + 0xd90]
jge 0x1400c1fed
lea rbp, [rbx + 0xad0]
xor r15d, r15d
mov rcx, rbp
mov edx, esi
call fcn.1400c3020
mov rdi, rax
test byte [0x140201b90], 0x19
jne 0x1400c22af
test rdi, rdi
je 0x1400c1764
mov rcx, rdi
call fcn.1400c3bb0
test al, al
jne 0x1400c1172
cmp qword [rdi + 0x10], 0
je 0x1400c21c9
mov rcx, qword [rdi]
mov rax, qword [rcx + 8]
add rax, 1
cmp rax, qword [rcx]
mov edx, 0
cmovne rdx, rax
mov rax, rdx
shl rax, 7
lea rax, [rax + rdx*8]
add rax, qword [rcx + 0x18]
cmp byte [rax + 0x70], 0
je 0x1400c1d7b
mov r15, qword [rdi + 0x30]
mov rax, qword [r15 + 0xb0]
mov rcx, qword [rbx + 0xe58]
mov cl, byte [rcx + 0x20]
cmp cl, byte [rax + 0x38]
jb 0x1400c25f5
cmp qword [r15 + 0x160], 0
jne 0x1400c1880
cmp qword [r15 + 0x168], 0
jne 0x1400c1880
cmp dword [rbx + 0x78], 0
jne 0x1400c122a
cmp qword [rbx + 0xd58], 0
jne 0x1400c1880
xor r13d, r13d
xor r12d, r12d
xorpd xmm0, xmm0
movupd xmmword [rsp + 0xfa], xmm0
movupd xmmword [rsp + 0xea], xmm0
lea rdx, [rsp + 0x110]
mov rcx, rdi
int3
test byte [rsp + 0x6f], 0x19
jne 0x1400c2487
test r15, r15
je 0x1400c17de
mov rcx, qword [rbx + 0xe08]
add rcx, qword [rbx + 0xe10]
mov rbp, qword [rbx + 0xdf0]
movabs rdx, 0xcccccccccccccccd
mov rax, rcx
mul rdx
shr rdx, 4
mov rax, qword [rbp + rdx*8]
cmp qword [rbx + 0xdf8], rbp
je 0x1400c24d1
lea rbx, [rdx*4]
lea rbx, [rbx + rbx*4]
sub rcx, rbx
imul rdi, rcx, 0xc8
add rdi, rax
cmp rdi, rax
je 0x1400c24d8
test byte [0x1402015f0], 0x19
jne 0x1400c24e7
mov rcx, qword [rsp + 0x1d8]
xor rcx, rsp
call fcn.140106510
mov rax, r15
movaps xmm6, xmmword [rsp + 0x1e0]
add rsp, 0x1f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movsd xmm0, qword [rbx + 0x48]
mov r13b, 1
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jbe 0x1400c122d
movsd xmm0, qword [rbx + 0xac8]
subsd xmm0, qword [rbx + 0xac0]
mov rbp, qword [rbx + 0xab8]
lea rax, [rbp + 1]
shr rax, 3
movabs r8, 0xd20d20d20d20d21
mul r8
shr rdx, 1
imul rax, rdx, 0x138
neg rax
mov rdx, 0xffffffff80000000
and rdx, qword [rbx + rbp*8 + 0xf8]
lea r9, [rax + rbp]
add r9, 1
mov rcx, qword [rbx + r9*8 + 0xf8]
mov esi, ecx
and esi, 0x7ffffffe
or rsi, rdx
lea rax, [rbp + 0x9c]
shr rax, 3
mul r8
shr rdx, 1
imul rax, rdx, 0x138
neg rax
add rax, rbp
add rax, 0x9c
shr rsi, 1
and ecx, 1
movabs rdx, 0xb5026f5aa96619e9
imul rdx, rcx
xor rdx, qword [rbx + rax*8 + 0xf8]
xor rdx, rsi
mov qword [rbx + rbp*8 + 0xf8], rdx
mov rax, qword [rbx + 0xab8]
mov rax, qword [rbx + rax*8 + 0xf8]
mov rcx, rax
shr rcx, 0x1d
movabs rdx, 0x555555555
and rdx, rcx
xor rdx, rax
mov rax, rdx
shl rax, 0x11
movabs rcx, 0x71d67fffeda60000
and rcx, rax
xor rcx, rdx
mov eax, ecx
and eax, 0x7ffbf77
shl rax, 0x25
xor rax, rcx
mov rcx, rax
shr rcx, 0x2b
xor rcx, rax
movq xmm1, rcx
punpckldq xmm1, xmmword [0x1401d3a60]
subpd xmm1, xmmword [0x1401d3a70]
movapd xmm2, xmm1
unpckhpd xmm2, xmm1
addsd xmm2, xmm1
mulsd xmm2, qword [0x1401e7d80]
mov qword [rbx + 0xab8], r9
mulsd xmm2, xmm0
addsd xmm2, qword [rbx + 0xac0]
movsd xmm0, qword [rbx + 0x48]
ucomisd xmm0, xmm2
seta r12b
mov r15, qword [rdi + 0x30]
jmp 0x1400c1230
mov rax, rcx
mov rcx, qword [rcx]
test rcx, rcx
je 0x1400c1049
jmp 0x1400c1c01
add r15, 0x10
mov rcx, qword [r15]
lea r15, [rcx + 0x10]
mov rax, qword [rcx + 0x10]
cmp qword [rax], rcx
je 0x1400c1049
jmp 0x1400c1c16
mov rax, qword [r13 + 0x18]
mov rcx, qword [rax + 0x10]
lea rdx, [rsp + 0x1b0]
mov rsi, r8
call fcn.1400c4d70
mov r8, rsi
mov rdx, qword [rsp + 0x60]
jmp 0x1400c0f5e
cmp dword [rbx + 0x78], 0
jle 0x1400c11dc
lea rsi, [rsp + 0x110]
mov r8d, 0x98
mov rcx, rsi
mov dl, 0xaa
call fcn.140108da0
mov rcx, rdi
mov rdx, rsi
int3
mov rax, qword [r13 + 0x18]
mov rcx, qword [rax + 0x10]
lea rdx, [rsp + 0x110]
call fcn.1400c4d70
jmp 0x1400c107a
mov byte [rbx + 0xd88], 1
jmp 0x1400c1168
xor eax, eax
jmp 0x1400c11d2
mov rdi, rbp
lea rcx, [rsp + 0xc0]
call rax
mov rax, qword [rsp + 0xc0]
jmp 0x1400c0ff7
lea rcx, [rsp + 0xe8]
call rax
mov rax, qword [rsp + 0xe8]
jmp 0x1400c1107
lea rdx, [rsp + 0xe8]
mov r13, qword [rsp + 0x78]
mov rcx, r13
mov r8, rdi
int3
int3
call sub.KERNEL32.dll_GetCurrentThreadId
mov esi, eax
lea rdi, [rsp + 0x110]
mov qword [rdi], rbp
mov rcx, rdi
int3
call rdx
jmp 0x1400c0ef9
call sub.KERNEL32.dll_GetCurrentThreadId
mov esi, eax
lea rdi, [rsp + 0x110]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rdi], rax
mov rcx, rdi
int3
cmp byte [rdx], 0
je 0x1400c1145
mov rcx, rdx
mov rdx, rdi
call fcn.1400fd870
jmp 0x1400c1145
mov rax, qword [rsp + 0x90]
cmp byte [rax], 0
je 0x1400c176f
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xb0]
call fcn.1400fd870
jmp 0x1400c176f
xor edi, edi
jmp 0x1400c17c8
mov edi, 0xfa0
add rdi, qword [rbp + rdx*8 - 8]
jmp 0x1400c17d1
movsx rax, byte [rdi - 8]
lea rcx, str.RunControlPriorityTask
mov r14, qword [rcx + rax*8]
call sub.KERNEL32.dll_GetCurrentThreadId
mov ebx, eax
lea rbp, [rsp + 0xc0]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rbp], rax
mov rcx, rbp
int3
test byte [0x140201b80], 0x19
jne 0x1400c2c46
xor r15d, r15d
jmp 0x1400c1764
mov rcx, qword [0x1402070a0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400c0ff7
mov rcx, r12
call rax
jmp 0x1400c0e33
mov rcx, qword [0x1402070a0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400c1107
call sub.KERNEL32.dll_GetCurrentThreadId
mov esi, eax
lea rdi, [rsp + 0x110]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rdi], rax
mov rcx, rdi
int3