Function at 0x645cacf4
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov ebx, dword [esp + 0x40]
test ebx, ebx
je 0x645caec0
mov edx, dword [esp + 0x44]
test edx, edx
je 0x645caed8
mov eax, dword [esp + 0x48]
test eax, eax
je 0x645caea8
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call sym.allegro_5.0.10_monolith_mt.dll_al_get_channel_count
mov ebp, eax
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call sym.allegro_5.0.10_monolith_mt.dll_al_get_audio_depth_size
mov esi, eax
imul esi, ebp
mov ebp, dword [esp + 0x44]
imul ebp, esi
mov dword [esp + 0x10], str.al_create_audio_stream
mov dword [esp + 0xc], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_addons_audiokcm_stream.c
mov dword [esp + 8], 0x4a
mov dword [esp + 4], 0x118
mov dword [esp], 1
call sym.allegro_5.0.10_monolith_mt.dll_al_calloc_with_context
mov edi, eax
test eax, eax
je 0x645caef0
mov byte [eax + 0x98], 1
mov byte [eax + 0xec], 0
mov dword [eax + 0x9c], 0x103
mov eax, dword [esp + 0x4c]
mov dword [edi + 0x80], eax
mov eax, dword [esp + 0x50]
mov dword [edi + 0x84], eax
mov eax, dword [esp + 0x48]
mov dword [edi + 0x88], eax
mov dword [edi + 0xa0], 0x3f800000
mov dword [edi + 0xa4], 0x3f800000
mov dword [edi + 0xa8], 0
mov dword [edi + 0xbc], 0
mov eax, dword [esp + 0x44]
mov dword [edi + 0xac], eax
mov dword [edi + 0x8c], eax
mov dword [edi + 0xdc], ebx
mov dword [esp + 0x10], str.al_create_audio_stream
mov dword [esp + 0xc], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_addons_audiokcm_stream.c
mov dword [esp + 8], 0x62
lea eax, [ebx*8]
mov dword [esp + 4], eax
mov dword [esp], 1
call sym.allegro_5.0.10_monolith_mt.dll_al_calloc_with_context
mov dword [edi + 0xe8], eax
test eax, eax
je 0x645caf06
lea eax, [eax + ebx*4]
mov dword [edi + 0xe4], eax
lea esi, [esi + esi*2]
add ebp, esi
mov dword [esp + 0x10], str.al_create_audio_stream
mov dword [esp + 0xc], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_addons_audiokcm_stream.c
mov dword [esp + 8], 0x72
mov eax, ebp
imul eax, ebx
mov dword [esp + 4], eax
mov dword [esp], 1
call sym.allegro_5.0.10_monolith_mt.dll_al_calloc_with_context
mov dword [edi + 0xe0], eax
test eax, eax
je 0x645caf65
xor edx, edx
jmp 0x645cae82
mov eax, dword [edi + 0xe0]
mov ecx, dword [edi + 0xe4]
add eax, esi
mov dword [ecx + edx*4], eax
inc edx
add esi, ebp
cmp edx, ebx
jne 0x645cae7c
mov dword [esp], edi
call sym.allegro_5.0.10_monolith_mt.dll_al_init_user_event_source
mov eax, edi
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], str.Attempted_to_create_stream_with_no_frequency
mov dword [esp], 1
call sym.allegro_5.0.10_monolith_mt.dll__al_set_error
xor edi, edi
jmp 0x645cae9c
mov dword [esp + 4], str.Attempted_to_create_stream_with_no_buffers
mov dword [esp], 1
call sym.allegro_5.0.10_monolith_mt.dll__al_set_error
xor edi, edi
jmp 0x645cae9c
mov dword [esp + 4], str.Attempted_to_create_stream_with_no_buffer_size
mov dword [esp], 1
call sym.allegro_5.0.10_monolith_mt.dll__al_set_error
xor edi, edi
jmp 0x645cae9c
mov dword [esp + 4], str.Out_of_memory_allocating_stream_object
mov dword [esp], 0xff
call sym.allegro_5.0.10_monolith_mt.dll__al_set_error
jmp 0x645cae9c
mov dword [esp + 0xc], str.al_create_audio_stream
mov dword [esp + 8], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_addons_audiokcm_stream.c
mov dword [esp + 4], 0x64
mov dword [esp], 0
call sym.allegro_5.0.10_monolith_mt.dll_al_free_with_context
mov dword [esp + 0xc], str.al_create_audio_stream
mov dword [esp + 8], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_addons_audiokcm_stream.c
mov dword [esp + 4], 0x65
mov dword [esp], edi
call sym.allegro_5.0.10_monolith_mt.dll_al_free_with_context
mov dword [esp + 4], str.Out_of_memory_allocating_stream_buffer_pointers
mov dword [esp], 0xff
call sym.allegro_5.0.10_monolith_mt.dll__al_set_error
xor edi, edi
jmp 0x645cae9c
mov dword [esp + 0xc], str.al_create_audio_stream
mov dword [esp + 8], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_addons_audiokcm_stream.c
mov dword [esp + 4], 0x74
mov eax, dword [edi + 0xe8]
mov dword [esp], eax
call sym.allegro_5.0.10_monolith_mt.dll_al_free_with_context
mov dword [esp + 0xc], str.al_create_audio_stream
mov dword [esp + 8], str.d:Libraries_build_allegro_src_allegro_git_allegro_git_addons_audiokcm_stream.c
mov dword [esp + 4], 0x75
mov dword [esp], edi
call sym.allegro_5.0.10_monolith_mt.dll_al_free_with_context
mov dword [esp + 4], str.Out_of_memory_allocating_stream_buffer
mov dword [esp], 0xff
call sym.allegro_5.0.10_monolith_mt.dll__al_set_error
xor edi, edi
jmp 0x645cae9c