Function at 0x1800c6bc4
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x4128]
mov eax, 0x4228
call fcn.1800e3a10
sub rsp, rax
movaps xmmword [rsp + 0x4210], xmm6
movaps xmmword [rsp + 0x4200], xmm7
movaps xmmword [rsp + 0x41f0], xmm8
movaps xmmword [rsp + 0x41e0], xmm9
movaps xmmword [rsp + 0x41d0], xmm10
movaps xmmword [rsp + 0x41c0], xmm11
movaps xmmword [rsp + 0x41b0], xmm12
movaps xmmword [rsp + 0x41a0], xmm13
movaps xmmword [rsp + 0x4190], xmm14
movaps xmmword [rsp + 0x4180], xmm15
mov rax, qword [0x180128180]
xor rax, rsp
mov qword [rbp + 0x4070], rax
xor eax, eax
mov qword [rsp + 0x70], rdx
and dword [rsp + 0x50], eax
lea r13, [rcx + 0x1c24]
and dword [rsp + 0x5c], eax
lea rdi, [rbp + 0x35f0]
and dword [rsp + 0x44], eax
mov rsi, rdx
mov qword [rbp + 0x35b0], rax
xor edx, edx
mov qword [rbp + 0x35b8], rax
mov rbx, rcx
mov byte [rsp + 0x30], al
mov r14, r8
mov al, byte [rcx + 0x120c]
mov r15d, r9d
and al, 3
mov dword [rsp + 0x68], edx
mov byte [rcx + 0x12b2], al
lea r12d, [rdx + 1]
movsxd rax, dword [rcx + 0x11f0]
lea rdx, [rcx + 0x13fa]
add dword [rcx + 0x120c], r12d
add rcx, 0x10
mov qword [rsp + 0x78], r8
mov r8d, dword [rbx + 0x11e8]
lea r13, [r13 + rax*4]
mov dword [rsp + 0x60], r9d
mov qword [rbp - 0x80], r13
lea rdi, [rdi + rax*4]
call fcn.1800ceca0
mov eax, dword [rbx + 0x11e0]
lea eax, [rax + rax*4]
cdqe
lea r8, [rax*4]
mov eax, dword [rbx + 0x11e8]
add r8, r13
sub eax, r12d
movsxd rcx, eax
js 0x1800c6d2a
lea rdx, [rbx + 0x13fa]
lea rdx, [rdx + rcx*2]
movsx eax, word [rdx]
lea rdx, [rdx - 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r8 + rcx*4], xmm0
sub rcx, r12
jns 0x1800c6d11
xor r9d, r9d
mov eax, dword [rbx + 0x11e0]
mov edx, dword [rbx + 0x11e8]
sar edx, 3
imul edx, r9d
lea ecx, [rax + rax*4]
mov eax, r12d
add edx, ecx
mov ecx, r9d
and ecx, 2
movsxd r8, edx
sub eax, ecx
add r9d, r12d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1800f1a0c]
addss xmm0, dword [r13 + r8*4]
movss dword [r13 + r8*4], xmm0
cmp r9d, 8
jl 0x1800c6d2d
cmp dword [rbx + 0x1248], 0
jne 0x1800c7669
mov eax, dword [rbx + 0x13f4]
lea r8, [rbp + 0x35f0]
mov r9, r13
mov dword [rsp + 0x20], eax
lea rdx, [rbp + 0x21c0]
mov rcx, rbx
call fcn.1800cf834
mov r9, r13
lea rdx, [rbp + 0x21c0]
mov r8, rdi
mov rcx, rbx
call fcn.1800ced50
mov r9, r13
mov dword [rsp + 0x20], r15d
mov r8, rdi
lea rdx, [rbp + 0x21c0]
mov rcx, rbx
call fcn.1800cfb70
mov r8d, r15d
lea rdx, [rbp + 0x21c0]
mov rcx, rbx
call fcn.1800cfea0
cmp dword [rbx + 0x17e0], 0
movsxd rcx, dword [rbx + 0x1684]
movss xmm11, dword [0x1800f5cd8]
lea rax, [rcx + 0xaa]
lea rax, [rax + rax*8]
lea rdi, [rbx + rax*4]
je 0x1800c6f75
cmp dword [rbx + 0x11b4], 0x4d
jle 0x1800c6f75
mov dword [rbx + rcx*4 + 0x1284], r12d
lea rdx, [rbx + 0x94]
lea rcx, [rbp + 0x24b0]
mov r8d, 0x1100
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [rbx + 0x1290]
lea rdx, [rbp + 0x21c0]
lea rcx, [rbp + 0x35d0]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbx + 0x12a0]
movups xmmword [rdi + 0x10], xmm1
mov eax, dword [rbx + 0x12b0]
mov dword [rdi + 0x20], eax
movsxd rsi, dword [rbx + 0x11e4]
mov r8, rsi
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
movsxd rax, dword [rbx + 0x1684]
test eax, eax
je 0x1800c6ea1
cmp dword [rbx + rax*4 + 0x1280], 0
je 0x1800c6ea1
lea r8, [rbx + 0x11bc]
jmp 0x1800c6ece
mov al, byte [rbx + 0x1c18]
lea r8, [rbx + 0x11bc]
mov byte [r8], al
mov al, byte [rbx + 0x17e4]
add al, byte [rdi]
movzx ecx, al
mov eax, 0x3f
cmp cl, al
cmovl eax, ecx
mov byte [rdi], al
mov esi, dword [rbx + 0x11e4]
xor r9d, r9d
mov dword [rsp + 0x20], esi
cmp r15d, 2
lea rcx, [rbp + 0x35c0]
mov rdx, rdi
sete r9b
call fcn.1800ce8cc
mov ecx, dword [rbx + 0x11e4]
test ecx, ecx
jle 0x1800c6f1b
xor eax, eax
movd xmm0, dword [rbp + rax + 0x35c0]
lea rax, [rax + 4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm11
movss dword [rbp + rax + 0x21bc], xmm0
sub rcx, r12
jne 0x1800c6ef8
movsxd rax, dword [rbx + 0x1684]
lea r9, [rbp + 0x24b0]
mov qword [rsp + 0x28], r13
lea rdx, [rbp + 0x21c0]
mov r8, rdi
lea rcx, [rax + rax*4]
shl rcx, 6
lea rax, [rbx + 0x1854]
add rax, rcx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1800d029c
movsxd r8, dword [rbx + 0x11e4]
lea rdx, [rbp + 0x35d0]
shl r8, 2
lea rcx, [rbp + 0x21c0]
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [rbx + 0x11e4]
lea rcx, [rbx + 0x1290]
and dword [rsp + 0x40], 0
mov r12d, 0x100
and dword [rsp + 0x58], 0
mov dword [rsp + 0x34], r12d
call fcn.1800ce8a4
movups xmm12, xmmword [r14]
or ecx, 0xffffffff
lea rdx, [rbx + 0x94]
movups xmm13, xmmword [r14 + 0x10]
mov dword [rsp + 0x4c], ecx
mov r8d, 0x1100
movups xmm14, xmmword [r14 + 0x20]
mov r15d, eax
mov dword [rsp + 0x54], ecx
movsd xmm15, qword [r14 + 0x30]
lea rcx, [rbp - 0x40]
call sub.VCRUNTIME140.dll_memcpy
mov al, byte [rbx + 0x12b2]
xor edi, edi
movss xmm10, dword [0x1800f5e08]
movsd xmm7, qword [rbp - 0x48]
movups xmm8, xmmword [rbp - 0x58]
mov esi, dword [rbp + 0x4190]
movups xmm6, xmmword [rbp - 0x68]
mov byte [rsp + 0x38], al
movzx eax, word [rbx + 0x169c]
movups xmm9, xmmword [rbp - 0x78]
mov word [rsp + 0x48], ax
mov eax, dword [rbx + 0x1698]
mov dword [rsp + 0x64], eax
mov edx, dword [rsp + 0x4c]
mov dword [rsp + 0x3c], edi
cmp r15d, edx
jne 0x1800c702e
mov edi, dword [rsp + 0x44]
jmp 0x1800c723f
cmp r15d, dword [rsp + 0x54]
jne 0x1800c703e
mov edi, dword [rsp + 0x5c]
jmp 0x1800c723f
test edi, edi
jle 0x1800c708c
movups xmmword [r14], xmm12
mov r8d, 0x1100
lea rdx, [rbp - 0x40]
movups xmmword [r14 + 0x10], xmm13
lea rcx, [rbx + 0x94]
movups xmmword [r14 + 0x20], xmm14
movsd qword [r14 + 0x30], xmm15
call sub.VCRUNTIME140.dll_memcpy
mov al, byte [rsp + 0x38]
mov byte [rbx + 0x12b2], al
movzx eax, word [rsp + 0x48]
mov word [rbx + 0x169c], ax
mov eax, dword [rsp + 0x64]
mov dword [rbx + 0x1698], eax
lea rsi, [rbx + 0x12b4]
mov qword [rsp + 0x28], r13
lea r9, [rbx + 0x94]
mov qword [rsp + 0x20], rsi
lea r8, [rbx + 0x1290]
mov rcx, rbx
lea rdx, [rbp + 0x21c0]
call fcn.1800d029c
cmp edi, 6
jne 0x1800c70da
cmp dword [rsp + 0x40], 0
jne 0x1800c70da
movups xmm9, xmmword [r14]
movups xmm6, xmmword [r14 + 0x10]
movups xmm8, xmmword [r14 + 0x20]
movsd xmm7, qword [r14 + 0x30]
mov eax, dword [rsp + 0x60]
xor r9d, r9d
mov r8d, dword [rbx + 0x1684]
mov rdx, r14
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1800c65bc
mov eax, dword [rbx + 0x11e8]
mov r9, rsi
movsx r8d, byte [rbx + 0x12ae]
mov rcx, r14
movsx edx, byte [rbx + 0x12ad]
mov dword [rsp + 0x20], eax
call fcn.1800c60a8
bsr eax, dword [r14 + 0x20]
mov edi, dword [r14 + 0x18]
sub edi, eax
mov eax, dword [rsp + 0x3c]
dec edi
cmp eax, 6
jne 0x1800c7220
cmp dword [rsp + 0x40], 0
jne 0x1800c7220
cmp edi, dword [rbp + 0x4190]
jle 0x1800c7220
mov dl, byte [rbp + 0x24a8]
lea r9, [rbx + 0x1290]
movups xmmword [r14], xmm9
xor ecx, ecx
movups xmmword [r14 + 0x10], xmm6
movups xmmword [r14 + 0x20], xmm8
movsd qword [r14 + 0x30], xmm7
mov byte [rbx + 0x1c18], dl
cmp dword [rbx + 0x11e4], ecx
jle 0x1800c7190
mov rax, r9
mov byte [rax], 4
inc ecx
inc rax
cmp ecx, dword [rbx + 0x11e4]
jl 0x1800c7180
mov r8d, dword [rsp + 0x60]
cmp r8d, 2
je 0x1800c719e
mov byte [r9], dl
movzx eax, word [rsp + 0x48]
xor ecx, ecx
mov word [rbx + 0x169c], ax
mov eax, dword [rsp + 0x64]
mov dword [rbx + 0x1698], eax
cmp dword [rbx + 0x11e8], ecx
jle 0x1800c71d1
mov rax, rsi
mov byte [rax], 0
inc ecx
inc rax
cmp ecx, dword [rbx + 0x11e8]
jl 0x1800c71c1
mov dword [rsp + 0x20], r8d
xor r9d, r9d
mov r8d, dword [rbx + 0x1684]
mov rdx, r14
mov rcx, rbx
call fcn.1800c65bc
mov eax, dword [rbx + 0x11e8]
mov r9, rsi
movsx r8d, byte [rbx + 0x12ae]
mov rcx, r14
movsx edx, byte [rbx + 0x12ad]
mov dword [rsp + 0x20], eax
call fcn.1800c60a8
bsr eax, dword [r14 + 0x20]
mov edi, dword [r14 + 0x18]
sub edi, eax
mov eax, dword [rsp + 0x3c]
dec edi
cmp dword [rbp + 0x4198], 0
mov esi, dword [rbp + 0x4190]
jne 0x1800c723b
test eax, eax
jne 0x1800c723b
cmp edi, esi
jle 0x1800c7664
mov edx, dword [rsp + 0x4c]
mov eax, dword [rsp + 0x3c]
cmp eax, 6
je 0x1800c75e1
cmp edi, esi
jle 0x1800c72b8
mov ecx, dword [rsp + 0x40]
test ecx, ecx
jne 0x1800c729a
cmp eax, 2
jl 0x1800c729a
movss xmm0, dword [rbp + 0x2474]
mulss xmm0, xmm10
comiss xmm0, xmm10
jbe 0x1800c727a
movss dword [rbp + 0x2474], xmm0
jmp 0x1800c7284
mov dword [rbp + 0x2474], 0x3fc00000
and dword [rsp + 0x58], 0
or dword [rsp + 0x54], 0xffffffff
mov byte [rbx + 0x12ae], 0
jmp 0x1800c736b
movsx edx, r12w
mov dword [rsp + 0x68], edx
mov dword [rsp + 0x58], 1
mov dword [rsp + 0x5c], edi
mov dword [rsp + 0x54], r15d
jmp 0x1800c7363
lea eax, [rsi - 5]
cmp edi, eax
jge 0x1800c7664
movsx r10d, r12w
mov ecx, 1
mov dword [rsp + 0x40], ecx
mov r11d, edi
mov dword [rsp + 0x50], r10d
mov dword [rsp + 0x44], edi
cmp r15d, edx
je 0x1800c743d
mov eax, dword [r14 + 0x1c]
movsd xmm7, qword [r14 + 0x30]
mov dword [rsp + 0x4c], r15d
movups xmm9, xmmword [r14]
movups xmm6, xmmword [r14 + 0x10]
movups xmm8, xmmword [r14 + 0x20]
cmp eax, 0x4fb
jbe 0x1800c7326
mov r8d, 0x119
lea rdx, str..._.._.._third_party_opus_src_silk_float_encode_frame_FLP.c
lea rcx, str.assertion_failed:_psRangeEnc__offs___1275
call fcn.1800b02e4
mov eax, dword [r14 + 0x1c]
mov rdx, qword [r14]
lea rcx, [rbp + 0x24b0]
mov r8d, eax
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 0x1100
lea rdx, [rbx + 0x94]
lea rcx, [rbp + 0x10c0]
call sub.VCRUNTIME140.dll_memcpy
mov al, byte [rbx + 0x1c18]
mov ecx, dword [rsp + 0x40]
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0x3c]
test ecx, ecx
jne 0x1800c7433
cmp edi, esi
jle 0x1800c7433
mov r12d, dword [rbx + 0x11e4]
xor esi, esi
test r12d, r12d
jle 0x1800c7428
mov r13d, dword [rbx + 0x11ec]
lea r15, [rbp + 0x35c0]
mov r14d, dword [rsp + 0x34]
xor r8d, r8d
xor r10d, r10d
mov edx, r13d
imul edx, esi
mov ecx, r13d
inc esi
imul ecx, esi
cmp edx, ecx
jge 0x1800c73db
movsxd rax, edx
lea r9, [rbx + 0x12b4]
add r9, rax
sub ecx, edx
mov r11d, ecx
movsx eax, byte [r9]
inc r9
cdq
xor eax, edx
sub eax, edx
add r10d, eax
sub r11, 1
jne 0x1800c73c2
mov eax, dword [rsp + 0x3c]
test eax, eax
je 0x1800c7402
cmp r10d, dword [rbp + r8 + 0x35d0]
jge 0x1800c73f4
cmp dword [rbp + r8 + 0x35b0], 0
je 0x1800c7402
mov dword [rbp + r8 + 0x35b0], 1
jmp 0x1800c740e
mov dword [rbp + r8 + 0x35d0], r10d
mov word [r15], r14w
add r8, 4
add r15, 2
cmp esi, r12d
jl 0x1800c739b
mov r14, qword [rsp + 0x78]
mov r13, qword [rbp - 0x80]
mov ecx, dword [rsp + 0x40]
mov esi, dword [rbp + 0x4190]
mov r12d, dword [rsp + 0x34]
mov r11d, dword [rsp + 0x44]
mov r10d, dword [rsp + 0x50]
test dword [rsp + 0x58], ecx
jne 0x1800c748f
cmp edi, esi
jle 0x1800c7463
mov eax, 0x4000
cmp r12w, ax
jge 0x1800c745b
add r12w, r12w
jmp 0x1800c74e2
mov r12d, 0x7fff
jmp 0x1800c74e2
mov ecx, esi
shl edi, 7
shl ecx, 7
sub edi, ecx
mov eax, edi
cdq
idiv dword [rbx + 0x11e8]
lea ecx, [rax + 0x800]
call fcn.1800be278
movsx rcx, r12w
imul rax, rcx
sar rax, 0x10
jmp 0x1800c74de
mov r9d, dword [rsp + 0x68]
mov eax, esi
mov ecx, dword [rsp + 0x5c]
sub eax, r11d
sub ecx, r11d
mov r8d, r9d
sub r8d, r10d
imul eax, r8d
sar r8d, 2
cdq
idiv ecx
lea r12d, [r10 + rax]
movsx ecx, r12w
lea eax, [r8 + r10]
mov dword [rsp + 0x34], r12d
cmp ecx, eax
jle 0x1800c74cc
lea eax, [r8 + r10]
jmp 0x1800c74de
mov eax, r9d
sub eax, r8d
cmp ecx, eax
jge 0x1800c74e7
movzx eax, r9w
sub ax, r8w
movzx r12d, ax
mov dword [rsp + 0x34], r12d
mov r10d, dword [rbx + 0x11e4]
test r10d, r10d
jle 0x1800c755e
lea r8, [rbp + 0x35c0]
xor edx, edx
mov r9d, r10d
mov r14d, 0xff800000
cmp dword [rbp + rdx + 0x35b0], 0
je 0x1800c7515
movzx eax, word [r8]
jmp 0x1800c7519
movzx eax, r12w
movsxd rcx, dword [rbp + rdx + 0x2498]
movsx rax, ax
imul rcx, rax
mov eax, 0x7fffff
sar rcx, 0x10
cmp ecx, eax
jle 0x1800c753a
mov ecx, eax
jmp 0x1800c7541
cmp ecx, r14d
cmovl ecx, r14d
shl ecx, 8
add r8, 2
mov dword [rbp + rdx + 0x35e0], ecx
add rdx, 4
sub r9, 1
jne 0x1800c7505
mov r14, qword [rsp + 0x78]
mov al, byte [rbp + 0x24a8]
lea r8, [rbx + 0x1c18]
xor r9d, r9d
mov byte [r8], al
cmp dword [rsp + 0x60], 2
lea rdi, [rbx + 0x1290]
lea rdx, [rbp + 0x35e0]
mov dword [rsp + 0x20], r10d
sete r9b
mov rcx, rdi
call fcn.1800ce9b8
mov edx, dword [rbx + 0x11e4]
mov rcx, rdi
call fcn.1800ce8a4
mov ecx, dword [rbx + 0x11e4]
mov r15d, eax
test ecx, ecx
jle 0x1800c75d6
xor eax, eax
movd xmm0, dword [rbp + rax + 0x35e0]
lea rax, [rax + 4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm11
movss dword [rbp + rax + 0x21bc], xmm0
sub rcx, 1
jne 0x1800c75b2
mov edi, dword [rsp + 0x3c]
inc edi
jmp 0x1800c7018
cmp dword [rsp + 0x40], 0
je 0x1800c7664
cmp r15d, edx
je 0x1800c75f1
cmp edi, esi
jle 0x1800c7664
movups xmmword [r14], xmm9
movups xmmword [r14 + 0x10], xmm6
psrldq xmm6, 0xc
movd edi, xmm6
movups xmmword [r14 + 0x20], xmm8
movsd qword [r14 + 0x30], xmm7
cmp edi, 0x4fb
jbe 0x1800c762f
mov r8d, 0xfb
lea rdx, str..._.._.._third_party_opus_src_silk_float_encode_frame_FLP.c
lea rcx, str.assertion_failed:_sRangeEnc_copy2.offs___1275
call fcn.1800b02e4
mov rcx, qword [r14]
lea rdx, [rbp + 0x24b0]
mov r8d, edi
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 0x1100
lea rdx, [rbp + 0x10c0]
lea rcx, [rbx + 0x94]
call sub.VCRUNTIME140.dll_memcpy
mov al, byte [rsp + 0x30]
mov byte [rbx + 0x1c18], al
mov rsi, qword [rsp + 0x70]
mov eax, dword [rbx + 0x11e0]
lea ecx, [rax + rax*4]
movsxd rax, dword [rbx + 0x11e8]
add ecx, dword [rbx + 0x11f0]
add rax, 0x709
movsxd r8, ecx
lea rcx, [rbx + 0x1c24]
shl r8, 2
lea rdx, [rbx + rax*4]
call sub.VCRUNTIME140.dll_memmove
cmp dword [rbx + 0x1248], 0
je 0x1800c76aa
and dword [rsi], 0
jmp 0x1800c76e4
movsxd rax, dword [rbx + 0x11e4]
and dword [rbx + 0x1238], 0
mov ecx, dword [rbp + rax*4 + 0x22a0]
mov al, byte [rbx + 0x12ad]
mov dword [rbx + 0x11c0], ecx
mov byte [rbx + 0x11bd], al
bsr eax, dword [r14 + 0x20]
mov ecx, dword [r14 + 0x18]
sub ecx, eax
add ecx, 6
sar ecx, 3
mov dword [rsi], ecx
xor eax, eax
mov rcx, qword [rbp + 0x4070]
xor rcx, rsp
call fcn.1800e3250
lea r11, [rsp + 0x4228]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret