Function at 0x1400e3950
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
sub rsp, 0x20
mov ecx, 0xe8
call fcn.1400c1e30
mov rbx, rax
test rax, rax
je 0x1400e3cee
xor edx, edx
mov r8d, 0xe8
mov rcx, rax
call fcn.1402612c0
lea rcx, str.OpenCL
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbx], rax
test rax, rax
je 0x1400e3ce6
lea rdx, str.clBuildProgram
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 8], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clCreateBuffer
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x10], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clCreateCommandQueue
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x18], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clCreateContext
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x20], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clCreateImage2D
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x28], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clCreateKernel
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x30], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clCreateProgramWithBinary
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x38], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clCreateProgramWithSource
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x40], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clEnqueueCopyBuffer
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x48], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clEnqueueMapBuffer
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x50], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clEnqueueNDRangeKernel
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x58], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clEnqueueReadBuffer
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x60], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clEnqueueWriteBuffer
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x68], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clFinish
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x70], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clGetCommandQueueInfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x78], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clGetDeviceIDs
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x80], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clGetDeviceInfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x88], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clGetKernelWorkGroupInfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x90], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clGetPlatformIDs
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x98], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clGetProgramBuildInfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0xa0], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clGetProgramInfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0xa8], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clGetSupportedImageFormats
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0xb0], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clReleaseCommandQueue
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0xb8], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clReleaseContext
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0xc0], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clReleaseKernel
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0xc8], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clReleaseMemObject
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0xd0], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clReleaseProgram
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0xd8], rax
test rax, rax
je 0x1400e3cdd
mov rcx, qword [rbx]
lea rdx, str.clSetKernelArg
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0xe0], rax
test rax, rax
je 0x1400e3cdd
mov rax, rbx
add rsp, 0x20
pop rbx
ret
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, rbx
call fcn.1400c1d50
xor eax, eax
add rsp, 0x20
pop rbx
ret