Function at 0x456680
Capabilities:
Link many functions at runtime

Disassembly:
push edi
mov edi, ecx
cmp byte [edi + 0x660], 0
je 0x456a4b
cmp dword [edi + 0x808], 0
jne 0x456a4b
push str.bass.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [edi + 0x808], eax
test eax, eax
jne 0x4566c2
push str.Cant_load_BASS.DLL
mov ecx, edi
call fcn.004586e0
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 [0x5c0dfc], eax
call eax
shr eax, 0x10
cmp eax, 0x203
je 0x4566f3
push str.Incorrect_BASS.DLL_version
mov ecx, edi
call fcn.004586e0
pop esi
xor al, al
pop edi
ret
push str.BASS_GetDeviceDescription
push dword [edi + 0x808]
call esi
push str.BASS_Init
mov dword [0x5c0e00], eax
push dword [edi + 0x808]
call esi
push str.BASS_Free
mov dword [0x5c0e08], eax
push dword [edi + 0x808]
call esi
push str.BASS_Start
mov dword [0x5c0e14], eax
push dword [edi + 0x808]
call esi
push str.BASS_Pause
mov dword [0x5c0e28], eax
push dword [edi + 0x808]
call esi
push str.BASS_Stop
mov dword [0x5c0e30], eax
push dword [edi + 0x808]
call esi
push str.BASS_SetConfig
mov dword [0x5c0e2c], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleLoad
mov dword [0x5c0df4], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleCreate
mov dword [0x5c0cfc], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleCreateDone
mov dword [0x5c0d00], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleGetInfo
mov dword [0x5c0d04], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleGetChannel
mov dword [0x5c0d0c], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleFree
mov dword [0x5c0d14], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicLoad
mov dword [0x5c0d08], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicFree
mov dword [0x5c0ce4], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicGetOrders
mov dword [0x5c0ce8], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicGetOrderPosition
mov dword [0x5c0cf4], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicSetAttribute
mov dword [0x5c0cf8], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicGetAttribute
mov dword [0x5c0cec], eax
push dword [edi + 0x808]
call esi
push str.BASS_StreamCreateFile
mov dword [0x5c0cf0], eax
push dword [edi + 0x808]
call esi
mov dword [0x5c0d24], eax
push str.BASS_StreamFree
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetInfo
mov dword [0x5c0d30], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetAttributes
mov dword [0x5c0d74], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSetAttributes
mov dword [0x5c0d94], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSlideAttributes
mov dword [0x5c0d90], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelIsSliding
mov dword [0x5c0d98], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSetFlags
mov dword [0x5c0d9c], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetData
mov dword [0x5c0d7c], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelPlay
mov dword [0x5c0dc0], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelPause
mov dword [0x5c0d84], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelStop
mov dword [0x5c0d8c], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelIsActive
mov dword [0x5c0d88], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetLength
mov dword [0x5c0d70], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetPosition
mov dword [0x5c0db0], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSetPosition
mov dword [0x5c0db8], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSeconds2Bytes
mov dword [0x5c0db4], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelBytes2Seconds
mov dword [0x5c0d64], eax
push dword [edi + 0x808]
call esi
push 0
mov dword [0x5c0d60], eax
push dword [edi + 8]
mov byte [edi + 0x80c], 0
push 0
push dword [edi + 0x664]
push 0xffffffffffffffff
call dword [0x5c0e08]
test eax, eax
jne 0x4569d9
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 [0x5c0e08]
mov byte [edi + 0x80c], 1
jmp 0x456a01
mov esi, dword [edi]
push 1
call dword [0x5c0e00]
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 0x456a46
push dword [edi + 0x668]
push 4
call dword [0x5c0df4]
cmp dword [edi + 0x808], 0
je 0x456a46
push dword [edi + 0x66c]
push 6
call dword [0x5c0df4]
cmp dword [edi + 0x808], 0
je 0x456a46
push dword [edi + 0x670]
push 5
call dword [0x5c0df4]
pop esi
mov al, 1
pop edi
ret
mov al, 1
pop edi
ret