Function at 0x211105b0
Capabilities:
Create thread

Disassembly:
test ebx, ebx
push ebp
mov ebp, dword [esp + 8]
push edi
mov edi, eax
je 0x21110907
test edi, edi
je 0x21110907
push esi
push 0x11c
call sym.mss32.dll__AIL_mem_alloc_lock_4
mov esi, eax
test esi, esi
jne 0x211105eb
push str.Out_of_memory.
call sym.mss32.dll__AIL_set_error_4
pop esi
pop edi
xor eax, eax
pop ebp
ret 4
push 0x11c
push 0
push esi
call fcn.21136810
add esp, 0xc
cmp dword [0x21165710], 0
je 0x21110610
mov eax, dword [0x2118b20c]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
lea eax, [esi + 0x10]
push eax
push edi
call dword [0x211642a8]
test eax, eax
jne 0x21110626
mov dword [esi + 0x10], 0xffffffff
call fcn.21101090
cmp dword [esi + 0x10], 0xffffffff
jne 0x21110649
push str.Unable_to_open_file.
call sym.mss32.dll__AIL_set_error_4
push esi
call sym.mss32.dll__AIL_mem_free_lock_4
pop esi
pop edi
xor eax, eax
pop ebp
ret 4
push ebx
call sym.mss32.dll__AIL_allocate_sample_handle_4
test eax, eax
mov dword [esi + 0xc], eax
jne 0x21110665
push str.Unable_to_obtain_a_sample_handle.
call sym.mss32.dll__AIL_set_error_4
jmp 0x2111086a
push 0
push 1
push eax
call sym.mss32.dll__AIL_init_sample_12
call sym.mss32.dll__AIL_unlock_mutex_0
mov eax, edi
mov ecx, esi
call fcn.2110ffd0
test eax, eax
jne 0x21110690
call fcn.21101090
push str.Error_getting_sound_format.
jmp 0x2111085c
call fcn.21101090
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x94]
push ecx
push edx
push ebx
call sym.mss32.dll__AIL_minimum_sample_buffer_size_12
test ebp, ebp
mov dword [esp + 0x10], eax
jne 0x211106de
mov eax, 0xaaaaaaab
mul dword [esi + 0x90]
shr edx, 1
mov dword [esi + 0x70], edx
mov eax, dword [esp + 0x10]
cmp edx, eax
jge 0x211106cc
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x70]
add eax, 0xfff
and eax, 0xfffff000
mov dword [esi + 0x70], eax
jmp 0x211106fa
mov eax, 0x55555556
imul ebp
mov ecx, edx
shr ecx, 0x1f
lea edx, [edx + ecx + 0xfff]
and edx, 0xfffff000
mov dword [esi + 0x70], edx
cmp dword [esi + 0x70], 0
jne 0x21110707
mov dword [esi + 0x70], 0x1000
mov ecx, dword [esi + 0x70]
mov eax, dword [esi + 0xa0]
lea edx, [ecx + ecx*2]
mov edi, eax
sub edi, edx
cmp edi, 0x3000
jge 0x21110746
push eax
mov dword [esi + 0x70], eax
mov dword [esi + 0xe0], eax
call sym.mss32.dll__AIL_mem_alloc_lock_4
test eax, eax
mov dword [esi + 0x14], eax
je 0x21110857
mov edi, 1
mov dword [esi + 0xd0], edi
jmp 0x211107a2
mov eax, dword [esp + 0x10]
add eax, eax
lea edx, [ecx + ecx]
cmp eax, edx
mov dword [esi + 0xe0], eax
jge 0x2111075f
mov dword [esi + 0xe0], edx
push ecx
call sym.mss32.dll__AIL_mem_alloc_lock_4
test eax, eax
mov dword [esi + 0x14], eax
je 0x21110857
mov eax, dword [esi + 0x70]
push eax
call sym.mss32.dll__AIL_mem_alloc_lock_4
test eax, eax
mov dword [esi + 0x18], eax
jne 0x21110789
mov ecx, dword [esi + 0x14]
push ecx
jmp 0x21110852
mov edx, dword [esi + 0x70]
push edx
call sym.mss32.dll__AIL_mem_alloc_lock_4
test eax, eax
mov dword [esi + 0x1c], eax
je 0x21110845
mov edi, 1
mov eax, dword [esi + 0xc]
push fcn.2110fc80
push eax
call sym.mss32.dll__AIL_register_EOB_callback_8
cmp dword [0x2118b240], 0
mov ecx, dword [esi + 0xc]
mov dword [ecx + 0x28c], esi
je 0x211107ca
mov edx, dword [esi + 0x70]
mov dword [esi + 0x74], edx
jmp 0x211107d5
mov eax, dword [esi + 0x70]
cdq
sub eax, edx
sar eax, 1
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0xe0]
mov dword [esi + 0xe4], eax
mov eax, dword [0x2118b254]
test eax, eax
mov dword [esi + 0xa8], 0x7fffffff
mov dword [esi + 0xa4], 0
mov dword [esi + 0x80], edi
mov dword [esi + 0x88], 2
mov dword [esi + 0xc8], edi
mov dword [esi + 0x114], edi
jne 0x211108f3
push fcn.2110fc80
call sym.mss32.dll__AIL_register_timer_4
cmp eax, 0xffffffff
mov dword [0x211641b0], eax
jne 0x21110887
push str.Out_of_timer_handles.
call sym.mss32.dll__AIL_set_error_4
mov ecx, dword [esi + 0x1c]
push ecx
call sym.mss32.dll__AIL_mem_free_lock_4
mov edx, dword [esi + 0x14]
push edx
call sym.mss32.dll__AIL_mem_free_lock_4
mov eax, dword [esi + 0x18]
push eax
call sym.mss32.dll__AIL_mem_free_lock_4
push str.Out_of_memory.
call sym.mss32.dll__AIL_set_error_4
mov ecx, dword [esi + 0xc]
push ecx
call sym.mss32.dll__AIL_release_sample_handle_4
mov eax, dword [esi + 0x10]
cmp eax, 0xffffffff
je 0x21110879
push eax
call dword [0x211642ac]
push esi
call sym.mss32.dll__AIL_mem_free_lock_4
pop esi
pop edi
xor eax, eax
pop ebp
ret 4
push 0x10
push eax
call sym.mss32.dll__AIL_set_timer_frequency_8
mov edx, dword [0x211641b0]
push edx
call sym.mss32.dll__AIL_start_timer_4
cmp dword [0x2118b25c], 0
jne 0x211108f9
push 0
push 0
push edi
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0x21188f1c], eax
lea eax, [esp + 0x10]
push eax
push 0
push 0
push 0x2110fd60
push 0x10000
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [esp + 0x10]
push str.Miles_Stream
push ecx
mov dword [0x2118b25c], eax
call section..text
mov dword [0x2118b254], esi
mov eax, esi
pop esi
pop edi
pop ebp
ret 4
mov dword [esi + 0x110], eax
mov dword [0x2118b254], esi
mov eax, esi
pop esi
pop edi
pop ebp
ret 4
pop edi
xor eax, eax
pop ebp
ret 4