Function at 0x456e40
Capabilities:
Link many functions at runtime

Disassembly:
push edi
mov edi, ecx
cmp byte [edi + 0x660], 0
je 0x45720b
cmp dword [edi + 0x808], 0
jne 0x45720b
push str.bass.dll
call dword [sym.imp.kernel32.dll_LoadLibraryA]
mov dword [edi + 0x808], eax
test eax, eax
jne 0x456e82
push str.Cant_load_BASS.DLL
mov ecx, edi
call fcn.00458db0
xor al, al
pop edi
ret
push esi
mov esi, dword [sym.imp.kernel32.dll_GetProcAddress]
push str.BASS_GetVersion
push eax
call esi
mov dword [0x4fdd10], eax
call eax
shr eax, 0x10
cmp eax, 0x203
je 0x456eb3
push str.Incorrect_BASS.DLL_version
mov ecx, edi
call fcn.00458db0
pop esi
xor al, al
pop edi
ret
push str.BASS_GetDeviceDescription
push dword [edi + 0x808]
call esi
push str.BASS_Init
mov dword [0x4fdd14], eax
push dword [edi + 0x808]
call esi
push str.BASS_Free
mov dword [0x4fdd1c], eax
push dword [edi + 0x808]
call esi
push str.BASS_Start
mov dword [0x4fdd28], eax
push dword [edi + 0x808]
call esi
push str.BASS_Pause
mov dword [0x4fdd3c], eax
push dword [edi + 0x808]
call esi
push str.BASS_Stop
mov dword [0x4fdd44], eax
push dword [edi + 0x808]
call esi
push str.BASS_SetConfig
mov dword [0x4fdd40], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleLoad
mov dword [0x4fdd08], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleCreate
mov dword [0x4fdc10], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleCreateDone
mov dword [0x4fdc14], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleGetInfo
mov dword [0x4fdc18], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleGetChannel
mov dword [0x4fdc20], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleFree
mov dword [0x4fdc28], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicLoad
mov dword [0x4fdc1c], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicFree
mov dword [0x4fdbf8], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicGetOrders
mov dword [0x4fdbfc], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicGetOrderPosition
mov dword [0x4fdc08], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicSetAttribute
mov dword [0x4fdc0c], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicGetAttribute
mov dword [0x4fdc00], eax
push dword [edi + 0x808]
call esi
push str.BASS_StreamCreateFile
mov dword [0x4fdc04], eax
push dword [edi + 0x808]
call esi
mov dword [0x4fdc38], eax
push str.BASS_StreamFree
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetInfo
mov dword [0x4fdc44], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetAttributes
mov dword [0x4fdc88], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSetAttributes
mov dword [0x4fdca8], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSlideAttributes
mov dword [0x4fdca4], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelIsSliding
mov dword [0x4fdcac], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSetFlags
mov dword [0x4fdcb0], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetData
mov dword [0x4fdc90], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelPlay
mov dword [0x4fdcd4], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelPause
mov dword [0x4fdc98], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelStop
mov dword [0x4fdca0], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelIsActive
mov dword [0x4fdc9c], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetLength
mov dword [0x4fdc84], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetPosition
mov dword [0x4fdcc4], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSetPosition
mov dword [0x4fdccc], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSeconds2Bytes
mov dword [0x4fdcc8], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelBytes2Seconds
mov dword [0x4fdc78], eax
push dword [edi + 0x808]
call esi
push 0
mov dword [0x4fdc74], eax
push dword [edi + 8]
mov byte [edi + 0x80c], 0
push 0
push dword [edi + 0x664]
push 0xffffffffffffffff
call dword [0x4fdd1c]
test eax, eax
jne 0x457199
mov eax, dword [edi]
push str.BASS_Init_failed__using_no_sound
push edi
call dword [eax + 0x14]
add esp, 8
push 0
push dword [edi + 8]
push 0
push dword [edi + 0x664]
push 0
call dword [0x4fdd1c]
mov byte [edi + 0x80c], 1
jmp 0x4571c1
mov esi, dword [edi]
push 1
call dword [0x4fdd14]
push eax
push str.Sound_Device:__s
push edi
call dword [esi + 0x14]
push dword [edi + 0x664]
mov eax, dword [edi]
push str.Sample_rate:__ld_n
push edi
call dword [eax + 0x14]
add esp, 0x18
cmp dword [edi + 0x808], 0
je 0x457206
push dword [edi + 0x668]
push 4
call dword [0x4fdd08]
cmp dword [edi + 0x808], 0
je 0x457206
push dword [edi + 0x66c]
push 6
call dword [0x4fdd08]
cmp dword [edi + 0x808], 0
je 0x457206
push dword [edi + 0x670]
push 5
call dword [0x4fdd08]
pop esi
mov al, 1
pop edi
ret
mov al, 1
pop edi
ret