Function at 0x100b40a0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1d0
push ebx
push esi
mov esi, ecx
push edi
cmp dword [esi + 0x18], 0x100
jb 0x100b40e8
push str.mMaxActiveVoices___256
push 0x77b
push str.C:Blitz3D_winmm_V1.108b_soloud_srccore_soloud.cpp
lea eax, [ebp - 0xd0]
push str._s__d_:_assert__s__failed._n
push eax
call fcn.100e05e3
add esp, 0x14
lea ecx, [ebp - 0xd0]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
int3
mov edx, dword [esi + 0x18]
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0x1d0]
mov ebx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, ebx
and ecx, 3
rep stosb byte es:[edi], al
xor ecx, ecx
test edx, edx
jbe 0x100b4162
xor eax, eax
test edx, edx
jbe 0x100b415d
mov edi, dword [esi + 0x4c]
lea ebx, [esi + 0x1bdbc]
mov dword [ebp - 4], ebx
mov edi, dword [edi + ecx*4]
test edi, edi
je 0x100b414f
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx]
cmp edi, dword [esi + ebx*4 + 0x50]
jne 0x100b414f
mov bl, byte [ebp + ecx - 0x1d0]
or bl, 1
mov byte [ebp + ecx - 0x1d0], bl
mov bl, byte [ebp + eax - 0x1d0]
or bl, 2
mov byte [ebp + eax - 0x1d0], bl
mov ebx, dword [ebp - 4]
inc eax
add ebx, 4
cmp eax, edx
mov dword [ebp - 4], ebx
jb 0x100b411e
inc ecx
cmp ecx, edx
jb 0x100b4109
xor edi, edi
xor eax, eax
cmp edx, edi
jbe 0x100b419e
test byte [ebp + eax - 0x1d0], 1
jne 0x100b4196
mov edx, dword [esi + 0x4c]
mov ecx, dword [edx + eax*4]
cmp ecx, edi
je 0x100b4196
mov dword [ecx + 0x1a4], edi
mov ecx, dword [esi + 0x4c]
mov edx, dword [ecx + eax*4]
mov dword [edx + 0x1a8], edi
mov ecx, dword [esi + 0x4c]
mov dword [ecx + eax*4], edi
mov ecx, dword [esi + 0x18]
inc eax
cmp eax, ecx
jb 0x100b416a
mov edx, dword [esi + 0x1cdbc]
xor eax, eax
xor ecx, ecx
cmp edx, edi
mov dword [ebp - 4], ecx
jbe 0x100b42a5
lea edi, [esi + 0x1bdbc]
mov dword [ebp - 8], edi
test byte [ebp + ecx - 0x1d0], 2
jne 0x100b428d
mov edx, dword [edi]
mov ebx, dword [esi + edx*4 + 0x50]
test ebx, ebx
je 0x100b428d
mov ecx, dword [esi + 0x18]
or ebx, 0xffffffff
cmp eax, ecx
jae 0x100b41f5
mov edx, dword [esi + 0x4c]
cmp dword [edx + eax*4], 0
jne 0x100b41ed
mov ebx, eax
inc eax
cmp ebx, 0xffffffff
je 0x100b41de
jmp 0x100b422b
cmp ebx, 0xffffffff
jne 0x100b422b
push str.found____1
push 0x7a2
push str.C:Blitz3D_winmm_V1.108b_soloud_srccore_soloud.cpp
lea eax, [ebp - 0xd0]
push str._s__d_:_assert__s__failed._n
push eax
call fcn.100e05e3
add esp, 0x14
lea ecx, [ebp - 0xd0]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
int3
mov edx, dword [edi]
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + edx*4 + 0x50]
mov dword [eax + ebx*4], ecx
mov eax, dword [esi + 0x4c]
mov edx, dword [esi + 0x3c]
mov ecx, dword [eax + ebx*4]
mov edx, dword [edx + ebx*8]
mov dword [ecx + 0x1a4], edx
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x3c]
mov edx, dword [ecx + ebx*4]
mov ecx, 0x1000
mov eax, dword [eax + ebx*8 + 4]
mov dword [edx + 0x1a8], eax
mov edx, dword [esi + 0x4c]
xor eax, eax
mov edx, dword [edx + ebx*4]
mov edi, dword [edx + 0x1a4]
rep stosd dword es:[edi], eax
mov edx, dword [esi + 0x4c]
mov ecx, 0x1000
mov edx, dword [edx + ebx*4]
mov edi, dword [edx + 0x1a8]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 4]
mov edi, dword [ebp - 8]
lea eax, [ebx + 1]
mov edx, dword [esi + 0x1cdbc]
inc ecx
add edi, 4
cmp ecx, edx
mov dword [ebp - 4], ecx
mov dword [ebp - 8], edi
jb 0x100b41bc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret