Function at 0x4578e0
Capabilities:
Link many functions at runtime

Disassembly:
push edi
mov edi, ecx
cmp byte [edi + 0x660], 0
je 0x457cab
cmp dword [edi + 0x808], 0
jne 0x457cab
push str.bass.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [edi + 0x808], eax
test eax, eax
jne 0x457922
push str.Cant_load_BASS.DLL
mov ecx, edi
call fcn.00459950
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 [0x515404], eax
call eax
shr eax, 0x10
cmp eax, 0x203
je 0x457953
push str.Incorrect_BASS.DLL_version
mov ecx, edi
call fcn.00459950
pop esi
xor al, al
pop edi
ret
push str.BASS_GetDeviceDescription
push dword [edi + 0x808]
call esi
push str.BASS_Init
mov dword [0x515408], eax
push dword [edi + 0x808]
call esi
push str.BASS_Free
mov dword [0x515410], eax
push dword [edi + 0x808]
call esi
push str.BASS_Start
mov dword [0x51541c], eax
push dword [edi + 0x808]
call esi
push str.BASS_Pause
mov dword [0x515430], eax
push dword [edi + 0x808]
call esi
push str.BASS_Stop
mov dword [0x515438], eax
push dword [edi + 0x808]
call esi
push str.BASS_SetConfig
mov dword [0x515434], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleLoad
mov dword [0x5153fc], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleCreate
mov dword [0x515304], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleCreateDone
mov dword [0x515308], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleGetInfo
mov dword [0x51530c], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleGetChannel
mov dword [0x515314], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleFree
mov dword [0x51531c], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicLoad
mov dword [0x515310], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicFree
mov dword [0x5152ec], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicGetOrders
mov dword [0x5152f0], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicGetOrderPosition
mov dword [0x5152fc], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicSetAttribute
mov dword [0x515300], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicGetAttribute
mov dword [0x5152f4], eax
push dword [edi + 0x808]
call esi
push str.BASS_StreamCreateFile
mov dword [0x5152f8], eax
push dword [edi + 0x808]
call esi
mov dword [0x51532c], eax
push str.BASS_StreamFree
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetInfo
mov dword [0x515338], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetAttributes
mov dword [0x51537c], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSetAttributes
mov dword [0x51539c], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSlideAttributes
mov dword [0x515398], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelIsSliding
mov dword [0x5153a0], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSetFlags
mov dword [0x5153a4], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetData
mov dword [0x515384], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelPlay
mov dword [0x5153c8], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelPause
mov dword [0x51538c], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelStop
mov dword [0x515394], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelIsActive
mov dword [0x515390], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetLength
mov dword [0x515378], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetPosition
mov dword [0x5153b8], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSetPosition
mov dword [0x5153c0], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSeconds2Bytes
mov dword [0x5153bc], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelBytes2Seconds
mov dword [0x51536c], eax
push dword [edi + 0x808]
call esi
push 0
mov dword [0x515368], eax
push dword [edi + 8]
mov byte [edi + 0x80c], 0
push 0
push dword [edi + 0x664]
push 0xffffffffffffffff
call dword [0x515410]
test eax, eax
jne 0x457c39
mov eax, dword [edi]
push str.BASS_Init_failed__using_no_sound
push edi
call dword [eax + 0x1c]
add esp, 8
push 0
push dword [edi + 8]
push 0
push dword [edi + 0x664]
push 0
call dword [0x515410]
mov byte [edi + 0x80c], 1
jmp 0x457c61
mov esi, dword [edi]
push 1
call dword [0x515408]
push eax
push str.Sound_Device:__s
push edi
call dword [esi + 0x1c]
push dword [edi + 0x664]
mov eax, dword [edi]
push str.Sample_rate:__ld_n
push edi
call dword [eax + 0x1c]
add esp, 0x18
cmp dword [edi + 0x808], 0
je 0x457ca6
push dword [edi + 0x668]
push 4
call dword [0x5153fc]
cmp dword [edi + 0x808], 0
je 0x457ca6
push dword [edi + 0x66c]
push 6
call dword [0x5153fc]
cmp dword [edi + 0x808], 0
je 0x457ca6
push dword [edi + 0x670]
push 5
call dword [0x5153fc]
pop esi
mov al, 1
pop edi
ret
mov al, 1
pop edi
ret