Function at 0x4737a0
Capabilities:
Link many functions at runtime

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 0x88]
mov rsi, rcx
mov rbx, qword [rax + 0x28]
xor eax, eax
lea rdi, [rbx + 8]
mov rcx, rbx
mov qword [rbx], 0
mov qword [rbx + 0x120], 0
and rdi, 0xfffffffffffffff8
sub rcx, rdi
add ecx, 0x128
shr ecx, 3
rep stosq qword [rdi], rax
lea rcx, str.OpenCL
call sub.KERNEL32.dll_LoadLibraryA
test rax, rax
mov qword [rbx], rax
je 0x473c10
lea rdx, str.clBuildProgram
mov rcx, rax
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 8], rax
je 0x473c3b
mov rcx, qword [rbx]
lea rdx, str.clCompileProgram
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x10], rax
je 0x473c17
mov rcx, qword [rbx]
lea rdx, str.clCreateBuffer
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x18], rax
je 0x473c5f
mov rcx, qword [rbx]
lea rdx, str.clCreateCommandQueue
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x20], rax
je 0x473c83
mov rcx, qword [rbx]
lea rdx, str.clCreateContext
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x28], rax
je 0x473caa
mov rcx, qword [rbx]
lea rdx, str.clCreateKernel
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x30], rax
je 0x473cd1
mov rcx, qword [rbx]
lea rdx, str.clCreateProgramWithBinary
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x38], rax
je 0x473cf8
mov rcx, qword [rbx]
lea rdx, str.clCreateProgramWithSource
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x40], rax
je 0x473d1f
mov rcx, qword [rbx]
lea rdx, str.clEnqueueCopyBuffer
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x48], rax
je 0x473d46
mov rcx, qword [rbx]
lea rdx, str.clEnqueueFillBuffer
call sub.KERNEL32.dll_GetProcAddress
mov rcx, qword [rbx]
lea rdx, str.clEnqueueMapBuffer
mov qword [rbx + 0x50], rax
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x58], rax
je 0x473d6d
mov rcx, qword [rbx]
lea rdx, str.clEnqueueNDRangeKernel
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x60], rax
je 0x473dbb
mov rcx, qword [rbx]
lea rdx, str.clEnqueueReadBuffer
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x68], rax
je 0x473d94
mov rcx, qword [rbx]
lea rdx, str.clEnqueueUnmapMemObject
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x70], rax
je 0x473de2
mov rcx, qword [rbx]
lea rdx, str.clEnqueueWriteBuffer
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x78], rax
je 0x473e09
mov rcx, qword [rbx]
lea rdx, str.clFinish
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x80], rax
je 0x473e30
mov rcx, qword [rbx]
lea rdx, str.clFlush
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x88], rax
je 0x473e57
mov rcx, qword [rbx]
lea rdx, str.clGetDeviceIDs
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x90], rax
je 0x473ea5
mov rcx, qword [rbx]
lea rdx, str.clGetDeviceInfo
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x98], rax
je 0x473e7e
mov rcx, qword [rbx]
lea rdx, str.clGetEventInfo
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xa0], rax
je 0x473ecc
mov rcx, qword [rbx]
lea rdx, str.clGetKernelWorkGroupInfo
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xb0], rax
je 0x473ef3
mov rcx, qword [rbx]
lea rdx, str.clGetPlatformIDs
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xb8], rax
je 0x473f1a
mov rcx, qword [rbx]
lea rdx, str.clGetPlatformInfo
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xc0], rax
je 0x473f41
mov rcx, qword [rbx]
lea rdx, str.clGetProgramBuildInfo
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xc8], rax
je 0x473f68
mov rcx, qword [rbx]
lea rdx, str.clGetProgramInfo
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xd0], rax
je 0x473f8f
mov rcx, qword [rbx]
lea rdx, str.clLinkProgram
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xd8], rax
je 0x473fdd
mov rcx, qword [rbx]
lea rdx, str.clReleaseCommandQueue
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xe0], rax
je 0x473fb6
mov rcx, qword [rbx]
lea rdx, str.clReleaseContext
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xe8], rax
je 0x47402b
mov rcx, qword [rbx]
lea rdx, str.clReleaseKernel
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xf8], rax
je 0x474004
mov rcx, qword [rbx]
lea rdx, str.clReleaseMemObject
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x100], rax
je 0x474052
mov rcx, qword [rbx]
lea rdx, str.clReleaseProgram
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x108], rax
je 0x474079
mov rcx, qword [rbx]
lea rdx, str.clSetKernelArg
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x110], rax
je 0x4740a0
mov rcx, qword [rbx]
lea rdx, str.clWaitForEvents
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x120], rax
je 0x4740c7
mov rcx, qword [rbx]
lea rdx, str.clGetEventProfilingInfo
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xa8], rax
je 0x4740ee
mov rcx, qword [rbx]
lea rdx, str.clReleaseEvent
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xf0], rax
je 0x474115
xor eax, eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clCompileProgram
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clBuildProgram
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clCreateBuffer
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clCreateCommandQueue
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clCreateContext
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clCreateKernel
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clCreateProgramWithBinary
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clCreateProgramWithSource
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clEnqueueCopyBuffer
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clEnqueueMapBuffer
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clEnqueueReadBuffer
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clEnqueueNDRangeKernel
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clEnqueueUnmapMemObject
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clEnqueueWriteBuffer
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clFinish
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clFlush
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clGetDeviceInfo
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clGetDeviceIDs
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clGetEventInfo
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clGetKernelWorkGroupInfo
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clGetPlatformIDs
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clGetPlatformInfo
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clGetProgramBuildInfo
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clGetProgramInfo
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clReleaseCommandQueue
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clLinkProgram
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clReleaseKernel
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clReleaseContext
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clReleaseMemObject
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clReleaseProgram
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clSetKernelArg
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clWaitForEvents
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clGetEventProfilingInfo
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04
lea r9, str.OpenCL
lea r8, str.clReleaseEvent
lea rdx, str._s_is_missing_from__s_shared_library.
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x473c04