Function at 0x46f310
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 + 0x18]
xor eax, eax
lea rdi, [rbx + 8]
mov rcx, rbx
mov qword [rbx], 0
mov qword [rbx + 0x130], 0
and rdi, 0xfffffffffffffff8
sub rcx, rdi
add ecx, 0x138
shr ecx, 3
rep stosq qword [rdi], rax
lea rcx, [0x00547720]
call sub.KERNEL32.dll_LoadLibraryA
test rax, rax
mov qword [rbx], rax
je 0x46f801
lea rdx, str.hipCtxCreate
mov rcx, rax
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 8], rax
je 0x46f858
mov rcx, qword [rbx]
lea rdx, str.hipCtxDestroy
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x10], rax
je 0x46f834
mov rcx, qword [rbx]
lea rdx, str.hipCtxPopCurrent
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x18], rax
je 0x46f87f
mov rcx, qword [rbx]
lea rdx, str.hipCtxPushCurrent
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x20], rax
je 0x46f8a6
mov rcx, qword [rbx]
lea rdx, str.hipCtxSetCurrent
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x28], rax
je 0x46f8cd
mov rcx, qword [rbx]
lea rdx, str.hipCtxSynchronize
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x30], rax
je 0x46f8f4
mov rcx, qword [rbx]
lea rdx, str.hipDeviceGet
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x48], rax
je 0x46f91b
mov rcx, qword [rbx]
lea rdx, str.hipDeviceGetAttribute
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x38], rax
je 0x46f942
mov rcx, qword [rbx]
lea rdx, str.hipGetDeviceCount
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x40], rax
je 0x46f969
mov rcx, qword [rbx]
lea rdx, str.hipDeviceGetName
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x50], rax
je 0x46f990
mov rcx, qword [rbx]
lea rdx, str.hipDeviceTotalMem
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x58], rax
je 0x46f9de
mov rcx, qword [rbx]
lea rdx, str.hipDriverGetVersion
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x60], rax
je 0x46f9b7
mov rcx, qword [rbx]
lea rdx, str.hipEventCreateWithFlags
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x68], rax
je 0x46fa05
mov rcx, qword [rbx]
lea rdx, str.hipEventDestroy
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x70], rax
je 0x46fa2c
mov rcx, qword [rbx]
lea rdx, str.hipEventElapsedTime
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x78], rax
je 0x46fa53
mov rcx, qword [rbx]
lea rdx, str.hipEventRecord
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x80], rax
je 0x46fa7a
mov rcx, qword [rbx]
lea rdx, str.hipEventSynchronize
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x88], rax
je 0x46fac8
mov rcx, qword [rbx]
lea rdx, str.hipFuncGetAttribute
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x90], rax
je 0x46faa1
mov rcx, qword [rbx]
lea rdx, str.hipGetErrorName
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x98], rax
je 0x46faef
mov rcx, qword [rbx]
lea rdx, str.hipGetErrorString
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xa0], rax
je 0x46fb16
mov rcx, qword [rbx]
lea rdx, str.hipInit
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xa8], rax
je 0x46fb3d
mov rcx, qword [rbx]
lea rdx, str.hipModuleLaunchKernel
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xb0], rax
je 0x46fb64
mov rcx, qword [rbx]
lea rdx, str.hipMalloc
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xb8], rax
je 0x46fb8b
mov rcx, qword [rbx]
lea rdx, str.hipFree
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xc0], rax
je 0x46fbb2
mov rcx, qword [rbx]
lea rdx, str.hipMemGetInfo
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xc8], rax
je 0x46fc00
mov rcx, qword [rbx]
lea rdx, str.hipMemcpyDtoDAsync
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xd0], rax
je 0x46fbd9
mov rcx, qword [rbx]
lea rdx, str.hipMemcpyDtoHAsync
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xd8], rax
je 0x46fc27
mov rcx, qword [rbx]
lea rdx, str.hipMemcpyHtoDAsync
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xe0], rax
je 0x46f810
mov rcx, qword [rbx]
lea rdx, str.hipMemsetD32Async
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xe8], rax
je 0x46fc4e
mov rcx, qword [rbx]
lea rdx, str.hipMemsetD8Async
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xf0], rax
je 0x46fc75
mov rcx, qword [rbx]
lea rdx, str.hipMemcpyHtoDAsync
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xe0], rax
je 0x46f810
mov rcx, qword [rbx]
lea rdx, str.hipModuleGetFunction
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0xf8], rax
je 0x46fcc3
mov rcx, qword [rbx]
lea rdx, str.hipModuleGetGlobal
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x100], rax
je 0x46fc9c
mov rcx, qword [rbx]
lea rdx, str.hipModuleLoadDataEx
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x108], rax
je 0x46fd11
mov rcx, qword [rbx]
lea rdx, str.hipModuleUnload
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x110], rax
je 0x46fcea
mov rcx, qword [rbx]
lea rdx, str.hipRuntimeGetVersion
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x118], rax
je 0x46fd38
mov rcx, qword [rbx]
lea rdx, str.hipStreamCreate
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x120], rax
je 0x46fd5f
mov rcx, qword [rbx]
lea rdx, str.hipStreamDestroy
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x128], rax
je 0x46fd86
mov rcx, qword [rbx]
lea rdx, str.hipStreamSynchronize
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
mov qword [rbx + 0x130], rax
je 0x46fdad
xor eax, eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipMemcpyHtoDAsync
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipCtxDestroy
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipCtxCreate
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipCtxPopCurrent
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipCtxPushCurrent
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipCtxSetCurrent
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipCtxSynchronize
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipDeviceGet
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipDeviceGetAttribute
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipDeviceGetCount
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipDeviceGetName
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipDriverGetVersion
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipDeviceTotalMem
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipEventCreate
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipEventDestroy
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipEventElapsedTime
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipEventRecord
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipFuncGetAttribute
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipEventSynchronize
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipGetErrorName
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipGetErrorString
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipInit
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipLaunchKernel
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipMemAlloc
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipMemFree
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipMemcpyDtoDAsync
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipMemGetInfo
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipMemcpyDtoHAsync
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipMemsetD32Async
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipMemsetD8Async
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipModuleGetGlobal
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipModuleGetFunction
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipModuleUnload
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipModuleLoadDataEx
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipRuntimeGetVersion
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipStreamCreate
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipStreamDestroy
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9
lea r9, [0x0054773a]
lea r8, str.hipStreamSynchronize
lea rdx, [0x00547740]
mov rcx, rsi
call fcn.00403390
mov eax, 0xffffffff
jmp 0x46f7f9