Function at 0x1400e7e80
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push r12
push r14
mov rbp, rsp
sub rsp, 0x58
mov eax, dword [r8 + 8]
xor r12d, r12d
cmp eax, dword [0x1401463e0]
mov r14, rcx
mov ecx, r12d
mov rbx, rdx
cmove rcx, r8
test rcx, rcx
je 0x1400e7ec7
mov r8, qword [rcx + 0x20]
mov rcx, r14
call fcn.1400e7e80
mov rax, rbx
add rsp, 0x58
pop r14
pop r12
pop rbx
pop rbp
ret
cmp eax, dword [0x1401463e4]
je 0x1400e84df
cmp eax, dword [0x1401463e8]
je 0x1400e84df
cmp eax, dword [0x1401463ec]
je 0x1400e84df
cmp eax, dword [0x1401463f0]
je 0x1400e84df
cmp eax, dword [0x1401463f4]
mov rdx, r12
cmove rdx, r8
test rdx, rdx
je 0x1400e7f56
add rdx, 0x20
lea rcx, [r14 + 0x10]
call fcn.1400dadd0
test rax, rax
lea rcx, [rax + 8]
cmove rcx, r12
test rcx, rcx
je 0x1400e7f3e
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 eax, dword [0x1401463f8]
jne 0x1400e7f77
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 eax, dword [0x1401463fc]
mov qword [rsp + 0x88], rdi
jne 0x1400e7f98
mov edi, 3
mov qword [rbx + 8], r12
mov qword [rbx], rdi
jmp 0x1400e81fe
cmp eax, dword [0x140146400]
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 0x1400e8125
mov rcx, qword [r14 + 8]
movabs r15, 0x8080808080808080
cmp qword [rcx + 0x10], r12
je 0x1400e802c
mov r10, qword [rcx + 0x18]
mov rdx, r12
cmp rsi, r10
je 0x1400e802f
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 0x1400e80f5
cmp r8, r10
je 0x1400e802c
inc rax
add rax, rdx
inc rdx
and rax, r9
cmp rdx, r9
jbe 0x1400e8000
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 0x1400e807f
mov r8, qword [rsi + 0x20]
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.1400e7e80
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 0x1400e80e9
nop word [rax + rax]
mov r8, qword [rsi + 0x28]
lea rdx, [rbp - 0x28]
mov rcx, r14
mov r8, qword [r8 + r12*8]
call fcn.1400e7e80
mov rax, qword [rbp - 0x28]
test rax, rax
jne 0x1400e80b7
test r13b, r13b
jne 0x1400e80b7
mov eax, 1
lea rcx, [rdi + rax]
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 0x1400e8090
mov qword [rbp - 0x38], rdi
movups xmm0, xmmword [rbp - 0x38]
movups xmmword [rbx], xmm0
jmp 0x1400e81e9
test rcx, rcx
lea rdx, [rcx + 8]
cmove rdx, r12
test rdx, rdx
je 0x1400e802f
cmp qword [rsi + 0x30], 2
ja 0x1400e802f
mov r13b, 1
mov qword [rbp - 0x30], r12
mov edi, 2
jmp 0x1400e807b
cmp eax, dword [0x140146404]
mov rcx, r12
cmove rcx, r8
test rcx, rcx
je 0x1400e8163
mov r8, qword [rcx + 0x20]
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.1400e7e80
mov qword [rbx], r12
movabs r15, 0x8080808080808080
mov qword [rbx + 8], r12
mov r8, qword [rax]
inc r8
jmp 0x1400e843c
cmp eax, dword [0x140146408]
mov rsi, r12
cmove rsi, r8
test rsi, rsi
je 0x1400e81c9
mov r8, qword [rsi + 0x20]
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.1400e7e80
mov r8, qword [rsi + 0x28]
lea rdx, [rbp - 0x38]
mov rcx, r14
mov rdi, rax
call fcn.1400e7e80
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 0x1400e8438
mov ecx, eax
mov rax, r12
cmp ecx, dword [0x14014640c]
cmove rax, r8
test rax, rax
je 0x1400e8214
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 ecx, dword [0x140146410]
mov rsi, r12
cmove rsi, r8
test rsi, rsi
je 0x1400e82f6
mov edi, 0xa
mov qword [rbp + 0x38], r12
cmp qword [rsi + 0x28], r12
jbe 0x1400e81e2
movabs r15, 0x8080808080808080
nop dword [rax]
nop word [rax + rax]
mov r13, qword [rsi + 0x20]
mov r8, qword [r13 + r12 + 8]
test r8, r8
je 0x1400e8289
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.1400e7e80
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.1400e7e80
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 0x1400e8250
xor r12d, r12d
jmp 0x1400e81e2
cmp ecx, dword [0x140146414]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400e8338
mov r8, qword [rax + 0x28]
lea rdx, [rbp - 0x28]
mov rcx, r14
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], 0xffffffffffffffff
call fcn.1400e7e80
lea r8, [rbp - 0x38]
mov rdx, rax
mov rcx, rbx
call fcn.1400e7bf0
jmp 0x1400e81e9
cmp ecx, dword [0x140146418]
mov rsi, r12
cmove rsi, r8
test rsi, rsi
je 0x1400e8380
mov r8, qword [rsi + 0x30]
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.1400e7e80
mov r8, qword [rsi + 0x28]
lea rdx, [rbp - 0x38]
mov rcx, r14
mov rdi, rax
call fcn.1400e7e80
mov r8, rdi
mov rdx, rax
mov rcx, rbx
call fcn.1400e7bf0
jmp 0x1400e81e9
cmp ecx, dword [0x14014641c]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400e83a6
mov r8, qword [rax + 0x20]
mov rdx, rbx
mov rcx, r14
call fcn.1400e7e80
jmp 0x1400e81e9
cmp ecx, dword [0x140146420]
mov r13, r12
cmove r13, r8
test r13, r13
je 0x1400e845d
mov r8, qword [r13 + 0x20]
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.1400e7e80
mov r8, qword [r13 + 0x30]
lea rdx, [rbp - 0x38]
mov rcx, r14
mov rdi, rax
call fcn.1400e7e80
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.1400e7e80
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 0x1400e81e9
cmp ecx, dword [0x140146424]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400e84d7
mov rsi, qword [rax + 0x30]
mov edi, 3
mov rax, qword [rax + 0x38]
lea r12, [rsi + rax*8]
cmp rsi, r12
je 0x1400e84c7
movabs r15, 0x8080808080808080
nop
mov r8, qword [rsi]
lea rdx, [rbp - 0x18]
mov rcx, r14
call fcn.1400e7e80
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 0x1400e8490
mov qword [rbx], rdi
mov qword [rbx + 8], 0
jmp 0x1400e81e9
mov qword [rbx], r12
jmp 0x1400e81e5
mov qword [rdx], r12
mov rax, rbx
mov qword [rdx + 8], 0xffffffffffffffff
add rsp, 0x58
pop r14
pop r12
pop rbx
pop rbp
ret