Function at 0x140111030
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
test rdx, rdx
je 0x140111054
cmp byte [rdx], 0
je 0x140111054
mov r8, rdx
add rcx, 0x18
mov edx, 0x104
call fcn.14017dd88
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14011106b
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [rbx + 8], 0
lea rcx, [rbx + 0x18]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rbx + 8], rax
test rax, rax
je 0x1401114c1
lea rdx, str.WavesFX_Initialize
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, [0x140254be8]
mov qword [rbx + 0x120], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_IsConnectionActive
mov qword [rbx + 0x128], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_SetParameter
mov qword [rbx + 0x130], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_GetParameter
mov qword [rbx + 0x138], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_GetParametersArray
mov qword [rbx + 0x140], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_SetParametersArray
mov qword [rbx + 0x148], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_SetChunk
mov qword [rbx + 0x150], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_GetChunk
mov qword [rbx + 0x158], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_SetBypassMode
mov qword [rbx + 0x160], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_SetDoubleBufferingMode
mov qword [rbx + 0x168], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_SetProperty
mov qword [rbx + 0x170], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_GetProperty
mov qword [rbx + 0x178], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_RegisterChangeNotification
mov qword [rbx + 0x180], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_VendorSpecific
mov qword [rbx + 0x188], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_SaveDefault
mov qword [rbx + 0x190], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_SaveDefault2
mov qword [rbx + 0x198], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_RegisterFile
mov qword [rbx + 0x1a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_RegisterMem
mov qword [rbx + 0x1a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_SetActive
mov qword [rbx + 0x1b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x1b8], rax
lea rdx, str.WavesFX_Preset_SetActive2
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_GetActive
mov qword [rbx + 0x1c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_SetParameter
mov qword [rbx + 0x1c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_GetParameter
mov qword [rbx + 0x1d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_GetDefaultParameter
mov qword [rbx + 0x1d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_RevertToDefault
mov qword [rbx + 0x1e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_SetType
mov qword [rbx + 0x1e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_GetType
mov qword [rbx + 0x1f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_GetDefaultType
mov qword [rbx + 0x1f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_GetName
mov qword [rbx + 0x200], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_GetCount
mov qword [rbx + 0x208], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_GetNameW
mov qword [rbx + 0x210], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_SetNameW
mov qword [rbx + 0x218], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_GetParametersArray
mov qword [rbx + 0x220], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_SetParametersArray
mov qword [rbx + 0x228], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_Add
mov qword [rbx + 0x230], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_Delete
mov qword [rbx + 0x238], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_GetOutputName
mov qword [rbx + 0x240], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_Preset_RegisterChangeNotification
mov qword [rbx + 0x248], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_CreatePluginWindow
mov qword [rbx + 0x250], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_DetachPluginWindow
mov qword [rbx + 0x258], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_SetRuntimeData_Value
mov qword [rbx + 0x260], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_GetRuntimeData_Value
mov qword [rbx + 0x268], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_SetRuntimeData_Text
mov qword [rbx + 0x270], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 8]
lea rdx, str.WavesFX_GetRuntimeData_Text
mov qword [rbx + 0x278], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x280], rax
mov al, 1
add rsp, 0x20
pop rbx
ret
add rsp, 0x20
pop rbx
ret