Function at 0x1400ecf80
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 [0x14014e180]
mov r14, rcx
cmove rax, r8
test rax, rax
je 0x1400ecfc7
mov r8, qword [rax + 0x20]
mov rdx, rbx
call fcn.1400ecf80
mov rax, rbx
add rsp, 0x58
pop r14
pop r12
pop rbx
pop rbp
ret
cmp edx, dword [0x14014e184]
je 0x1400ed5cf
cmp edx, dword [0x14014e188]
je 0x1400ed5cf
cmp edx, dword [0x14014e18c]
je 0x1400ed5cf
cmp edx, dword [0x14014e190]
je 0x1400ed5cf
cmp edx, dword [0x14014e194]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400ed056
lea rdx, [rax + 0x20]
add rcx, 0x10
call fcn.1400dfed0
test rax, rax
lea rcx, [rax + 8]
cmove rcx, r12
test rcx, rcx
je 0x1400ed03e
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 [0x14014e198]
jne 0x1400ed077
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 [0x14014e19c]
mov qword [rsp + 0x88], rdi
jne 0x1400ed098
mov edi, 3
mov qword [rbx + 8], r12
mov qword [rbx], rdi
jmp 0x1400ed2f6
cmp edx, dword [0x14014e1a0]
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 0x1400ed225
mov rcx, qword [rcx + 8]
movabs r15, 0x8080808080808080
cmp qword [rcx + 0x10], r12
je 0x1400ed12c
mov r10, qword [rcx + 0x18]
mov rdx, r12
cmp rsi, r10
je 0x1400ed12f
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 0x1400ed1f5
cmp r8, r10
je 0x1400ed12c
inc rax
add rax, rdx
inc rdx
and rax, r9
cmp rdx, r9
jbe 0x1400ed100
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 0x1400ed17f
mov r8, qword [rsi + 0x20]
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.1400ecf80
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 0x1400ed1e9
nop word [rax + rax]
mov r8, qword [rsi + 0x28]
lea rdx, [rbp - 0x28]
mov rcx, r14
mov r8, qword [r8 + r12*8]
call fcn.1400ecf80
mov rax, qword [rbp - 0x28]
test rax, rax
jne 0x1400ed1b7
test r13b, r13b
jne 0x1400ed1b7
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 0x1400ed190
mov qword [rbp - 0x38], rdi
movups xmm0, xmmword [rbp - 0x38]
movups xmmword [rbx], xmm0
jmp 0x1400ed2e1
test rcx, rcx
lea rdx, [rcx + 8]
cmove rdx, r12
test rdx, rdx
je 0x1400ed12f
cmp qword [rsi + 0x30], 2
ja 0x1400ed12f
mov r13b, 1
mov qword [rbp - 0x30], r12
mov edi, 2
jmp 0x1400ed17b
cmp edx, dword [0x14014e1a4]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400ed260
mov r8, qword [rax + 0x20]
lea rdx, [rbp - 0x28]
call fcn.1400ecf80
mov qword [rbx], r12
movabs r15, 0x8080808080808080
mov qword [rbx + 8], r12
mov r8, qword [rax]
inc r8
jmp 0x1400ed520
cmp edx, dword [0x14014e1a8]
mov rsi, r12
cmove rsi, r8
test rsi, rsi
je 0x1400ed2c3
mov r8, qword [rsi + 0x20]
lea rdx, [rbp - 0x28]
call fcn.1400ecf80
mov r8, qword [rsi + 0x28]
lea rdx, [rbp - 0x38]
mov rcx, r14
mov rdi, rax
call fcn.1400ecf80
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 0x1400ed51c
cmp edx, dword [0x14014e1ac]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400ed30c
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 [0x14014e1b0]
mov rsi, r12
cmove rsi, r8
test rsi, rsi
je 0x1400ed3e6
mov edi, 0xa
mov qword [rbp + 0x38], r12
cmp qword [rsi + 0x28], r12
jbe 0x1400ed2da
movabs r15, 0x8080808080808080
nop dword [rax + rax]
mov r13, qword [rsi + 0x20]
mov r8, qword [r13 + r12 + 8]
test r8, r8
je 0x1400ed379
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.1400ecf80
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.1400ecf80
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 0x1400ed340
xor r12d, r12d
jmp 0x1400ed2da
cmp edx, dword [0x14014e1b4]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400ed425
mov r8, qword [rax + 0x28]
lea rdx, [rbp - 0x28]
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], 0xffffffffffffffff
call fcn.1400ecf80
lea r8, [rbp - 0x38]
mov rdx, rax
mov rcx, rbx
call fcn.1400ecd10
jmp 0x1400ed2e1
cmp edx, dword [0x14014e1b8]
mov rsi, r12
cmove rsi, r8
test rsi, rsi
je 0x1400ed46a
mov r8, qword [rsi + 0x30]
lea rdx, [rbp - 0x28]
call fcn.1400ecf80
mov r8, qword [rsi + 0x28]
lea rdx, [rbp - 0x38]
mov rcx, r14
mov rdi, rax
call fcn.1400ecf80
mov r8, rdi
mov rdx, rax
mov rcx, rbx
call fcn.1400ecd10
jmp 0x1400ed2e1
cmp edx, dword [0x14014e1bc]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400ed48d
mov r8, qword [rax + 0x20]
mov rdx, rbx
call fcn.1400ecf80
jmp 0x1400ed2e1
cmp edx, dword [0x14014e1c0]
mov r13, r12
cmove r13, r8
test r13, r13
je 0x1400ed541
mov r8, qword [r13 + 0x20]
lea rdx, [rbp - 0x28]
call fcn.1400ecf80
mov r8, qword [r13 + 0x30]
lea rdx, [rbp - 0x38]
mov rcx, r14
mov rdi, rax
call fcn.1400ecf80
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.1400ecf80
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 0x1400ed2e1
cmp edx, dword [0x14014e1c4]
mov rax, r12
cmove rax, r8
test rax, rax
je 0x1400ed5c7
mov rsi, qword [rax + 0x30]
mov edi, 3
mov rax, qword [rax + 0x38]
lea r12, [rsi + rax*8]
cmp rsi, r12
je 0x1400ed5b7
movabs r15, 0x8080808080808080
nop dword [rax]
nop word [rax + rax]
mov r8, qword [rsi]
lea rdx, [rbp - 0x18]
mov rcx, r14
call fcn.1400ecf80
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 0x1400ed580
mov qword [rbx], rdi
mov qword [rbx + 8], 0
jmp 0x1400ed2e1
mov qword [rbx], r12
jmp 0x1400ed2dd
mov qword [rbx], r12
mov rax, rbx
mov qword [rbx + 8], 0xffffffffffffffff
add rsp, 0x58
pop r14
pop r12
pop rbx
pop rbp
ret