Function at 0x1400e6550
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push r12
push r14
mov rbp, rsp
sub rsp, 0x58
xor r12d, r12d
mov rbx, rdx
mov edx, dword [r8 + 8]
mov eax, r12d
cmp edx, dword [0x1401441e0]
mov r14, rcx
cmove rax, r8
test rax, rax
je 0x1400e6597
mov r8, qword [rax + 0x20]
mov rdx, rbx
call fcn.1400e6550
mov rax, rbx
add rsp, 0x58
pop r14
pop r12
pop rbx
pop rbp
ret
cmp edx, dword [0x1401441e4]
je 0x1400e6b9f
cmp edx, dword [0x1401441e8]
je 0x1400e6b9f
cmp edx, dword [0x1401441ec]
je 0x1400e6b9f
cmp edx, dword [0x1401441f0]
je 0x1400e6b9f
cmp edx, dword [0x1401441f4]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400e6626
lea rdx, [rax + 0x20]
add rcx, 0x10
call fcn.1400d94a0
test rax, rax
lea rcx, [rax + 8]
cmove rcx, r12
test rcx, rcx
je 0x1400e660e
mov rax, qword [rcx]
mov qword [rbx + 8], rax
mov rax, rbx
mov qword [rbx], r12
add rsp, 0x58
pop r14
pop r12
pop rbx
pop rbp
ret
mov rax, r12
mov qword [rbx], r12
mov qword [rbx + 8], rax
mov rax, rbx
add rsp, 0x58
pop r14
pop r12
pop rbx
pop rbp
ret
cmp edx, dword [0x1401441f8]
jne 0x1400e6647
mov qword [rbx], 1
mov rax, rbx
mov qword [rbx + 8], r12
add rsp, 0x58
pop r14
pop r12
pop rbx
pop rbp
ret
cmp edx, dword [0x1401441fc]
mov qword [rsp + 0x88], rdi
jne 0x1400e6668
mov edi, 3
mov qword [rbx + 8], r12
mov qword [rbx], rdi
jmp 0x1400e68c6
cmp edx, dword [0x140144200]
mov qword [rsp + 0x80], rsi
mov rsi, r12
cmove rsi, r8
mov qword [rsp + 0x98], r13
mov qword [rsp + 0x50], r15
test rsi, rsi
je 0x1400e67f5
mov rcx, qword [rcx + 8]
movabs r15, 0x8080808080808080
cmp qword [rcx + 0x10], r12
je 0x1400e66fc
mov r10, qword [rcx + 0x18]
mov rdx, r12
cmp rsi, r10
je 0x1400e66ff
mov r9, qword [rcx + 8]
mov rax, rsi
mov r11, qword [rcx]
dec r9
shr rax, 5
xor rax, rsi
shr rax, 4
and rax, r9
nop
mov rcx, rax
shl rcx, 4
add rcx, r11
mov r8, qword [rcx]
cmp r8, rsi
je 0x1400e67c5
cmp r8, r10
je 0x1400e66fc
inc rax
add rax, rdx
inc rdx
and rax, r9
cmp rdx, r9
jbe 0x1400e66d0
mov rdx, r12
mov rax, rdx
mov qword [rbp - 0x30], r12
neg rax
sbb rdi, rdi
xor r13b, r13b
add rdi, 3
mov qword [rbp - 0x38], rdi
test rdx, rdx
jne 0x1400e674f
mov r8, qword [rsi + 0x20]
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.1400e6550
mov rdx, qword [rax]
add rdx, rdi
mov rcx, rdx
and rcx, r15
mov rax, rcx
mov rdi, rcx
shr rax, 7
xor rcx, rdx
sub rdi, rax
or rdi, rcx
mov qword [rbp - 0x38], rdi
cmp qword [rsi + 0x30], r12
jbe 0x1400e67b9
nop word [rax + rax]
mov r8, qword [rsi + 0x28]
lea rdx, [rbp - 0x28]
mov rcx, r14
mov r8, qword [r8 + r12*8]
call fcn.1400e6550
mov rax, qword [rbp - 0x28]
test rax, rax
jne 0x1400e6787
test r13b, r13b
jne 0x1400e6787
mov eax, 1
lea rcx, [rax + rdi]
mov qword [rbp - 0x30], 0
mov rdx, rcx
inc r12
and rdx, r15
mov rax, rdx
mov rdi, rdx
shr rax, 7
xor rdx, rcx
sub rdi, rax
or rdi, rdx
cmp r12, qword [rsi + 0x30]
jb 0x1400e6760
mov qword [rbp - 0x38], rdi
movups xmm0, xmmword [rbp - 0x38]
movups xmmword [rbx], xmm0
jmp 0x1400e68b1
test rcx, rcx
lea rdx, [rcx + 8]
cmove rdx, r12
test rdx, rdx
je 0x1400e66ff
cmp qword [rsi + 0x30], 2
ja 0x1400e66ff
mov r13b, 1
mov qword [rbp - 0x30], r12
mov edi, 2
jmp 0x1400e674b
cmp edx, dword [0x140144204]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400e6830
mov r8, qword [rax + 0x20]
lea rdx, [rbp - 0x28]
call fcn.1400e6550
mov qword [rbx], r12
movabs r15, 0x8080808080808080
mov qword [rbx + 8], r12
mov r8, qword [rax]
inc r8
jmp 0x1400e6af0
cmp edx, dword [0x140144208]
mov rsi, r12
cmove rsi, r8
test rsi, rsi
je 0x1400e6893
mov r8, qword [rsi + 0x20]
lea rdx, [rbp - 0x28]
call fcn.1400e6550
mov r8, qword [rsi + 0x28]
lea rdx, [rbp - 0x38]
mov rcx, r14
mov rdi, rax
call fcn.1400e6550
mov rdx, qword [rdi]
movabs r15, 0x8080808080808080
add rdx, qword [rax]
mov rcx, rdx
and rcx, r15
mov rax, rcx
mov r8, rcx
shr rax, 7
xor rcx, rdx
sub r8, rax
or r8, rcx
inc r8
jmp 0x1400e6aec
cmp edx, dword [0x14014420c]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400e68dc
mov edi, 0xa
mov qword [rbx], rdi
mov qword [rbx + 8], r12
mov r13, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x80]
mov r15, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x88]
mov rax, rbx
add rsp, 0x58
pop r14
pop r12
pop rbx
pop rbp
ret
cmp edx, dword [0x140144210]
mov rsi, r12
cmove rsi, r8
test rsi, rsi
je 0x1400e69b6
mov edi, 0xa
mov qword [rbp + 0x38], r12
cmp qword [rsi + 0x28], r12
jbe 0x1400e68aa
movabs r15, 0x8080808080808080
nop dword [rax + rax]
mov r13, qword [rsi + 0x20]
mov r8, qword [r13 + r12 + 8]
test r8, r8
je 0x1400e6949
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.1400e6550
mov rdx, qword [rax]
add rdx, rdi
mov rcx, rdx
and rcx, r15
mov rax, rcx
mov rdi, rcx
shr rax, 7
xor rcx, rdx
sub rdi, rax
or rdi, rcx
mov r8, qword [r13 + r12 + 0x10]
lea rdx, [rbp - 0x38]
mov rcx, r14
call fcn.1400e6550
add r12, 0x18
mov rdx, qword [rax]
add rdx, rdi
mov rcx, rdx
and rcx, r15
mov rax, rcx
mov r8, rcx
xor rcx, rdx
shr rax, 7
sub r8, rax
or r8, rcx
inc r8
mov rcx, r8
and rcx, r15
mov rax, rcx
mov rdi, rcx
xor rcx, r8
shr rax, 7
sub rdi, rax
or rdi, rcx
mov rcx, qword [rbp + 0x38]
inc rcx
mov qword [rbp + 0x38], rcx
cmp rcx, qword [rsi + 0x28]
jb 0x1400e6910
xor r12d, r12d
jmp 0x1400e68aa
cmp edx, dword [0x140144214]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400e69f5
mov r8, qword [rax + 0x28]
lea rdx, [rbp - 0x28]
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], 0xffffffffffffffff
call fcn.1400e6550
lea r8, [rbp - 0x38]
mov rdx, rax
mov rcx, rbx
call fcn.1400e62e0
jmp 0x1400e68b1
cmp edx, dword [0x140144218]
mov rsi, r12
cmove rsi, r8
test rsi, rsi
je 0x1400e6a3a
mov r8, qword [rsi + 0x30]
lea rdx, [rbp - 0x28]
call fcn.1400e6550
mov r8, qword [rsi + 0x28]
lea rdx, [rbp - 0x38]
mov rcx, r14
mov rdi, rax
call fcn.1400e6550
mov r8, rdi
mov rdx, rax
mov rcx, rbx
call fcn.1400e62e0
jmp 0x1400e68b1
cmp edx, dword [0x14014421c]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400e6a5d
mov r8, qword [rax + 0x20]
mov rdx, rbx
call fcn.1400e6550
jmp 0x1400e68b1
cmp edx, dword [0x140144220]
mov r13, r12
cmove r13, r8
test r13, r13
je 0x1400e6b11
mov r8, qword [r13 + 0x20]
lea rdx, [rbp - 0x28]
call fcn.1400e6550
mov r8, qword [r13 + 0x30]
lea rdx, [rbp - 0x38]
mov rcx, r14
mov rdi, rax
call fcn.1400e6550
mov rsi, qword [rdi]
lea rdx, [rbp - 0x18]
mov r8, qword [r13 + 0x40]
movabs r15, 0x8080808080808080
mov rcx, r14
add rsi, qword [rax]
mov rdi, rsi
and rdi, r15
call fcn.1400e6550
mov rcx, rdi
mov rdx, rdi
shr rcx, 7
xor rdi, rsi
sub rdx, rcx
or rdx, rdi
add rdx, qword [rax]
mov rcx, rdx
and rcx, r15
mov rax, rcx
mov r8, rcx
shr rax, 7
xor rcx, rdx
sub r8, rax
or r8, rcx
add r8, 2
mov qword [rbx + 8], r12
mov rdx, r8
and rdx, r15
mov rax, rdx
mov rcx, rdx
shr rax, 7
xor rdx, r8
sub rcx, rax
or rcx, rdx
mov qword [rbx], rcx
jmp 0x1400e68b1
cmp edx, dword [0x140144224]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400e6b97
mov rsi, qword [rax + 0x30]
mov edi, 3
mov rax, qword [rax + 0x38]
lea r12, [rsi + rax*8]
cmp rsi, r12
je 0x1400e6b87
movabs r15, 0x8080808080808080
nop dword [rax]
nop word [rax + rax]
mov r8, qword [rsi]
lea rdx, [rbp - 0x18]
mov rcx, r14
call fcn.1400e6550
add rsi, 8
mov rdx, qword [rax]
add rdx, rdi
mov rcx, rdx
and rcx, r15
mov rax, rcx
mov rdi, rcx
shr rax, 7
xor rcx, rdx
sub rdi, rax
or rdi, rcx
cmp rsi, r12
jne 0x1400e6b50
mov qword [rbx], rdi
mov qword [rbx + 8], 0
jmp 0x1400e68b1
mov qword [rbx], r12
jmp 0x1400e68ad
mov qword [rbx], r12
mov rax, rbx
mov qword [rbx + 8], 0xffffffffffffffff
add rsp, 0x58
pop r14
pop r12
pop rbx
pop rbp
ret