Function at 0x41b0d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov eax, dword [rcx]
mov r10, qword [rcx + 8]
mov ebp, dword [rsp + 0xf8]
mov ebx, dword [rsp + 0xd0]
mov r14, qword [rcx + 0x20]
mov rdi, rdx
mov dword [rsp + 0x40], eax
mov rdx, qword [rcx + 0x30]
mov r13, r8
mov eax, dword [rcx + 0x10]
mov r8d, ebp
mov rsi, rcx
mov r12, r9
mov qword [rsp + 0x48], rdx
mov r9d, dword [rcx + 0x14]
and r8d, 1
movsxd rdx, eax
mov dword [rsp + 0x3c], eax
mov rax, qword [r10 + 0x40]
movsx eax, word [rax + rdx*2]
mov edx, dword [rsp + 0xf0]
lea r11d, [rax + rdx*8]
mov rdx, qword [rsp + 0xd8]
mov eax, r11d
sar eax, 1
mov ecx, dword [rdx]
cmp ebx, 2
jne 0x41b270
test r8b, r8b
je 0x41b270
sub eax, 0x10
mov r15d, 2
imul eax, r15d
add eax, ecx
sub ecx, r11d
cdq
lea r11d, [rcx - 0x1f]
sub ecx, 0x20
idiv r15d
cmp eax, r11d
cmovge eax, ecx
cmp eax, 3
jle 0x41b280
cmp eax, 0x40
mov ecx, 0x40
lea rdx, [0x0046edf0]
cmovg eax, ecx
mov ecx, eax
sar eax, 3
and ecx, 7
movsx r11d, word [rdx + rcx*2]
mov ecx, 0xe
sub ecx, eax
sar r11d, cl
add r11d, 1
mov r15d, r11d
and r15d, 0xfffffffe
cmp r15d, 0x100
jg 0x41b977
cmp dword [rsp + 0x3c], r9d
jl 0x41b291
test r8b, r8b
je 0x41b291
mov r11d, dword [rsp + 0x40]
test r11d, r11d
jne 0x41b9fc
mov rcx, r14
call fcn.004287c0
mov dword [rsp + 0x50], eax
test ebp, ebp
jne 0x41b850
mov rcx, r14
call fcn.004287c0
sub eax, dword [rsp + 0x50]
mov r11d, eax
mov rax, qword [rsp + 0xd8]
sub dword [rax], r11d
mov eax, 1
xor r8d, r8d
xor r12d, r12d
mov esi, 0x7fff
movzx ecx, byte [rsp + 0xe0]
mov rbx, qword [rsp + 0x100]
shl eax, cl
sub eax, 1
and dword [rbx], eax
mov eax, 0xffffc000
mov dword [rdi], ebp
mov dword [rdi + 4], esi
mov dword [rdi + 8], r12d
mov dword [rdi + 0xc], eax
mov dword [rdi + 0x10], r8d
mov dword [rdi + 0x14], r11d
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
sub eax, 4
lea r15d, [rbx + rbx - 1]
jmp 0x41b163
mov r15d, 1
cmp dword [rsp + 0x3c], r9d
jge 0x41b1d2
mov r9d, dword [rsp + 0x40]
test r9d, r9d
jne 0x41b350
mov rcx, r14
mov byte [rsp + 0x3c], r8b
call fcn.004287c0
cmp r15d, 1
movzx r8d, byte [rsp + 0x3c]
mov dword [rsp + 0x50], eax
je 0x41b1f5
cmp ebx, 2
jle 0x41b2ce
test r8b, r8b
jne 0x41b6e0
cmp dword [rsp + 0xe8], 1
jg 0x41b780
test r8b, r8b
jne 0x41b780
mov r12d, r15d
mov rcx, r14
sar r12d, 1
lea esi, [r12 + 1]
mov ebp, esi
imul ebp, esi
imul esi, r12d
mov edx, ebp
call fcn.004288f0
sar esi, 1
cmp esi, eax
jle 0x41b940
lea ecx, [rax*8 + 1]
call fcn.0042a1e0
lea esi, [rax - 1]
shr esi, 1
lea eax, [rsi + 1]
mov edx, esi
imul edx, eax
sar edx, 1
lea r8d, [rax + rdx]
mov r9d, ebp
mov rcx, r14
call fcn.00428970
mov eax, esi
xor edx, edx
shl eax, 0xe
div r15d
mov r8d, eax
jmp 0x41b74a
mov eax, dword [rsi + 0x3c]
mov r8d, ebp
mov r9d, ebx
mov rdx, r12
mov rcx, r13
mov qword [rsp + 0x58], r10
mov dword [rsp + 0x20], eax
call fcn.0042ecc0
mov rcx, r14
mov dword [rsp + 0x54], eax
call fcn.004287c0
cmp r15d, 1
mov r8d, dword [rsp + 0x54]
mov r10, qword [rsp + 0x58]
mov dword [rsp + 0x50], eax
je 0x41ba33
mov r9d, r8d
imul r9d, r15d
test ebp, ebp
je 0x41b570
mov ecx, dword [rsi + 0x40]
test ecx, ecx
jne 0x41b8a0
lea esi, [r9 + 0x2000]
sar esi, 0xe
cmp ebx, 2
jle 0x41b9a4
mov eax, r15d
shr eax, 0x1f
add eax, r15d
sar eax, 1
lea ecx, [rax + rax*2 + 3]
lea r9d, [rax + rcx]
cmp esi, eax
jg 0x41b802
lea r8d, [rsi + rsi*2 + 3]
lea edx, [r8 - 3]
mov rcx, r14
mov qword [rsp + 0x40], r10
call fcn.00428cc0
test esi, esi
mov r10, qword [rsp + 0x40]
js 0x41b7b3
shl esi, 0xe
cmp r15d, esi
ja 0x41b820
mov eax, esi
xor edx, edx
div r15d
mov r8d, eax
movss xmm2, dword [0x0046ee84]
xor ecx, ecx
nop dword [rax]
movss xmm1, dword [r13 + rcx*4]
movss xmm0, dword [r12 + rcx*4]
mulss xmm1, xmm2
mulss xmm0, xmm2
movaps xmm3, xmm1
addss xmm3, xmm0
subss xmm0, xmm1
movss dword [r13 + rcx*4], xmm3
movss dword [r12 + rcx*4], xmm0
add rcx, 1
cmp ebx, ecx
jg 0x41b420
mov rcx, r14
mov dword [rsp + 0x3c], r8d
call fcn.004287c0
sub eax, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x3c]
mov r11d, eax
mov rax, qword [rsp + 0xd8]
sub dword [rax], r11d
cmp r8d, 0x4000
je 0x41b7d0
movsx edx, r8w
mov r9d, 0x4000
mov dword [rsp + 0x3c], r8d
imul edx, edx
sub r9d, r8d
movsx r9d, r9w
imul r9d, r9d
add edx, 0x1000
sar edx, 0xd
movsx ecx, dx
add r9d, 0x1000
imul eax, ecx, 0xfffffd8e
sar r9d, 0xd
movsx r10d, r9w
add eax, 0x4000
sar eax, 0xf
add ax, 0x2055
movzx eax, ax
imul eax, ecx
add eax, 0x4000
sar eax, 0xf
sub ax, 0x1de3
movsx esi, ax
mov eax, 0xffff8000
imul esi, ecx
mov ecx, eax
sub eax, r9d
sub ecx, edx
mov edx, ecx
imul ecx, r10d, 0xfffffd8e
add esi, 0x4000
sar esi, 0xf
add ecx, 0x4000
add esi, edx
sar ecx, 0xf
movsx esi, si
add cx, 0x2055
movzx ecx, cx
imul ecx, r10d
add ecx, 0x4000
sar ecx, 0xf
sub cx, 0x1de3
movsx edx, cx
imul edx, r10d
add edx, 0x4000
sar edx, 0xf
add edx, eax
sub ebx, 1
xor ebp, ebp
movsx r12d, dx
mov edx, esi
shl ebx, 7
mov ecx, r12d
movsx ebx, bx
call fcn.0041b050
mov r8d, dword [rsp + 0x3c]
cwde
imul ebx, eax
lea eax, [rbx + 0x4000]
sar eax, 0xf
jmp 0x41b243
mov eax, dword [rsi + 0x48]
lea ebp, [r9 + 0x2000]
sar ebp, 0xe
test eax, eax
je 0x41b793
test ebp, ebp
jle 0x41b793
cmp r15d, ebp
jle 0x41b793
mov eax, ebp
xor edx, edx
mov ecx, 0x4000
shl eax, 0xe
div r15d
movsx edx, ax
sub ecx, eax
imul edx, edx
movsx eax, cx
imul eax, eax
add edx, 0x1000
sar edx, 0xd
lea ecx, [rax + 0x1000]
movsx r9d, dx
sar ecx, 0xd
imul r8d, r9d, 0xfffffd8e
movsx r10d, cx
add r8d, 0x4000
sar r8d, 0xf
add r8w, 0x2055
movzx r8d, r8w
imul r8d, r9d
add r8d, 0x4000
sar r8d, 0xf
sub r8w, 0x1de3
movsx eax, r8w
mov r8d, 0xffff8000
imul eax, r9d
mov esi, r8d
imul r9d, r10d, 0xfffffd8e
sub esi, edx
mov edx, esi
add eax, 0x4000
add r9d, 0x4000
sar eax, 0xf
sar r9d, 0xf
add eax, edx
add r9w, 0x2055
movsx edx, ax
movzx r9d, r9w
imul r9d, r10d
add r9d, 0x4000
sar r9d, 0xf
sub r9w, 0x1de3
movsx eax, r9w
imul eax, r10d
add eax, 0x4000
sar eax, 0xf
sub r8d, ecx
add eax, r8d
movsx ecx, ax
call fcn.0041b050
lea edx, [rbx - 1]
mov rsi, qword [rsp + 0xd8]
shl edx, 7
cwde
movsx edx, dx
imul edx, eax
lea eax, [rdx + 0x4000]
mov edx, dword [rsi]
sar eax, 0xf
cmp edx, eax
jl 0x41b790
neg edx
cmp edx, eax
jle 0x41b793
cmp dword [rsp + 0xe8], 1
jg 0x41b9e7
xor ebp, ebp
mov eax, r15d
sar eax, 1
lea r9d, [rax + 1]
imul r9d, r9d
cmp eax, ebp
jl 0x41b8e0
lea eax, [rbp + 1]
mov edx, ebp
imul edx, eax
sar edx, 1
lea r8d, [rdx + rax]
mov rcx, r14
call fcn.00428cc0
jmp 0x41b739
mov esi, r15d
mov rcx, r14
shr esi, 0x1f
add esi, r15d
sar esi, 1
lea ebp, [rsi + 1]
lea r12d, [rbp + rbp*2]
lea r13d, [rsi + r12]
mov edx, r13d
call fcn.004288f0
mov ecx, eax
cmp eax, r12d
jge 0x41b920
mov eax, ecx
mov edx, 0x55555556
sar ecx, 0x1f
imul edx
sub edx, ecx
mov ebp, edx
cmp ebp, esi
jg 0x41b900
lea r8d, [rbp + rbp*2 + 3]
lea edx, [r8 - 3]
mov r9d, r13d
mov rcx, r14
call fcn.00428970
test ebp, ebp
js 0x41b7b3
mov eax, ebp
xor edx, edx
shl eax, 0xe
div r15d
mov r8d, eax
mov rcx, r14
mov dword [rsp + 0x3c], r8d
call fcn.004287c0
sub eax, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x3c]
mov r11d, eax
mov rax, qword [rsp + 0xd8]
sub dword [rax], r11d
test r8d, r8d
jne 0x41b479
xor ebp, ebp
jmp 0x41b217
lea edx, [r15 + 1]
mov rcx, r14
call fcn.00428ad0
mov ebp, eax
jmp 0x41b739
mov ebp, r15d
cmp dword [rsp + 0xe8], 1
jle 0x41b6b1
lea r8d, [r15 + 1]
mov edx, ebp
mov rcx, r14
call fcn.00428fe0
test ebp, ebp
jns 0x41b73d
mov r8d, 0x346
lea rdx, str..._celt_bands.c
lea rcx, str.assertion_failed:_itheta_0
call fcn.0040b720
nop dword [rax]
mov eax, 1
xor ebp, ebp
mov r12d, 0x7fff
xor esi, esi
movzx ecx, byte [rsp + 0xe0]
mov rbx, qword [rsp + 0x100]
shl eax, cl
sub eax, 1
shl eax, cl
and dword [rbx], eax
mov eax, 0x4000
jmp 0x41b243
mov r8d, esi
lea edx, [rsi - 1]
sub r8d, eax
sub edx, eax
add r8d, ecx
add edx, ecx
jmp 0x41b3e2
mov eax, dword [rsp + 0x3c]
mov ecx, dword [r10 + 8]
mov dword [rsp + 0x28], ebx
mov r8, r12
mov r9, qword [rsp + 0x48]
mov rdx, r13
xor ebp, ebp
mov dword [rsp + 0x20], eax
call fcn.0041acd0
jmp 0x41b1fd
xor ebp, ebp
mov rax, qword [rsp + 0xd8]
cmp dword [rax], 0x10
jle 0x41b883
cmp dword [rsi + 0x28], 0x10
jle 0x41b883
mov ecx, dword [rsp + 0x40]
test ecx, ecx
je 0x41b990
mov r8d, 2
mov edx, ebp
mov rcx, r14
call fcn.00428e10
jmp 0x41b885
xor ebp, ebp
mov edx, dword [rsi + 0x44]
mov eax, 0
test edx, edx
cmovne ebp, eax
jmp 0x41b1fd
cmp r8d, 0x2000
jg 0x41b930
mov eax, 0xffff8001
cdq
idiv r15d
lea esi, [rax + r9]
mov eax, 0
sar esi, 0xe
cmovs esi, eax
lea eax, [r15 - 1]
cmp esi, r15d
cmovge esi, eax
cmp ecx, 0x80000000
adc esi, 0
jmp 0x41b3b5
lea eax, [r15 + 1]
lea edx, [r15 + 2]
mov esi, r9d
sub eax, ebp
sub edx, ebp
imul edx, eax
sar edx, 1
sub esi, edx
mov edx, esi
jmp 0x41b6d0
mov r8d, ebp
lea edx, [rbp - 1]
sub r8d, esi
sub edx, esi
add r8d, r12d
add edx, r12d
jmp 0x41b72e
sub ecx, r12d
add ebp, ecx
jmp 0x41b71d
mov eax, 0x7fff
cdq
idiv r15d
jmp 0x41b8b6
mov esi, ebp
lea r12d, [r15 + 1]
sub esi, eax
lea ecx, [rsi*8 - 7]
lea esi, [r12 + r12]
call fcn.0042a1e0
lea edx, [r15 + 2]
mov ecx, ebp
sub esi, eax
mov eax, r12d
shr esi, 1
sub eax, esi
sub edx, esi
imul edx, eax
sar edx, 1
sub ecx, edx
mov edx, ecx
jmp 0x41b328
mov r8d, 0x29d
lea rdx, str..._celt_bands.c
lea rcx, str.assertion_failed:_qn___256
call fcn.0040b720
mov edx, 2
mov rcx, r14
call fcn.004289b0
mov ebp, eax
jmp 0x41b885
lea r8d, [r15 + 1]
mov edx, esi
mov rcx, r14
mov qword [rsp + 0x40], r10
call fcn.00428fe0
test esi, esi
mov r10, qword [rsp + 0x40]
js 0x41b7b3
shl esi, 0xe
xor edx, edx
mov eax, esi
div r15d
mov r8d, eax
cmp esi, r15d
jb 0x41b820
test ebx, ebx
jg 0x41b412
jmp 0x41b455
lea r8d, [r15 + 1]
xor edx, edx
mov rcx, r14
xor ebp, ebp
call fcn.00428fe0
jmp 0x41b73d
mov eax, dword [rsi + 0x3c]
mov r8d, ebp
mov r9d, ebx
mov rdx, r12
mov rcx, r13
mov qword [rsp + 0x58], r10
mov dword [rsp + 0x20], eax
call fcn.0042ecc0
mov rcx, r14
mov dword [rsp + 0x54], eax
call fcn.004287c0
mov r8d, dword [rsp + 0x54]
mov r10, qword [rsp + 0x58]
mov dword [rsp + 0x50], eax
test ebp, ebp
je 0x41b74a
cmp r8d, 0x2000
jle 0x41baa0
mov r8d, dword [rsi + 0x44]
test r8d, r8d
jne 0x41baa0
test ebx, ebx
jle 0x41ba79
lea edx, [rbx - 1]
mov rax, r12
movss xmm1, dword [0x0046ee90]
lea rdx, [r12 + rdx*4 + 4]
movss xmm0, dword [rax]
add rax, 4
xorps xmm0, xmm1
movss dword [rax - 4], xmm0
cmp rdx, rax
jne 0x41ba64
mov eax, dword [rsp + 0x3c]
mov ecx, dword [r10 + 8]
mov dword [rsp + 0x28], ebx
mov r8, r12
mov r9, qword [rsp + 0x48]
mov rdx, r13
mov dword [rsp + 0x20], eax
call fcn.0041acd0
jmp 0x41b852
xor ebp, ebp
jmp 0x41ba79