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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov dword [rax + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xf8]
sub rsp, 0x1c0
movsd xmm0, qword [str.mfakto.ini]
lea rcx, str._s___d_bit_build__n_n
xor edi, edi
movaps xmmword [rax - 0x48], xmm6
movzx eax, word [0x1400218b0]
mov ebx, 0xffffffff
mov esi, 1
mov word [0x1400b3f0b], ax
movzx eax, byte [0x1400218b2]
mov r13, rdx
lea rdx, str.mfakto_0.15pre8_Win
mov byte [0x1400b3f0d], al
lea r8d, [rbx + 0x41]
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x50], ebx
mov r14d, ebx
mov dword [rbp + 0x118], ebx
mov r15d, ebx
mov qword [rsp + 0x48], rdi
mov dword [rbp + 0x110], edi
mov dword [rsp + 0x40], esi
mov dword [0x1400b3c38], esi
mov dword [0x1400b3c64], edi
mov dword [0x1400b3c70], esi
mov dword [0x1400b409c], edi
mov qword [0x1400b3bfc], 0xffffffffffffffff
mov dword [0x1400b3c04], 0xffffffff
mov dword [0x1400b3c20], edi
mov dword [0x1400b3c24], 0x4000000
mov dword [0x1400b3c28], 0x4000
movsd qword [0x1400b3f03], xmm0
mov dword [0x1400b3c78], edi
call fcn.140001020
mov edx, dword [rbp + 0x100]
cmp edx, esi
jle 0x14000cc4b
mov edi, esi
lea r12, [r13 + 0x20]
lea r14, [r13 + 0x18]
mov rbx, qword [r13 + rdi*8]
lea r11, str._st2
mov r9d, 0x2d
lea r10, [0x140021ab8]
lea rax, str.__help
mov r8d, 0x68
cmp r9b, byte [rbx]
jne 0x14000c279
cmp r8b, byte [rbx + 1]
jne 0x14000c279
xor r8d, r8d
cmp r8b, byte [rbx + 2]
jne 0x14000c27c
mov rbx, qword [r13]
lea rdx, str.mfakto_0.15pre8_Win
lea rcx, str.mfakto___s__Copyright__C__2009_2014__n
call fcn.140001020
lea rcx, str.__Oliver_Weihe__o.weihe_t_online.de__n
call fcn.140001020
lea rcx, str.__Bertram_Franz__bertramf_gmx.net__n
call fcn.140001020
lea rcx, str.This_program_comes_with_ABSOLUTELY_NO_WARRANTY__for_details_see_COPYING._n
call fcn.140001020
lea rcx, str.This_is_free_software__and_you_are_welcome_to_redistribute_it_n
call fcn.140001020
lea rcx, str.under_certain_conditions__see_COPYING_for_details._n_n_n
call fcn.140001020
mov rdx, rbx
lea rcx, str.Usage:__s__options__n
call fcn.140001020
lea rcx, str.___h____help____________display_this_help_n
call fcn.140001020
lea rcx, str.___d__xy_________________specify_to_use_OpenCL_platform_number_x_and_n
call fcn.140001020
lea rcx, str._________________________device_number_y_in_this_program_n
call fcn.140001020
lea rcx, str.___d_c___________________force_using_all_CPUs_n
call fcn.140001020
lea rcx, str.___d_g___________________force_using_the_first_GPU_n
call fcn.140001020
lea rcx, str.___v__n__________________verbosity_level:_0terse__1normal__2verbose__3debug_n
call fcn.140001020
lea rcx, str.___tf__exp___min___max___trial_factor_M_exp__from__min__to__max__bits_n
call fcn.140001020
lea rcx, str._________________________instead_of_parsing_the_worktodo_file_n
call fcn.140001020
lea rcx, str.___i____inifile__file___load__file__as_INI_file__default:_mfakto.ini__n
call fcn.140001020
lea rcx, str.___st____________________self_test_using_the_optimal_kernel_per_test_case_n
call fcn.140001020
lea rcx, str.___st2___________________self_test_using_all_possible_kernels_n
call fcn.140001020
lea rcx, [0x14001f220]
call fcn.140001020
lea rcx, str.options_for_debugging_purposes_n
call fcn.140001020
lea rcx, str.____timertest____________test_of_timer_functions_n
call fcn.140001020
lea rcx, str.____sleeptest____________test_of_sleep_functions_n
call fcn.140001020
lea rcx, str.____perftest__n__________performance_tests__repeat_each_test__n__times__def:_10__n
call fcn.140001020
lea rcx, str.____CLtest_______________test_of_some_OpenCL_functions_n
call fcn.140001020
lea rcx, str._________________________specify__d_before___CLtest_to_test_specified_device_n
call fcn.140001020
jmp 0x14000d37b
xor r8d, r8d
mov rcx, r8
nop
movzx eax, byte [rax + rcx]
inc rcx
cmp al, byte [rbx + rcx - 1]
jne 0x14000c2a0
cmp rcx, 7
je 0x14000c13a
lea rax, str.__help
jmp 0x14000c280
cmp r9b, byte [rbx]
jne 0x14000c42b
mov eax, 0x76
cmp al, byte [rbx + 1]
jne 0x14000c350
cmp r8b, byte [rbx + 2]
jne 0x14000c350
inc esi
cmp esi, edx
jge 0x14000c75e
mov rcx, qword [r13 + rdi*8 + 8]
lea r8d, [rax - 0x6c]
lea rdx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
mov ebx, eax
mov rax, qword [rsp + 0x30]
cmp byte [rax], 0
jne 0x14000c748
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 0
jne 0x14000c748
mov rcx, qword [r13 + rdi*8 + 8]
lea rdx, [rsp + 0x30]
mov r8d, 0xa
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
cmp ebx, eax
jne 0x14000c748
inc rdi
add r14, 8
add r12, 8
test ebx, ebx
jns 0x14000c33b
lea rcx, str.WARNING:_minimum_verbosity_level_is_0_n
call fcn.140001020
xor eax, eax
mov ebx, eax
mov dword [0x1400b3c70], ebx
mov dword [0x1400b409c], 1
jmp 0x14000c6ed
cmp r9b, byte [rbx]
jne 0x14000c42b
mov eax, 0x64
cmp al, byte [rbx + 1]
jne 0x14000c42b
cmp r8b, byte [rbx + 2]
jne 0x14000c42b
inc esi
cmp esi, edx
jge 0x14000c78a
mov rcx, qword [r13 + rdi*8 + 8]
movzx eax, byte [rcx]
cmp al, 0x63
jne 0x14000c3a1
inc rdi
mov dword [rbp + 0x110], 0xffffffff
add r14, 8
add r12, 8
jmp 0x14000c6f3
cmp al, 0x67
jne 0x14000c3bf
inc rdi
mov dword [rbp + 0x110], 0x2710
add r14, 8
add r12, 8
jmp 0x14000c6f3
mov r8d, 0xa
lea rdx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
mov dword [rbp + 0x110], eax
mov rax, qword [rsp + 0x30]
cmp byte [rax], 0
jne 0x14000c774
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 0
jne 0x14000c774
mov rcx, qword [r13 + rdi*8 + 8]
lea rdx, [rsp + 0x30]
mov r8d, 0xa
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
cmp dword [rbp + 0x110], eax
jne 0x14000c774
mov edx, dword [rbp + 0x100]
inc rdi
add r14, 8
add r12, 8
jmp 0x14000c6f3
mov rcx, r8
nop
lea rax, [0x1400219dc]
movzx eax, byte [rax + rcx]
inc rcx
cmp al, byte [rbx + rcx - 1]
jne 0x14000c578
cmp rcx, 4
jne 0x14000c430
add esi, 3
cmp esi, edx
jge 0x14000c7e2
lea r8d, [rcx + 6]
mov rcx, qword [r13 + rdi*8 + 8]
lea rdx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoul]
mov ebx, eax
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x30]
cmp byte [rax], 0
jne 0x14000c7cc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 0
jne 0x14000c7cc
mov rcx, qword [r13 + rdi*8 + 8]
lea rdx, [rsp + 0x30]
mov r8d, 0xa
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoul]
cmp ebx, eax
jne 0x14000c7cc
mov rcx, qword [r14]
lea rdx, [rsp + 0x30]
mov r8d, 0xa
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
mov ebx, eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x30]
cmp byte [rax], 0
jne 0x14000c7b6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 0
jne 0x14000c7b6
mov rcx, qword [r14]
lea rdx, [rsp + 0x30]
mov r8d, 0xa
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
cmp ebx, eax
jne 0x14000c7b6
mov rcx, qword [r12]
lea rdx, [rsp + 0x30]
mov r8d, 0xa
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
mov ebx, eax
mov dword [rbp + 0x118], eax
mov rax, qword [rsp + 0x30]
cmp byte [rax], 0
jne 0x14000c7a0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 0
jne 0x14000c7a0
mov rcx, qword [r12]
lea rdx, [rsp + 0x30]
mov r8d, 0xa
add rdi, 3
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
cmp ebx, eax
jne 0x14000c7a0
mov edx, dword [rbp + 0x100]
xor eax, eax
add r14, 0x18
mov dword [rsp + 0x40], eax
mov r15d, eax
add r12, 0x18
jmp 0x14000c6f9
mov rcx, r8
nop dword [rax + rax]
movzx eax, byte [r10 + rcx]
inc rcx
cmp al, byte [rbx + rcx - 1]
jne 0x14000c5a3
cmp rcx, 4
jne 0x14000c580
mov dword [0x1400b3c38], 3
jmp 0x14000c6f3
mov rcx, r8
nop word [rax + rax]
movzx eax, byte [r11 + rcx]
inc rcx
cmp al, byte [rbx + rcx - 1]
jne 0x14000c5d3
cmp rcx, 5
jne 0x14000c5b0
mov dword [0x1400b3c38], 4
jmp 0x14000c6f3
cmp r9b, byte [rbx]
jne 0x14000c5ec
mov eax, 0x69
cmp al, byte [rbx + 1]
jne 0x14000c5ec
cmp r8b, byte [rbx + 2]
je 0x14000c6b9
mov rdx, rbx
lea rcx, str.__inifile
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x14000c6b3
mov rdx, rbx
lea rcx, str.__perftest
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x14000cbd1
mov rdx, rbx
lea rcx, str.__timertest
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x14000ca12
mov rdx, rbx
lea rcx, str.__sleeptest
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x14000c85e
mov rdx, rbx
lea rcx, str.__CLtest
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x14000c842
mov rdx, rbx
lea rcx, str.__gpusievetest
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x14000c81f
mov eax, 0x2d
cmp al, byte [rbx]
jne 0x14000c690
mov eax, 0x72
cmp al, byte [rbx + 1]
jne 0x14000c690
xor eax, eax
cmp al, byte [rbx + 2]
je 0x14000c6a7
mov rdx, rbx
lea rcx, str.__rebuild
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x14000c7f8
mov dword [0x1400b3c78], 1
jmp 0x14000c6ed
mov edx, dword [rbp + 0x100]
inc esi
inc rdi
add r14, 8
add r12, 8
cmp esi, edx
jge 0x14000cc1b
mov rdx, qword [r13 + rdi*8]
lea rcx, [0x1400b3f03]
mov r8d, 0x32
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [0x1400b3f35], 0
mov edx, dword [rbp + 0x100]
mov ebx, dword [rbp + 0x118]
inc esi
inc rdi
add r14, 8
add r12, 8
cmp esi, edx
jl 0x14000c0f4
mov r13d, dword [rsp + 0x40]
mov esi, dword [rsp + 0x38]
test r13d, r13d
jne 0x14000cc31
mov r9d, dword [0x1400b3c70]
mov r8d, ebx
mov ebx, dword [rsp + 0x50]
mov ecx, esi
mov edx, ebx
call fcn.140005df0
test eax, eax
jne 0x14000cc40
lea eax, [r13 + 1]
jmp 0x14000d37d
lea rcx, str.ERROR:_cant_parse_verbosity_level_for_option___v__n
call fcn.140001020
mov eax, 1
jmp 0x14000d37d
lea rcx, str.ERROR:_no_verbosity_level_specified_for_option___v__n
call fcn.140001020
mov eax, 1
jmp 0x14000d37d
lea rcx, str.ERROR:_cant_parse__device_number__for_option___d__n
call fcn.140001020
mov eax, 1
jmp 0x14000d37d
lea rcx, str.ERROR:_no_device_number_specified_for_option___d__n
call fcn.140001020
mov eax, 1
jmp 0x14000d37d
lea rcx, str.ERROR:_cant_parse_parameter__max__for_option___tf__n
call fcn.140001020
mov eax, 1
jmp 0x14000d37d
lea rcx, str.ERROR:_cant_parse_parameter__min__for_option___tf__n
call fcn.140001020
mov eax, 1
jmp 0x14000d37d
lea rcx, str.ERROR:_cant_parse_parameter__exp__for_option___tf__n
call fcn.140001020
mov eax, 1
jmp 0x14000d37d
lea rcx, str.ERROR:_missing_parameters_for_option___tf__n
call fcn.140001020
mov eax, 1
jmp 0x14000d37d
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rbx
lea rdx, str.ERROR:_unknown_option__s_n
mov rcx, rax
call fcn.140001740
mov eax, 1
jmp 0x14000d37d
lea rcx, [0x1400b3a40]
call fcn.140006160
mov ecx, dword [0x1400b3c34]
lea rdx, [rbp + 0x110]
call fcn.1400109e0
jmp 0x14000d37b
lea rcx, [0x1400b3a40]
call fcn.140006160
mov ecx, dword [rbp + 0x110]
call fcn.14001b0d0
jmp 0x14000d37b
movsd xmm6, qword [0x140025c98]
mov r15d, 0x3e8
mov r14d, 0xf4240
xor eax, eax
mov rdi, 0xffffffffffffffff
mov esi, eax
mov qword [rbp + 0x118], rax
mov r8d, eax
mov eax, r14d
cdq
idiv r15d
mov r9d, eax
mov dword [rbp + 0x100], r9d
test eax, eax
jle 0x14000c9d8
mov eax, 0x10624dd3
mov qword [rsp + 0x48], r9
imul r15d
mov ebx, edx
sar ebx, 6
mov ecx, ebx
shr ecx, 0x1f
add ebx, ecx
nop dword [rax]
cmp dword [0x1400b0488], 0
jne 0x14000c8e0
lea rcx, [0x1400b40a0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov dword [0x1400b0488], 1
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [0x1400b40a0]
xorps xmm0, xmm0
mov rax, qword [rsp + 0x40]
movaps xmm2, xmm6
cqo
xorps xmm1, xmm1
idiv rcx
cvtsi2sd xmm0, rcx
mov ecx, ebx
mov r12, rax
cvtsi2sd xmm1, rdx
divsd xmm2, xmm0
mulsd xmm2, xmm1
cvttsd2si r13d, xmm2
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x1400b0488], 0
jne 0x14000c947
lea rcx, [0x1400b40a0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov dword [0x1400b0488], 1
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [0x1400b40a0]
xorps xmm0, xmm0
mov rax, qword [rsp + 0x50]
movaps xmm2, xmm6
mov r8, qword [rbp + 0x118]
cqo
idiv rcx
cvtsi2sd xmm0, rcx
sub eax, r12d
cdqe
xorps xmm1, xmm1
imul rcx, rax, 0xf4240
cvtsi2sd xmm1, rdx
movsxd rax, r13d
sub rcx, rax
divsd xmm2, xmm0
mulsd xmm2, xmm1
cvttsd2si edx, xmm2
movsxd rdx, edx
add rdx, rcx
cmp rdx, rdi
mov rax, rdx
cmovae rax, rdi
cmp rdx, rsi
mov rdi, rax
mov rax, rdx
cmovbe rax, rsi
add r8, rdx
sub qword [rsp + 0x48], 1
mov rsi, rax
mov qword [rbp + 0x118], r8
jne 0x14000c8c0
mov r9d, dword [rbp + 0x100]
movsxd rcx, r9d
xor edx, edx
mov rax, r8
mov r9, rsi
div rcx
mov r8, rdi
lea rcx, str.my_usleep__6u_:_t_min___6lluus__t_max___6lluus__t_avg___6lluus_n
mov edx, r15d
mov qword [rsp + 0x20], rax
call fcn.140001020
add r15d, r15d
cmp r15d, 0x3e800
jl 0x14000c872
jmp 0x14000d37b
xor eax, eax
lea rcx, str.checking_timer_functions_n
mov esi, eax
mov edi, eax
mov r12d, eax
mov ebx, eax
mov r15d, eax
mov r14d, 0xf4240
call fcn.140001020
cmp dword [0x1400b0488], ebx
jne 0x14000ca51
lea rcx, [0x1400b40a0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov dword [0x1400b0488], 1
lea rcx, [rbp + 0x118]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [0x1400b40a0]
xorps xmm0, xmm0
mov rax, qword [rbp + 0x118]
movsd xmm6, qword [0x140025c98]
cqo
idiv rcx
cvtsi2sd xmm0, rcx
mov r13, rax
movaps xmm1, xmm6
divsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rdx
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
cdqe
mov qword [rsp + 0x40], rax
inc qword [rsp + 0x48]
cmp dword [0x1400b0488], 0
jne 0x14000cac7
lea rcx, [0x1400b40a0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov dword [0x1400b0488], 1
lea rcx, [rbp + 0x118]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [0x1400b40a0]
xorps xmm0, xmm0
mov rax, qword [rbp + 0x118]
movaps xmm2, xmm6
cqo
xorps xmm1, xmm1
idiv rcx
cvtsi2sd xmm0, rcx
sub eax, r13d
cdqe
cvtsi2sd xmm1, rdx
imul rdx, rax, 0xf4240
divsd xmm2, xmm0
sub rdx, qword [rsp + 0x40]
mulsd xmm2, xmm1
cvttsd2si ecx, xmm2
movsxd rax, ecx
add rdx, rax
cmp rdx, rbx
jne 0x14000cb27
inc rsi
jmp 0x14000cb4c
jae 0x14000cb2e
inc rdi
jmp 0x14000cb4c
inc r12
mov rcx, rdx
sub rcx, rbx
cmp rcx, r14
mov rax, rcx
cmovae rax, r14
mov r14, rax
cmp rcx, r15
jbe 0x14000cb4c
mov r15, rcx
mov rbx, rdx
cmp rdx, 0x989680
jb 0x14000caa2
mov rdx, qword [rsp + 0x48]
lea rcx, str.___llu_time_measurements_within_ten_seconds_n
call fcn.140001020
mov rdx, rdi
lea rcx, str.__negative_steps:__llu_n
call fcn.140001020
mov rdx, rsi
lea rcx, str.__zero_steps:______llu_n
call fcn.140001020
mov rdx, r12
lea rcx, str.__positive_steps:__llu_n
call fcn.140001020
test rdi, rdi
je 0x14000cbae
mov rdx, rdi
lea rcx, str.WARNING:__8llu_negative_timesteps_n
call fcn.140001020
mov rdx, r14
lea rcx, str.__smallest__non_zero__time_step:__lluusec_n
call fcn.140001020
mov rdx, r15
lea rcx, str.__biggest_time_step:______________lluusec_n
call fcn.140001020
jmp 0x14000d37b
lea eax, [rsi + 1]
cmp eax, dword [rbp + 0x100]
jge 0x14000cc07
movsxd rcx, esi
lea rdx, [rsp + 0x30]
mov r8d, 0xa
mov rcx, qword [r13 + rcx*8 + 8]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
mov edx, dword [rbp + 0x110]
mov ecx, eax
call fcn.14001d4a0
jmp 0x14000d37b
mov edx, dword [rbp + 0x110]
xor eax, eax
mov ecx, eax
call fcn.14001d4a0
jmp 0x14000d37b
lea rcx, str.ERROR:_missing_parameters_for_option___i__inifile__._n
call fcn.140001020
mov eax, 1
jmp 0x14000d37d
mov r14d, dword [rbp + 0x118]
xor edi, edi
mov ebx, dword [rsp + 0x50]
jmp 0x14000cc4e
mov r14d, dword [rbp + 0x118]
xor edi, edi
jmp 0x14000cc4e
mov r13d, esi
lea r12, [0x1400b3a40]
mov rcx, r12
call fcn.140006160
cmp dword [0x1400b3c70], 1
jl 0x14000ccae
lea rcx, str.Compile_time_options_n
call fcn.140001020
cmp dword [0x1400b3c20], 0
jne 0x14000ccd9
mov edx, 0x24
lea rcx, str.__SIEVE_SIZE_LIMIT___________d_kiB_n
call fcn.140001020
mov edx, 0x46bc3
lea rcx, str.__SIEVE_SIZE_________________d_bits_n
call fcn.140001020
mov edx, 0xfa
lea rcx, str.__SIEVE_SPLIT________________d_n
call fcn.140001020
cmp dword [0x1400b3c20], 0
jne 0x14000ccd9
cmp dword [0x1400b3c14], 0xfa
jae 0x14000ccd9
lea rcx, str.ERROR:_SIEVE_SPLIT_must_be___SievePrimesMin_n
call fcn.140001020
mov eax, 1
jmp 0x14000d37d
cmp dword [0x1400b3c70], 1
jl 0x14000ccee
lea rcx, [0x14001f220]
call fcn.140001020
mov ecx, dword [0x1400b3c34]
lea rdx, [rbp + 0x110]
call fcn.1400109e0
test eax, eax
je 0x14000cd27
mov r8d, dword [rbp + 0x110]
lea rcx, str.ERROR:_init_CL__d___d__failed_n
mov edx, dword [0x1400b3c34]
call fcn.140001020
mov eax, 2
jmp 0x14000d37d
call fcn.1400133c0
cmp dword [0x1400b3c20], 0
jne 0x14000cd96
mov rax, qword [0x1400b0f48]
mov r8d, dword [0x1400b3c4c]
mov ecx, dword [0x1400b3c54]
cmp r8, rax
cmova r8d, eax
xor edx, edx
imul rcx, qword [0x1400b0f40]
mov eax, r8d
div rcx
sub r8d, edx
mov dword [0x1400b3c50], r8d
lea rcx, [rbp + 0x110]
call fcn.140013cf0
test eax, eax
je 0x14000cdc8
mov edx, dword [rbp + 0x110]
lea rcx, str.ERROR:_load_kernels__d__failed_n
call fcn.140001020
mov eax, 2
jmp 0x14000d37d
mov rcx, qword [0x1400b0f48]
mov dword [0x1400b3c50], 0x100
cmp rcx, 0x100
jae 0x14000cd6a
mov edx, ecx
lea rcx, str.ERROR:_device_only_supports__u_threads_per_grid._A_minimum_of_256_is_required_for_GPU_sieving._n
call fcn.140001020
mov eax, 3
jmp 0x14000d37d
xor ecx, ecx
call fcn.1400152c0
test eax, eax
je 0x14000cde9
lea rcx, str.ERROR:_init_CLstreams__malloc_buffers___failed_n
call fcn.140001020
mov eax, 3
jmp 0x14000d37d
cmp dword [0x1400b3c20], 0
jne 0x14000ce23
cmp qword [0x1400b3c68], 0
je 0x14000ce12
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rdx, qword [0x1400b3c68]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetThreadAffinityMask]
call fcn.140009530
mov eax, dword [0x1400b3c18]
mov dword [0x1400b3c10], eax
mov edx, dword [0x1400b3c38]
cmp edx, 1
jne 0x14000d3d4
cmp dword [0x1400b3c70], edx
mov dword [0x1400b3c38], 2
jl 0x14000ce50
lea rcx, str.Started_a_simple_self_test_..._n
call fcn.140001020
mov edx, 2
mov rcx, r12
call fcn.14000d410
test eax, eax
jne 0x14000d3f6
lea rdx, [0x1400097e0]
mov dword [0x1400b3c38], 1
lea ecx, [rax + 2]
mov qword [0x1400b3480], r12
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
lea rdx, [0x1400097e0]
mov ecx, 0xf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
movsd xmm6, qword [0x140025c58]
test r13d, r13d
je 0x14000cff1
mov esi, dword [0x1400b3c70]
lea rcx, [0x1400b3ed0]
call fcn.1400050b0
lea rdx, [0x14001ef24]
lea rcx, [0x1400b3ed0]
call fcn.140009f60
mov r14, rax
test rax, rax
je 0x14000d34b
nop word [rax + rax]
lea r9, [rsp + 0x48]
mov rcx, r14
lea r8, [rbp + 0x40]
inc edi
lea rdx, [rsp + 0x60]
call fcn.140005960
mov ebx, eax
lea ecx, [rax - 6]
cmp ecx, 1
jbe 0x14000cee0
test eax, eax
jne 0x14000cf28
mov r8d, dword [rsp + 0x68]
mov r9d, esi
mov edx, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x60]
call fcn.140005df0
test eax, eax
jne 0x14000cfb8
lea ebx, [rax + 5]
jmp 0x14000cf31
cmp ebx, 1
je 0x14000cfb8
cmp esi, 1
jl 0x14000cee0
lea r8, [0x1400b3ed0]
mov edx, edi
lea rcx, str.WARNING:_ignoring_line__u_in___s___Reason:
call fcn.140001020
sub ebx, 2
je 0x14000cfa7
sub ebx, 1
je 0x14000cf96
sub ebx, 1
je 0x14000cf85
cmp ebx, 1
je 0x14000cf74
lea rdx, [rbp + 0x40]
lea rcx, str.unknown_error_on___s_
call fcn.140001020
jmp 0x14000cee0
lea rcx, str.invalid_data_n
call fcn.140001020
jmp 0x14000cee0
lea rcx, str.invalid_format_n
call fcn.140001020
jmp 0x14000cee0
lea rcx, str.doesnt_begin_with_Factor_n
call fcn.140001020
jmp 0x14000cee0
lea rcx, str.line_is_too_long_n
call fcn.140001020
jmp 0x14000cee0
mov rcx, r14
call fcn.140009d70
test ebx, ebx
jne 0x14000d3c4
mov r11d, dword [rsp + 0x60]
xor edi, edi
mov ebx, dword [rsp + 0x64]
mov r15d, edi
mov r14d, dword [rsp + 0x68]
mov dword [0x1400b3bf8], r11d
mov dword [0x1400b3bfc], ebx
mov dword [0x1400b3c00], r14d
jmp 0x14000d010
mov dword [0x1400b3bf8], esi
mov r11d, esi
mov dword [0x1400b3bfc], ebx
mov dword [0x1400b3c00], r14d
test r15d, r15d
jne 0x14000d3a7
cmp dword [0x1400b3c70], 1
jl 0x14000d0ac
lea ecx, [rbx - 0x2f]
mov edx, 1
shl rdx, cl
xorps xmm1, xmm1
test rdx, rdx
js 0x14000d037
cvtsi2sd xmm1, rdx
jmp 0x14000d04c
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2sd xmm1, rax
addsd xmm1, xmm1
xorps xmm0, xmm0
mulsd xmm1, xmm6
mov eax, r11d
mov ecx, r14d
sub ecx, ebx
mov r10d, 1
shl r10d, cl
mov r9d, r14d
dec r10d
lea rcx, str.got_assignment:_exp_u_bit_min_d_bit_max_d___.2f_GHz_days__n
cvtsi2sd xmm0, rax
mov r8d, ebx
mov edx, r11d
divsd xmm1, xmm0
movd xmm0, r10d
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
call fcn.140001020
mov r11d, dword [0x1400b3bf8]
mov r14d, dword [0x1400b3c00]
mov ebx, dword [0x1400b3bfc]
cmp dword [0x1400b3c20], 0
mov r10d, r14d
mov dword [0x1400b3c04], r14d
jne 0x14000d127
mov edx, dword [0x1400b3c18]
test edx, edx
je 0x14000d0e9
nop dword [rax]
mov rax, qword [0x1400b3360]
lea r8d, [rdx - 1]
cmp dword [rax + r8*4], r11d
jb 0x14000d0e9
mov edx, r8d
test r8d, r8d
jne 0x14000d0d0
cmp dword [0x1400b3c08], edx
mov dword [0x1400b3c10], edx
jbe 0x14000d181
lea rcx, str.WARNING:_SievePrimes_is_too_big_for_the_current_assignment__lowering_to__u_n
mov dword [0x1400b3c08], edx
call fcn.140001020
lea rcx, str._________It_is_not_allowed_to_sieve_primes_which_are_equal_or_bigger_than_the__n
call fcn.140001020
lea rcx, str._________exponent_itself__n
call fcn.140001020
jmp 0x14000d166
cmp r11d, dword [0x1400b3c2c]
jae 0x14000d181
lea rcx, str.WARNING:_SievePrimes_is_too_big_for_the_current_assignment__adjusting_n
call fcn.140001020
lea rcx, str._________It_is_not_allowed_to_sieve_primes_which_are_equal_or_bigger_than_the__n
call fcn.140001020
lea rcx, str._________exponent_itself._n
call fcn.140001020
mov rcx, r12
call fcn.14000bc60
mov ecx, 1
call fcn.1400152c0
mov r11d, dword [0x1400b3bf8]
mov ebx, dword [0x1400b3bfc]
mov r14d, dword [0x1400b3c00]
mov r10d, dword [0x1400b3c04]
cmp dword [0x1400b3c44], 1
jne 0x14000d1e9
mov eax, dword [0x1400b3bf4]
mov edx, ebx
mov ecx, r11d
imul rdi, rax, 0xee6b280
call fcn.14000f0f0
mov edx, r10d
mov ecx, r11d
mov rsi, rax
call fcn.14000f0f0
sub rax, rsi
cmp rax, rdi
jbe 0x14000d1e7
nop word [rax + rax]
mov ecx, r10d
sub ecx, ebx
cmp ecx, 1
jbe 0x14000d1e0
dec r10d
mov ecx, r11d
mov edx, r10d
call fcn.14000f0f0
sub rax, rsi
cmp rax, rdi
ja 0x14000d1c0
mov dword [0x1400b3c04], r10d
xor edi, edi
cmp r10d, r14d
ja 0x14000d329
cmp dword [0x1400b3c64], 0
jne 0x14000d324
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r12
call fcn.14000dc60
cmp eax, 0x3b9aca01
je 0x14000d3a0
cmp eax, 0x3b9aca02
je 0x14000d312
cmp dword [0x1400b3c48], 0
jbe 0x14000d243
mov ecx, dword [0x1400b3c04]
test eax, eax
cmovg ecx, dword [0x1400b3c00]
mov dword [0x1400b3c04], ecx
test r13d, r13d
je 0x14000d300
mov r9d, dword [0x1400b3c00]
lea rcx, [0x1400b3ed0]
cmp dword [0x1400b3c04], r9d
mov r8d, dword [0x1400b3bfc]
mov edx, dword [0x1400b3bf8]
jne 0x14000d276
mov dword [rsp + 0x20], edi
jmp 0x14000d287
mov eax, dword [0x1400b3c04]
mov r9d, dword [0x1400b3c00]
mov dword [rsp + 0x20], eax
call fcn.1400054a0
mov r15d, eax
cmp eax, 3
jne 0x14000d2a9
lea rdx, [0x1400b3ed0]
lea rcx, str.ERROR:_clear_assignment_____modify_assignment__:_cant_open___s__n
call fcn.140001020
jmp 0x14000d300
cmp r15d, 4
jne 0x14000d2bd
lea rcx, str.ERROR:_clear_assignment_____modify_assignment__:_cant_open____worktodo__.tmp__n
call fcn.140001020
jmp 0x14000d300
cmp r15d, 5
jne 0x14000d2d8
lea rdx, [0x1400b3ed0]
lea rcx, str.ERROR:_clear_assignment_____modify_assignment__:_assignment_not_found_in___s__n
call fcn.140001020
jmp 0x14000d300
cmp r15d, 6
jne 0x14000d2ec
lea rcx, str.ERROR:_clear_assignment_____modify_assignment__:_cant_rename_workfiles_n
call fcn.140001020
jmp 0x14000d300
test r15d, r15d
je 0x14000d300
mov edx, r15d
lea rcx, str.ERROR:_clear_assignment_____modify_assignment__:_Unknown_error___d__n
call fcn.140001020
mov eax, dword [0x1400b3c04]
inc dword [0x1400b3c04]
mov dword [0x1400b3bfc], eax
mov eax, dword [0x1400b3c00]
cmp dword [0x1400b3c04], eax
jbe 0x14000d1f2
test r15d, r15d
jne 0x14000d371
test r13d, r13d
je 0x14000d371
cmp dword [0x1400b3c64], 0
jne 0x14000d371
mov r14d, dword [rbp + 0x118]
mov ebx, dword [rsp + 0x50]
mov esi, dword [rsp + 0x38]
jmp 0x14000cea0
lea rdx, [0x1400b3ed0]
lea rcx, str.Cant_open_workfile__s_n
call fcn.140001020
lea rdx, [0x1400b3ed0]
lea rcx, str.ERROR:_get_next_assignment__:_cant_open___s__n
call fcn.140001020
call fcn.140010650
call fcn.140009720
xor eax, eax
mov rbx, qword [rsp + 0x208]
movaps xmm6, xmmword [rsp + 0x1b0]
add rsp, 0x1c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, 5
jmp 0x14000d37d
cmp r15d, 1
je 0x14000d35e
cmp r15d, 2
je 0x14000d3c4
mov edx, r15d
lea rcx, str.ERROR:_get_next_assignment__:_Unknown_error___d__n
call fcn.140001020
jmp 0x14000d371
lea rdx, [0x1400b3ed0]
lea rcx, str.ERROR:_get_next_assignment__:_no_valid_assignment_found_in___s__n
jmp 0x14000d36c
mov rcx, r12
call fcn.14000d410
test eax, eax
je 0x14000d371
lea rcx, str.ERROR:_self_test_failed__exiting._n
call fcn.140001020
call fcn.140010650
call fcn.140009720
mov eax, 4
jmp 0x14000d37d