Function at 0x1800c0a5c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rdx, qword [rcx + 8]
mov r14, rcx
mov r15d, dword [rsp + 0xb0]
xor edi, edi
mov r13, r9
mov r9d, dword [rcx]
mov r11, r8
movsxd rcx, dword [rcx + 0x10]
mov ebx, edi
mov eax, dword [r14 + 0x14]
mov ebp, edi
mov r12, qword [r14 + 0x20]
mov dword [rsp + 0x38], eax
mov rax, qword [r14 + 0x30]
mov qword [rsp + 0x40], rax
mov rax, qword [rdx + 0x40]
mov dword [rsp + 0x90], r9d
mov qword [rsp + 0x48], rdx
mov dword [rsp + 0x34], ecx
movsx r8d, word [rax + rcx*2]
mov eax, dword [rsp + 0xd0]
lea esi, [r8 + rax*8]
cmp dword [rsp + 0xd8], edi
je 0x1800c0ae8
lea eax, [rdi + 0x10]
cmp r15d, 2
je 0x1800c0aed
mov eax, 4
mov ecx, esi
lea r8d, [r15*2 - 1]
sar ecx, 1
sub ecx, eax
mov rax, qword [rsp + 0xb8]
mov r10d, dword [rax]
mov eax, 1
cmp dword [rsp + 0xd8], edi
je 0x1800c0b1d
cmp r15d, 2
jne 0x1800c0b1d
sub r8d, eax
mov eax, r8d
imul eax, ecx
add eax, r10d
sub r10d, esi
cdq
idiv r8d
lea ecx, [r10 - 0x20]
cmp ecx, eax
mov r8d, eax
mov eax, 0x40
cmovl r8d, ecx
cmp r8d, eax
cmovg r8d, eax
cmp r8d, 4
jge 0x1800c0b53
lea ecx, [rax - 0x3f]
mov esi, ecx
jmp 0x1800c0bb3
mov eax, r8d
lea rdx, [0x1800fb660]
sar eax, 3
mov ecx, 0xe
sub cl, al
mov eax, r8d
and eax, 7
movsx esi, word [rdx + rax*2]
sar esi, cl
mov ecx, 1
add esi, ecx
and esi, 0xfffffffe
cmp esi, 0x100
jle 0x1800c0bb3
mov r8d, 0x29d
lea rdx, str..._.._.._third_party_opus_src_celt_bands.c
lea rcx, [0x1800fb670]
call fcn.1800b02e4
mov r9d, dword [rsp + 0x90]
mov ecx, 1
mov r11, qword [rsp + 0xa0]
cmp dword [rsp + 0xd8], edi
je 0x1800c0bc7
mov eax, dword [rsp + 0x34]
cmp eax, dword [rsp + 0x38]
cmovge esi, ecx
test r9d, r9d
je 0x1800c0bec
mov eax, dword [r14 + 0x3c]
mov r9d, r15d
mov r8d, dword [rsp + 0xd8]
mov rdx, r13
mov rcx, r11
mov dword [rsp + 0x20], eax
call fcn.1800ccb3c
mov ebx, eax
mov rcx, r12
call fcn.1800be950
mov edx, 1
mov dword [rsp + 0xb0], eax
mov r11d, 0x4000
cmp esi, edx
je 0x1800c1052
mov r8d, dword [rsp + 0x90]
test r8d, r8d
je 0x1800c0e35
cmp dword [rsp + 0xd8], edi
je 0x1800c0c6d
mov r9d, dword [r14 + 0x40]
test r9d, r9d
je 0x1800c0c6d
mov eax, 0x7fff
cmp ebx, 0x2000
jg 0x1800c0c43
mov eax, 0xffff8001
imul ebx, esi
cdq
idiv esi
add ebx, eax
mov ecx, eax
sar ebx, 0xe
lea eax, [rsi - 1]
test ebx, ebx
cmovs ebx, edi
cmp esi, ebx
cmovle ebx, eax
test r9d, r9d
js 0x1800c0e35
inc ebx
jmp 0x1800c0e35
imul ebx, esi
add ebx, 0x2000
sar ebx, 0xe
cmp dword [rsp + 0xd8], edi
jne 0x1800c0e42
cmp dword [r14 + 0x48], edi
je 0x1800c0da0
test ebx, ebx
jle 0x1800c0da0
cmp ebx, esi
jge 0x1800c0da0
xor edx, edx
mov ecx, r11d
mov eax, ebx
mov r14d, 0x2055
shl eax, 0xe
div esi
sub cx, ax
movsx r8d, ax
movsx r10d, cx
mov ecx, r11d
imul r8d, r8d
imul r10d, r10d
add r8d, 0x1000
sar r8d, 0xd
add r10d, 0x1000
movsx edx, r8w
imul eax, edx, 0x272
sar r10d, 0xd
movsx r9d, r10w
sub ecx, eax
sar ecx, 0xf
lea eax, [r14 + rcx]
mov ecx, 0x1de3
cwde
imul eax, edx
add eax, r11d
sar eax, 0xf
sub ax, cx
movsx ecx, ax
imul ecx, edx
imul eax, r9d, 0x272
add ecx, r11d
sar ecx, 0xf
sub cx, r8w
mov r8d, 0xffff8000
add cx, r8w
movsx edx, cx
mov ecx, r11d
sub ecx, eax
sar ecx, 0xf
lea eax, [r14 + rcx]
mov ecx, 0x1de3
cwde
imul eax, r9d
add eax, r11d
sar eax, 0xf
sub ax, cx
movsx ecx, ax
imul ecx, r9d
add ecx, r11d
sar ecx, 0xf
sub cx, r10w
add cx, r8w
movsx ecx, cx
call fcn.1800c08c4
movsx edx, ax
mov r9d, 0x80
movsx eax, r9w
movsx ecx, r15w
imul eax, ecx
sub ax, r9w
cwde
imul edx, eax
mov rax, qword [rsp + 0xb8]
mov eax, dword [rax]
add edx, 0x4000
sar edx, 0xf
cmp edx, eax
jle 0x1800c0e21
mov ebx, esi
cmp dword [rsp + 0xc8], 1
jg 0x1800c0f60
cmp dword [rsp + 0xd8], edi
jne 0x1800c0f60
mov ebp, esi
sar ebp, 1
lea eax, [rbp + 1]
mov r14d, eax
mov dword [rsp + 0xd0], eax
imul r14d, eax
mov edx, r14d
cmp dword [rsp + 0x90], edi
je 0x1800c0ee2
mov r10d, esi
lea r8d, [rbx + 1]
sub r10d, ebx
imul r8d, ebx
mov r9d, r14d
lea ecx, [r10 + 2]
sar r8d, 1
lea eax, [r10 + 1]
imul ecx, eax
sar ecx, 1
sub edx, ecx
cmp ebx, ebp
cmovle r10d, ebx
cmovle edx, r8d
lea r8d, [r10 + 1]
add r8d, edx
mov rcx, r12
call fcn.1800ba544
jmp 0x1800c0f54
neg eax
cmp edx, eax
jge 0x1800c0da0
mov r8d, dword [rsp + 0x90]
mov ebx, edi
cmp dword [rsp + 0xd8], edi
je 0x1800c0da0
cmp r15d, 2
jle 0x1800c0da0
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov r14d, eax
lea ecx, [rax + 1]
lea ebp, [rcx + rcx*2]
lea r9d, [rax + rbp]
mov dword [rsp + 0xd0], r9d
test r8d, r8d
je 0x1800c0e8e
sub ebp, eax
lea ecx, [rbx + 1]
cmp ebx, eax
lea edx, [rcx + rcx*2]
lea eax, [rbx + rbx*2]
lea r8d, [rbx + rbp]
cmovle r8d, edx
lea edx, [r14 + 1]
lea edx, [rbx + rdx*2]
cmovle edx, eax
jmp 0x1800c0e14
mov edx, r9d
mov rcx, r12
call fcn.1800cc108
mov ecx, eax
cmp eax, ebp
jge 0x1800c0eaf
mov eax, 0x55555556
imul ecx
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
jmp 0x1800c0eb7
sub ecx, ebp
lea ebx, [rcx + 1]
add ebx, r14d
mov r9d, dword [rsp + 0xd0]
lea edx, [rbx + r14*2]
cmp ebx, r14d
lea r8d, [rdx + 3]
lea eax, [rbx + 1]
lea ecx, [rax + rax*2]
cmovle r8d, ecx
lea eax, [rbx + rbx*2]
sub edx, 0xfffffffe
cmp ebx, r14d
cmovle edx, eax
jmp 0x1800c0f4c
mov rcx, r12
call fcn.1800cc108
imul ebp, dword [rsp + 0xd0]
sar ebp, 1
cmp eax, ebp
jge 0x1800c0f15
lea ecx, [rax*8 + 1]
call fcn.1800ccd2c
lea ebx, [rax - 1]
shr ebx, 1
lea ecx, [rbx + 1]
mov edx, ecx
imul edx, ebx
sar edx, 1
jmp 0x1800c0f45
mov ecx, r14d
sub ecx, eax
lea ecx, [rcx*8 - 7]
call fcn.1800ccd2c
lea ebx, [rsi*2 + 2]
mov edx, r14d
sub ebx, eax
mov eax, esi
shr ebx, 1
sub eax, ebx
lea ecx, [rax + 1]
add eax, 2
imul eax, ecx
sar eax, 1
sub edx, eax
lea r8d, [rdx + rcx]
mov r9d, r14d
mov rcx, r12
call fcn.1800cc0d8
mov r14d, dword [rsp + 0x90]
mov ebp, edi
jmp 0x1800c0f86
mov r14d, dword [rsp + 0x90]
lea edx, [rsi + 1]
mov rcx, r12
test r14d, r14d
je 0x1800c0f7f
mov r8d, edx
mov edx, ebx
call fcn.1800ba490
jmp 0x1800c0f86
call fcn.1800cbf8c
mov ebx, eax
test ebx, ebx
jns 0x1800c0fa3
mov r8d, 0x346
lea rdx, str..._.._.._third_party_opus_src_celt_bands.c
lea rcx, str.assertion_failed:_itheta_0
call fcn.1800b02e4
shl ebx, 0xe
xor edx, edx
mov eax, ebx
div esi
mov ebx, eax
test r14d, r14d
je 0x1800c1112
cmp dword [rsp + 0xd8], edi
je 0x1800c1112
test eax, eax
jne 0x1800c0ff4
mov eax, dword [rsp + 0x34]
mov r8, r13
mov r9, qword [rsp + 0x40]
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], eax
call fcn.1800c16f8
jmp 0x1800c1112
mov r14d, 1
test r15d, r15d
jle 0x1800c1118
mov rax, qword [rsp + 0xa0]
mov rcx, r15
movss xmm3, dword [0x1800fb6f4]
sub rax, r13
movss xmm1, dword [r13]
movss xmm2, dword [rax + r13]
mulss xmm1, xmm3
mulss xmm2, xmm3
movaps xmm0, xmm1
addss xmm0, xmm2
subss xmm1, xmm2
movss dword [rax + r13], xmm0
movss dword [r13], xmm1
add r13, 4
sub rcx, r14
jne 0x1800c1019
jmp 0x1800c1118
cmp dword [rsp + 0xd8], edi
je 0x1800c1112
mov eax, dword [rsp + 0x90]
test eax, eax
je 0x1800c10cb
cmp ebx, 0x2000
jle 0x1800c109d
cmp dword [r14 + 0x44], edi
jne 0x1800c109d
mov ebp, edx
test r15d, r15d
jle 0x1800c109d
mov rax, r13
mov rcx, r15
movss xmm0, dword [rax]
xorps xmm0, xmmword [0x1800f1cf0]
movss dword [rax], xmm0
lea rax, [rax + 4]
sub rcx, rdx
jne 0x1800c1085
mov eax, dword [rsp + 0x34]
mov r8, r13
mov r9, qword [rsp + 0x40]
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], eax
call fcn.1800c16f8
mov eax, dword [rsp + 0x90]
mov rcx, qword [rsp + 0xb8]
cmp dword [rcx], 0x10
jle 0x1800c1103
cmp dword [r14 + 0x28], 0x10
jle 0x1800c1103
mov rcx, r12
test eax, eax
je 0x1800c10f5
mov r8d, 2
mov edx, ebp
call fcn.1800b9f74
jmp 0x1800c1105
mov edx, 2
call fcn.1800cbd90
mov ebp, eax
jmp 0x1800c1105
mov ebp, edi
cmp dword [r14 + 0x44], edi
mov eax, edi
mov ebx, edi
cmove eax, ebp
mov ebp, eax
mov r14d, 1
mov rcx, r12
call fcn.1800be950
mov esi, eax
mov rax, qword [rsp + 0xb8]
sub esi, dword [rsp + 0xb0]
sub dword [rax], esi
test ebx, ebx
jne 0x1800c1161
mov ecx, dword [rsp + 0xc0]
mov edx, r14d
shl edx, cl
mov r12d, 0x7fff
mov rcx, qword [rsp + 0xe0]
sub edx, r14d
mov r14d, 0xffffc000
and dword [rcx], edx
jmp 0x1800c1274
mov r14d, 0x4000
cmp ebx, r14d
jne 0x1800c1197
mov ecx, dword [rsp + 0xc0]
mov eax, 1
mov edx, eax
mov r12d, edi
shl edx, cl
mov edi, 0x7fff
sub edx, eax
mov rax, qword [rsp + 0xe0]
shl edx, cl
and dword [rax], edx
jmp 0x1800c1274
mov ecx, r14d
movsx r8d, bx
imul r8d, r8d
mov r9d, 0x1000
mov r10d, 0x2055
mov r11d, 0x1de3
mov edi, 0xffff8000
add r8d, r9d
sar r8d, 0xd
movsx edx, r8w
imul eax, edx, 0x272
sub ecx, eax
sar ecx, 0xf
lea eax, [r10 + rcx]
cwde
imul eax, edx
add eax, r14d
sar eax, 0xf
sub ax, r11w
movsx ecx, ax
mov eax, r14d
imul ecx, edx
sub ax, bx
add ecx, r14d
sar ecx, 0xf
sub cx, r8w
movsx r8d, ax
add cx, di
imul r8d, r8d
movsx r12d, cx
mov ecx, r14d
add r8d, r9d
sar r8d, 0xd
movsx edx, r8w
imul eax, edx, 0x272
sub ecx, eax
sar ecx, 0xf
lea eax, [r10 + rcx]
cwde
imul eax, edx
add eax, r14d
sar eax, 0xf
sub ax, r11w
movsx ecx, ax
imul ecx, edx
mov edx, r12d
add ecx, r14d
sar ecx, 0xf
sub cx, r8w
add cx, di
movsx edi, cx
mov ecx, edi
call fcn.1800c08c4
movsx edx, ax
mov r8d, 0x80
movsx eax, r8w
movsx ecx, r15w
imul eax, ecx
sub ax, r8w
cwde
imul edx, eax
add r14d, edx
sar r14d, 0xf
mov rax, qword [rsp + 0x98]
mov dword [rax + 0x10], ebx
mov rbx, qword [rsp + 0xa8]
mov dword [rax], ebp
mov dword [rax + 4], r12d
mov dword [rax + 8], edi
mov dword [rax + 0xc], r14d
mov dword [rax + 0x14], esi
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret