Function at 0x484020
Capabilities:
Link many functions at runtime

Disassembly:
mov eax, dword [0xd43d00]
sub esp, 0x100
test eax, eax
push ebx
push esi
push edi
je 0x484041
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x100
ret
push 0x10
call fcn.0047e2c0
push eax
push str.fs_basepath
call fcn.0044cc40
mov ebx, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
mov edx, dword [ebx + 4]
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, str._snddrivers_mss32.dll
mov esi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add esi, ecx
cmp esi, 0x100
jae 0x4840ac
mov ecx, edx
lea edx, [esp + 0xc]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x484086
lea edi, [esp + 0xc]
or ecx, 0xffffffff
xor eax, eax
mov esi, str._snddrivers_mss32.dll
repne scasb al, byte es:[edi]
dec edi
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x4840bd
xor eax, eax
mov cl, byte [eax + str._snddrivers_mss32.dll]
mov byte [esp + eax + 0xc], cl
inc eax
test cl, cl
jne 0x4840ae
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea eax, [esp + 0xc]
push eax
call esi
test eax, eax
mov dword [0xd43d00], eax
jne 0x484164
mov edx, dword [ebx + 4]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, str._snddrivers_mss32.dll
mov ebx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ebx, ecx
cmp ebx, 0x100
jae 0x48413f
mov ecx, edx
lea edx, [esp + 0xc]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x484103
lea edi, [esp + 0xc]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x554188]
repne scasb al, byte es:[edi]
mov ecx, dword [str._mss32.dll]
mov ax, word [0x55418c]
dec edi
mov dword [edi], ecx
mov cl, byte [0x55418e]
mov dword [edi + 4], edx
mov word [edi + 8], ax
mov byte [edi + 0xa], cl
jmp 0x484150
xor eax, eax
mov cl, byte [eax + str._mss32.dll]
mov byte [esp + eax + 0xc], cl
inc eax
test cl, cl
jne 0x484141
lea edx, [esp + 0xc]
push edx
call esi
test eax, eax
mov dword [0xd43d00], eax
je 0x4848ab
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str._AIL_startup_0
push eax
call esi
mov dword [0xc78598], eax
mov eax, dword [0xd43d00]
push str._AIL_shutdown_0
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_set_preference_8
push ecx
mov dword [0xc784f4], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_last_error_0
push edx
mov dword [0xc78514], eax
call esi
mov dword [0xc784d4], eax
mov eax, dword [0xd43d00]
push str._AIL_waveOutOpen_16
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_waveOutClose_4
push ecx
mov dword [0xc78554], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_set_digital_master_volume_8
push edx
mov dword [0xc78570], eax
call esi
mov dword [0xc785f8], eax
mov eax, dword [0xd43d00]
push str._AIL_allocate_sample_handle_4
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_release_sample_handle_4
push ecx
mov dword [0xc785e4], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_init_sample_4
push edx
mov dword [0xc7851c], eax
call esi
mov dword [0xc785bc], eax
mov eax, dword [0xd43d00]
push str._AIL_set_sample_file_12
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_set_named_sample_file_20
push ecx
mov dword [0xc78518], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_start_sample_4
push edx
mov dword [0xc784c4], eax
call esi
mov dword [0xc785a8], eax
mov eax, dword [0xd43d00]
push str._AIL_stop_sample_4
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_resume_sample_4
push ecx
mov dword [0xc785e0], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_end_sample_4
push edx
mov dword [0xc78508], eax
call esi
mov dword [0xc78600], eax
push str._AIL_set_sample_playback_rate_8
mov eax, dword [0xd43d00]
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_set_sample_volume_8
push ecx
mov dword [0xc78630], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_set_sample_pan_8
push edx
mov dword [0xc78560], eax
call esi
mov dword [0xc785f0], eax
mov eax, dword [0xd43d00]
push str._AIL_set_sample_reverb_16
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_set_sample_loop_count_8
push ecx
mov dword [0xc785a0], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_set_sample_loop_block_12
push edx
mov dword [0xc784b8], eax
call esi
mov dword [0xc785dc], eax
mov eax, dword [0xd43d00]
push str._AIL_sample_status_4
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_sample_playback_rate_4
push ecx
mov dword [0xc78540], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_sample_volume_4
push edx
mov dword [0xc78628], eax
call esi
mov dword [0xc78588], eax
mov eax, dword [0xd43d00]
push str._AIL_set_sample_position_8
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_sample_position_4
push ecx
mov dword [0xc7858c], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_sample_loop_count_4
push edx
mov dword [0xc78574], eax
call esi
mov dword [0xc784e0], eax
mov eax, dword [0xd43d00]
push str._AIL_set_sample_ms_position_8
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_sample_ms_position_12
push ecx
mov dword [0xc78578], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_sample_granularity_4
push edx
mov dword [0xc78614], eax
call esi
mov dword [0xc784b0], eax
mov eax, dword [0xd43d00]
push str._AIL_digital_CPU_percent_4
push eax
call esi
mov ecx, dword [0xd43d00]
mov dword [0xc785d8], eax
push str._AIL_digital_configuration_16
push ecx
call esi
mov edx, dword [0xd43d00]
push str._AIL_enumerate_3D_providers_12
push edx
mov dword [0xc78634], eax
call esi
mov dword [0xc785f4], eax
mov eax, dword [0xd43d00]
push str._AIL_open_3D_provider_4
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_close_3D_provider_4
push ecx
mov dword [0xc78618], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_allocate_3D_sample_handle_4
push edx
mov dword [0xc7859c], eax
call esi
mov dword [0xc785fc], eax
mov eax, dword [0xd43d00]
push str._AIL_release_3D_sample_handle_4
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_set_3D_sample_file_8
push ecx
mov dword [0xc78568], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_start_3D_sample_4
push edx
mov dword [0xc7850c], eax
call esi
mov dword [0xc785b8], eax
mov eax, dword [0xd43d00]
push str._AIL_stop_3D_sample_4
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_resume_3D_sample_4
push ecx
mov dword [0xc784c0], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_end_3D_sample_4
push edx
mov dword [0xc7861c], eax
call esi
mov dword [0xc78524], eax
mov eax, dword [0xd43d00]
push str._AIL_set_3D_sample_volume_8
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_set_3D_sample_playback_rate_8
push ecx
mov dword [0xc784dc], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_set_3D_sample_offset_8
push edx
mov dword [0xc78500], eax
call esi
mov dword [0xc785ec], eax
mov eax, dword [0xd43d00]
push str._AIL_set_3D_sample_loop_count_8
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_set_3D_sample_loop_block_12
push ecx
mov dword [0xc78528], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_set_3D_sample_occlusion_8
mov dword [0xc78558], eax
push edx
call esi
mov dword [0xc78530], eax
mov eax, dword [0xd43d00]
push str._AIL_set_3D_sample_obstruction_8
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_set_3D_sample_effects_level_8
push ecx
mov dword [0xc784f0], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_3D_sample_status_4
push edx
mov dword [0xc784e4], eax
call esi
mov dword [0xc7855c], eax
mov eax, dword [0xd43d00]
push str._AIL_3D_sample_playback_rate_4
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_3D_sample_volume_4
push ecx
mov dword [0xc7856c], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_3D_sample_length_4
push edx
mov dword [0xc7863c], eax
call esi
mov dword [0xc78504], eax
mov eax, dword [0xd43d00]
push str._AIL_3D_sample_offset_4
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_3D_sample_loop_count_4
push ecx
mov dword [0xc7854c], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_set_3D_sample_distances_12
push edx
mov dword [0xc78638], eax
call esi
mov dword [0xc785e8], eax
mov eax, dword [0xd43d00]
push str._AIL_open_3D_listener_4
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_close_3D_listener_4
push ecx
mov dword [0xc78550], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_set_3D_position_16
push edx
mov dword [0xc785a4], eax
call esi
mov dword [0xc784f8], eax
mov eax, dword [0xd43d00]
push str._AIL_set_3D_velocity_vector_16
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_set_3D_orientation_28
push ecx
mov dword [0xc784c8], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_set_3D_room_type_8
push edx
mov dword [0xc784d0], eax
call esi
mov dword [0xc78584], eax
mov eax, dword [0xd43d00]
push str._AIL_set_3D_speaker_type_8
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_3D_position_16
push ecx
mov dword [0xc78610], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_3D_provider_attribute_12
push edx
mov dword [0xc784fc], eax
call esi
mov dword [0xc78580], eax
mov eax, dword [0xd43d00]
push str._AIL_set_3D_provider_preference_12
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_3D_sample_attribute_12
push ecx
mov dword [0xc785c4], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_set_3D_sample_preference_12
push edx
mov dword [0xc78608], eax
call esi
mov dword [0xc7853c], eax
mov eax, dword [0xd43d00]
push str._AIL_open_stream_12
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_close_stream_4
push ecx
mov dword [0xc785c0], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_service_stream_8
push edx
mov dword [0xc78548], eax
call esi
mov dword [0xc7857c], eax
mov eax, dword [0xd43d00]
push str._AIL_auto_service_stream_8
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_start_stream_4
push ecx
mov dword [0xc78538], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_pause_stream_8
push edx
mov dword [0xc785d0], eax
call esi
mov dword [0xc784e8], eax
mov eax, dword [0xd43d00]
push str._AIL_set_stream_playback_rate_8
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_set_stream_volume_8
push ecx
mov dword [0xc78520], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_set_stream_pan_8
push edx
mov dword [0xc7852c], eax
call esi
mov dword [0xc785b4], eax
mov eax, dword [0xd43d00]
push str._AIL_set_stream_reverb_16
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_set_stream_loop_count_8
push ecx
mov dword [0xc785cc], eax
call esi
mov dword [0xc78544], eax
mov edx, dword [0xd43d00]
push str._AIL_set_stream_loop_block_12
push edx
call esi
mov dword [0xc7862c], eax
mov eax, dword [0xd43d00]
push str._AIL_set_stream_position_8
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_set_stream_ms_position_8
push ecx
mov dword [0xc78534], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_stream_status_4
push edx
mov dword [0xc78594], eax
call esi
mov dword [0xc78590], eax
mov eax, dword [0xd43d00]
push str._AIL_stream_playback_rate_4
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_stream_volume_4
push ecx
mov dword [0xc785b0], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_stream_pan_4
push edx
mov dword [0xc784b4], eax
call esi
mov dword [0xc78620], eax
mov eax, dword [0xd43d00]
push str._AIL_stream_reverb_16
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_stream_loop_count_4
push ecx
mov dword [0xc7860c], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_stream_position_4
push edx
mov dword [0xc785d4], eax
call esi
mov dword [0xc78604], eax
mov eax, dword [0xd43d00]
push str._AIL_stream_ms_position_12
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_stream_info_20
push ecx
mov dword [0xc78510], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_set_stream_user_data_12
push edx
mov dword [0xc784bc], eax
call esi
mov dword [0xc785ac], eax
mov eax, dword [0xd43d00]
push str._AIL_stream_user_data_8
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_register_stream_callback_8
push ecx
mov dword [0xc784cc], eax
call esi
mov edx, dword [0xd43d00]
push str._AIL_WAV_info_8
push edx
mov dword [0xc784d8], eax
call esi
mov dword [0xc784ec], eax
push str._AIL_process_digital_audio_24
mov eax, dword [0xd43d00]
push eax
call esi
mov ecx, dword [0xd43d00]
push str._AIL_size_processed_digital_audio_16
push ecx
mov dword [0xc785c8], eax
call esi
pop edi
mov dword [0xc78564], eax
pop esi
mov eax, 1
pop ebx
add esp, 0x100
ret
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x100
ret