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

Disassembly:
mov dword [rsp + 8], ecx
push rbx
push rdi
push r12
sub rsp, 0x380
xor r12d, r12d
lea rcx, str._n2._CPU_Sieve__output_rate_M_s__n
mov ebx, r12d
call fcn.140001020
lea r9, [rsp + 0x2b0]
lea rdx, str.TestSieveSizes
lea rcx, [0x1400b3f03]
call fcn.140005fc0
lea r9, [rsp + 0x50]
mov dword [rsp + 0x20], eax
lea rdx, str.TestSievePrimes
mov edi, eax
lea rcx, [0x1400b3f03]
call fcn.140005fc0
cmp edi, 1
jge 0x14001a631
lea ecx, [r12 + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea r8, [0x1400b3f03]
lea rdx, str.__Could_not_read_TestSieveSizes_from__s___not_testing_CPU_Sieve_n
call fcn.140001740
lea eax, [r12 - 1]
add rsp, 0x380
pop r12
pop rdi
pop rbx
ret
cmp eax, 1
jge 0x14001a668
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea r8, [0x1400b3f03]
lea rdx, str.__Could_not_read_TestSievePrimes_from__s___not_testing_CPU_Sieve_n
call fcn.140001740
mov eax, 0xffffffff
add rsp, 0x380
pop r12
pop rdi
pop rbx
ret
mov qword [rsp + 0x378], rbp
mov ecx, 0x1e
mov qword [rsp + 0x370], rsi
cmp eax, ecx
mov qword [rsp + 0x368], r13
mov r8d, 0xe8
cmovg eax, ecx
mov qword [rsp + 0x360], r14
mov qword [rsp + 0x358], r15
lea rcx, [rsp + 0x1c8]
movaps xmmword [rsp + 0x340], xmm6
xor edx, edx
xorps xmm6, xmm6
mov dword [rsp + 0x3b0], eax
movsd qword [rsp + 0x1c0], xmm6
mov r14d, eax
call sub.VCRUNTIME140.dll_memset
xor edx, edx
movsd qword [rsp + 0xd0], xmm6
mov r8d, 0xe8
lea rcx, [rsp + 0xd8]
call sub.VCRUNTIME140.dll_memset
lea rcx, str.Sieve_size_is_fixed_at_compile_time__cannot_test_with_variable_sizes._Just_running_3_fixed_tests._n_n
call fcn.140001020
lea rcx, str.SievePrimes:
call fcn.140001020
test r14, r14
je 0x14001a74b
nop dword [rax + rax]
mov edx, dword [rsp + rbx*4 + 0x50]
cmp edx, 0xf4240
jae 0x14001a72b
cmp edx, 0xfe
ja 0x14001a730
mov edx, 0xfe
jmp 0x14001a730
mov edx, 0xf4240
lea rcx, str.__7u
mov dword [rsp + rbx*4 + 0x50], edx
call fcn.140001020
inc rbx
cmp rbx, r14
jl 0x14001a710
mov rbx, r12
lea rcx, str._nSieveSizeLimit
call fcn.140001020
movsd xmm6, qword [0x140025c98]
mov r13d, r12d
mov dword [rsp + 0x3a8], r12d
nop word [rax + rax]
cmp r13d, 3
jge 0x14001a9bc
add rbx, 0xf4240
mov r8d, 0xf4240
mov rdx, rbx
mov qword [rsp + 0x40], rbx
mov ecx, 0x3f49b2f
call fcn.1400090f0
mov edx, 0x24
lea rcx, str._n_6d_kiB
call fcn.140001020
mov r15d, r12d
mov rsi, r12
test r14, r14
je 0x14001a99f
mov r12d, dword [rsp + 0x3b0]
lea rdi, [rsp + 0x50]
mov r13d, dword [rsp + 0x3a0]
nop
cmp dword [0x1400b0488], 0
jne 0x14001a7f0
lea rcx, [0x1400b40a0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov dword [0x1400b0488], 1
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [0x1400b40a0]
xorps xmm0, xmm0
mov rax, qword [rsp + 0x28]
movaps xmm2, xmm6
cqo
xorps xmm1, xmm1
idiv rcx
cvtsi2sd xmm0, rcx
mov ebp, r12d
mov qword [rsp + 0x30], rax
sub ebp, r15d
mov rbx, rax
mov ecx, ebp
cvtsi2sd xmm1, rdx
divsd xmm2, xmm0
imul ecx, r13d
mulsd xmm2, xmm1
cvttsd2si eax, xmm2
mov dword [rsp + 0x3b8], eax
test ecx, ecx
je 0x14001a870
mov ebx, ecx
nop dword [rax]
mov r8d, dword [rdi]
mov rdx, qword [0x1400b3ae0]
mov ecx, dword [0x1400b3c50]
call fcn.140008810
sub rbx, 1
jne 0x14001a850
mov rbx, qword [rsp + 0x30]
cmp dword [0x1400b0488], 0
jne 0x14001a890
lea rcx, [0x1400b40a0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov dword [0x1400b0488], 1
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [0x1400b40a0]
xorps xmm0, xmm0
mov rax, qword [rsp + 0x38]
xorps xmm1, xmm1
mov r8d, dword [0x1400b3c50]
cqo
idiv rcx
cvtsi2sd xmm0, rcx
mov rcx, qword [0x1400b3ae0]
mov r10, rax
sub r10d, ebx
movaps xmm2, xmm6
imul ebp, r8d
divsd xmm2, xmm0
cvtsi2sd xmm1, rdx
lea edx, [r8 - 1]
mov eax, dword [rcx + rdx*4]
xorps xmm0, xmm0
imul ebp, r13d
cvtsi2sd xmm0, rax
mov eax, ebp
mulsd xmm2, xmm1
xorps xmm1, xmm1
addsd xmm0, qword [rsp + rsi*8 + 0xd0]
cvtsi2sd xmm1, rax
movsxd rax, r10d
imul rcx, rax, 0xf4240
cvttsd2si r9d, xmm2
movsxd rax, dword [rsp + 0x3b8]
sub rcx, rax
movsd qword [rsp + rsi*8 + 0xd0], xmm0
xorps xmm0, xmm0
movsxd rax, r9d
add rcx, rax
js 0x14001a93a
cvtsi2sd xmm0, rcx
jmp 0x14001a94f
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
divsd xmm1, xmm0
comisd xmm1, xmmword [rsp + rsi*8 + 0x1c0]
jbe 0x14001a967
movsd qword [rsp + rsi*8 + 0x1c0], xmm1
movq rdx, xmm1
lea rcx, str.__7.1f
call fcn.140001020
inc r15d
inc rsi
add rdi, 4
cmp rsi, r14
jl 0x14001a7d0
mov r13d, dword [rsp + 0x3a8]
xor r12d, r12d
mov rbx, qword [rsp + 0x40]
mov edi, dword [rsp + 0x20]
inc r13d
cmp dword [0x1400b3c64], 0
mov dword [rsp + 0x3a8], r13d
jne 0x14001a9bc
cmp r13d, edi
jl 0x14001a770
lea rcx, str._n_nBest_SieveSizeLimit_for_nSievePrimes:
call fcn.140001020
mov r15, qword [rsp + 0x358]
mov rsi, qword [rsp + 0x370]
mov rbp, qword [rsp + 0x378]
test r14, r14
je 0x14001aa08
mov rbx, r12
nop dword [rax + rax]
mov edx, dword [rsp + rbx*4 + 0x50]
lea rcx, str.__7u
call fcn.140001020
inc rbx
cmp rbx, r14
jl 0x14001a9f0
lea rcx, str._nat_kiB:
call fcn.140001020
test r14d, r14d
je 0x14001aa37
mov ebx, dword [rsp + 0x3b0]
mov edx, 0x24
lea rcx, str.__7u
call fcn.140001020
sub rbx, 1
jne 0x14001aa20
lea rcx, str._nmax_M_s:
call fcn.140001020
test r14, r14
je 0x14001ab4d
movaps xmmword [rsp + 0x330], xmm7
mov rbx, r12
nop word [rax + rax]
movsd xmm1, qword [rsp + rbx*8 + 0x1c0]
lea rcx, str.__7.1f
movq rdx, xmm1
call fcn.140001020
inc rbx
cmp rbx, r14
jl 0x14001aa60
lea rcx, str._nSurvivors:
call fcn.140001020
movsd xmm7, qword [0x140025c70]
mov rbx, r12
movd xmm6, r13d
cvtdq2pd xmm6, xmm6
nop dword [rax]
nop word [rax + rax]
mov eax, dword [0x1400b3c50]
lea rcx, str.__6.2f__
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
mulsd xmm1, xmm7
mulsd xmm1, xmm6
divsd xmm1, qword [rsp + rbx*8 + 0xd0]
movq rdx, xmm1
call fcn.140001020
inc rbx
cmp rbx, r14
jl 0x14001aab0
lea rcx, str._nremoval_rate
call fcn.140001020
movsd xmm6, qword [0x140025c38]
movaps xmm7, xmmword [rsp + 0x330]
movsd xmm1, qword [rsp + r12*8 + 0xd0]
lea rcx, str.__7.1f
mov eax, r13d
xorps xmm0, xmm0
imul eax, dword [0x1400b3c50]
cvtsi2sd xmm0, rax
divsd xmm1, xmm0
subsd xmm1, xmm6
mulsd xmm1, qword [rsp + r12*8 + 0x1c0]
movq rdx, xmm1
call fcn.140001020
inc r12
cmp r12, r14
jl 0x14001ab04
jmp 0x14001ab65
lea rcx, str._nSurvivors:
call fcn.140001020
lea rcx, str._nremoval_rate
call fcn.140001020
lea rcx, [0x140021720]
call fcn.140001020
movaps xmm6, xmmword [rsp + 0x340]
xor eax, eax
mov r14, qword [rsp + 0x360]
mov r13, qword [rsp + 0x368]
add rsp, 0x380
pop r12
pop rdi
pop rbx
ret