Function at 0x4a2af0
Capabilities:
Link many functions at runtime
Terminate process

Disassembly:
push ebp
lea ebp, [esp - 0x384]
sub esp, 0x404
mov eax, dword [0x5920a4]
xor eax, ebp
mov dword [ebp + 0x380], eax
push str.bass.dll
mov dword [esi], vtable.GatsuBassInstance.0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
mov dword [esi + 4], eax
je 0x4a2cda
push ebx
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.BASS_Init
push eax
xor ebx, ebx
call edi
cmp eax, ebx
mov dword [esi + 0xc], eax
je 0x4ddcf1
push str.BASS_Free
push dword [esi + 4]
call edi
cmp eax, ebx
mov dword [esi + 0x10], eax
je 0x4ddd34
push str.BASS_Stop
push dword [esi + 4]
call edi
cmp eax, ebx
mov dword [esi + 0x14], eax
je 0x4ddd3b
push str.BASS_Start
push dword [esi + 4]
call edi
cmp eax, ebx
mov dword [esi + 0x18], eax
je 0x4ddd42
push str.BASS_SetGlobalVolumes
push dword [esi + 4]
call edi
push str.BASS_SetVolume
push dword [esi + 4]
mov dword [esi + 0x20], eax
call edi
cmp eax, ebx
mov dword [esi + 0x24], eax
je 0x4ddd49
push str.BASS_SetConfig
push dword [esi + 4]
call edi
push str.BASS_ChannelStop
push dword [esi + 4]
mov dword [esi + 0x28], eax
call edi
cmp eax, ebx
mov dword [esi + 0x2c], eax
je 0x4ddd54
push str.BASS_ChannelPause
push dword [esi + 4]
call edi
cmp eax, ebx
mov dword [esi + 0x30], eax
je 0x4ddd5b
push str.BASS_ChannelSetAttributes
push dword [esi + 4]
call edi
cmp eax, ebx
mov dword [esi + 0x34], eax
je 0x4ddd62
push str.BASS_ChannelSetPosition
push dword [esi + 4]
call edi
cmp eax, ebx
mov dword [esi + 0x38], eax
je 0x4ddd69
push str.BASS_ChannelIsActive
push dword [esi + 4]
call edi
cmp eax, ebx
mov dword [esi + 0x3c], eax
je 0x4ddd70
push str.BASS_MusicLoad
push dword [esi + 4]
call edi
cmp eax, ebx
mov dword [esi + 0x50], eax
je 0x4ddd77
push str.BASS_MusicFree
push dword [esi + 4]
call edi
cmp eax, ebx
mov dword [esi + 0x54], eax
je 0x4ddd81
push str.BASS_StreamCreateFile
push dword [esi + 4]
call edi
cmp eax, ebx
mov dword [esi + 0x58], eax
je 0x4ddd8b
push str.BASS_StreamFree
push dword [esi + 4]
call edi
cmp eax, ebx
mov dword [esi + 0x5c], eax
je 0x4ddd95
push str.BASS_ChannelGetInfo
push dword [esi + 4]
call edi
cmp eax, ebx
mov dword [esi + 0x40], eax
je 0x4ddd9f
push str.BASS_ChannelPlay
push dword [esi + 4]
call edi
cmp eax, ebx
mov dword [esi + 0x44], eax
je 0x4ddda9
push str.BASS_ChannelSetFlags
push dword [esi + 4]
call edi
cmp eax, ebx
mov dword [esi + 0x48], eax
je 0x4dddb3
push str.BASS_ChannelSlideAttributes
push dword [esi + 4]
call edi
cmp eax, ebx
mov dword [esi + 0x4c], eax
je 0x4ddcf8
push str.BASS_Pause
push dword [esi + 4]
call edi
cmp eax, ebx
mov dword [esi + 0x1c], eax
je 0x4dddbd
pop edi
pop ebx
mov ecx, dword [ebp + 0x380]
xor ecx, ebp
mov eax, esi
call fcn.004a9c82
add ebp, 0x384
leave
ret
push str.BASS_Init
jmp 0x4ddcfd
push str.BASS_ChannelSlideAttributes
lea eax, [ebp - 0x80]
push str._s_function_not_found_in_bass.dll
push eax
call fcn.004aae66
add esp, 0xc
push 0x10
push str.Error
lea eax, [ebp - 0x80]
push eax
jmp 0x4ddd27
push 0x10
push str.Error
push str.Neither_BASS_SetGlobalVolumes_or_BASS_SetVolume_found_in_bass.dll
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push ebx
call fcn.004aadda
push str.BASS_Free
jmp 0x4ddcfd
push str.BASS_Stop
jmp 0x4ddcfd
push str.BASS_Start
jmp 0x4ddcfd
cmp dword [esi + 0x20], ebx
jne 0x4a2ba5
jmp 0x4ddd1b
push str.BASS_ChannelStop
jmp 0x4ddcfd
push str.BASS_ChannelPause
jmp 0x4ddcfd
push str.BASS_ChannelSetAttributes
jmp 0x4ddcfd
push str.BASS_ChannelSetPosition
jmp 0x4ddcfd
push str.BASS_ChannelIsActive
jmp 0x4ddcfd
push str.BASS_MusicLoad
jmp 0x4ddcfd
push str.BASS_MusicFree
jmp 0x4ddcfd
push str.BASS_StreamCreateFile
jmp 0x4ddcfd
push str.BASS_StreamFree
jmp 0x4ddcfd
push str.BASS_ChannelGetInfo
jmp 0x4ddcfd
push str.BASS_ChannelPlay
jmp 0x4ddcfd
push str.BASS_ChannelSetFlags
jmp 0x4ddcfd
push 1
push str.BASS_Pause
push ebx
call fcn.00500b27
add esp, 0xc
jmp 0x4a2cd8