Function at 0x458120
Capabilities:
Link many functions at runtime

Disassembly:
push edi
mov edi, ecx
cmp byte [edi + 0x660], 0
je 0x4584eb
cmp dword [edi + 0x808], 0
jne 0x4584eb
push str.bass.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [edi + 0x808], eax
test eax, eax
jne 0x458162
push str.Cant_load_BASS.DLL
mov ecx, edi
call fcn.0045a190
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 [0x5194a4], eax
call eax
shr eax, 0x10
cmp eax, 0x203
je 0x458193
push str.Incorrect_BASS.DLL_version
mov ecx, edi
call fcn.0045a190
pop esi
xor al, al
pop edi
ret
push str.BASS_GetDeviceDescription
push dword [edi + 0x808]
call esi
push str.BASS_Init
mov dword [0x5194a8], eax
push dword [edi + 0x808]
call esi
push str.BASS_Free
mov dword [0x5194b0], eax
push dword [edi + 0x808]
call esi
push str.BASS_Start
mov dword [0x5194bc], eax
push dword [edi + 0x808]
call esi
push str.BASS_Pause
mov dword [0x5194d0], eax
push dword [edi + 0x808]
call esi
push str.BASS_Stop
mov dword [0x5194d8], eax
push dword [edi + 0x808]
call esi
push str.BASS_SetConfig
mov dword [0x5194d4], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleLoad
mov dword [0x51949c], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleCreate
mov dword [0x5193a4], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleCreateDone
mov dword [0x5193a8], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleGetInfo
mov dword [0x5193ac], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleGetChannel
mov dword [0x5193b4], eax
push dword [edi + 0x808]
call esi
push str.BASS_SampleFree
mov dword [0x5193bc], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicLoad
mov dword [0x5193b0], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicFree
mov dword [0x51938c], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicGetOrders
mov dword [0x519390], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicGetOrderPosition
mov dword [0x51939c], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicSetAttribute
mov dword [0x5193a0], eax
push dword [edi + 0x808]
call esi
push str.BASS_MusicGetAttribute
mov dword [0x519394], eax
push dword [edi + 0x808]
call esi
push str.BASS_StreamCreateFile
mov dword [0x519398], eax
push dword [edi + 0x808]
call esi
mov dword [0x5193cc], eax
push str.BASS_StreamFree
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetInfo
mov dword [0x5193d8], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetAttributes
mov dword [0x51941c], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSetAttributes
mov dword [0x51943c], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSlideAttributes
mov dword [0x519438], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelIsSliding
mov dword [0x519440], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSetFlags
mov dword [0x519444], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetData
mov dword [0x519424], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelPlay
mov dword [0x519468], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelPause
mov dword [0x51942c], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelStop
mov dword [0x519434], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelIsActive
mov dword [0x519430], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetLength
mov dword [0x519418], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelGetPosition
mov dword [0x519458], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSetPosition
mov dword [0x519460], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelSeconds2Bytes
mov dword [0x51945c], eax
push dword [edi + 0x808]
call esi
push str.BASS_ChannelBytes2Seconds
mov dword [0x51940c], eax
push dword [edi + 0x808]
call esi
push 0
mov dword [0x519408], eax
push dword [edi + 8]
mov byte [edi + 0x80c], 0
push 0
push dword [edi + 0x664]
push 0xffffffffffffffff
call dword [0x5194b0]
test eax, eax
jne 0x458479
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 [0x5194b0]
mov byte [edi + 0x80c], 1
jmp 0x4584a1
mov esi, dword [edi]
push 1
call dword [0x5194a8]
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 0x4584e6
push dword [edi + 0x668]
push 4
call dword [0x51949c]
cmp dword [edi + 0x808], 0
je 0x4584e6
push dword [edi + 0x66c]
push 6
call dword [0x51949c]
cmp dword [edi + 0x808], 0
je 0x4584e6
push dword [edi + 0x670]
push 5
call dword [0x51949c]
pop esi
mov al, 1
pop edi
ret
mov al, 1
pop edi
ret