Function at 0x140013cf0
Capabilities:
Delete file

Disassembly:
push rbp
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x658]
sub rsp, 0x758
movzx eax, byte [0x1400b3fcf]
lea r13, [0x140000000]
xor edi, edi
mov rsi, rcx
mov qword [rsp + 0x40], rdi
mov r15d, edi
test al, al
je 0x140013d4a
cmp al, 0x2b
je 0x140013d4a
mov edx, edi
nop
movzx eax, byte [rdx + r13 + 0xb3fcf]
mov byte [rsp + rdx + 0x70], al
lea rdx, [rdx + 1]
test al, al
jne 0x140013d30
jmp 0x140013e80
movsxd r9, dword [0x1400b3bb8]
lea rax, str.AUTO
mov r8d, dword [0x1400b3c54]
lea rdx, str._I.__DVECTOR_SIZE_d__D_s
shl r9, 4
lea rcx, [rsp + 0x70]
add r9, rax
call fcn.140001790
mov eax, dword [0x1400b3bb8]
add eax, 0xfffffff4
cmp eax, 1
jbe 0x140013dac
lea rcx, [rsp + 0x70]
dec rcx
nop dword [rax]
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x140013d90
mov eax, dword [str.__O3]
mov dword [rcx], eax
movzx eax, byte [0x140023248]
mov byte [rcx + 4], al
cmp dword [0x1400b3bf0], 1
jne 0x140013dd4
lea rax, [rsp + 0x70]
dec rax
nop dword [rax]
cmp byte [rax + 1], dil
lea rax, [rax + 1]
jne 0x140013dc0
movups xmm0, xmmword [str.__DMORE_CLASSES]
movups xmmword [rax], xmm0
cmp dword [0x1400b3c20], 1
jne 0x140013df9
lea rax, [rsp + 0x70]
dec rax
cmp byte [rax + 1], dil
lea rax, [rax + 1]
jne 0x140013de5
movups xmm0, xmmword [str.__DCL_GPU_SIEVE]
movups xmmword [rax], xmm0
cmp dword [0x1400b3c5c], 1
jne 0x140013e39
lea rcx, [rsp + 0x70]
dec rcx
nop word [rax + rax]
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x140013e10
mov eax, dword [0x140023278]
movsd xmm0, qword [str.__DSMALL_EXP]
movsd qword [rcx], xmm0
mov dword [rcx + 8], eax
movzx eax, byte [0x14002327c]
mov byte [rcx + 0xc], al
cmp byte [0x1400b3fcf], 0x2b
jne 0x140013e80
lea rcx, [rsp + 0x70]
dec rcx
nop word [rax + rax]
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x140013e50
lea r8, [0x1400b3fd0]
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140013e70
cmp byte [0x1400b4066], dil
mov r14, 0xffffffffffffffff
mov qword [rsp + 0x790], rbx
je 0x140014207
cmp dword [0x1400b3c78], 1
jne 0x140013eb2
lea rcx, [0x1400b4066]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
lea rcx, [0x1400b4066]
call fcn.14000a210
test eax, eax
je 0x140014207
cmp dword [0x1400b3c70], edi
jle 0x140013ee1
lea rdx, [0x1400b4066]
lea rcx, str.Loading_binary_kernel_file__s_n
call fcn.140001020
mov r8d, 0x21
lea rdx, [0x1400b4066]
lea rcx, [rbp + 0x10]
call fcn.140002600
cmp qword [rbp + 0xa8], rdi
je 0x14001409a
xor edx, edx
lea rcx, [rbp + 0x10]
lea r8d, [rdx + 2]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int____ptr64]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x10]
call qword [sym.imp.MSVCP140.dll_public:_class_std::fpos_struct__Mbstatet____cdecl_std::basic_istream_char__struct_std::char_traits_char__::tellg_void____ptr64]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rax + 8]
add rcx, qword [rax]
mov qword [rsp + 0x48], rcx
lea rcx, [rbp + 0x10]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int____ptr64]
mov rcx, qword [rsp + 0x48]
mov edx, 1
inc rcx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x140013fa5
lea rcx, [rbp + 0x28]
call fcn.140002a10
test rax, rax
jne 0x140013f84
mov rcx, qword [rbp + 0x10]
lea edx, [rax + 2]
movsxd r8, dword [rcx + 4]
lea rcx, [rbp + 0x10]
add rcx, r8
xor r8d, r8d
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str._noom_n
call fcn.140001350
lea rcx, [rbp + 0x10]
call fcn.140001940
jmp 0x140014d67
mov r8, qword [rsp + 0x48]
lea rcx, [rbp + 0x10]
mov rdx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::read_char____ptr64__long_long___int64_____ptr64]
lea rcx, [rbp + 0x28]
call fcn.140002a10
test rax, rax
jne 0x140013fe1
mov rax, qword [rbp + 0x10]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
lea edx, [r8 + 2]
lea rax, [rbp + 0x10]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov rcx, qword [rsp + 0x40]
lea r8, [rbp + 0x130]
mov rax, qword [rsp + 0x48]
lea rdx, str.Compile_options:__149__r_n__n
mov byte [rax + rcx], dil
mov rcx, qword [rsp + 0x40]
call fcn.1400017f0
lea rax, [rbp + 0x130]
lea r8, [rsp + 0x70]
sub r8, rax
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140014033
inc rax
test ecx, ecx
jne 0x140014020
test edx, edx
je 0x140014064
lea r8, [rsp + 0x70]
lea rdx, [rbp + 0x130]
lea rcx, str._nCannot_use_binary_kernel:_its_build_options___s__are_different_than_the_current_build_options___s_._Rebuilding_kernels._n
call fcn.140001020
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rsp + 0x40], rdi
jmp 0x1400141fe
lea rax, [rbp + 0x130]
mov rbx, r14
nop
inc rbx
cmp byte [rax + rbx], dil
jne 0x140014070
mov rcx, qword [rsp + 0x40]
add rbx, 0x12
mov r8, qword [rsp + 0x48]
sub r8, rbx
lea rdx, [rbx + rcx]
call sub.VCRUNTIME140.dll_memmove
sub qword [rsp + 0x48], rbx
jmp 0x1400140bb
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea r8, [0x1400b4066]
lea rdx, str._nBinary_kernel_file___s__not_readable__check_permissions._n
call fcn.140001740
cmp qword [rsp + 0x40], rdi
je 0x1400141fe
movsxd rcx, dword [rsi]
lea r9, [rsp + 0x48]
mov rax, qword [0x1400b0498]
mov edx, 1
lea r8, [rax + rcx*8]
mov rcx, qword [0x1400b04a0]
lea rax, [rbp + 0x6a0]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x698]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
call qword [sym.imp.OpenCL.dll_clCreateProgramWithBinary]
mov r8d, dword [rbp + 0x698]
mov ecx, dword [rbp + 0x6a0]
mov qword [0x1400b04a8], rax
test r8d, r8d
jne 0x140014133
test ecx, ecx
jne 0x140014133
lea r15d, [rcx + 1]
jmp 0x1400141fe
call fcn.140016860
mov ecx, r8d
mov rbx, rax
call fcn.140016860
mov ecx, 2
mov rdi, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov edx, dword [rbp + 0x6a0]
mov r9, rdi
mov r8d, dword [rbp + 0x698]
mov rcx, rax
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], edx
lea rdx, str.Cannot_use_binary_kernel:_binary_status_d___s___error_code_d___s__n
call fcn.140001740
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [0x1400b04a8]
xor edi, edi
mov qword [rsp + 0x40], rdi
call qword [sym.imp.OpenCL.dll_clReleaseProgram]
mov dword [rbp + 0x698], eax
mov qword [0x1400b04a8], rdi
test eax, eax
je 0x1400141fe
mov ecx, eax
call fcn.140016860
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.Error
mov rbx, rax
call fcn.140001350
mov edx, dword [rbp + 0x698]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x140021210]
call fcn.140001350
mov rcx, rax
mov rdx, rbx
call fcn.140001350
mov rcx, rax
lea rdx, str._:_clReleaseProgram_n
call fcn.140001350
lea rcx, [rbp + 0x10]
call fcn.140001940
cmp qword [0x1400b04a8], 0
jne 0x1400143da
mov r8d, 0x21
lea rdx, str.mfakto_Kernels.cl
lea rcx, [rbp + 0x130]
call fcn.140002600
cmp qword [rbp + 0x1c8], 0
je 0x140014408
xor edx, edx
lea rcx, [rbp + 0x130]
lea r8d, [rdx + 2]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int____ptr64]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x130]
call qword [sym.imp.MSVCP140.dll_public:_class_std::fpos_struct__Mbstatet____cdecl_std::basic_istream_char__struct_std::char_traits_char__::tellg_void____ptr64]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rax + 8]
add rcx, qword [rax]
mov qword [rsp + 0x48], rcx
lea rcx, [rbp + 0x130]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int____ptr64]
mov rcx, qword [rsp + 0x48]
mov edx, 1
inc rcx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x1400142db
lea rcx, [rbp + 0x148]
call fcn.140002a10
test rax, rax
jne 0x1400142cf
mov rax, qword [rbp + 0x130]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
lea edx, [r8 + 2]
lea rax, [rbp + 0x130]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
lea rdx, str._noom_n
jmp 0x14001440f
mov r8, qword [rsp + 0x48]
lea rcx, [rbp + 0x130]
mov rdx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::read_char____ptr64__long_long___int64_____ptr64]
lea rcx, [rbp + 0x148]
call fcn.140002a10
test rax, rax
jne 0x140014323
mov rax, qword [rbp + 0x130]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
lea edx, [r8 + 2]
lea rax, [rbp + 0x130]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov rcx, qword [rsp + 0x48]
lea r9, [rsp + 0x48]
mov rax, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov edx, 1
mov byte [rcx + rax], 0
lea rax, [rbp + 0x698]
mov rcx, qword [0x1400b04a0]
mov qword [rsp + 0x20], rax
call qword [sym.imp.OpenCL.dll_clCreateProgramWithSource]
mov ecx, dword [rbp + 0x698]
mov qword [0x1400b04a8], rax
test ecx, ecx
je 0x1400143ce
call fcn.140016860
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, [0x140021214]
mov rbx, rax
call fcn.140001350
mov edx, dword [rbp + 0x698]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x140021210]
call fcn.140001350
mov rcx, rax
mov rdx, rbx
call fcn.140001350
mov rcx, rax
lea rdx, str._:_clCreateProgramWithSource_n
call fcn.140001350
lea rcx, [rbp + 0x130]
call fcn.140001940
jmp 0x140014d67
lea rcx, [rbp + 0x130]
call fcn.140001940
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400143ea
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [0x1400b3c70]
cmp eax, 1
jle 0x14001442c
lea rdx, [rsp + 0x70]
lea rcx, str.Compiling_kernels__build_options:___s__.
call fcn.140001020
jmp 0x14001443c
lea rdx, str._nKernel_file__mfakto_Kernels.cl__not_found__it_needs_to_be_in_the_same_directory_as_the_executable._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001350
lea rcx, [rbp + 0x130]
call fcn.140001940
jmp 0x140014d67
test eax, eax
jle 0x14001443c
lea rcx, str.Compiling_kernels._n
call fcn.140001020
movsxd rcx, dword [rsi]
lea r9, [rsp + 0x70]
mov rax, qword [0x1400b0498]
mov edx, 1
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
lea r8, [rax + rcx*8]
mov rcx, qword [0x1400b04a8]
call qword [sym.imp.OpenCL.dll_clBuildProgram]
mov dword [rbp + 0x698], eax
test eax, eax
jne 0x140014484
cmp dword [0x1400b3c70], 2
jle 0x1400146ff
jmp 0x140014496
cmp eax, 0xfffffff5
je 0x140014496
cmp dword [0x1400b3c70], 2
jle 0x14001469d
movsxd rax, dword [rsi]
lea rcx, [rbp + 0x6a0]
mov rdx, qword [0x1400b0498]
xor r9d, r9d
mov qword [rsp + 0x28], rcx
mov r8d, 0x1183
mov rcx, qword [0x1400b04a8]
mov qword [rbp + 0x6a0], rdi
mov rdx, qword [rdx + rax*8]
mov qword [rsp + 0x20], rdi
call qword [sym.imp.OpenCL.dll_clGetProgramBuildInfo]
mov edi, eax
test eax, eax
je 0x140014526
mov ecx, eax
call fcn.140016860
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, [0x140021214]
mov rbx, rax
call fcn.140001350
mov rcx, rax
mov edx, edi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x140021210]
call fcn.140001350
mov rcx, rax
mov rdx, rbx
call fcn.140001350
lea rdx, str._:_clGetProgramBuildInfo_failed.
jmp 0x140014d5f
mov rcx, qword [rbp + 0x6a0]
test rcx, rcx
je 0x140014689
mov edx, 1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rdi, rax
test rax, rax
jne 0x14001455c
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str._noom_n
jmp 0x140014d62
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
movsxd rax, dword [rsi]
mov r8d, 0x1183
mov rdx, qword [0x1400b0498]
mov r9, qword [rbp + 0x6a0]
mov rcx, qword [0x1400b04a8]
mov qword [rsp + 0x28], 0
mov rdx, qword [rdx + rax*8]
mov qword [rsp + 0x20], rdi
call qword [sym.imp.OpenCL.dll_clGetProgramBuildInfo]
mov esi, eax
test eax, eax
je 0x1400145ff
mov ecx, eax
call fcn.140016860
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, [0x140021214]
mov rbx, rax
call fcn.140001350
mov rcx, rax
mov edx, esi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x140021210]
call fcn.140001350
mov rcx, rax
mov rdx, rbx
call fcn.140001350
mov rcx, rax
lea rdx, str._:_clGetProgramBuildInfo_failed.
call fcn.140001350
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x140014d67
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.__n_tBUILD_OUTPUT_n
call fcn.140001350
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov rdx, rdi
call fcn.140001350
mov rcx, rax
lea rdx, [0x140002ac0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.__tEND_OF_BUILD_OUTPUT_n
call fcn.140001350
lea rdx, str._not_for_the_target
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x14001467e
test r15d, r15d
je 0x14001467e
lea rdx, [0x1400b4066]
lea rcx, str.Removing_binary_kernel_file__s_as_it_seems_to_be_for_a_different_platform._nPlease_restart_mfakto.
call fcn.140001020
lea rcx, [0x1400b4066]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x140014695
lea rcx, str.No_build_log_available._n
call fcn.140001020
mov eax, dword [rbp + 0x698]
xor edi, edi
mov ecx, eax
call fcn.140016860
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, [0x140021214]
mov rbx, rax
call fcn.140001350
mov edx, dword [rbp + 0x698]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x140021210]
call fcn.140001350
mov rcx, rax
mov rdx, rbx
call fcn.140001350
mov rcx, rax
lea rdx, str._:_clBuildProgram_n
call fcn.140001350
cmp dword [rbp + 0x698], 0
jne 0x140014d67
mov qword [rsp + 0x750], r12
mov r12, rdi
mov qword [rbp + 0x6a8], rdi
mov rsi, rdi
test r15d, r15d
jne 0x140014bac
cmp byte [0x1400b4066], r15b
je 0x140014bac
mov rcx, qword [0x1400b04a8]
lea r9, [rbp + 0x6a8]
mov edx, 0x1162
mov qword [rsp + 0x20], rdi
lea r8d, [r15 + 8]
call qword [sym.imp.OpenCL.dll_clGetProgramInfo]
mov dword [rbp + 0x698], eax
test eax, eax
jne 0x140014b99
mov rcx, qword [rbp + 0x6a8]
test rcx, rcx
je 0x140014b99
lea rcx, [rcx*8]
lea edx, [rax + 1]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [rbp + 0x6a0], rax
mov rbx, rax
test rax, rax
jne 0x1400147b8
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.Failed_to_allocate_host_memory._devices_
call fcn.140001350
lea edx, [rbx + 8]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64_____ptr64]
mov rcx, rax
lea rdx, str._bytes__n
jmp 0x140014ba7
mov r8, qword [rbp + 0x6a8]
mov r9, rax
mov rcx, qword [0x1400b04a8]
mov edx, 0x1163
mov qword [rsp + 0x20], rdi
lea r8, [r8*8]
call qword [sym.imp.OpenCL.dll_clGetProgramInfo]
mov dword [rbp + 0x698], eax
test eax, eax
je 0x1400147f7
lea rdx, str.clGetProgramInfo_CL_PROGRAM_DEVICES__failed.
jmp 0x140014ba0
mov rcx, qword [rbp + 0x6a8]
mov edx, 1
lea rcx, [rcx*8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r12, rax
test rax, rax
jne 0x140014843
lea rdx, str.Failed_to_allocate_host_memory._binarySizes_
mov rcx, qword [rbp + 0x6a8]
lea rbx, [rcx*8]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001350
mov rdx, rbx
jmp 0x1400147a0
mov r8, qword [rbp + 0x6a8]
mov r9, r12
mov rcx, qword [0x1400b04a8]
mov edx, 0x1165
mov qword [rsp + 0x20], rdi
lea r8, [r8*8]
call qword [sym.imp.OpenCL.dll_clGetProgramInfo]
mov dword [rbp + 0x698], eax
test eax, eax
je 0x140014882
lea rdx, str.clGetProgramInfo_CL_PROGRAM_BINARY_SIZES__failed.
jmp 0x140014ba0
mov rdx, qword [rbp + 0x6a8]
mov ecx, 8
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rsi, rax
test rax, rax
jne 0x1400148a8
lea rdx, str.Failed_to_allocate_host_memory._binaries_
jmp 0x140014820
mov r8, qword [rbp + 0x6a8]
mov r13, rdi
test r8, r8
je 0x14001493e
mov r15, r12
mov rbx, rsi
sub r15, rsi
mov rcx, qword [r15 + rbx]
test rcx, rcx
je 0x1400148ec
mov edx, 1
mov r13, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [rbx], rax
test rax, rax
je 0x140014901
mov r8, qword [rbp + 0x6a8]
jmp 0x1400148f3
mov qword [rbx], 0
inc rdi
add rbx, 8
cmp rdi, r8
jb 0x1400148c4
jmp 0x140014937
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.Failed_to_allocate_host_memory._binaries_i__
call fcn.140001350
mov rdx, qword [r12 + rdi*8]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64_____ptr64]
mov rcx, rax
lea rdx, str._bytes__n
call fcn.140001350
mov r8, qword [rbp + 0x6a8]
mov rbx, qword [rbp + 0x6a0]
mov rcx, qword [0x1400b04a8]
lea r8, [r8*8]
xor edi, edi
mov r9, rsi
mov edx, 0x1166
mov qword [rsp + 0x20], rdi
call qword [sym.imp.OpenCL.dll_clGetProgramInfo]
mov dword [rbp + 0x698], eax
test eax, eax
je 0x14001498b
lea rdx, str.clGetProgramInfo_CL_PROGRAM_BINARIES__failed.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001350
lea r13, [0x140000000]
jmp 0x140014bac
cmp qword [rbp + 0x6a8], 1
jbe 0x140014a0b
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Info:_Dumping_only_1_of
call fcn.140001350
mov rdx, qword [rbp + 0x6a8]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64_____ptr64]
mov rcx, rax
lea rdx, str._binary_formats._n
call fcn.140001350
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.______If_the_kernel_file
call fcn.140001350
mov rcx, rax
lea rdx, [0x1400b4066]
call fcn.140001350
mov rcx, rax
lea rdx, str._fails_to_load__delete_it_and_n
call fcn.140001350
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.______restart_mfakto_with_the__d__n__option._n
call fcn.140001350
cmp qword [r12 + r13*8], rdi
je 0x140014b64
mov rcx, qword [rbx + r13*8]
lea r9, [rbp + 0x250]
mov edx, 0x102b
mov qword [rsp + 0x20], rdi
mov r8d, 0x400
call qword [sym.imp.OpenCL.dll_clGetDeviceInfo]
mov dword [rbp + 0x698], eax
test eax, eax
je 0x140014a4c
lea rdx, str.clGetProgramInfo_CL_DEVICE_NAME__failed.
jmp 0x140014973
mov r8d, 0x32
lea rdx, [0x1400b4066]
lea rcx, [rbp + 0x10]
call fcn.140002600
cmp qword [rbp + 0xa8], rdi
je 0x140014b21
lea r8, [rsp + 0x70]
lea rdx, str.Compile_options:__s_n
lea rcx, [rbp + 0x130]
call fcn.140001790
lea rax, [rbp + 0x130]
nop
inc r14
cmp byte [rax + r14], dil
jne 0x140014a90
mov r8, r14
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x20]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const____ptr64__long_long___int64_____ptr64]
mov r8, qword [r12 + r13*8]
lea rcx, [rbp + 0x20]
mov rdx, qword [rsi + r13*8]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const____ptr64__long_long___int64_____ptr64]
lea rcx, [rbp + 0x28]
call fcn.140002a10
test rax, rax
jne 0x140014ae9
mov rax, qword [rbp + 0x10]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
lea edx, [r8 + 2]
lea rax, [rbp + 0x10]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
cmp dword [0x1400b3c70], 1
jle 0x140014b52
lea r8, [0x1400b4066]
lea rdx, [rbp + 0x250]
lea rcx, str.Wrote_binary_kernel_for___s__to___s_._n
call fcn.140001020
lea rcx, [rbp + 0x10]
call fcn.140001940
lea r13, [0x140000000]
jmp 0x140014bac
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.Failed_to_open_binary_file
call fcn.140001350
mov rcx, rax
lea rdx, [0x1400b4066]
call fcn.140001350
mov rcx, rax
lea rdx, str._to_save_kernel._n
call fcn.140001350
lea rcx, [rbp + 0x10]
call fcn.140001940
lea r13, [0x140000000]
jmp 0x140014bac
lea rdx, [0x1400b4066]
lea rcx, str.Did_not_create_binary_kernel:__s_n
call fcn.140001020
lea rcx, str.Skipping_as_there_is_no_binary_data_to_write._n
call fcn.140001020
lea rcx, [0x1400b4066]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
lea r13, [0x140000000]
jmp 0x140014bac
lea rdx, str.clGetProgramInfo_CL_PROGRAM_NUM_DEVICES__failed._Cannot_save_binary_kernel._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001350
cmp qword [rbp + 0x6a8], 0
mov rbx, rdi
jbe 0x140014be4
nop dword [rax]
test rsi, rsi
je 0x140014bd8
mov rcx, qword [rsi + rbx*8]
test rcx, rcx
je 0x140014bd8
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rsi + rbx*8], rdi
inc rbx
cmp rbx, qword [rbp + 0x6a8]
jb 0x140014bc0
test rsi, rsi
je 0x140014bf2
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r12, r12
je 0x140014c00
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [0x1400b0498]
mov r12, qword [rsp + 0x750]
test rcx, rcx
je 0x140014c21
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x1400b0498], rdi
cmp dword [0x1400b3c20], 0
jne 0x140014c82
mov edi, 1
mov ebx, 0x38
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [0x1400b04a8]
lea rdx, [r13 + 0x2a154]
add rdx, rbx
lea r8, [rbp + 0x698]
call qword [sym.imp.OpenCL.dll_clCreateKernel]
mov ecx, dword [rbp + 0x698]
mov qword [rbx + r13 + 0x2a180], rax
test ecx, ecx
jne 0x140014cec
inc rdi
add rbx, 0x38
cmp rbx, 0x460
jb 0x140014c40
jmp 0x140014cd0
mov edi, 0x17
mov ebx, 0x508
nop dword [rax]
mov rcx, qword [0x1400b04a8]
lea rdx, [r13 + 0x2a154]
add rdx, rbx
lea r8, [rbp + 0x698]
call qword [sym.imp.OpenCL.dll_clCreateKernel]
mov ecx, dword [rbp + 0x698]
mov qword [rbx + r13 + 0x2a180], rax
test ecx, ecx
jne 0x140014cec
inc rdi
add rbx, 0x38
cmp rbx, 0x8c0
jb 0x140014c90
cmp dword [0x1400b3c70], 1
jle 0x140014ce5
lea rcx, [0x14001f220]
call fcn.140001020
xor eax, eax
jmp 0x140014d6c
lea rax, str.auto
imul rdi, rdi, 0x38
add rdi, rax
call fcn.140016860
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, [0x140021214]
mov rbx, rax
call fcn.140001350
mov edx, dword [rbp + 0x698]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x140021210]
call fcn.140001350
mov rdx, rbx
mov rcx, rax
call fcn.140001350
lea rdx, str._:_Creating_Kernel
mov rcx, rax
call fcn.140001350
mov rdx, rdi
mov rcx, rax
call fcn.140001350
lea rdx, str._from_program.__clCreateKernel__n
mov rcx, rax
call fcn.140001350
mov eax, 1
mov rbx, qword [rsp + 0x790]
add rsp, 0x758
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
ret