Function at 0x1400ea120
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x118
lea rbp, [rsp + 0x60]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x140419c00]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov rax, qword [rsp + 0x190]
mov r12d, r9d
mov qword [rbp + 0x28], rax
mov r15d, r12d
mov rax, qword [rsp + 0x1a0]
mov rbx, rdx
mov qword [rbp + 0x30], rax
mov r13, rcx
mov eax, r12d
shr r15d, 4
and eax, 0xf
mov dword [rbp + 0x10], r9d
mov r9, qword [rsp + 0x180]
mov r14, r8
mov dword [rbp], eax
mov rdi, rdx
mov eax, dword [rsp + 0x188]
mov qword [rbp + 8], r8
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], rcx
cmp eax, 0xc
jne 0x1400e6c73
movsd xmm0, qword [r9]
mov eax, dword [r9 + 8]
movsd qword [rbp + 0x40], xmm0
mov dword [rbp + 0x48], eax
mov dword [rbp + 0x4c], 0x1000000
jmp 0x1400e6cb2
mov ebx, dword [rcx + 0x150]
xor r8d, r8d
mov dword [rcx + 0x150], 0
xor edx, edx
lea rcx, [rbp + 0x40]
mov dword [rsp + 0x30], 0x10
mov qword [rsp + 0x28], rcx
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.1400e7160
mov dword [r13 + 0x150], ebx
mov r8, r14
mov rbx, rdi
movaps xmm0, xmmword [rbp + 0x40]
mov esi, 0xf
movaps xmmword [rbp + 0x80], xmm0
cmp rbx, r8
je 0x1400e6d2c
test r15d, r15d
je 0x1400e6d2c
cmp r12d, 0x10
jb 0x1400e6cf8
dec r15d
mov rax, rsi
add byte [rbp + rax + 0x40], 1
jne 0x1400e6ce8
dec rax
cmp rax, 0xc
jge 0x1400e6cd8
movaps xmm0, xmmword [rbp + 0x40]
movups xmmword [rdi], xmm0
add rdi, 0x10
test r15d, r15d
jne 0x1400e6cd2
mov eax, r12d
mov r8, rbx
and eax, 0xfffffff0
mov rdx, rbx
mov r9d, eax
mov r14d, eax
mov rcx, r13
call fcn.1400e8fb0
mov r15, qword [rbp + 8]
mov r8d, r14d
mov rdx, r15
mov rcx, rbx
call fcn.1400eb860
add r14, r15
jmp 0x1400e6e3b
cmp r12d, 0x10
jb 0x1400e6e38
mov r13, r8
lea rax, [rbp + 0x60]
sub r13, rdi
add rbx, rsi
mov r12, r13
sub r12, rax
nop dword [rax]
dec r15d
mov rax, rsi
add byte [rbp + rax + 0x40], 1
jne 0x1400e6d66
dec rax
cmp rax, 0xc
jge 0x1400e6d56
mov rcx, qword [rbp + 0x20]
lea r8, [rbp + 0x60]
lea rdx, [rbp + 0x40]
call fcn.1400e8fd0
test eax, eax
jne 0x1400e6eec
mov rax, rdi
lea rcx, [rbp + 0x60]
or rax, r14
or rax, rcx
test al, 7
jne 0x1400e6da9
mov rax, qword [rbp + 0x60]
xor rax, qword [r14]
mov qword [rdi], rax
mov rax, qword [rbp + 0x68]
xor rax, qword [rbx + r13 - 7]
mov qword [rbx - 7], rax
jmp 0x1400e6e11
lea rax, [rbp + 0x6f]
cmp rdi, rax
ja 0x1400e6dbb
lea rax, [rbp + 0x60]
cmp rbx, rax
jae 0x1400e6dc9
lea rax, [rbx + r13]
cmp rdi, rax
ja 0x1400e6e03
cmp rbx, r14
jb 0x1400e6e03
lea rdx, [rbp + 0x60]
mov r8d, 0x10
nop dword [rax]
nop word [rax + rax]
lea rax, [rdx + r12]
movzx ecx, byte [rax + rbx - 0xf]
lea r9, [rbp + 0x6f]
xor cl, byte [rdx]
mov rax, rdx
sub rax, r9
inc rdx
mov byte [rax + rbx], cl
sub r8, 1
jne 0x1400e6de0
jmp 0x1400e6e11
movdqu xmm0, xmmword [r14]
pxor xmm0, xmmword [rbp + 0x60]
movdqu xmmword [rdi], xmm0
add r14, 0x10
add rdi, 0x10
add rbx, 0x10
test r15d, r15d
jne 0x1400e6d50
mov r13, qword [rbp + 0x20]
mov r12d, dword [rbp + 0x10]
mov rbx, qword [rbp + 0x18]
mov r15, qword [rbp + 8]
jmp 0x1400e6e3b
mov r15, r14
cmp dword [rbp], 0
je 0x1400e6e7c
add byte [rbp + rsi + 0x40], 1
jne 0x1400e6e51
dec rsi
cmp rsi, 0xc
jge 0x1400e6e41
lea r8, [rbp + 0x60]
mov rcx, r13
lea rdx, [rbp + 0x40]
call fcn.1400e8fd0
test eax, eax
jne 0x1400e6eec
mov r9d, dword [rbp]
lea rdx, [rbp + 0x60]
mov r8, r14
mov rcx, rdi
call fcn.1400eba30
mov rsi, qword [rbp + 0x28]
test rsi, rsi
je 0x1400e6eea
mov edi, dword [rsp + 0x198]
mov r9, rbx
mov ebx, dword [rsp + 0x1a8]
mov rcx, r13
mov rdx, qword [rbp + 0x30]
mov r8d, ebx
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r12d
call fcn.1400e7160
lea r8, [rbp + 0x60]
mov rcx, r13
lea rdx, [rbp + 0x80]
call fcn.1400e8fd0
test eax, eax
jne 0x1400e6eec
mov r8d, edi
lea rdx, [rbp + 0x60]
mov rcx, rsi
call fcn.1400eb860
test r15, r15
jne 0x1400e6eea
test r12d, r12d
jne 0x1400e6eea
mov dword [r13 + 0x150], ebx
xor eax, eax
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.1400f4390
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
push rbx
sub rsp, 0x60
mov rbx, r8
test rcx, rcx
je 0x1400ea1d0
mov r10d, dword [rsp + 0xa8]
cmp r10d, 0x10
ja 0x1400ea1d0
mov r11d, dword [rsp + 0x98]
test r11d, r11d
je 0x1400ea1d0
cmp r10d, 0xc
jb 0x1400ea1d0
cmp dword [0x140c28ff0], 0
je 0x1400ea1b6
mov eax, dword [rcx + 0xf0]
mov r8, qword [rsp + 0xb0]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0xb8]
mov qword [rsp + 0x48], rcx
mov rcx, rbx
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x38], r11d
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xa0]
mov dword [rsp + 0x28], r9d
mov r9, qword [rsp + 0x90]
mov qword [rsp + 0x20], rax
call fcn.1400e5390
xor eax, eax
add rsp, 0x60
pop rbx
ret
mov dword [rsp + 0xa8], r10d
mov dword [rsp + 0x98], r11d
add rsp, 0x60
pop rbx
jmp 0x1400e6bd0
mov eax, 0xffffff53
add rsp, 0x60
pop rbx
ret