Function at 0x14018be90
Capabilities:
Link many functions at runtime

Disassembly:
sub rsp, 0x28
cmp dword [0x1403358f4], 0
je 0x14018bea7
mov eax, 1
add rsp, 0x28
ret
lea rcx, str.SFCOM64.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
mov qword [0x1403358f8], rax
je 0x14018c166
lea rdx, str.sffxInit
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxFree
mov qword [0x140335900], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxGetPlaybackDeviceIndex
mov qword [0x140335908], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxSetSelectedPlaybackDevice
mov qword [0x140335910], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxRegisterNotificationCallback
mov qword [0x140335918], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxUnregisterNotificationCallback
mov qword [0x140335920], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxSetPower
mov qword [0x140335928], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxGetPower
mov qword [0x140335930], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxGetNumJackStates
mov qword [0x140335938], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxGetJackStateInfo
mov qword [0x140335940], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxSetJackState
mov qword [0x140335948], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxGetJackState
mov qword [0x140335950], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxGetNumProfiles
mov qword [0x140335958], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxGetProfileInfo
mov qword [0x140335960], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxSetProfile
mov qword [0x140335968], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxGetProfile
mov qword [0x140335970], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxGetNumPresets
mov qword [0x140335978], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxSetPreset
mov qword [0x140335980], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxGetPreset
mov qword [0x140335988], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxResetPreset
mov qword [0x140335990], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.sffxGetNumUserControls
mov qword [0x140335998], rax
mov rcx, qword [0x1403358f8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxGetUserControlInfo
mov qword [0x1403359a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxGetUserControlValue
mov qword [0x1403359a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1403358f8]
lea rdx, str.sffxSetUserControlValue
mov qword [0x1403359b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1403359b8], rax
mov rax, qword [0x140335900]
test rax, rax
je 0x14018c156
call rax
mov eax, 1
mov dword [0x1403358f4], eax
add rsp, 0x28
ret
mov eax, dword [0x1403358f4]
add rsp, 0x28
ret