Function at 0x101d9e30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x30
mov esi, esp
mov eax, dword [0x1026f864]
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
xor eax, ebp
test bl, 3
mov dword [esi + 0x28], eax
je 0x101d9e6d
push 0xa0
push str..._.._third_party_opus_src_celt_celt_lpc.c
push str.assertion_failed:__ord3_0
call fcn.10193ce0
mov ecx, dword [ebp + 0x14]
add esp, 0xc
lea eax, [ebx*4]
call fcn.101e0a30
mov edx, esp
and edx, 0xfffffff0
mov esp, edx
add ecx, ebx
lea eax, [ecx*4]
call fcn.101e0a30
mov eax, esp
and eax, 0xfffffff0
mov dword [esi], eax
mov esp, eax
test ebx, ebx
mov dword [esi + 8], edx
jle 0x101d9ee3
mov dword [esi + 4], ecx
mov ecx, dword [ebp + 0xc]
mov edi, ebx
mov eax, dword [ecx + edi*4 - 4]
mov dword [edx], eax
add edx, 4
dec edi
jne 0x101d9ea6
mov edi, dword [ebp + 0x1c]
mov ecx, dword [esi + 4]
test ebx, ebx
mov edx, 0
jle 0x101d9ee5
movaps xmm0, xmmword [0x10210920]
mov eax, dword [esi]
mov edx, ebx
movss xmm1, dword [edi + edx*4 - 4]
xorps xmm1, xmm0
movss dword [eax], xmm1
add eax, 4
dec edx
jne 0x101d9ecc
mov edx, ebx
jmp 0x101d9ee5
xor edx, edx
mov eax, dword [ebp + 0x14]
sub ecx, edx
jle 0x101d9f03
mov eax, dword [esi]
shl ecx, 2
lea eax, [eax + edx*4]
push ecx
push 0
push eax
call fcn.101e40e0
mov eax, dword [ebp + 0x14]
add esp, 0xc
mov edx, dword [ebp + 8]
mov ecx, dword [esi]
xor edi, edi
cmp eax, 4
jl 0x101da00e
mov eax, dword [ebp + 0x14]
xor edi, edi
add eax, 0xfffffffd
mov dword [esi + 0xc], eax
movups xmm0, xmmword [edx + edi*4]
lea eax, [edi*4]
mov dword [esi + 4], eax
lea eax, [ecx + edi*4]
movups xmmword [esi + 0x10], xmm0
push ebx
lea ecx, [esi + 0x10]
push ecx
push eax
push dword [esi + 8]
call fcn.101cd080
mov edx, dword [ebp + 0x10]
add esp, 0x10
movss xmm0, dword [esi + 0x10]
mov ecx, dword [ebp + 0xc]
movss dword [edx + edi*4], xmm0
mov edx, dword [ebp + 0x10]
movss xmm2, dword [ecx]
mov ecx, dword [esi + 4]
movss xmm1, dword [esi + 0x14]
mov eax, ecx
mulss xmm2, xmm0
subss xmm1, xmm2
or eax, 4
movss dword [esi + 0x14], xmm1
movss dword [edx + eax], xmm1
mov edx, dword [ebp + 0xc]
mov eax, ecx
mov ecx, dword [ebp + 0x10]
movss xmm2, dword [esi + 0x18]
or eax, 8
movss xmm3, dword [edx]
mulss xmm3, xmm1
subss xmm2, xmm3
movss xmm3, dword [edx + 4]
mulss xmm3, xmm0
subss xmm2, xmm3
movss dword [esi + 0x18], xmm2
movss dword [ecx + eax], xmm2
mov ecx, dword [esi]
lea eax, [edi + ebx]
add edi, 4
movss xmm4, dword [edx]
movss xmm6, dword [edx + 4]
movss xmm3, dword [esi + 0x1c]
movss xmm5, dword [edx + 8]
mov edx, dword [ebp + 0x10]
mulss xmm4, xmm2
mulss xmm6, xmm1
mulss xmm5, xmm0
unpcklps xmm0, xmm1
subss xmm3, xmm4
subss xmm3, xmm6
subss xmm3, xmm5
unpcklps xmm2, xmm3
movlhps xmm0, xmm2
xorps xmm0, xmmword [0x10210920]
movups xmmword [ecx + eax*4], xmm0
mov eax, dword [esi + 4]
or eax, 0xc
cmp edi, dword [esi + 0xc]
movss dword [edx + eax], xmm3
mov edx, dword [ebp + 8]
jl 0x101d9f1e
mov edx, dword [ebp + 0x14]
cmp edi, edx
jge 0x101da057
lea eax, [ecx + edi*4]
mov ecx, dword [ebp + 8]
test ebx, ebx
movss xmm0, dword [ecx + edi*4]
jle 0x101da03c
mov edx, dword [esi + 8]
xor ecx, ecx
movss xmm1, dword [edx + ecx*4]
mulss xmm1, dword [eax + ecx*4]
inc ecx
cmp ebx, ecx
subss xmm0, xmm1
jne 0x101da029
mov edx, dword [esi]
lea ecx, [edi + ebx]
add eax, 4
movss dword [edx + ecx*4], xmm0
mov edx, dword [ebp + 0x10]
movss dword [edx + edi*4], xmm0
inc edi
cmp edi, dword [ebp + 0x14]
jne 0x101da018
mov edx, dword [ebp + 0x1c]
test ebx, ebx
jle 0x101da075
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
lea eax, [ecx + eax*4 - 4]
mov ecx, dword [eax]
add eax, 0xfffffffc
mov dword [edx], ecx
add edx, 4
dec ebx
jne 0x101da068
mov ecx, dword [esi + 0x28]
xor ecx, ebp
call fcn.101e05ab
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret