Function at 0x58ddc0
Capabilities:
Link many functions at runtime

Disassembly:
push edi
push eax
mov dword [esi], vtable.Sexy::BASS_INSTANCE.0
call dword [sym.imp.kernel32.dll_LoadLibraryA]
mov dword [esi + 4], eax
test eax, eax
je 0x58e90b
mov edi, dword [sym.imp.kernel32.dll_GetProcAddress]
push str.BASS_GetVersion
push eax
call edi
push str.BASS_GetVersion
push eax
mov dword [0x886b24], eax
call fcn.0058dd50
add esp, 8
call dword [0x886b24]
shr eax, 0x10
cmp eax, 0x204
je 0x58de25
push 0x10
push str.Error
push str.Incompatible_version_of_bass.dll
push 0
call dword [sym.imp.user32.dll_MessageBoxA]
push 0
call fcn.00647d99
mov ecx, dword [esi + 4]
push str.BASS_SetConfig
push ecx
call edi
push str.BASS_SetConfig
push eax
mov dword [0x886b14], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_GetConfig
push edx
call edi
push str.BASS_GetConfig
push eax
mov dword [0x886af8], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_SetConfigPtr
push eax
call edi
push str.BASS_SetConfigPtr
push eax
mov dword [0x886b30], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_GetConfigPtr
push ecx
call edi
push str.BASS_GetConfigPtr
push eax
mov dword [0x886b4c], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_ErrorGetCode
push edx
call edi
push str.BASS_ErrorGetCode
push eax
mov dword [0x886c08], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_GetDeviceInfo
push eax
call edi
push str.BASS_GetDeviceInfo
push eax
mov dword [0x886b2c], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_Init
push ecx
call edi
push str.BASS_Init
push eax
mov dword [0x886b80], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_SetDevice
push edx
call edi
push str.BASS_SetDevice
push eax
mov dword [0x886bec], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_GetDevice
push eax
call edi
push str.BASS_GetDevice
push eax
mov dword [0x886b68], eax
call fcn.0058dd50
add esp, 8
mov ecx, dword [esi + 4]
push str.BASS_Free
push ecx
call edi
push str.BASS_Free
push eax
mov dword [0x886b34], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_GetInfo
push edx
call edi
push str.BASS_GetInfo
push eax
mov dword [0x886b9c], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_Update
push eax
call edi
push str.BASS_Update
push eax
mov dword [0x886c28], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_GetCPU
push ecx
call edi
push str.BASS_GetCPU
push eax
mov dword [0x886bf0], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_Start
push edx
call edi
push str.BASS_Start
push eax
mov dword [0x886c48], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_Stop
push eax
call edi
push str.BASS_Stop
push eax
mov dword [0x886ba4], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_Pause
push ecx
call edi
push str.BASS_Pause
push eax
mov dword [0x886bfc], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_SetVolume
push edx
call edi
push str.BASS_SetVolume
push eax
mov dword [0x886af4], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_GetVolume
push eax
call edi
push str.BASS_GetVolume
push eax
mov dword [0x886af0], eax
call fcn.0058dd50
add esp, 8
mov ecx, dword [esi + 4]
push str.BASS_PluginLoad
push ecx
call edi
push str.BASS_PluginLoad
push eax
mov dword [0x886c14], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_PluginFree
push edx
call edi
push str.BASS_PluginFree
push eax
mov dword [0x886b1c], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_PluginGetInfo
push eax
call edi
push str.BASS_PluginGetInfo
push eax
mov dword [0x886bc0], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_Set3DFactors
push ecx
call edi
push str.BASS_Set3DFactors
push eax
mov dword [0x886b40], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_Get3DFactors
push edx
call edi
push str.BASS_Get3DFactors
push eax
mov dword [0x886b00], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_Set3DPosition
push eax
call edi
push str.BASS_Set3DPosition
push eax
mov dword [0x886afc], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_Get3DPosition
push ecx
call edi
push str.BASS_Get3DPosition
push eax
mov dword [0x886b5c], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_Apply3D
push edx
call edi
push str.BASS_Apply3D
push eax
mov dword [0x886c30], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_MusicLoad
push eax
call edi
push str.BASS_MusicLoad
push eax
mov dword [0x886b7c], eax
call fcn.0058dd50
add esp, 8
mov ecx, dword [esi + 4]
push str.BASS_MusicFree
push ecx
call edi
push str.BASS_MusicFree
push eax
mov dword [0x886be4], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_SampleLoad
push edx
call edi
push str.BASS_SampleLoad
push eax
mov dword [0x886be8], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_SampleCreate
push eax
call edi
push str.BASS_SampleCreate
push eax
mov dword [0x886c1c], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_SampleFree
push ecx
call edi
push str.BASS_SampleFree
push eax
mov dword [0x886c44], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_SampleSetData
push edx
call edi
push str.BASS_SampleSetData
push eax
mov dword [0x886b6c], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_SampleGetData
push eax
call edi
push str.BASS_SampleGetData
push eax
mov dword [0x886c20], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_SampleGetInfo
push ecx
call edi
push str.BASS_SampleGetInfo
push eax
mov dword [0x886b20], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_SampleSetInfo
push edx
call edi
push str.BASS_SampleSetInfo
push eax
mov dword [0x886b78], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_SampleGetChannel
push eax
call edi
push str.BASS_SampleGetChannel
push eax
mov dword [0x886b88], eax
call fcn.0058dd50
add esp, 8
mov ecx, dword [esi + 4]
push str.BASS_SampleGetChannels
push ecx
call edi
push str.BASS_SampleGetChannels
push eax
mov dword [0x886b70], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_SampleStop
push edx
call edi
push str.BASS_SampleStop
push eax
mov dword [0x886b44], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_StreamCreate
push eax
call edi
push str.BASS_StreamCreate
push eax
mov dword [0x886b08], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_StreamCreateFile
push ecx
call edi
push str.BASS_StreamCreateFile
push eax
mov dword [0x886bc4], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_StreamCreateURL
push edx
call edi
push str.BASS_StreamCreateURL
push eax
mov dword [0x886b18], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_StreamCreateFileUser
push eax
call edi
push str.BASS_StreamCreateFileUser
push eax
mov dword [0x886bd0], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_StreamFree
push ecx
call edi
push str.BASS_StreamFree
push eax
mov dword [0x8862d4], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_StreamGetFilePosition
push edx
call edi
push str.BASS_StreamGetFilePosition
push eax
mov dword [0x886be0], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_StreamPutData
push eax
call edi
push str.BASS_StreamPutData
push eax
mov dword [0x886b64], eax
call fcn.0058dd50
add esp, 8
mov ecx, dword [esi + 4]
push str.BASS_StreamPutFileData
push ecx
call edi
push str.BASS_StreamPutFileData
push eax
mov dword [0x886c34], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_RecordGetDeviceInfo
push edx
call edi
push str.BASS_RecordGetDeviceInfo
push eax
mov dword [0x886bb4], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_RecordInit
push eax
call edi
push str.BASS_RecordInit
push eax
mov dword [0x886b60], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_RecordSetDevice
push ecx
call edi
push str.BASS_RecordSetDevice
push eax
mov dword [0x886bf8], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_RecordGetDevice
push edx
call edi
push str.BASS_RecordGetDevice
push eax
mov dword [0x886c10], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_RecordFree
push eax
call edi
push str.BASS_RecordFree
push eax
mov dword [0x886c04], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_RecordGetInfo
push ecx
call edi
push str.BASS_RecordGetInfo
push eax
mov dword [0x886b84], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_RecordGetInputName
push edx
call edi
push str.BASS_RecordGetInputName
push eax
mov dword [0x886b0c], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_RecordSetInput
push eax
call edi
push str.BASS_RecordSetInput
push eax
mov dword [0x886c18], eax
call fcn.0058dd50
add esp, 8
mov ecx, dword [esi + 4]
push str.BASS_RecordGetInput
push ecx
call edi
push str.BASS_RecordGetInput
push eax
mov dword [0x886c24], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_RecordStart
push edx
call edi
push str.BASS_RecordStart
push eax
mov dword [0x886b90], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_ChannelBytes2Seconds
push eax
call edi
push str.BASS_ChannelBytes2Seconds
push eax
mov dword [0x886bcc], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_ChannelSeconds2Bytes
push ecx
call edi
push str.BASS_ChannelSeconds2Bytes
push eax
mov dword [0x886c3c], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_ChannelGetDevice
push edx
call edi
push str.BASS_ChannelGetDevice
push eax
mov dword [0x886bb0], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_ChannelSetDevice
push eax
call edi
push str.BASS_ChannelSetDevice
push eax
mov dword [0x886c38], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_ChannelIsActive
push ecx
call edi
push str.BASS_ChannelIsActive
push eax
mov dword [0x886ae8], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_ChannelGetInfo
push edx
call edi
push str.BASS_ChannelGetInfo
push eax
mov dword [0x886c2c], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_ChannelGetTags
push eax
call edi
push str.BASS_ChannelGetTags
push eax
mov dword [0x886b48], eax
call fcn.0058dd50
add esp, 8
mov ecx, dword [esi + 4]
push str.BASS_ChannelFlags
push ecx
call edi
push str.BASS_ChannelFlags
push eax
mov dword [0x886b98], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_ChannelUpdate
push edx
call edi
push str.BASS_ChannelUpdate
push eax
mov dword [0x886b04], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_ChannelLock
push eax
call edi
push str.BASS_ChannelLock
push eax
mov dword [0x886bd4], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_ChannelPlay
push ecx
call edi
push str.BASS_ChannelPlay
push eax
mov dword [0x886ba8], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_ChannelStop
push edx
call edi
push str.BASS_ChannelStop
push eax
mov dword [0x886b8c], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_ChannelPause
push eax
call edi
push str.BASS_ChannelPause
push eax
mov dword [0x886bf4], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_ChannelSetAttribute
push ecx
call edi
push str.BASS_ChannelSetAttribute
push eax
mov dword [0x886bd8], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_ChannelGetAttribute
push edx
call edi
push str.BASS_ChannelGetAttribute
push eax
mov dword [0x886bdc], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_ChannelSlideAttribute
push eax
call edi
push str.BASS_ChannelSlideAttribute
push eax
mov dword [0x886c40], eax
call fcn.0058dd50
add esp, 8
mov ecx, dword [esi + 4]
push str.BASS_ChannelIsSliding
push ecx
call edi
push str.BASS_ChannelIsSliding
push eax
mov dword [0x886bb8], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_ChannelSet3DAttributes
push edx
call edi
push str.BASS_ChannelSet3DAttributes
push eax
mov dword [0x886ad8], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_ChannelGet3DAttributes
push eax
call edi
push str.BASS_ChannelGet3DAttributes
push eax
mov dword [0x886b3c], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_ChannelSet3DPosition
push ecx
call edi
push str.BASS_ChannelSet3DPosition
push eax
mov dword [0x886b50], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_ChannelGet3DPosition
push edx
call edi
push str.BASS_ChannelGet3DPosition
push eax
mov dword [0x886aec], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_ChannelGetLength
push eax
call edi
push str.BASS_ChannelGetLength
push eax
mov dword [0x886adc], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_ChannelSetPosition
push ecx
call edi
push str.BASS_ChannelSetPosition
push eax
mov dword [0x886bc8], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_ChannelGetPosition
push edx
call edi
push str.BASS_ChannelGetPosition
push eax
mov dword [0x886b10], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_ChannelGetLevel
push eax
call edi
push str.BASS_ChannelGetLevel
push eax
mov dword [0x886ae4], eax
call fcn.0058dd50
add esp, 8
mov ecx, dword [esi + 4]
push str.BASS_ChannelGetData
push ecx
call edi
push str.BASS_ChannelGetData
push eax
mov dword [0x886b54], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_ChannelSetSync
push edx
call edi
push str.BASS_ChannelSetSync
push eax
mov dword [0x886b94], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_ChannelRemoveSync
push eax
call edi
push str.BASS_ChannelRemoveSync
push eax
mov dword [0x886b74], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_ChannelSetDSP
push ecx
call edi
push str.BASS_ChannelSetDSP
push eax
mov dword [0x886ae0], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_ChannelRemoveDSP
push edx
call edi
push str.BASS_ChannelRemoveDSP
push eax
mov dword [0x886ba0], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_ChannelSetLink
push eax
call edi
push str.BASS_ChannelSetLink
push eax
mov dword [0x886bbc], eax
call fcn.0058dd50
mov ecx, dword [esi + 4]
add esp, 8
push str.BASS_ChannelRemoveLink
push ecx
call edi
push str.BASS_ChannelRemoveLink
push eax
mov dword [0x886bac], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_ChannelSetFX
push edx
call edi
push str.BASS_ChannelSetFX
push eax
mov dword [0x886c0c], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_ChannelRemoveFX
push eax
call edi
push str.BASS_ChannelRemoveFX
push eax
mov dword [0x886b38], eax
call fcn.0058dd50
add esp, 8
mov ecx, dword [esi + 4]
push str.BASS_FXSetParameters
push ecx
call edi
push str.BASS_FXSetParameters
push eax
mov dword [0x886c00], eax
call fcn.0058dd50
mov edx, dword [esi + 4]
add esp, 8
push str.BASS_FXGetParameters
push edx
call edi
push str.BASS_FXGetParameters
push eax
mov dword [0x886b28], eax
call fcn.0058dd50
mov eax, dword [esi + 4]
add esp, 8
push str.BASS_FXReset
push eax
call edi
push str.BASS_FXReset
push eax
mov dword [0x886b58], eax
call fcn.0058dd50
add esp, 8
mov eax, esi
pop edi
ret