Function at 0x1016bb70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x420
mov eax, dword [0x10259b00]
xor eax, esp
mov dword [esp + 0x41c], eax
mov eax, dword [ebp + 8]
push esi
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x14]
mov esi, eax
imul esi, dword [ebp + 0x18]
push edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x18], eax
cmp esi, 0x180
jle 0x1016bbc3
push 0x38
push str.F:_vcpkg_2024.05.24_buildtreesopus_src_v1.5.1_cfcae413d5.clean_silk_float_burg_modified_FLP.c
push str.assertion_failed:_subfr_length__nb_subfr___MAX_FRAME_SIZE
call fcn.1012fae0
add esp, 0xc
push esi
push edi
call fcn.10161370
push 0xc0
lea eax, [esp + 0x2ac]
push 0
fst qword [esp + 0x48]
push eax
fstp qword [esp + 0x54]
call fcn.100a2020
mov eax, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
jle 0x1016bc7e
mov edx, dword [ebp + 0x1c]
mov ecx, edi
mov eax, dword [esp + 0x18]
inc edx
shl eax, 2
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x18]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x20], eax
cmp edx, 1
jle 0x1016bc6c
mov eax, dword [esp + 0x18]
lea edi, [ecx + 4]
mov edx, dword [ebp + 0x1c]
lea esi, [esp + 0x2a0]
dec eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
push eax
push edi
push ecx
call fcn.1016af20
fadd qword [esi]
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0xc]
dec eax
add edi, 4
mov dword [esp + 0x14], eax
fstp qword [esi]
add esi, 8
sub dword [esp + 0x10], 1
jne 0x1016bc37
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
add ecx, esi
sub eax, 1
mov dword [esp + 0xc], ecx
mov dword [esp + 0x20], eax
jne 0x1016bc18
mov eax, dword [ebp + 0x18]
movsd xmm0, qword [esp + 0x40]
lea esi, [esp + 0x2a0]
mulsd xmm0, qword [0x1024f100]
lea edi, [esp + 0x360]
mov ecx, 0x30
mov dword [esp + 0x1c], 0
movsd xmm6, qword [0x101735a0]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 0x1c]
movaps xmm7, xmm6
movaps xmm2, xmm0
movsd qword [esp + 0x48], xmm0
addsd xmm2, qword [esp + 0x40]
xor esi, esi
movsd qword [esp + 0x30], xmm7
addsd xmm2, qword [0x1024e500]
movsd qword [esp + 0x110], xmm2
movsd qword [esp + 0x1d8], xmm2
test edi, edi
jle 0x1016c19f
mov edx, dword [esp + 0x18]
mov ecx, 0xfffffffc
shl edx, 2
mov dword [esp + 0xc], 0xfffffff8
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
nop dword [eax]
test eax, eax
jle 0x1016be6e
mov edi, dword [esp + 0x2c]
mov eax, edx
mov edx, dword [ebp + 0x18]
sub eax, ecx
sub eax, 4
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
nop
movss xmm6, dword [ecx + edi + 4]
lea edx, [ecx + edi]
movss xmm5, dword [edx + eax]
xor eax, eax
cvtps2pd xmm4, xmm6
cvtps2pd xmm5, xmm5
cmp ecx, 0xfffffffc
jle 0x1016bdd5
mov ecx, dword [esp + 0x10]
add ecx, edi
movss xmm7, dword [ecx - 4]
nop word [eax + eax]
movss xmm3, dword [edx]
movaps xmm0, xmm6
movsd xmm1, qword [esp + eax*8 + 0x2a0]
sub edx, 4
movss xmm2, dword [ecx]
add ecx, 4
mulss xmm0, xmm3
cvtss2sd xmm0, xmm0
subsd xmm1, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm2
cvtss2sd xmm0, xmm0
movsd qword [esp + eax*8 + 0x2a0], xmm1
movsd xmm1, qword [esp + eax*8 + 0x360]
subsd xmm1, xmm0
cvtps2pd xmm0, xmm3
movsd qword [esp + eax*8 + 0x360], xmm1
movsd xmm1, qword [esp + eax*8 + 0x50]
inc eax
mulsd xmm0, xmm1
addsd xmm4, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm0, xmm1
addsd xmm5, xmm0
cmp eax, esi
jl 0x1016bd60
xor eax, eax
jmp 0x1016bddc
xor eax, eax
cmp ecx, 0xfffffffc
jl 0x1016be41
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
add ecx, 0xfffffffc
add edx, 4
add ecx, edi
add edx, edi
nop
movss xmm1, dword [edx]
sub edx, 4
movsd xmm0, qword [esp + eax*8 + 0x110]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm4
subsd xmm0, xmm1
movss xmm1, dword [ecx]
cvtps2pd xmm1, xmm1
add ecx, 4
movsd qword [esp + eax*8 + 0x110], xmm0
movsd xmm0, qword [esp + eax*8 + 0x1d8]
mulsd xmm1, xmm5
subsd xmm0, xmm1
movsd qword [esp + eax*8 + 0x1d8], xmm0
inc eax
cmp eax, esi
jle 0x1016bdf0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
lea eax, [edx*4]
add edi, eax
sub dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
jne 0x1016bd30
movsd xmm6, qword [0x101735a0]
movsd xmm7, qword [esp + 0x30]
mov edi, dword [ebp + 0x1c]
movsd xmm3, qword [esp + esi*8 + 0x2a0]
xor ecx, ecx
movsd xmm2, qword [esp + esi*8 + 0x360]
test esi, esi
jle 0x1016bf28
mov eax, dword [esp + 0xc]
nop
movsd xmm1, qword [esp + ecx*8 + 0x50]
inc ecx
movaps xmm0, xmm1
mulsd xmm1, qword [esp + eax + 0x2a0]
mulsd xmm0, qword [esp + eax + 0x360]
sub eax, 8
addsd xmm2, xmm1
addsd xmm3, xmm0
cmp ecx, esi
jl 0x1016be90
lea ecx, [esp + 0x1d8]
movsd qword [esp + esi*8 + 0x118], xmm3
movsd xmm4, qword [esp + 0x110]
lea ecx, [ecx + esi*8]
movsd qword [esp + esi*8 + 0x1e0], xmm2
xor eax, eax
movsd xmm5, qword [esp + 0x1d8]
nop dword [eax + eax]
movsd xmm1, qword [esp + eax*8 + 0x50]
movaps xmm0, xmm1
mulsd xmm0, qword [ecx]
sub ecx, 8
addsd xmm2, xmm0
movaps xmm0, xmm1
mulsd xmm0, qword [esp + eax*8 + 0x1e0]
mulsd xmm1, qword [esp + eax*8 + 0x118]
inc eax
addsd xmm5, xmm0
addsd xmm4, xmm1
cmp eax, esi
jl 0x1016bef0
jmp 0x1016bf4c
movsd qword [esp + esi*8 + 0x118], xmm3
movsd xmm4, qword [esp + 0x110]
movsd qword [esp + esi*8 + 0x1e0], xmm2
movsd xmm5, qword [esp + 0x1d8]
movaps xmm3, xmm2
movsd qword [esp + 0x30], xmm2
mulsd xmm3, qword [0x10222620]
addsd xmm4, xmm5
movss xmm5, dword [ebp + 0x10]
movaps xmm1, xmm6
cvtps2pd xmm5, xmm5
divsd xmm3, xmm4
movaps xmm0, xmm3
mulsd xmm0, xmm3
subsd xmm1, xmm0
mulsd xmm1, xmm7
comisd xmm5, xmm1
jb 0x1016bfe3
movaps xmm0, xmm5
movaps xmm2, xmm6
divsd xmm0, xmm7
xorps xmm1, xmm1
subsd xmm2, xmm0
movaps xmm0, xmm2
ucomisd xmm1, xmm0
ja 0x1016bfa5
sqrtsd xmm0, xmm0
jmp 0x1016bfaa
call fcn.100b1f90
movaps xmm3, xmm0
xorps xmm1, xmm1
movsd xmm0, qword [esp + 0x30]
comisd xmm0, xmm1
jbe 0x1016bfc3
xorps xmm3, xmmword [0x1017ea00]
movss xmm0, dword [ebp + 0x10]
movsd xmm6, qword [0x101735a0]
cvtps2pd xmm7, xmm0
mov dword [esp + 0x1c], 1
movsd qword [esp + 0x30], xmm7
jmp 0x1016bfec
movaps xmm7, xmm1
movsd qword [esp + 0x30], xmm1
lea edx, [esi + 1]
movaps xmm4, xmm3
sar edx, 1
xor eax, eax
unpcklpd xmm4, xmm4
test edx, edx
jle 0x1016c042
mov ecx, dword [esp + 0xc]
lea ecx, [esp + ecx + 0x50]
nop word [eax + eax]
movsd xmm1, qword [ecx]
movaps xmm0, xmm3
movsd xmm2, qword [esp + eax*8 + 0x50]
mulsd xmm0, xmm1
addsd xmm0, xmm2
movsd qword [esp + eax*8 + 0x50], xmm0
movaps xmm0, xmm3
mulsd xmm0, xmm2
inc eax
addsd xmm0, xmm1
movsd qword [ecx], xmm0
sub ecx, 8
cmp eax, edx
jl 0x1016c010
cmp dword [esp + 0x1c], 0
lea edx, [esi + 1]
movsd qword [esp + esi*8 + 0x50], xmm3
jne 0x1016c1cd
lea eax, [esi + 1]
xor ecx, ecx
test eax, eax
js 0x1016c125
lea eax, [esi + 2]
cmp eax, 2
jb 0x1016c0d9
lea edx, [esi + 1]
and eax, 0x80000001
jns 0x1016c07a
dec eax
or eax, 0xfffffffe
inc eax
sub edx, eax
lea eax, [esp + 0x1d8]
lea eax, [eax + esi*8]
nop word [eax + eax]
movsd xmm1, qword [eax + 8]
movaps xmm0, xmm4
movhpd xmm1, qword [eax]
movups xmm2, xmmword [esp + ecx*8 + 0x110]
mulpd xmm0, xmm1
addpd xmm0, xmm2
movups xmmword [esp + ecx*8 + 0x110], xmm0
add ecx, 2
movaps xmm0, xmm4
mulpd xmm0, xmm2
addpd xmm0, xmm1
movlpd qword [eax + 8], xmm0
movhpd qword [eax], xmm0
sub eax, 0x10
cmp ecx, edx
jle 0x1016c090
lea eax, [esi + 1]
cmp ecx, eax
jg 0x1016c125
mov eax, esi
lea edx, [esp + 0x1e0]
sub eax, ecx
lea eax, [edx + eax*8]
lea edx, [esi + 1]
nop word [eax + eax]
movsd xmm0, qword [eax]
movsd xmm2, qword [esp + ecx*8 + 0x110]
mulsd xmm0, xmm3
addsd xmm0, xmm2
movsd qword [esp + ecx*8 + 0x110], xmm0
movaps xmm0, xmm3
mulsd xmm0, xmm2
inc ecx
addsd xmm0, qword [eax]
movsd qword [eax], xmm0
sub eax, 8
cmp ecx, edx
jle 0x1016c0f0
mov edx, dword [esp + 0x10]
inc esi
mov ecx, dword [esp + 0x14]
sub edx, 4
add dword [esp + 0xc], 8
add ecx, 4
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
cmp esi, edi
jl 0x1016bd10
movsd xmm2, qword [esp + 0x110]
xor eax, eax
mov edx, dword [esp + 0x28]
nop dword [eax + eax]
movsd xmm1, qword [esp + eax*8 + 0x50]
movaps xmm0, xmm1
mulsd xmm0, qword [esp + eax*8 + 0x118]
addsd xmm2, xmm0
movaps xmm0, xmm1
mulsd xmm0, xmm1
xorps xmm1, xmmword [0x1017ea00]
addsd xmm6, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
movss dword [edx + eax*4], xmm0
inc eax
cmp eax, edi
jl 0x1016c160
movsd xmm0, qword [esp + 0x48]
mulsd xmm0, xmm6
subsd xmm2, xmm0
movsd qword [esp + 0x38], xmm2
fld qword [esp + 0x38]
mov ecx, dword [esp + 0x424]
pop edi
pop esi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
xor ecx, esp
call fcn.1009fd88
mov esp, ebp
pop ebp
ret
cmp edx, edi
jge 0x1016c1e9
mov ecx, edi
lea edi, [esp + 0x50]
sub ecx, edx
lea edi, [edi + edx*8]
shl ecx, 3
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 0x1c]
xor ecx, ecx
cmp edi, 8
jb 0x1016c293
mov esi, dword [esp + 0x28]
lea eax, [esp + edi*8 + 0x48]
lea edx, [esi - 4]
lea edx, [edx + edi*4]
cmp esi, eax
ja 0x1016c212
lea eax, [esp + 0x50]
cmp edx, eax
jae 0x1016c293
movaps xmm1, xmmword [0x1017ea00]
lea eax, [esi + 0x10]
mov edx, edi
lea esi, [esp + 0x50]
and edx, 0xfffffff8
lea edi, [esp + 0x70]
nop dword [eax]
movups xmm0, xmmword [esi + ecx*8]
lea esi, [esp + 0x80]
lea eax, [eax + 0x20]
xorps xmm0, xmm1
cvtpd2ps xmm0, xmm0
movsd qword [eax - 0x30], xmm0
movups xmm0, xmmword [esp + ecx*8 + 0x60]
xorps xmm0, xmm1
cvtpd2ps xmm0, xmm0
movsd qword [eax - 0x28], xmm0
movups xmm0, xmmword [edi + ecx*8]
xorps xmm0, xmm1
cvtpd2ps xmm0, xmm0
movsd qword [eax - 0x20], xmm0
movups xmm0, xmmword [esi + ecx*8]
add ecx, 8
lea esi, [esp + 0x50]
xorps xmm0, xmm1
cvtpd2ps xmm0, xmm0
movsd qword [eax - 0x18], xmm0
cmp ecx, edx
jl 0x1016c230
mov edi, dword [ebp + 0x1c]
cmp ecx, edi
jge 0x1016c327
jmp 0x1016c29a
movaps xmm1, xmmword [0x1017ea00]
mov eax, edi
sub eax, ecx
cmp eax, 4
jl 0x1016c308
mov eax, dword [esp + 0x28]
lea esi, [edi - 3]
add eax, 8
lea eax, [eax + ecx*4]
movsd xmm0, qword [esp + ecx*8 + 0x50]
lea eax, [eax + 0x10]
xorps xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [eax - 0x18], xmm0
movsd xmm0, qword [esp + ecx*8 + 0x58]
xorps xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [eax - 0x14], xmm0
movsd xmm0, qword [esp + ecx*8 + 0x60]
xorps xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [eax - 0x10], xmm0
movsd xmm0, qword [esp + ecx*8 + 0x68]
add ecx, 4
xorps xmm0, xmm1
mov edx, ecx
cvtsd2ss xmm0, xmm0
movss dword [eax - 0xc], xmm0
cmp ecx, esi
jl 0x1016c2b0
cmp edx, edi
jge 0x1016c327
mov eax, dword [esp + 0x28]
nop dword [eax]
movsd xmm0, qword [esp + ecx*8 + 0x50]
xorps xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [eax + ecx*4], xmm0
inc ecx
cmp ecx, edi
jl 0x1016c310
cmp dword [ebp + 0x18], 0
jle 0x1016c366
mov eax, dword [esp + 0x18]
lea esi, [eax*4]
mov eax, dword [esp + 0x2c]
nop dword [eax]
push edi
push eax
call fcn.10161370
fsubr qword [esp + 0x40]
mov eax, dword [esp + 0x34]
add esp, 8
add eax, esi
sub dword [ebp + 0x18], 1
mov dword [esp + 0x2c], eax
fst qword [esp + 0x38]
fstp qword [esp + 0x40]
jne 0x1016c340
movsd xmm0, qword [esp + 0x30]
mulsd xmm0, qword [esp + 0x40]
movsd qword [esp + 0x38], xmm0
jmp 0x1016c1ad