Function at 0x140040d20
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x28
lea rcx, [0x1400e1760]
call fcn.140041520
test al, al
jne 0x140041497
lea rcx, str.nvcuda.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x1400e18e0], rax
test rax, rax
jne 0x140040d80
mov r9d, 0x191
lea r8, str.dte::nv::CudaInterface::load_
lea rdx, str.m_dll___nullptr
lea rcx, str.__s__does_not_hold___s__d_
call fcn.140011520
mov eax, 3
add rsp, 0x28
ret
lea rdx, str.cuInit
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1760], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuDriverGetVersion
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1768], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuGetErrorName
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1770], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuGetErrorString
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1778], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuStreamCreate
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1780], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuStreamDestroy_v2
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1788], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuStreamSynchronize
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1790], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuMemAlloc_v2
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1798], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuMemAllocPitch_v2
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e17a0], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuMemFree_v2
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e17a8], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuMemcpyAsync
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e17b0], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuMemcpy2DAsync_v2
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e17b8], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuDeviceGetCount
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e17c0], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuDeviceGet
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e17c8], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuDeviceGetByPCIBusId
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e17d0], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuDeviceGetAttribute
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e17d8], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuDeviceGetLuid
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e17e0], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuDeviceGetName
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e17e8], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuDeviceGetPCIBusId
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e17f0], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuDeviceTotalMem_v2
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e17f8], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuDevicePrimaryCtxRetain
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1800], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuCtxCreate_v2
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1808], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuCtxDestroy_v2
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1810], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuCtxGetApiVersion
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1818], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuCtxGetCurrent
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1820], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuCtxGetDevice
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1828], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuCtxPushCurrent_v2
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1830], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuCtxPopCurrent_v2
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1838], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuGraphicsUnregisterResource
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1840], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuGraphicsMapResources
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1848], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuGraphicsUnmapResources
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1850], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuGraphicsResourceSetMapFlags_v2
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1858], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuGraphicsResourceGetMappedPointer_v2
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1860], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuGraphicsSubResourceGetMappedArray
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1868], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuArrayGetDescriptor_v2
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1870], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuArrayGetMemoryRequirements
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1878], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuArrayGetSparseProperties
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1880], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuArrayGetPlane
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1888], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuArrayDestroy
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1890], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuMipmappedArrayGetLevel
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e1898], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuMipmappedArrayDestroy
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e18a0], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuD3D11GetDevice
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e18a8], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuD3D11GetDevices
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e18b0], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuGraphicsD3D11RegisterResource
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e18b8], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuImportExternalMemory
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e18c0], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuExternalMemoryGetMappedBuffer
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e18c8], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuExternalMemoryGetMappedMipmappedArray
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e18d0], rax
test rax, rax
je 0x1400414b4
lea rdx, str.cuDestroyExternalMemory
mov rcx, qword [0x1400e18e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400e18d8], rax
test rax, rax
je 0x1400414b4
mov rax, qword [0x1400e1760]
xor ecx, ecx
call rax
test eax, eax
jne 0x14004149e
mov dword [rsp + 0x30], eax
mov rax, qword [0x1400e1768]
lea rcx, [rsp + 0x30]
call rax
test eax, eax
jne 0x14004149e
mov ecx, dword [rsp + 0x30]
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [0x1400e18e8], edx
imul eax, edx, 0x3e8
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [0x1400e18ec], edx
xor eax, eax
add rsp, 0x28
ret
lea rcx, [0x1400e1760]
call fcn.1400414d0
mov eax, 5
add rsp, 0x28
ret
lea rcx, [0x1400e1760]
call fcn.1400414d0
mov eax, 4
add rsp, 0x28
ret