Function at 0x1400e1e40
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 [0x140143180]
mov r14, rcx
cmove rax, r8
test rax, rax
je 0x1400e1e87
mov r8, qword [rax + 0x20]
mov rdx, rbx
call fcn.1400e1e40
mov rax, rbx
add rsp, 0x58
pop r14
pop r12
pop rbx
pop rbp
ret
cmp edx, dword [0x140143184]
je 0x1400e248f
cmp edx, dword [0x140143188]
je 0x1400e248f
cmp edx, dword [0x14014318c]
je 0x1400e248f
cmp edx, dword [0x140143190]
je 0x1400e248f
cmp edx, dword [0x140143194]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400e1f16
lea rdx, [rax + 0x20]
add rcx, 0x10
call fcn.1400d4d90
test rax, rax
lea rcx, [rax + 8]
cmove rcx, r12
test rcx, rcx
je 0x1400e1efe
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 [0x140143198]
jne 0x1400e1f37
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 [0x14014319c]
mov qword [rsp + 0x88], rdi
jne 0x1400e1f58
mov edi, 3
mov qword [rbx + 8], r12
mov qword [rbx], rdi
jmp 0x1400e21b6
cmp edx, dword [0x1401431a0]
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 0x1400e20e5
mov rcx, qword [rcx + 8]
movabs r15, 0x8080808080808080
cmp qword [rcx + 0x10], r12
je 0x1400e1fec
mov r10, qword [rcx + 0x18]
mov rdx, r12
cmp rsi, r10
je 0x1400e1fef
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 0x1400e20b5
cmp r8, r10
je 0x1400e1fec
inc rax
add rax, rdx
inc rdx
and rax, r9
cmp rdx, r9
jbe 0x1400e1fc0
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 0x1400e203f
mov r8, qword [rsi + 0x20]
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.1400e1e40
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 0x1400e20a9
nop word [rax + rax]
mov r8, qword [rsi + 0x28]
lea rdx, [rbp - 0x28]
mov rcx, r14
mov r8, qword [r8 + r12*8]
call fcn.1400e1e40
mov rax, qword [rbp - 0x28]
test rax, rax
jne 0x1400e2077
test r13b, r13b
jne 0x1400e2077
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 0x1400e2050
mov qword [rbp - 0x38], rdi
movups xmm0, xmmword [rbp - 0x38]
movups xmmword [rbx], xmm0
jmp 0x1400e21a1
test rcx, rcx
lea rdx, [rcx + 8]
cmove rdx, r12
test rdx, rdx
je 0x1400e1fef
cmp qword [rsi + 0x30], 2
ja 0x1400e1fef
mov r13b, 1
mov qword [rbp - 0x30], r12
mov edi, 2
jmp 0x1400e203b
cmp edx, dword [0x1401431a4]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400e2120
mov r8, qword [rax + 0x20]
lea rdx, [rbp - 0x28]
call fcn.1400e1e40
mov qword [rbx], r12
movabs r15, 0x8080808080808080
mov qword [rbx + 8], r12
mov r8, qword [rax]
inc r8
jmp 0x1400e23e0
cmp edx, dword [0x1401431a8]
mov rsi, r12
cmove rsi, r8
test rsi, rsi
je 0x1400e2183
mov r8, qword [rsi + 0x20]
lea rdx, [rbp - 0x28]
call fcn.1400e1e40
mov r8, qword [rsi + 0x28]
lea rdx, [rbp - 0x38]
mov rcx, r14
mov rdi, rax
call fcn.1400e1e40
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 0x1400e23dc
cmp edx, dword [0x1401431ac]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400e21cc
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 [0x1401431b0]
mov rsi, r12
cmove rsi, r8
test rsi, rsi
je 0x1400e22a6
mov edi, 0xa
mov qword [rbp + 0x38], r12
cmp qword [rsi + 0x28], r12
jbe 0x1400e219a
movabs r15, 0x8080808080808080
nop dword [rax + rax]
mov r13, qword [rsi + 0x20]
mov r8, qword [r13 + r12 + 8]
test r8, r8
je 0x1400e2239
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.1400e1e40
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.1400e1e40
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 0x1400e2200
xor r12d, r12d
jmp 0x1400e219a
cmp edx, dword [0x1401431b4]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400e22e5
mov r8, qword [rax + 0x28]
lea rdx, [rbp - 0x28]
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], 0xffffffffffffffff
call fcn.1400e1e40
lea r8, [rbp - 0x38]
mov rdx, rax
mov rcx, rbx
call fcn.1400e1bd0
jmp 0x1400e21a1
cmp edx, dword [0x1401431b8]
mov rsi, r12
cmove rsi, r8
test rsi, rsi
je 0x1400e232a
mov r8, qword [rsi + 0x30]
lea rdx, [rbp - 0x28]
call fcn.1400e1e40
mov r8, qword [rsi + 0x28]
lea rdx, [rbp - 0x38]
mov rcx, r14
mov rdi, rax
call fcn.1400e1e40
mov r8, rdi
mov rdx, rax
mov rcx, rbx
call fcn.1400e1bd0
jmp 0x1400e21a1
cmp edx, dword [0x1401431bc]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400e234d
mov r8, qword [rax + 0x20]
mov rdx, rbx
call fcn.1400e1e40
jmp 0x1400e21a1
cmp edx, dword [0x1401431c0]
mov r13, r12
cmove r13, r8
test r13, r13
je 0x1400e2401
mov r8, qword [r13 + 0x20]
lea rdx, [rbp - 0x28]
call fcn.1400e1e40
mov r8, qword [r13 + 0x30]
lea rdx, [rbp - 0x38]
mov rcx, r14
mov rdi, rax
call fcn.1400e1e40
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.1400e1e40
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 0x1400e21a1
cmp edx, dword [0x1401431c4]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400e2487
mov rsi, qword [rax + 0x30]
mov edi, 3
mov rax, qword [rax + 0x38]
lea r12, [rsi + rax*8]
cmp rsi, r12
je 0x1400e2477
movabs r15, 0x8080808080808080
nop dword [rax]
nop word [rax + rax]
mov r8, qword [rsi]
lea rdx, [rbp - 0x18]
mov rcx, r14
call fcn.1400e1e40
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 0x1400e2440
mov qword [rbx], rdi
mov qword [rbx + 8], 0
jmp 0x1400e21a1
mov qword [rbx], r12
jmp 0x1400e219d
mov qword [rbx], r12
mov rax, rbx
mov qword [rbx + 8], 0xffffffffffffffff
add rsp, 0x58
pop r14
pop r12
pop rbx
pop rbp
ret