Function at 0x1800bbf3c
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 0x1800bbfc8
lea eax, [rdi + 0x10]
cmp r15d, 2
je 0x1800bbfcd
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 0x1800bbffd
cmp r15d, 2
jne 0x1800bbffd
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 0x1800bc033
lea ecx, [rax - 0x3f]
mov esi, ecx
jmp 0x1800bc093
mov eax, r8d
lea rdx, [0x1800f6660]
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 0x1800bc093
mov r8d, 0x29d
lea rdx, str..._.._.._third_party_opus_src_celt_bands.c
lea rcx, [0x1800f6670]
call fcn.1800ab7c4
mov r9d, dword [rsp + 0x90]
mov ecx, 1
mov r11, qword [rsp + 0xa0]
cmp dword [rsp + 0xd8], edi
je 0x1800bc0a7
mov eax, dword [rsp + 0x34]
cmp eax, dword [rsp + 0x38]
cmovge esi, ecx
test r9d, r9d
je 0x1800bc0cc
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.1800c801c
mov ebx, eax
mov rcx, r12
call fcn.1800b9e30
mov edx, 1
mov dword [rsp + 0xb0], eax
mov r11d, 0x4000
cmp esi, edx
je 0x1800bc532
mov r8d, dword [rsp + 0x90]
test r8d, r8d
je 0x1800bc315
cmp dword [rsp + 0xd8], edi
je 0x1800bc14d
mov r9d, dword [r14 + 0x40]
test r9d, r9d
je 0x1800bc14d
mov eax, 0x7fff
cmp ebx, 0x2000
jg 0x1800bc123
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 0x1800bc315
inc ebx
jmp 0x1800bc315
imul ebx, esi
add ebx, 0x2000
sar ebx, 0xe
cmp dword [rsp + 0xd8], edi
jne 0x1800bc322
cmp dword [r14 + 0x48], edi
je 0x1800bc280
test ebx, ebx
jle 0x1800bc280
cmp ebx, esi
jge 0x1800bc280
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.1800bbda4
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 0x1800bc301
mov ebx, esi
cmp dword [rsp + 0xc8], 1
jg 0x1800bc440
cmp dword [rsp + 0xd8], edi
jne 0x1800bc440
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 0x1800bc3c2
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.1800b5a24
jmp 0x1800bc434
neg eax
cmp edx, eax
jge 0x1800bc280
mov r8d, dword [rsp + 0x90]
mov ebx, edi
cmp dword [rsp + 0xd8], edi
je 0x1800bc280
cmp r15d, 2
jle 0x1800bc280
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 0x1800bc36e
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 0x1800bc2f4
mov edx, r9d
mov rcx, r12
call fcn.1800c75e8
mov ecx, eax
cmp eax, ebp
jge 0x1800bc38f
mov eax, 0x55555556
imul ecx
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
jmp 0x1800bc397
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 0x1800bc42c
mov rcx, r12
call fcn.1800c75e8
imul ebp, dword [rsp + 0xd0]
sar ebp, 1
cmp eax, ebp
jge 0x1800bc3f5
lea ecx, [rax*8 + 1]
call fcn.1800c820c
lea ebx, [rax - 1]
shr ebx, 1
lea ecx, [rbx + 1]
mov edx, ecx
imul edx, ebx
sar edx, 1
jmp 0x1800bc425
mov ecx, r14d
sub ecx, eax
lea ecx, [rcx*8 - 7]
call fcn.1800c820c
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.1800c75b8
mov r14d, dword [rsp + 0x90]
mov ebp, edi
jmp 0x1800bc466
mov r14d, dword [rsp + 0x90]
lea edx, [rsi + 1]
mov rcx, r12
test r14d, r14d
je 0x1800bc45f
mov r8d, edx
mov edx, ebx
call fcn.1800b5970
jmp 0x1800bc466
call fcn.1800c746c
mov ebx, eax
test ebx, ebx
jns 0x1800bc483
mov r8d, 0x346
lea rdx, str..._.._.._third_party_opus_src_celt_bands.c
lea rcx, str.assertion_failed:_itheta_0
call fcn.1800ab7c4
shl ebx, 0xe
xor edx, edx
mov eax, ebx
div esi
mov ebx, eax
test r14d, r14d
je 0x1800bc5f2
cmp dword [rsp + 0xd8], edi
je 0x1800bc5f2
test eax, eax
jne 0x1800bc4d4
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.1800bcbd8
jmp 0x1800bc5f2
mov r14d, 1
test r15d, r15d
jle 0x1800bc5f8
mov rax, qword [rsp + 0xa0]
mov rcx, r15
movss xmm3, dword [0x1800f66f4]
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 0x1800bc4f9
jmp 0x1800bc5f8
cmp dword [rsp + 0xd8], edi
je 0x1800bc5f2
mov eax, dword [rsp + 0x90]
test eax, eax
je 0x1800bc5ab
cmp ebx, 0x2000
jle 0x1800bc57d
cmp dword [r14 + 0x44], edi
jne 0x1800bc57d
mov ebp, edx
test r15d, r15d
jle 0x1800bc57d
mov rax, r13
mov rcx, r15
movss xmm0, dword [rax]
xorps xmm0, xmmword [0x1800ecd00]
movss dword [rax], xmm0
lea rax, [rax + 4]
sub rcx, rdx
jne 0x1800bc565
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.1800bcbd8
mov eax, dword [rsp + 0x90]
mov rcx, qword [rsp + 0xb8]
cmp dword [rcx], 0x10
jle 0x1800bc5e3
cmp dword [r14 + 0x28], 0x10
jle 0x1800bc5e3
mov rcx, r12
test eax, eax
je 0x1800bc5d5
mov r8d, 2
mov edx, ebp
call fcn.1800b5454
jmp 0x1800bc5e5
mov edx, 2
call fcn.1800c7270
mov ebp, eax
jmp 0x1800bc5e5
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.1800b9e30
mov esi, eax
mov rax, qword [rsp + 0xb8]
sub esi, dword [rsp + 0xb0]
sub dword [rax], esi
test ebx, ebx
jne 0x1800bc641
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 0x1800bc754
mov r14d, 0x4000
cmp ebx, r14d
jne 0x1800bc677
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 0x1800bc754
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.1800bbda4
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