Function at 0x1400217e0
Capabilities:
Check for time delay via queryperformancecounter
Create thread

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
lea rbp, [rax - 0x5f]
sub rsp, 0x90
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
xor eax, eax
mov rdi, rcx
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], rax
mov qword [rcx + 0x20], rax
lea ecx, [rax + 0x10]
call fcn.1400215c0
lea rcx, [0x140021740]
mov r8, rdi
xor edx, edx
mov qword [rdi], rax
call fcn.14002b9a8
xor esi, esi
cmp dword [rdi + 8], 1
movsd xmm7, qword [0x140050528]
movsd xmm8, qword [0x140050538]
movsd xmm6, qword [0x140050518]
movabs r12, 0x8000000000000000
jae 0x140021953
lea rcx, [rbp + 0x67]
mov qword [rbp + 0x67], rsi
mov qword [rbp + 0x6f], rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [rbp + 0x6f]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov r11, qword [rbp + 0x67]
pxor xmm0, xmm0
cvtsi2sd xmm0, r11
test r11, r11
jns 0x140021896
addsd xmm0, xmm7
mov rax, qword [rbp + 0x6f]
pxor xmm1, xmm1
cvtsi2sd xmm1, rax
test rax, rax
jns 0x1400218ac
addsd xmm1, xmm7
divsd xmm0, xmm1
xor eax, eax
mulsd xmm0, xmm8
comisd xmm0, xmm6
jbe 0x1400218ca
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x1400218ca
mov rax, r12
cvttsd2si rbx, xmm0
add rbx, rax
lea rcx, [rbp + 0x77]
mov qword [rbp + 0x77], rsi
mov qword [rbp + 0x7f], rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [rbp + 0x7f]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov r11, qword [rbp + 0x77]
pxor xmm0, xmm0
cvtsi2sd xmm0, r11
test r11, r11
jns 0x140021904
addsd xmm0, xmm7
mov rax, qword [rbp + 0x7f]
pxor xmm1, xmm1
cvtsi2sd xmm1, rax
test rax, rax
jns 0x14002191a
addsd xmm1, xmm7
divsd xmm0, xmm1
xor ecx, ecx
mulsd xmm0, xmm8
comisd xmm0, xmm6
jbe 0x140021938
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x140021938
mov rcx, r12
cvttsd2si rax, xmm0
add rax, rcx
sub rax, rbx
cmp rax, 0xa
jb 0x1400218d2
cmp dword [rdi + 8], 1
jb 0x140021864
lea rcx, [0x140021680]
mov r8, rdi
xor edx, edx
call fcn.14002b9a8
cmp dword [rdi + 0xc], 1
jae 0x140021a61
nop
lea rcx, [rbp - 0x39]
mov qword [rbp - 0x39], rsi
mov qword [rbp - 0x31], rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [rbp - 0x31]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov r11, qword [rbp - 0x39]
pxor xmm0, xmm0
cvtsi2sd xmm0, r11
test r11, r11
jns 0x1400219a2
addsd xmm0, xmm7
mov rax, qword [rbp - 0x31]
pxor xmm1, xmm1
cvtsi2sd xmm1, rax
test rax, rax
jns 0x1400219b8
addsd xmm1, xmm7
divsd xmm0, xmm1
xor eax, eax
mulsd xmm0, xmm8
comisd xmm0, xmm6
jbe 0x1400219d6
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x1400219d6
mov rax, r12
cvttsd2si rbx, xmm0
add rbx, rax
nop
lea rcx, [rbp - 0x29]
mov qword [rbp - 0x29], rsi
mov qword [rbp - 0x21], rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [rbp - 0x21]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov r11, qword [rbp - 0x29]
pxor xmm0, xmm0
cvtsi2sd xmm0, r11
test r11, r11
jns 0x140021a12
addsd xmm0, xmm7
mov rax, qword [rbp - 0x21]
pxor xmm1, xmm1
cvtsi2sd xmm1, rax
test rax, rax
jns 0x140021a28
addsd xmm1, xmm7
divsd xmm0, xmm1
xor ecx, ecx
mulsd xmm0, xmm8
comisd xmm0, xmm6
jbe 0x140021a46
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x140021a46
mov rcx, r12
cvttsd2si rax, xmm0
add rax, rcx
sub rax, rbx
cmp rax, 0xa
jb 0x1400219e0
cmp dword [rdi + 0xc], 1
jb 0x140021970
mov dword [rdi + 0x20], 1
cmp dword [rdi + 0x10], esi
jne 0x140021b60
lea rcx, [rbp - 0x19]
mov qword [rbp - 0x19], rsi
mov qword [rbp - 0x11], rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [rbp - 0x11]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov r11, qword [rbp - 0x19]
pxor xmm0, xmm0
cvtsi2sd xmm0, r11
test r11, r11
jns 0x140021aa3
addsd xmm0, xmm7
mov rax, qword [rbp - 0x11]
pxor xmm1, xmm1
cvtsi2sd xmm1, rax
test rax, rax
jns 0x140021ab9
addsd xmm1, xmm7
divsd xmm0, xmm1
xor eax, eax
mulsd xmm0, xmm8
comisd xmm0, xmm6
jbe 0x140021ad7
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x140021ad7
mov rax, r12
cvttsd2si rbx, xmm0
add rbx, rax
nop
lea rcx, [rbp - 9]
mov qword [rbp - 9], rsi
mov qword [rbp - 1], rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [rbp - 1]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov r11, qword [rbp - 9]
pxor xmm0, xmm0
cvtsi2sd xmm0, r11
test r11, r11
jns 0x140021b12
addsd xmm0, xmm7
mov rax, qword [rbp - 1]
pxor xmm1, xmm1
cvtsi2sd xmm1, rax
test rax, rax
jns 0x140021b28
addsd xmm1, xmm7
divsd xmm0, xmm1
xor ecx, ecx
mulsd xmm0, xmm8
comisd xmm0, xmm6
jbe 0x140021b46
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x140021b46
mov rcx, r12
cvttsd2si rax, xmm0
add rax, rcx
sub rax, rbx
cmp rax, 0xa
jb 0x140021ae0
cmp dword [rdi + 0x10], esi
je 0x140021a71
mov rax, qword [rdi + 0x18]
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x60]
add rsp, 0x90
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret