Function at 0x100114a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x50
mov eax, dword [ebp + 8]
test byte [eax + 0x90], 0x20
je 0x100114dd
push str.FAudio_INTERNAL_GenerateOutput
push str.FUNC_Enter:__s
push str.FAudio_INTERNAL_GenerateOutput
push 0x53a
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
mov eax, dword [ebp + 8]
add esp, 0x18
cmp byte [eax + 1], 0
je 0x100115c4
push eax
call dbg.FAudio_OPERATIONSET_Execute
add esp, 4
mov eax, dword [ebp + 8]
push dword [eax + 0x28]
call sym._FAudio_PlatformLockMutex
mov eax, dword [ebp + 8]
add esp, 4
test byte [eax + 0x90], 0x80
je 0x10011532
push str.audio__callbackLock
push dword [eax + 0x28]
push 0x10031f00
push str.FAudio_INTERNAL_GenerateOutput
push 0x546
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
mov eax, dword [ebp + 8]
add esp, 0x1c
mov esi, dword [eax + 0x1c]
jmp 0x10011543
mov esi, dword [esi + 4]
test esi, esi
je 0x10011558
mov eax, dword [esi]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x10011540
push eax
call ecx
add esp, 4
jmp 0x10011540
mov esi, dword [ebp + 8]
push dword [esi + 0x28]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
test byte [esi + 0x90], 0x80
je 0x10011594
push str.audio__callbackLock
push dword [esi + 0x28]
push 0x10031f26
push str.FAudio_INTERNAL_GenerateOutput
push 0x554
push str.libs_faudio_src_FAudio_internal.c
push esi
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov edx, dword [ebp + 0xc]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
je 0x100115f0
mov dword [eax + 0x78], ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
imul eax, dword [ecx + 0x80]
shl eax, 2
push eax
push 0
push dword [ecx + 0x7c]
call sym._memset
add esp, 0xc
jmp 0x100115f3
test byte [eax + 0x90], 0x20
je 0x10013c26
push str.FAudio_INTERNAL_GenerateOutput
push str.FUNC_Exit:__s
push str.FAudio_INTERNAL_GenerateOutput
push 0x53d
push str.libs_faudio_src_FAudio_internal.c
push eax
jmp 0x10013c1e
mov dword [eax + 0x78], edx
push dword [esi + 0x20]
call sym._FAudio_PlatformLockMutex
add esp, 4
test byte [esi + 0x90], 0x80
je 0x1001162c
push str.audio__sourceLock
push dword [esi + 0x20]
push 0x10031f00
push str.FAudio_INTERNAL_GenerateOutput
push 0x56c
push str.libs_faudio_src_FAudio_internal.c
push esi
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi + 0x14]
jmp 0x10011660
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x18
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x60]
call dbg.FAudio_INTERNAL_FlushPendingBuffers
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 4]
test eax, eax
je 0x100131a4
mov dword [esp + 0x48], eax
mov ecx, dword [eax]
mov esi, dword [ebp + 8]
mov dword [esi + 0x60], ecx
call dbg.FAudio_INTERNAL_FlushPendingBuffers
mov esi, dword [esi + 0x60]
cmp byte [esi + 0xbc], 0
je 0x10011659
mov eax, dword [esi]
test byte [eax + 0x90], 0x20
je 0x100116b2
push str.FAudio_INTERNAL_MixSource
push str.FUNC_Enter:__s
push str.FAudio_INTERNAL_MixSource
push 0x33b
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x18
push dword [esi + 0x58]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x100116ed
push str.voice__sendLock
push dword [esi + 0x58]
push 0x10031f00
push str.FAudio_INTERNAL_MixSource
push 0x33e
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
movss xmm1, dword [esi + 0x80]
mov eax, dword [esi + 0xac]
movss xmm0, dword [eax + 4]
orpd xmm0, xmmword [0x10031d80]
movsd xmm3, qword [0x10031d90]
subsd xmm0, xmm3
cvtsd2ss xmm2, xmm0
movss xmm0, dword [esi + 0xc0]
mulss xmm2, xmm0
ucomiss xmm1, xmm2
mov dword [esp + 4], esi
jne 0x10011733
jnp 0x10011811
cmp dword [esi + 0xc], 0
je 0x10011741
mov ecx, dword [esi + 0x10]
add ecx, 4
jmp 0x10011746
mov ecx, dword [esi]
add ecx, 0x10
mov edx, dword [ecx]
lea ecx, [edx + 0x98]
lea esi, [edx + 0x84]
cmp dword [edx + 8], 2
cmove ecx, esi
xorps xmm2, xmm2
cvtss2sd xmm2, xmm0
movss xmm1, dword [eax + 4]
orpd xmm1, xmm3
subsd xmm1, xmm3
mulsd xmm1, xmm2
movss xmm2, dword [ecx]
orpd xmm2, xmm3
subsd xmm2, xmm3
divsd xmm1, xmm2
mulsd xmm1, qword [0x10031d98]
addsd xmm1, qword [0x10031da0]
movsd xmm2, qword [0x10031da8]
ucomisd xmm1, xmm2
jae 0x100117a5
xorpd xmm2, xmm2
subsd xmm1, xmm2
movsd qword [esp + 0x40], xmm1
setae cl
fld qword [esp + 0x40]
fnstcw word [esp + 0x32]
movzx edx, word [esp + 0x32]
or edx, 0xc00
mov word [esp + 0x3a], dx
fldcw word [esp + 0x3a]
fistp qword [esp + 0x40]
fldcw word [esp + 0x32]
movzx ecx, cl
shl ecx, 0x1f
xor ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 4]
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x88], edx
movss xmm1, dword [eax + 4]
orpd xmm1, xmm3
subsd xmm1, xmm3
cvtsd2ss xmm1, xmm1
mulss xmm0, xmm1
movss dword [esi + 0x80], xmm0
cmp byte [esi + 0xbc], 2
jne 0x100118b0
mov ecx, esi
mov esi, dword [esi]
movzx edi, word [eax + 2]
imul edi, dword [ecx + 0x7c]
test byte [esi + 0x90], 0x20
jne 0x100119ef
cmp dword [esi + 0x68], edi
jb 0x10011a1a
test byte [esi + 0x90], 0x20
je 0x1001186b
push str.FAudio_INTERNAL_ResizeResampleCache
push str.FUNC_Exit:__s
push str.FAudio_INTERNAL_ResizeResampleCache
push 0x328
push str.libs_faudio_src_FAudio_internal.c
push esi
call dbg.FAudio_INTERNAL_debug
add esp, 0x18
mov esi, dword [esp + 4]
mov ebx, dword [esi + 0x7c]
mov dword [esp + 0x28], ebx
mov eax, dword [esi]
mov ecx, dword [esi + 0xac]
movzx ecx, word [ecx + 2]
imul ecx, ebx
shl ecx, 2
push ecx
push 0
push dword [eax + 0x74]
call sym._memset
add esp, 0xc
mov eax, dword [esi]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x20], eax
test byte [esi + 4], 8
jne 0x10012b5a
jmp 0x10012d4e
mov eax, dword [esi + 0x7c]
mov edi, dword [esi + 0x9c]
mov ecx, dword [esi + 0x8c]
imul ecx, eax
mul dword [esi + 0x88]
add edx, ecx
mov ecx, dword [esi + 0x98]
mov esi, 0xffffffff
add ecx, esi
mov esi, dword [esp + 4]
adc edi, 0
add ecx, eax
adc edi, edx
mov eax, dword [esi + 0xb8]
test eax, eax
mov dword [esp + 0x10], edi
je 0x10011b90
cmp dword [eax + 0x18], 0
je 0x10011b90
push dword [esi + 0x58]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x1001193b
push str.voice__sendLock
push dword [esi + 0x58]
push 0x10031f26
push str.FAudio_INTERNAL_MixSource
push 0x36e
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi]
push dword [eax + 0x20]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
mov ecx, dword [eax + 0x90]
test cl, cl
jns 0x1001197f
push str.voice__audio__sourceLock
push dword [eax + 0x20]
push 0x10031f26
push str.FAudio_INTERNAL_MixSource
push 0x371
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi]
mov ecx, dword [eax + 0x90]
mov edi, dword [esi + 0xb8]
mov esi, dword [esi + 0xd0]
mov edx, dword [edi + 0x18]
mov dword [esp], edx
test cl, 0x20
je 0x100119b8
push str.FAudio_INTERNAL_GetBytesRequested
push str.FUNC_Enter:__s
push str.FAudio_INTERNAL_GetBytesRequested
push 0x133
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x18
mov eax, dword [esp + 4]
cmp dword [eax + 0xa4], 0
je 0x10011a42
mov eax, dword [eax]
xor esi, esi
test byte [eax + 0x90], 0x20
je 0x10011af9
push str.FAudio_INTERNAL_GetBytesRequested
push str.FUNC_Exit:__s
push str.FAudio_INTERNAL_GetBytesRequested
push 0x139
jmp 0x10011aeb
push str.FAudio_INTERNAL_ResizeResampleCache
push str.FUNC_Enter:__s
push str.FAudio_INTERNAL_ResizeResampleCache
push 0x31f
push str.libs_faudio_src_FAudio_internal.c
push esi
call dbg.FAudio_INTERNAL_debug
add esp, 0x18
cmp dword [esi + 0x68], edi
jae 0x10011840
mov dword [esi + 0x68], edi
shl edi, 2
push edi
push dword [esi + 0x74]
call dword [esi + 0x84]
add esp, 8
mov dword [esi + 0x74], eax
test byte [esi + 0x90], 0x20
jne 0x10011849
jmp 0x1001186b
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10011aa3
test esi, esi
je 0x10011aa3
nop
mov edx, dword [esi + 0x1c]
test edx, edx
je 0x10011a80
mov ebx, dword [esi + 0x18]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0xa0]
imul edx, ebx
add ebx, dword [esi + 0x14]
not ecx
add ecx, ebx
add ecx, edx
add ecx, dword [esi + 0x10]
sub eax, ecx
jae 0x10011a94
jmp 0x10011aa1
mov ecx, dword [esi + 0x10]
add ecx, dword [esi + 0xc]
mov edx, dword [esp + 4]
sub ecx, dword [edx + 0xa0]
sub eax, ecx
jb 0x10011aa1
mov esi, dword [esi + 0x2c]
test esi, esi
je 0x10011aa3
test eax, eax
jne 0x10011a50
jmp 0x10011aa3
xor eax, eax
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0xac]
cmp word [ecx], 2
jne 0x10011ac1
movzx esi, word [ecx + 0x12]
xor edx, edx
div esi
cmp edx, 1
sbb eax, 0xffffffff
movzx esi, word [ecx + 0xc]
imul esi, eax
mov eax, dword [esp + 4]
mov eax, dword [eax]
test byte [eax + 0x90], 0x20
je 0x10011af9
push str.FAudio_INTERNAL_GetBytesRequested
push str.FUNC_Exit:__s
push str.FAudio_INTERNAL_GetBytesRequested
push 0x166
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x18
push esi
push edi
call dword [esp + 8]
add esp, 8
mov esi, dword [esp + 4]
mov eax, dword [esi]
push dword [eax + 0x20]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10011b43
push str.voice__audio__sourceLock
push dword [eax + 0x20]
push 0x10031f00
push str.FAudio_INTERNAL_MixSource
push 0x379
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [esi + 0x58]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
mov edi, dword [esp + 0x10]
je 0x10011b90
push str.voice__sendLock
push dword [esi + 0x58]
push 0x10031f00
push str.FAudio_INTERNAL_MixSource
push 0x37c
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
nop word cs:[eax + eax]
push dword [esi + 0xd8]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10011bd1
push str.voice__src.bufferLock
push dword [esi + 0xd8]
push 0x10031f00
push str.FAudio_INTERNAL_MixSource
push 0x380
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x10011c28
mov eax, dword [esi]
test byte [eax + 0x90], 0x20
je 0x10011c0c
push str.FAudio_INTERNAL_DecodeBuffers
push str.FUNC_Enter:__s
push str.FAudio_INTERNAL_DecodeBuffers
push 0x172
push str.libs_faudio_src_FAudio_internal.c
push eax
mov ebx, ecx
call dbg.FAudio_INTERNAL_debug
mov ecx, ebx
add esp, 0x18
test edi, edi
jne 0x10011c8c
mov eax, ecx
mov ecx, dword [esi]
mov dword [esp + 8], ecx
xor ebx, ebx
mov dword [esp], 0
mov edi, esi
jmp 0x10012565
push dword [esi + 0xd8]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10011c69
push str.voice__src.bufferLock
push dword [esi + 0xd8]
push 0x10031f26
push str.FAudio_INTERNAL_MixSource
push 0x386
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
cmp dword [esi + 0x2c], 0
je 0x100128f7
cmp dword [esi + 0x28], 0
je 0x100128f7
mov ecx, esi
mov esi, dword [esi]
mov eax, dword [ecx + 0xac]
jmp 0x10011822
xor edx, edx
nop
cmp byte [esi + 0xc4], 0
mov dword [esp + 0xc], edx
je 0x10011e50
mov byte [esi + 0xc4], 0
mov eax, dword [esi + 0xb8]
test eax, eax
je 0x10011e50
cmp dword [eax + 4], 0
je 0x10011e50
mov ebx, ecx
push dword [esi + 0xd8]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10011d03
push str.voice__src.bufferLock
push dword [esi + 0xd8]
push 0x10031f26
push str.FAudio_INTERNAL_DecodeBuffers
push 0x183
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [esi + 0x58]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10011d40
push str.voice__sendLock
push dword [esi + 0x58]
push 0x10031f26
push str.FAudio_INTERNAL_DecodeBuffers
push 0x186
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi]
push dword [eax + 0x20]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10011d7b
push str.voice__audio__sourceLock
push dword [eax + 0x20]
push 0x10031f26
push str.FAudio_INTERNAL_DecodeBuffers
push 0x189
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi + 0xb8]
push dword [ebx + 0x20]
push eax
call dword [eax + 4]
add esp, 8
mov eax, dword [esi]
push dword [eax + 0x20]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10011dc8
push str.voice__audio__sourceLock
push dword [eax + 0x20]
push 0x10031f00
push str.FAudio_INTERNAL_DecodeBuffers
push 0x191
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [esi + 0x58]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10011e03
push str.voice__sendLock
push dword [esi + 0x58]
push 0x10031f00
push str.FAudio_INTERNAL_DecodeBuffers
push 0x194
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [esi + 0xd8]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
mov edx, dword [esp + 0xc]
mov ecx, ebx
je 0x10011e50
push str.voice__src.bufferLock
push dword [esi + 0xd8]
push 0x10031f00
push str.FAudio_INTERNAL_DecodeBuffers
push 0x197
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
mov ecx, ebx
mov edx, dword [esp + 0x28]
add esp, 0x1c
sub edi, edx
xor eax, eax
cmp dword [ecx + 0x1c], 0
setne al
mov ebx, dword [ecx + eax*8 + 0x10]
add ebx, dword [ecx + eax*8 + 0xc]
sub ebx, dword [esi + 0xa0]
cmp ebx, edi
mov dword [esp + 8], edi
cmovb edi, ebx
mov eax, dword [esi]
mov dword [esp], eax
mov eax, ecx
mov ecx, dword [esi + 0xac]
movzx ecx, word [ecx + 2]
imul ecx, edx
shl ecx, 2
mov edx, dword [esp]
add ecx, dword [edx + 0x70]
push edi
push ecx
mov dword [esp + 8], eax
push eax
push esi
call dword [esi + 0xb0]
add esp, 0x10
mov eax, dword [esi]
test byte [eax + 0x90], 4
je 0x10011ed9
mov ecx, dword [esi + 0xa0]
lea edx, [ecx + edi]
push edx
push ecx
push edi
push dword [esp + 0xc]
push esi
push str.INFO:_Voice__p__buffer__p__decoded__u_samples_from___u__u_
push str.FAudio_INTERNAL_DecodeBuffers
push 0x1b6
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x28
add dword [esi + 0xa0], edi
mov edx, dword [esp + 0xc]
add edx, edi
add dword [esi + 0xc8], edi
adc dword [esi + 0xcc], 0
cmp ebx, dword [esp + 8]
jae 0x100120b0
mov ecx, dword [esp]
cmp dword [ecx + 0x1c], 0
mov edi, dword [esp + 0x10]
je 0x100120b9
mov eax, dword [ecx + 0x14]
mov dword [esi + 0xa0], eax
mov eax, dword [ecx + 0x1c]
cmp eax, 0xfe
ja 0x10011f24
dec eax
mov dword [ecx + 0x1c], eax
mov eax, dword [esi + 0xb8]
test eax, eax
je 0x1001253e
cmp dword [eax + 8], 0
je 0x1001253e
mov ebx, edx
push dword [esi + 0xd8]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10011f7f
push str.voice__src.bufferLock
push dword [esi + 0xd8]
push 0x10031f26
push str.FAudio_INTERNAL_DecodeBuffers
push 0x1ca
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [esi + 0x58]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10011fbc
push str.voice__sendLock
push dword [esi + 0x58]
push 0x10031f26
push str.FAudio_INTERNAL_DecodeBuffers
push 0x1cd
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi]
push dword [eax + 0x20]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10011ff7
push str.voice__audio__sourceLock
push dword [eax + 0x20]
push 0x10031f26
push str.FAudio_INTERNAL_DecodeBuffers
push 0x1d0
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi + 0xb8]
mov ecx, dword [esp]
push dword [ecx + 0x20]
push eax
call dword [eax + 8]
add esp, 8
mov eax, dword [esi]
push dword [eax + 0x20]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10012047
push str.voice__audio__sourceLock
push dword [eax + 0x20]
push 0x10031f00
push str.FAudio_INTERNAL_DecodeBuffers
push 0x1d8
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [esi + 0x58]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10012082
push str.voice__sendLock
push dword [esi + 0x58]
push 0x10031f00
push str.FAudio_INTERNAL_DecodeBuffers
push 0x1db
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [esi + 0xd8]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
jne 0x100124f4
mov edx, ebx
jmp 0x1001253b
mov edi, dword [esp + 0x10]
jmp 0x1001253b
cmp dword [esi + 0xa4], 0
je 0x100120d3
push esi
mov ebx, edx
call dbg.FAudio_WMADEC_end_buffer
mov ecx, dword [esp + 4]
mov edx, ebx
add esp, 4
test byte [ecx], 0x40
je 0x10012100
mov dword [esi + 0x9c], 0
mov dword [esi + 0x98], 0
mov dword [esi + 0xcc], 0
mov dword [esi + 0xc8], 0
mov eax, dword [esi]
test byte [eax + 0x90], 4
je 0x1001212e
push ecx
push esi
push str.INFO:_Voice__p__finished_with_buffer__p
push str.FAudio_INTERNAL_DecodeBuffers
push 0x1f5
push str.libs_faudio_src_FAudio_internal.c
push eax
mov ebx, edx
call dbg.FAudio_INTERNAL_debug
mov edx, ebx
add esp, 0x1c
mov ecx, dword [esi + 0xd0]
mov eax, dword [ecx + 0x2c]
mov dword [esi + 0xd0], eax
test eax, eax
mov dword [esp], eax
mov dword [esp + 8], ecx
je 0x10012153
mov eax, dword [eax + 0xc]
mov dword [esi + 0xa0], eax
jmp 0x10012188
mov ecx, dword [esi]
mov eax, dword [esi + 0xac]
mov ebx, edx
movzx edx, word [eax + 2]
mov eax, ebx
imul eax, edx
shl eax, 2
add eax, dword [ecx + 0x70]
mov ecx, edi
sub ecx, ebx
imul ecx, edx
shl ecx, 2
push ecx
push 0
push eax
call sym._memset
mov ecx, dword [esp + 0x14]
mov edx, ebx
add esp, 0xc
mov dword [esp + 0xc], edx
cmp dword [esi + 0xb8], 0
je 0x1001252b
push dword [esi + 0xd8]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x100121da
push str.voice__src.bufferLock
push dword [esi + 0xd8]
push 0x10031f26
push str.FAudio_INTERNAL_DecodeBuffers
push 0x214
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [esi + 0x58]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10012217
push str.voice__sendLock
push dword [esi + 0x58]
push 0x10031f26
push str.FAudio_INTERNAL_DecodeBuffers
push 0x217
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi]
push dword [eax + 0x20]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10012252
push str.voice__audio__sourceLock
push dword [eax + 0x20]
push 0x10031f26
push str.FAudio_INTERNAL_DecodeBuffers
push 0x21a
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi + 0xb8]
mov ecx, dword [eax]
test ecx, ecx
mov ebx, dword [esp + 8]
je 0x1001226b
push dword [ebx + 0x20]
push eax
call ecx
add esp, 8
test byte [ebx], 0x40
je 0x10012283
mov eax, dword [esi + 0xb8]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x10012283
push eax
call ecx
add esp, 4
mov eax, dword [esi]
push dword [eax + 0x20]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x100122c0
push str.voice__audio__sourceLock
push dword [eax + 0x20]
push 0x10031f00
push str.FAudio_INTERNAL_DecodeBuffers
push 0x22c
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [esi + 0x58]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x100122fb
push str.voice__sendLock
push dword [esi + 0x58]
push 0x10031f00
push str.FAudio_INTERNAL_DecodeBuffers
push 0x22f
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [esi + 0xd8]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x1001233c
push str.voice__src.bufferLock
push dword [esi + 0xd8]
push 0x10031f00
push str.FAudio_INTERNAL_DecodeBuffers
push 0x232
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov ecx, dword [esp]
test ecx, ecx
jne 0x1001235a
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x10012520
mov eax, dword [ecx + 0xc]
mov dword [esi + 0xa0], eax
mov dword [esp], ecx
mov eax, dword [esi + 0xb8]
cmp dword [eax + 4], 0
je 0x10012527
push dword [esi + 0xd8]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x100123ae
push str.voice__src.bufferLock
push dword [esi + 0xd8]
push 0x10031f26
push str.FAudio_INTERNAL_DecodeBuffers
push 0x23e
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [esi + 0x58]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x100123eb
push str.voice__sendLock
push dword [esi + 0x58]
push 0x10031f26
push str.FAudio_INTERNAL_DecodeBuffers
push 0x241
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi]
push dword [eax + 0x20]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10012426
push str.voice__audio__sourceLock
push dword [eax + 0x20]
push 0x10031f26
push str.FAudio_INTERNAL_DecodeBuffers
push 0x244
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi + 0xb8]
mov ecx, dword [esp]
push dword [ecx + 0x20]
push eax
call dword [eax + 4]
add esp, 8
mov eax, dword [esi]
push dword [eax + 0x20]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10012476
push str.voice__audio__sourceLock
push dword [eax + 0x20]
push 0x10031f00
push str.FAudio_INTERNAL_DecodeBuffers
push 0x24c
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [esi + 0x58]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x100124b1
push str.voice__sendLock
push dword [esi + 0x58]
push 0x10031f00
push str.FAudio_INTERNAL_DecodeBuffers
push 0x24f
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [esi + 0xd8]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10012527
push str.voice__src.bufferLock
push dword [esi + 0xd8]
push 0x10031f00
push str.FAudio_INTERNAL_DecodeBuffers
push 0x252
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
jmp 0x10012527
push str.voice__src.bufferLock
push dword [esi + 0xd8]
push 0x10031f00
push str.FAudio_INTERNAL_DecodeBuffers
push 0x1de
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov edx, ebx
jmp 0x1001253b
mov dword [esp], 0
mov ecx, dword [esp + 8]
mov eax, dword [esi]
push ecx
call dword [eax + 0x80]
add esp, 4
mov edx, dword [esp + 0xc]
mov ecx, dword [esp]
cmp edi, edx
jbe 0x1001254a
test ecx, ecx
jne 0x10011c90
mov eax, dword [esi]
test ecx, ecx
je 0x10013177
mov dword [esp + 8], eax
mov eax, ecx
mov dword [esp], 0
mov edi, esi
mov ebx, edx
xor ecx, ecx
cmp dword [eax + 0x1c], 0
setne cl
mov esi, dword [eax + ecx*8 + 0x10]
add esi, dword [eax + ecx*8 + 0xc]
sub esi, dword [edi + 0xa0]
cmp esi, 2
mov ecx, 2
cmovb ecx, esi
mov edx, dword [edi + 0xac]
movzx edx, word [edx + 2]
mov dword [esp + 0xc], ebx
imul edx, ebx
shl edx, 2
mov ebx, dword [esp + 8]
add edx, dword [ebx + 0x70]
push ecx
push edx
push eax
push edi
call dword [edi + 0xb0]
add esp, 0x10
cmp esi, 1
ja 0x100125e6
mov ecx, dword [edi]
mov eax, dword [edi + 0xac]
movzx edx, word [eax + 2]
mov eax, dword [esp + 0xc]
imul eax, edx
shl eax, 2
add eax, dword [ecx + 0x70]
shl esi, 2
mov ecx, 8
sub ecx, esi
imul ecx, edx
push ecx
push 0
push eax
call sym._memset
add esp, 0xc
mov esi, edi
mov edi, dword [esp]
mov eax, dword [esi]
test byte [eax + 0x90], 0x20
je 0x10012618
push str.FAudio_INTERNAL_DecodeBuffers
push str.FUNC_Exit:__s
push str.FAudio_INTERNAL_DecodeBuffers
push 0x28b
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x18
mov eax, dword [esi + 0x98]
or eax, dword [esi + 0x9c]
je 0x1001264a
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0xcc]
mov edx, eax
or edx, ecx
je 0x1001264a
add eax, 0xffffffff
adc ecx, 0xffffffff
mov dword [esi + 0xc8], eax
mov dword [esi + 0xcc], ecx
mov eax, dword [esi + 0xb8]
test eax, eax
je 0x100127e1
cmp dword [eax + 0x14], 0
je 0x100127e1
push dword [esi + 0xd8]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x100126a3
push str.voice__src.bufferLock
push dword [esi + 0xd8]
push 0x10031f26
push str.FAudio_INTERNAL_MixSource
push 0x3bc
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [esi + 0x58]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x100126e0
push str.voice__sendLock
push dword [esi + 0x58]
push 0x10031f26
push str.FAudio_INTERNAL_MixSource
push 0x3bf
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi]
push dword [eax + 0x20]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x1001271b
push str.voice__audio__sourceLock
push dword [eax + 0x20]
push 0x10031f26
push str.FAudio_INTERNAL_MixSource
push 0x3c2
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi + 0xb8]
push eax
call dword [eax + 0x14]
add esp, 4
mov eax, dword [esi]
push dword [eax + 0x20]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10012765
push str.voice__audio__sourceLock
push dword [eax + 0x20]
push 0x10031f00
push str.FAudio_INTERNAL_MixSource
push 0x3c9
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [esi + 0x58]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x100127a0
push str.voice__sendLock
push dword [esi + 0x58]
push 0x10031f00
push str.FAudio_INTERNAL_MixSource
push 0x3cc
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [esi + 0xd8]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x100127e1
push str.voice__src.bufferLock
push dword [esi + 0xd8]
push 0x10031f00
push str.FAudio_INTERNAL_MixSource
push 0x3cf
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov ecx, dword [esp + 0xc]
or edi, ecx
je 0x10012850
mov eax, 0xffffffff
sub eax, dword [esi + 0x98]
sbb ecx, dword [esi + 0x9c]
mov edx, dword [esi + 0x88]
mov dword [esp], edx
mov edi, dword [esi + 0x8c]
push edi
push edx
push ecx
push eax
call sym.___udivdi3
add esp, 0x10
mov ecx, eax
add ecx, 2
adc edx, 0
mov ebx, dword [esi + 0x7c]
cmp ecx, ebx
mov eax, edx
sbb eax, 0
mov eax, 0
cmovae edx, eax
cmovae ecx, ebx
mov dword [esp + 0x10], ecx
xor edi, 1
or edi, dword [esp]
mov edi, dword [esi]
jne 0x100129ee
add edi, 0x70
mov ebx, dword [esp + 0x10]
jmp 0x10012ab0
push dword [esi + 0xd8]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10012891
push str.voice__src.bufferLock
push dword [esi + 0xd8]
push 0x10031f26
push str.FAudio_INTERNAL_MixSource
push 0x3d6
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [esi + 0x58]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
mov ecx, dword [eax + 0x90]
test cl, cl
jns 0x100128d5
push str.voice__sendLock
push dword [esi + 0x58]
push 0x10031f26
push str.FAudio_INTERNAL_MixSource
push 0x3d9
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi]
mov ecx, dword [eax + 0x90]
test cl, 0x20
je 0x1001164e
push str.FAudio_INTERNAL_MixSource
push str.FUNC_Exit:__s
push str.FAudio_INTERNAL_MixSource
push 0x3db
jmp 0x10011640
push dword [esi + 0x58]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10012934
push str.voice__sendLock
push dword [esi + 0x58]
push 0x10031f26
push str.FAudio_INTERNAL_MixSource
push 0x399
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi]
push dword [eax + 0x20]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x1001296f
push str.voice__audio__sourceLock
push dword [eax + 0x20]
push 0x10031f26
push str.FAudio_INTERNAL_MixSource
push 0x39c
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi + 0xb8]
test eax, eax
je 0x10012986
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x10012986
push eax
call ecx
add esp, 4
mov eax, dword [esi]
push dword [eax + 0x20]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
mov ecx, dword [eax + 0x90]
test cl, cl
jns 0x100129cc
push str.voice__audio__sourceLock
push dword [eax + 0x20]
push 0x10031f00
push str.FAudio_INTERNAL_MixSource
push 0x3a7
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi]
mov ecx, dword [eax + 0x90]
test cl, 0x20
je 0x1001164e
push str.FAudio_INTERNAL_MixSource
push str.FUNC_Exit:__s
push str.FAudio_INTERNAL_MixSource
push 0x3a9
jmp 0x10011640
mov dword [esp], edx
mov eax, dword [esi + 0xac]
movzx esi, word [eax + 2]
test byte [edi + 0x90], 0x20
je 0x10012a26
push str.FAudio_INTERNAL_ResizeResampleCache
push str.FUNC_Enter:__s
push str.FAudio_INTERNAL_ResizeResampleCache
push 0x31f
push str.libs_faudio_src_FAudio_internal.c
push edi
call dbg.FAudio_INTERNAL_debug
add esp, 0x18
imul ebx, esi
cmp dword [edi + 0x68], ebx
jae 0x10012a44
mov dword [edi + 0x68], ebx
shl ebx, 2
push ebx
push dword [edi + 0x74]
call dword [edi + 0x84]
add esp, 8
mov dword [edi + 0x74], eax
test byte [edi + 0x90], 0x20
je 0x10012a6f
push str.FAudio_INTERNAL_ResizeResampleCache
push str.FUNC_Exit:__s
push str.FAudio_INTERNAL_ResizeResampleCache
push 0x328
push str.libs_faudio_src_FAudio_internal.c
push edi
call dbg.FAudio_INTERNAL_debug
add esp, 0x18
mov esi, dword [esp + 4]
mov eax, dword [esi]
lea ecx, [esi + 0x90]
mov edx, dword [esi + 0xac]
movzx edx, byte [edx + 2]
push edx
push dword [esp + 4]
mov ebx, dword [esp + 0x18]
push ebx
push dword [esi + 0x8c]
push dword [esi + 0x88]
push ecx
push dword [eax + 0x74]
push dword [eax + 0x70]
call dword [esi + 0xb4]
add esp, 0x20
mov edi, dword [esi]
add edi, 0x74
mov eax, dword [edi]
mov dword [esp + 0x20], eax
cmp dword [esi + 0xd0], 0
je 0x10012aed
mov eax, dword [esi + 0x88]
imul eax, ebx
mov dword [esi + 0x9c], 0
add dword [esi + 0x98], eax
je 0x10012b0b
mov eax, dword [esi + 0xa0]
test eax, eax
je 0x10012b0b
dec eax
mov dword [esi + 0xa0], eax
jmp 0x10012b0b
mov dword [esi + 0x9c], 0
mov dword [esi + 0x98], 0
mov dword [esi + 0xa0], 0
push dword [esi + 0xd8]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10012b4c
push str.voice__src.bufferLock
push dword [esi + 0xd8]
push 0x10031f26
push str.FAudio_INTERNAL_MixSource
push 0x41c
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov dword [esp + 0x28], ebx
test byte [esi + 4], 8
je 0x10012d4e
push dword [esi + 0x60]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov edx, dword [esi]
mov eax, dword [edx + 0x90]
test al, al
jns 0x10012b9e
push str.voice__filterLock
push dword [esi + 0x60]
push 0x10031f00
push str.FAudio_INTERNAL_MixSource
push 0x425
push str.libs_faudio_src_FAudio_internal.c
push edx
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov edx, dword [esi]
mov eax, dword [edx + 0x90]
movss xmm4, dword [0x10031db0]
mov edi, dword [esi + 0x54]
mov ecx, dword [esi + 0xac]
movzx ecx, word [ecx + 2]
mov dword [esp + 0x1c], ecx
test al, 0x20
je 0x10012be9
push str.FAudio_INTERNAL_FilterVoice
push str.FUNC_Enter:__s
push str.FAudio_INTERNAL_FilterVoice
push 0x298
push str.libs_faudio_src_FAudio_internal.c
push edx
mov esi, edx
call dbg.FAudio_INTERNAL_debug
mov edx, esi
movss xmm4, dword [0x10031db0]
add esp, 0x18
mov dword [esp + 0x14], edx
test ebx, ebx
je 0x10012ce0
mov eax, dword [esp + 0x1c]
shl eax, 2
xor ecx, ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x10], ebx
jmp 0x10012c23
mov ecx, dword [esp + 8]
inc ecx
add edx, eax
mov ebx, dword [esp + 0x10]
cmp ecx, ebx
je 0x10012ce0
mov dword [esp + 8], ecx
cmp word [esp + 0x1c], 0
mov ecx, dword [esp + 4]
je 0x10012c10
xor ebx, ebx
mov dword [esp + 0xc], edx
nop dword [eax]
movss xmm1, dword [edi + ebx*4 + 4]
movss xmm0, dword [ecx + 0x48]
mulss xmm0, xmm1
addss xmm0, dword [edi + ebx*4]
movss dword [edi + ebx*4], xmm0
movss xmm2, dword [edx + ebx]
subss xmm2, xmm0
movss xmm3, dword [ecx + 0x4c]
mulss xmm3, xmm1
subss xmm2, xmm3
movss dword [edi + ebx*4 + 8], xmm2
addss xmm0, xmm2
mulss xmm2, dword [ecx + 0x48]
lea esi, [edi + ebx*4]
mov dword [esp], esi
addss xmm2, xmm1
movss dword [edi + ebx*4 + 4], xmm2
movss dword [edi + ebx*4 + 0xc], xmm0
mov esi, eax
mov edx, dword [ecx + 0x44]
movss xmm0, dword [ecx + 0x50]
movaps xmm1, xmm4
subss xmm1, xmm0
mov eax, edi
mov edi, dword [esp]
mulss xmm0, dword [edi + edx*4]
mov edi, eax
mov eax, esi
mov edx, dword [esp + 0xc]
mulss xmm1, dword [edx + ebx]
addss xmm0, xmm1
movss dword [edx + ebx], xmm0
add ebx, 4
cmp esi, ebx
jne 0x10012c40
jmp 0x10012c10
mov eax, dword [esp + 0x14]
test byte [eax + 0x90], 0x20
je 0x10012d0f
push str.FAudio_INTERNAL_FilterVoice
push str.FUNC_Exit:__s
push str.FAudio_INTERNAL_FilterVoice
push 0x2b3
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x18
mov esi, dword [esp + 4]
push dword [esi + 0x60]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10012d4e
push str.voice__filterLock
push dword [esi + 0x60]
push 0x10031f26
push str.FAudio_INTERNAL_MixSource
push 0x42f
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [esi + 0x5c]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10012d89
push str.voice__effectLock
push dword [esi + 0x5c]
push 0x10031f00
push str.FAudio_INTERNAL_MixSource
push 0x434
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
cmp dword [esi + 0x2c], 0
je 0x10012dda
mov eax, dword [esi + 0x7c]
sub eax, ebx
jbe 0x10012dc3
mov ecx, dword [esi + 0xac]
movzx ecx, word [ecx + 2]
imul ebx, ecx
mov edx, dword [esp + 0x20]
lea edx, [edx + ebx*4]
imul eax, ecx
shl eax, 2
push eax
push 0
push edx
call sym._memset
add esp, 0xc
mov eax, dword [esi + 0x7c]
mov dword [esp + 0x28], eax
mov ecx, esi
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x28]
push eax
call dbg.FAudio_INTERNAL_ProcessEffectChain
add esp, 4
mov dword [esp + 0x20], eax
push dword [esi + 0x5c]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10012e15
push str.voice__effectLock
push dword [esi + 0x5c]
push 0x10031f26
push str.FAudio_INTERNAL_MixSource
push 0x449
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
cmp dword [esi + 0xc], 0
je 0x10013111
push dword [esi + 0x70]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x10012e5a
push str.voice__volumeLock
push dword [esi + 0x70]
push 0x10031f00
push str.FAudio_INTERNAL_MixSource
push 0x456
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
cmp dword [esi + 0xc], 0
je 0x10013070
xor edi, edi
mov eax, dword [esp + 0x28]
mov dword [esp + 0x14], eax
jmp 0x10012e7c
inc edi
cmp edi, dword [ebx + 0xc]
mov esi, ebx
jae 0x10013070
mov dword [esp + 0x24], edi
mov eax, dword [esi + 0x10]
mov eax, dword [eax + edi*8 + 4]
lea edx, [eax + 0x94]
xor ecx, ecx
cmp dword [eax + 8], 2
mov ebx, esi
lea esi, [eax + 0x80]
cmove edx, esi
mov edi, dword [ebx + 0x18]
setne cl
mov edx, dword [edx]
mov esi, dword [eax + ecx*8 + 0x78]
mov eax, dword [ebx + 0x1c]
mov ecx, dword [esp + 0x24]
push dword [edi + ecx*4]
mov edi, dword [esp + 0x28]
push esi
push dword [esp + 0x28]
mov dword [esp + 0xc], edx
push edx
push dword [ebx + 0x6c]
push dword [esp + 0x28]
call dword [eax + edi*4]
add esp, 0x18
mov eax, dword [ebx + 0x10]
test byte [eax + edi*8], 0x80
je 0x10012e70
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x20]
mov eax, dword [ebx + 0x24]
mov edi, dword [eax + edi*4]
mov dword [esp + 0x34], ecx
test byte [ecx + 0x90], 0x20
je 0x10012f19
push str.FAudio_INTERNAL_FilterVoice
push str.FUNC_Enter:__s
push str.FAudio_INTERNAL_FilterVoice
push 0x298
push str.libs_faudio_src_FAudio_internal.c
push dword [esp + 0x48]
mov ebx, edx
call dbg.FAudio_INTERNAL_debug
mov edx, ebx
add esp, 0x18
cmp dword [esp + 0x14], 0
movss xmm4, dword [0x10031db0]
je 0x10013030
mov ecx, dword [esp + 0x24]
shl ecx, 4
lea ebx, [edx + ecx]
movzx eax, word [esp]
add edx, ecx
add edx, 4
mov dword [esp + 0x18], eax
lea ecx, [eax*4]
xor eax, eax
mov dword [esp + 0x10], ecx
jmp 0x10012f71
mov eax, dword [esp + 0x1c]
inc eax
add esi, ecx
cmp eax, dword [esp + 0x14]
je 0x10013030
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x18], 0
je 0x10012f60
xor eax, eax
mov dword [esp + 8], esi
nop word cs:[eax + eax]
movss xmm1, dword [edi + eax*4 + 4]
movss xmm0, dword [edx]
mulss xmm0, xmm1
addss xmm0, dword [edi + eax*4]
movss dword [edi + eax*4], xmm0
movss xmm2, dword [esi + eax]
subss xmm2, xmm0
movss xmm3, dword [edx + 4]
mulss xmm3, xmm1
subss xmm2, xmm3
movss dword [edi + eax*4 + 8], xmm2
addss xmm0, xmm2
mulss xmm2, dword [edx]
lea esi, [edi + eax*4]
mov dword [esp], esi
addss xmm2, xmm1
movss dword [edi + eax*4 + 4], xmm2
movss dword [edi + eax*4 + 0xc], xmm0
mov ecx, dword [ebx]
mov dword [esp + 0xc], ecx
movss xmm0, dword [edx + 8]
movaps xmm1, xmm4
subss xmm1, xmm0
mov esi, dword [esp]
mov ecx, dword [esp + 0xc]
mulss xmm0, dword [esi + ecx*4]
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mulss xmm1, dword [esi + eax]
addss xmm0, xmm1
movss dword [esi + eax], xmm0
add eax, 4
cmp ecx, eax
jne 0x10012f90
jmp 0x10012f60
mov eax, dword [esp + 0x34]
test byte [eax + 0x90], 0x20
mov ebx, dword [esp + 4]
mov edi, dword [esp + 0x24]
je 0x10012e70
push str.FAudio_INTERNAL_FilterVoice
push str.FUNC_Exit:__s
push str.FAudio_INTERNAL_FilterVoice
push 0x2b3
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x18
jmp 0x10012e70
push dword [esi + 0x70]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
test byte [eax + 0x90], 0x80
je 0x100130ab
push str.voice__volumeLock
push dword [esi + 0x70]
push 0x10031f26
push str.FAudio_INTERNAL_MixSource
push 0x47b
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [esi + 0x58]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
mov ecx, dword [eax + 0x90]
test cl, cl
jns 0x100130ef
push str.voice__sendLock
push dword [esi + 0x58]
push 0x10031f26
push str.FAudio_INTERNAL_MixSource
push 0x47e
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi]
mov ecx, dword [eax + 0x90]
test cl, 0x20
je 0x1001164e
push str.FAudio_INTERNAL_MixSource
push str.FUNC_Exit:__s
push str.FAudio_INTERNAL_MixSource
push 0x47f
jmp 0x10011640
push dword [esi + 0x58]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [esi]
mov ecx, dword [eax + 0x90]
test cl, cl
jns 0x10013155
push str.voice__sendLock
push dword [esi + 0x58]
push 0x10031f26
push str.FAudio_INTERNAL_MixSource
push 0x44f
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi]
mov ecx, dword [eax + 0x90]
test cl, 0x20
je 0x1001164e
push str.FAudio_INTERNAL_MixSource
push str.FUNC_Exit:__s
push str.FAudio_INTERNAL_MixSource
push 0x450
jmp 0x10011640
mov ecx, dword [esi + 0xac]
movzx ecx, word [ecx + 2]
mov dword [esp + 0xc], edx
imul edx, ecx
shl edx, 2
add edx, dword [eax + 0x70]
xor edi, edi
shl ecx, 3
push ecx
push 0
push edx
call sym._memset
add esp, 0xc
jmp 0x100125eb
mov esi, dword [ebp + 8]
mov dword [esi + 0x60], 0
push dword [esi + 0x20]
call sym._FAudio_PlatformUnlockMutex
mov eax, esi
add esp, 4
test byte [esi + 0x90], 0x80
je 0x100131ec
push str.audio__sourceLock
push dword [eax + 0x20]
push 0x10031f26
push str.FAudio_INTERNAL_GenerateOutput
push 0x57d
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
mov eax, dword [ebp + 8]
add esp, 0x1c
push dword [eax + 0x24]
call sym._FAudio_PlatformLockMutex
mov eax, dword [ebp + 8]
add esp, 4
test byte [eax + 0x90], 0x80
je 0x1001322b
push str.audio__submixLock
push dword [eax + 0x24]
push 0x10031f00
push str.FAudio_INTERNAL_GenerateOutput
push 0x581
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
mov eax, dword [ebp + 8]
add esp, 0x1c
mov eax, dword [eax + 0x18]
jmp 0x10013237
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 4]
test eax, eax
je 0x100139f1
mov dword [esp + 0x34], eax
mov edi, dword [eax]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov eax, dword [edi]
test byte [eax + 0x90], 0x20
je 0x10013282
push str.FAudio_INTERNAL_MixSubmix
push str.FUNC_Enter:__s
push str.FAudio_INTERNAL_MixSubmix
push 0x48c
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x18
push dword [edi + 0x58]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [edi]
test byte [eax + 0x90], 0x80
je 0x100132bd
push str.voice__sendLock
push dword [edi + 0x58]
push 0x10031f00
push str.FAudio_INTERNAL_MixSubmix
push 0x48e
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [edi + 0x8c]
xor eax, 1
or eax, dword [edi + 0x88]
movss xmm1, dword [0x10031db0]
mov dword [esp + 0x18], edi
jne 0x100132f0
lea eax, [edi + 0x80]
jmp 0x10013382
mov esi, dword [edi]
mov eax, edi
mov edi, dword [edi + 0x94]
imul edi, dword [eax + 0x7c]
test byte [esi + 0x90], 0x20
jne 0x100138b0
cmp dword [esi + 0x68], edi
jb 0x100138db
test byte [esi + 0x90], 0x20
je 0x1001333f
push str.FAudio_INTERNAL_ResizeResampleCache
push str.FUNC_Exit:__s
push str.FAudio_INTERNAL_ResizeResampleCache
push 0x328
push str.libs_faudio_src_FAudio_internal.c
push esi
call dbg.FAudio_INTERNAL_debug
add esp, 0x18
mov edi, dword [esp + 0x18]
mov eax, dword [edi]
movzx ecx, byte [edi + 0x94]
push ecx
push 0
push dword [edi + 0x7c]
push dword [edi + 0x8c]
push dword [edi + 0x88]
lea ecx, [esp + 0x3c]
push ecx
push dword [eax + 0x74]
push dword [edi + 0x80]
call dword [edi + 0x90]
add esp, 0x20
mov eax, dword [edi]
add eax, 0x74
movss xmm1, dword [0x10031db0]
mov esi, dword [eax]
mov ecx, dword [edi + 0x94]
mov ebx, dword [edi + 0x7c]
imul ebx, ecx
movss xmm0, dword [edi + 0x64]
ucomiss xmm0, xmm1
jne 0x1001339c
jnp 0x100133bc
sub esp, 0xc
movss dword [esp + 8], xmm0
mov dword [esp + 4], ebx
mov dword [esp], esi
mov eax, dword [0x100363e4]
call dword [eax]
add esp, 0xc
mov ecx, dword [edi + 0x94]
mov eax, ebx
xor edx, edx
div ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], eax
test byte [edi + 4], 8
je 0x100134e4
mov dword [esp + 0xc], ecx
mov dword [esp], ebx
push dword [edi + 0x60]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov ebx, dword [edi]
mov eax, dword [ebx + 0x90]
test al, al
mov dword [esp + 4], esi
jns 0x10013423
push str.voice__filterLock
push dword [edi + 0x60]
push 0x10031f00
push str.FAudio_INTERNAL_MixSubmix
push 0x4b7
push str.libs_faudio_src_FAudio_internal.c
push ebx
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov ebx, dword [edi]
mov eax, dword [ebx + 0x90]
mov ecx, edi
mov edi, dword [edi + 0x54]
movzx ecx, word [ecx + 0x94]
mov dword [esp + 0x1c], ecx
test al, 0x20
je 0x10013459
push str.FAudio_INTERNAL_FilterVoice
push str.FUNC_Enter:__s
push str.FAudio_INTERNAL_FilterVoice
push 0x298
push str.libs_faudio_src_FAudio_internal.c
push ebx
call dbg.FAudio_INTERNAL_debug
add esp, 0x18
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0xc]
cmp eax, dword [esp]
movss xmm4, dword [0x10031db0]
jbe 0x10013910
mov eax, dword [esp + 0x14]
test byte [eax + 0x90], 0x20
je 0x100134a1
push str.FAudio_INTERNAL_FilterVoice
push str.FUNC_Exit:__s
push str.FAudio_INTERNAL_FilterVoice
push 0x2b3
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x18
mov edi, dword [esp + 0x18]
push dword [edi + 0x60]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [edi]
test byte [eax + 0x90], 0x80
mov esi, dword [esp + 4]
je 0x100134e4
push str.voice__filterLock
push dword [edi + 0x60]
push 0x10031f26
push str.FAudio_INTERNAL_MixSubmix
push 0x4c1
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [edi + 0x5c]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [edi]
test byte [eax + 0x90], 0x80
je 0x1001351f
push str.voice__effectLock
push dword [edi + 0x5c]
push 0x10031f00
push str.FAudio_INTERNAL_MixSubmix
push 0x4c6
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
cmp dword [edi + 0x2c], 0
je 0x10013538
mov ecx, edi
mov edx, esi
lea eax, [esp + 0x3c]
push eax
call dbg.FAudio_INTERNAL_ProcessEffectChain
add esp, 4
mov esi, eax
push dword [edi + 0x5c]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [edi]
test byte [eax + 0x90], 0x80
je 0x10013573
push str.voice__effectLock
push dword [edi + 0x5c]
push 0x10031f26
push str.FAudio_INTERNAL_MixSubmix
push 0x4d0
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
cmp dword [edi + 0xc], 0
je 0x1001381b
mov dword [esp + 4], esi
push dword [edi + 0x70]
call sym._FAudio_PlatformLockMutex
add esp, 4
mov eax, dword [edi]
test byte [eax + 0x90], 0x80
je 0x100135bc
push str.voice__volumeLock
push dword [edi + 0x70]
push 0x10031f00
push str.FAudio_INTERNAL_MixSubmix
push 0x4da
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
cmp dword [edi + 0xc], 0
je 0x100137e0
xor ecx, ecx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
jmp 0x100135ea
inc ecx
cmp ecx, dword [edi + 0xc]
jae 0x100137e0
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x10]
mov eax, dword [eax + ecx*8 + 4]
lea edx, [eax + 0x94]
xor ecx, ecx
cmp dword [eax + 8], 2
lea esi, [eax + 0x80]
cmove edx, esi
mov esi, dword [esp + 0x18]
mov edi, dword [esi + 0x18]
setne cl
mov esi, dword [edx]
mov ebx, dword [eax + ecx*8 + 0x78]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x1c]
mov ecx, dword [esp + 0x14]
push dword [edi + ecx*4]
mov edi, dword [esp + 0x1c]
push ebx
push dword [esp + 0xc]
push esi
push dword [edi + 0x6c]
push dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
call dword [eax + ecx*4]
mov ecx, dword [esp + 0x2c]
add esp, 0x18
mov eax, dword [edi + 0x10]
test byte [eax + ecx*8], 0x80
je 0x100135e0
mov edx, dword [edi]
mov eax, dword [edi + 0x20]
mov dword [esp], eax
mov eax, dword [edi + 0x24]
mov edi, dword [eax + ecx*4]
mov dword [esp + 0x24], edx
test byte [edx + 0x90], 0x20
je 0x10013690
push str.FAudio_INTERNAL_FilterVoice
push str.FUNC_Enter:__s
push str.FAudio_INTERNAL_FilterVoice
push 0x298
push str.libs_faudio_src_FAudio_internal.c
push dword [esp + 0x38]
call dbg.FAudio_INTERNAL_debug
add esp, 0x18
cmp dword [esp + 0x10], 0
movss xmm4, dword [0x10031db0]
je 0x10013790
mov ecx, dword [esp + 0x14]
shl ecx, 4
mov edx, dword [esp]
lea eax, [edx + ecx]
mov dword [esp + 0xc], eax
movzx eax, si
add ecx, edx
add ecx, 4
mov dword [esp + 0x1c], eax
lea eax, [eax*4]
xor edx, edx
jmp 0x100136e1
mov edx, dword [esp + 8]
inc edx
add ebx, eax
cmp edx, dword [esp + 0x10]
je 0x10013790
mov dword [esp + 8], edx
cmp dword [esp + 0x1c], 0
je 0x100136d0
xor esi, esi
mov dword [esp], ebx
nop word cs:[eax + eax]
movss xmm1, dword [edi + esi*4 + 4]
movss xmm0, dword [ecx]
mulss xmm0, xmm1
addss xmm0, dword [edi + esi*4]
movss dword [edi + esi*4], xmm0
movss xmm2, dword [ebx + esi]
subss xmm2, xmm0
movss xmm3, dword [ecx + 4]
mulss xmm3, xmm1
subss xmm2, xmm3
movss dword [edi + esi*4 + 8], xmm2
addss xmm0, xmm2
mulss xmm2, dword [ecx]
mov ebx, eax
lea edx, [edi + esi*4]
addss xmm2, xmm1
movss dword [edi + esi*4 + 4], xmm2
movss dword [edi + esi*4 + 0xc], xmm0
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
movss xmm0, dword [ecx + 8]
movaps xmm1, xmm4
subss xmm1, xmm0
mulss xmm0, dword [edx + eax*4]
mov eax, ebx
mov ebx, dword [esp]
mulss xmm1, dword [ebx + esi]
addss xmm0, xmm1
movss dword [ebx + esi], xmm0
add esi, 4
cmp eax, esi
jne 0x10013700
jmp 0x100136d0
mov eax, dword [esp + 0x24]
test byte [eax + 0x90], 0x20
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
je 0x100135e0
push str.FAudio_INTERNAL_FilterVoice
push str.FUNC_Exit:__s
push str.FAudio_INTERNAL_FilterVoice
push 0x2b3
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
mov ecx, dword [esp + 0x2c]
add esp, 0x18
jmp 0x100135e0
push dword [edi + 0x70]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [edi]
test byte [eax + 0x90], 0x80
je 0x1001381b
push str.voice__volumeLock
push dword [edi + 0x70]
push 0x10031f26
push str.FAudio_INTERNAL_MixSubmix
push 0x4ff
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
push dword [edi + 0x58]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov eax, dword [edi]
test byte [eax + 0x90], 0x80
je 0x10013856
push str.voice__sendLock
push dword [edi + 0x58]
push 0x10031f26
push str.FAudio_INTERNAL_MixSubmix
push 0x504
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [edi + 0x78]
shl eax, 2
push eax
push 0
push dword [edi + 0x80]
call sym._memset
add esp, 0xc
mov eax, dword [edi]
test byte [eax + 0x90], 0x20
je 0x10013230
push str.FAudio_INTERNAL_MixSubmix
push str.FUNC_Exit:__s
push str.FAudio_INTERNAL_MixSubmix
push 0x509
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
add esp, 0x18
jmp 0x10013230
push str.FAudio_INTERNAL_ResizeResampleCache
push str.FUNC_Enter:__s
push str.FAudio_INTERNAL_ResizeResampleCache
push 0x31f
push str.libs_faudio_src_FAudio_internal.c
push esi
call dbg.FAudio_INTERNAL_debug
add esp, 0x18
cmp dword [esi + 0x68], edi
jae 0x10013314
mov dword [esi + 0x68], edi
shl edi, 2
push edi
push dword [esi + 0x74]
call dword [esi + 0x84]
add esp, 8
mov dword [esi + 0x74], eax
test byte [esi + 0x90], 0x20
jne 0x1001331d
jmp 0x1001333f
mov eax, dword [esp + 0x1c]
lea ecx, [eax*4]
xor eax, eax
mov edx, dword [esp + 4]
jmp 0x10013941
mov eax, dword [esp + 8]
inc eax
add edx, ecx
cmp eax, dword [esp + 0x10]
je 0x10013472
mov dword [esp + 8], eax
cmp dword [esp + 0x1c], 0
mov eax, dword [esp + 0x18]
je 0x10013930
xor esi, esi
mov dword [esp + 0xc], edx
nop word cs:[eax + eax]
movss xmm1, dword [edi + esi*4 + 4]
movss xmm0, dword [eax + 0x48]
mulss xmm0, xmm1
addss xmm0, dword [edi + esi*4]
movss dword [edi + esi*4], xmm0
movss xmm2, dword [edx + esi]
subss xmm2, xmm0
movss xmm3, dword [eax + 0x4c]
mulss xmm3, xmm1
subss xmm2, xmm3
movss dword [edi + esi*4 + 8], xmm2
addss xmm0, xmm2
mulss xmm2, dword [eax + 0x48]
lea edx, [edi + esi*4]
mov dword [esp], edx
addss xmm2, xmm1
movss dword [edi + esi*4 + 4], xmm2
movss dword [edi + esi*4 + 0xc], xmm0
mov edx, ecx
mov ecx, dword [eax + 0x44]
movss xmm0, dword [eax + 0x50]
movaps xmm1, xmm4
subss xmm1, xmm0
mov ebx, dword [esp]
mulss xmm0, dword [ebx + ecx*4]
mov ecx, edx
mov edx, dword [esp + 0xc]
mulss xmm1, dword [edx + esi]
addss xmm0, xmm1
movss dword [edx + esi], xmm0
add esi, 4
cmp ecx, esi
jne 0x10013960
jmp 0x10013930
mov esi, dword [ebp + 8]
push dword [esi + 0x24]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
test byte [esi + 0x90], 0x80
je 0x10013a2d
push str.audio__submixLock
push dword [esi + 0x24]
push 0x10031f26
push str.FAudio_INTERNAL_GenerateOutput
push 0x589
push str.libs_faudio_src_FAudio_internal.c
push esi
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov eax, dword [esi + 0x10]
movss xmm0, dword [eax + 0x64]
ucomiss xmm0, dword [0x10031db0]
jne 0x10013a40
jnp 0x10013a6b
mov ecx, dword [0x100363e4]
mov edx, dword [eax + 0x78]
mov eax, dword [eax + 0x80]
imul eax, dword [esi + 0xc]
sub esp, 0xc
movss dword [esp + 8], xmm0
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [ecx]
add esp, 0xc
mov eax, dword [esi + 0x10]
push dword [eax + 0x5c]
call sym._FAudio_PlatformLockMutex
add esp, 4
test byte [esi + 0x90], 0x80
je 0x10013aa7
mov eax, dword [esi + 0x10]
push str.audio__master__effectLock
push dword [eax + 0x5c]
push 0x10031f00
push str.FAudio_INTERNAL_GenerateOutput
push 0x597
push str.libs_faudio_src_FAudio_internal.c
push esi
call dbg.FAudio_INTERNAL_debug
add esp, 0x1c
mov ecx, dword [esi + 0x10]
cmp dword [ecx + 0x2c], 0
je 0x10013b11
mov edi, esi
mov eax, dword [esi + 0xc]
mov dword [esp + 0x28], eax
mov edx, dword [ecx + 0x78]
lea eax, [esp + 0x28]
push eax
call dbg.FAudio_INTERNAL_ProcessEffectChain
add esp, 4
mov esi, dword [esp + 0x28]
mov edx, dword [ebp + 0xc]
cmp eax, edx
je 0x10013aee
mov ecx, dword [edi + 0x10]
mov ecx, dword [ecx + 0x6c]
imul ecx, esi
shl ecx, 2
push ecx
push eax
push edx
call sym._memcpy
mov edx, dword [ebp + 0xc]
add esp, 0xc
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
sub eax, esi
jbe 0x10013b11
imul esi, dword [ecx + 0x6c]
lea ecx, [edx + esi*4]
shl eax, 2
push eax
push 0
push ecx
call sym._memset
add esp, 0xc
mov ecx, dword [edi + 0x10]
push dword [ecx + 0x5c]
call sym._FAudio_PlatformUnlockMutex
add esp, 4
mov ecx, dword [ebp + 8]
test byte [ecx + 0x90], 0x80
je 0x10013b53
mov eax, dword [ecx + 0x10]
push str.audio__master__effectLock
push dword [eax + 0x5c]
push 0x10031f26
push str.FAudio_INTERNAL_GenerateOutput
push 0x5b2
push str.libs_faudio_src_FAudio_internal.c
push ecx
call dbg.FAudio_INTERNAL_debug
mov ecx, dword [ebp + 8]
add esp, 0x1c
push dword [ecx + 0x28]
call sym._FAudio_PlatformLockMutex
mov eax, dword [ebp + 8]
add esp, 4
test byte [eax + 0x90], 0x80
je 0x10013b92
push str.audio__callbackLock
push dword [eax + 0x28]
push 0x10031f00
push str.FAudio_INTERNAL_GenerateOutput
push 0x5b6
push str.libs_faudio_src_FAudio_internal.c
push eax
call dbg.FAudio_INTERNAL_debug
mov eax, dword [ebp + 8]
add esp, 0x1c
mov esi, dword [eax + 0x1c]
jmp 0x10013ba3
mov esi, dword [esi + 4]
test esi, esi
je 0x10013bb8
mov eax, dword [esi]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10013ba0
push eax
call ecx
add esp, 4
jmp 0x10013ba0
mov esi, dword [ebp + 8]
push dword [esi + 0x28]
call sym._FAudio_PlatformUnlockMutex
mov ecx, esi
add esp, 4
mov eax, dword [esi + 0x90]
test al, al
jns 0x10013c00
push str.audio__callbackLock
push dword [ecx + 0x28]
push 0x10031f26
push str.FAudio_INTERNAL_GenerateOutput
push 0x5c4
push str.libs_faudio_src_FAudio_internal.c
push ecx
call dbg.FAudio_INTERNAL_debug
mov ecx, dword [ebp + 8]
add esp, 0x1c
mov eax, dword [ecx + 0x90]
test al, 0x20
je 0x10013c26
push str.FAudio_INTERNAL_GenerateOutput
push str.FUNC_Exit:__s
push str.FAudio_INTERNAL_GenerateOutput
push 0x5c6
push str.libs_faudio_src_FAudio_internal.c
push ecx
call dbg.FAudio_INTERNAL_debug
add esp, 0x18
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret