Function at 0x140026090
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rbx, rdx
cmp word [rcx], 0
je 0x140026350
mov rax, 0xffffffffffffffff
xor edi, edi
movabs rdx, 0x69256cdf7d31e4e6
add rdi, rdx
cmp word [rcx + rax + 3], 0
lea rax, [rax + 2]
jne 0x1400260c0
lea rdx, [rax + 1]
cmp rdx, 0x20
jbe 0x140026367
mov qword [rsp + 0x20], rbx
cmp rdx, 0x40
jbe 0x140026435
movabs r8, 0xb492b66fbe98f273
mov r11, qword [rcx + rax - 0xf]
mov r9, qword [rcx + rax - 0x1f]
mov rsi, qword [rcx + rax - 0x17]
add rsi, r9
add rsi, r11
xor r11, r8
mov r15, qword [rcx + rax - 0x3f]
mov r14, qword [rcx + rax - 0x37]
mov r10, qword [rcx + rax - 0x27]
lea rbx, [r15 + r10]
add rbx, r11
add rbx, rax
inc rbx
rol rbx, 0x2b
mov rbp, qword [rcx + rax - 0x2f]
add rbp, r15
add rbp, r14
lea rdx, [rax + rbp]
inc rdx
rol rdx, 0x14
add rdx, rbx
movabs rbx, 0xc3a5c85c97cb3127
xor r14, rbx
add rbp, rax
add rdx, r15
add r10, rbp
inc r10
mov r15, qword [rcx + rax - 7]
lea rbp, [r9 + r15]
add rbp, rdi
add rbp, rbx
rol rbp, 0x2b
add rsi, rdi
mov rbx, rsi
rol rbx, 0x14
add rdx, rax
inc rdx
add rbx, rbp
add rbx, r9
add rbx, rdi
add rsi, r15
mov r9, rdx
shr r9, 0x2f
xor r9, rdx
imul r9, r8
add r9, r14
mov rdi, qword [rcx]
add rdi, r9
rol rdi, 0x19
rol r11, 0x1f
imul rdi, r8
imul r11, r8
and rax, 0xffffffffffffffc0
xor r15d, r15d
mov r14, r9
add rdi, r10
add rdi, r11
mov rbp, qword [rcx + r15 + 0x10]
mov r13, qword [rcx + r15 + 0x18]
add rdi, rbp
rol rdi, 0x1b
imul rdi, r8
add r11, rdx
mov r12, qword [rcx + r15 + 0x30]
add r11, r12
rol r11, 0x16
imul r11, r8
mov r9, rdi
xor r14, rsi
mov rdi, r14
rol rdi, 0x1f
xor r9, rbx
imul rdx, r8
add rdx, qword [rcx + r15]
xor r11, r10
add rsi, r13
add rsi, r9
add rsi, rdx
rol rsi, 0x2b
add rbp, qword [rcx + r15 + 8]
add rbp, rdx
mov r14, rbp
rol r14, 0x14
mov r10, rbp
add rdx, r14
add rdx, rsi
add r10, r13
add rbx, rdi
mov r14, qword [rcx + r15 + 0x38]
add rbx, qword [rcx + r15 + 0x20]
lea rbp, [r14 + r11]
add rbp, rbx
rol rbp, 0x2b
add r12, qword [rcx + r15 + 0x28]
add r12, rbx
mov rsi, r12
rol r12, 0x14
add rbx, r12
add rbx, rbp
add rsi, r14
add r15, 0x40
cmp rax, r15
jne 0x1400261bd
xor rdx, rbx
movabs rax, 0x9ddfea08eb382d69
imul rdx, rax
mov rcx, rdx
shr rcx, 0x2f
xor rdx, rbx
xor rdx, rcx
imul rdx, rax
mov rcx, rdx
shr rcx, 0x2f
xor rcx, rdx
imul rcx, rax
add rcx, rdi
xor r10, rsi
imul r10, rax
mov rdx, r10
shr rdx, 0x2f
xor r10, rsi
xor r10, rdx
imul r10, rax
mov rdx, r10
shr rdx, 0x2f
xor rdx, r10
imul rdx, rax
mov rdi, r11
shr rdi, 0x2f
xor rdi, r11
imul rdi, r8
add rdi, r9
add rdi, rdx
xor rdi, rcx
imul rdi, rax
mov rdx, rdi
shr rdx, 0x2f
xor rdi, rcx
xor rdi, rdx
imul rdi, rax
mov rsi, rdi
shr rsi, 0x2f
xor rsi, rdi
imul rsi, rax
mov rbx, qword [rsp + 0x20]
mov ecx, 0x22
call qword [sym.imp.mozglue.dll_moz_xmalloc]
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov word [rax + 0x20], 0
mov rcx, qword [rbx]
mov qword [rbx], rax
test rcx, rcx
jne 0x14002635c
mov rcx, rax
mov r9, rsi
call fcn.1400334e0
dec eax
cmp eax, 0x10
setb al
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor edx, edx
call fcn.140035350
mov rsi, rax
jmp 0x140026306
call qword [sym.imp.mozglue.dll_free]
mov rax, qword [rbx]
jmp 0x14002632c
cmp rdx, 0x10
jbe 0x140026352
mov r9, qword [rcx]
mov r8, qword [rcx + 8]
movabs rdx, 0xb492b66fbe98f273
imul rdx, r9
mov rdi, qword [rcx + rax - 7]
movabs rbp, 0x9ae16a3b2f90404f
imul rbp, rdi
movabs r10, 0xc3a5c85c97cb3127
imul r10, qword [rcx + rax - 0xf]
movabs rcx, 0xc949d7c7509e6557
xor rcx, r8
rol rcx, 0x2c
movabs rsi, 0x651e95c4d06fbfb1
imul rsi, rdi
add rsi, rcx
movabs rcx, 0x4b6d499041670d8d
imul rcx, r9
sub rsi, rcx
add rax, rsi
inc rax
sub rdx, r8
rol rdx, 0x15
shr rbp, 0x1e
movabs rcx, 0xbe41013c00000000
imul rcx, rdi
add rcx, rdx
add rcx, rbp
add rcx, r10
xor rcx, rax
movabs rdx, 0x9ddfea08eb382d69
imul rcx, rdx
mov rbp, rcx
shr rbp, 0x2f
xor rcx, rax
xor rcx, rbp
imul rcx, rdx
mov rsi, rcx
shr rsi, 0x2f
xor rsi, rcx
imul rsi, rdx
jmp 0x140026306
mov rsi, qword [rcx + 0x10]
mov r9, qword [rcx + 0x18]
mov r10, qword [rcx + rax - 0xf]
mov rbx, qword [rcx + rax - 7]
lea rdx, [r10 + rax]
movabs r8, 0xc3a5c85c97cb3127
imul rdx, r8
mov edi, 1
imul rdi, r8
add rdi, rdx
add rdi, qword [rcx]
lea r11, [rdi + r9]
mov r14, rdi
add rdi, qword [rcx + 8]
mov rdx, rdi
add rdi, rsi
add rsi, qword [rcx + rax - 0x1f]
lea r15, [rsi + rbx]
mov rbp, rsi
add rsi, qword [rcx + rax - 0x17]
rol r11, 0xc
rol r14, 0x1b
rol rdx, 0x39
add rdx, r14
mov rax, rdi
rol rax, 0x21
rol r15, 0xc
rol rbp, 0x1b
add rdx, r11
mov rcx, rsi
rol rcx, 0x39
add rsi, r10
add rbx, rsi
rol rsi, 0x21
add rax, rdx
add rdi, r9
add rdi, rbp
add rdi, r15
add rdi, rcx
add rdi, rsi
movabs rcx, 0x9ae16a3b2f90404f
imul rdi, rcx
add rbx, rax
imul rbx, r8
add rbx, rdi
mov rdx, rbx
shr rdx, 0x2f
xor rdx, rbx
imul rdx, r8
add rdx, rax
mov rsi, rdx
shr rsi, 0x2f
xor rsi, rdx
imul rsi, rcx
jmp 0x140026301