Function at 0x14005ee50
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r13
push r14
sub rsp, 0x78
mov rax, qword [0x1400e3aa8]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rsi, qword [rsp + 0xd0]
mov rax, r9
mov qword [rsp + 0x48], rax
mov rdi, rdx
cqo
mov qword [rsp + 0x40], rsi
and edx, 0xf
mov rbx, r8
add rax, rdx
mov r13, rcx
mov rbp, rax
and eax, 0xf
sub rax, rdx
sar rbp, 4
mov qword [rsp + 0x30], rax
mov r14, rax
test rax, rax
je 0x14005eec0
test rbp, rbp
jne 0x14005eeb8
xor eax, eax
jmp 0x14005f0ef
dec rbp
nop dword [rax + rax]
mov eax, dword [rsi + 8]
mov ecx, dword [rsi + 0xc]
mov qword [rsp + 0xb8], r12
mov r12d, dword [rsi + 4]
mov qword [rsp + 0x70], r15
mov r15d, dword [rsi]
mov dword [rsp + 0x20], r15d
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], ecx
test rbp, rbp
je 0x14005ef6f
mov r14d, dword [rsp + 0x20]
mov r15, rdi
sub r15, rbx
mov esi, r12d
nop
mov edx, dword [r13 + 4]
lea rcx, [r13 + 0xf8]
mov r9, rbx
mov r8, rdi
call fcn.14005d200
xor dword [rbx], r14d
xor dword [rbx + 4], esi
mov eax, dword [rsp + 0x28]
xor dword [rbx + 8], eax
mov eax, dword [rsp + 0x2c]
xor dword [rbx + 0xc], eax
mov eax, dword [rbx + r15 + 8]
mov ecx, dword [rbx + r15 + 0xc]
mov r14d, dword [rdi]
add rdi, 0x10
mov esi, dword [rbx + r15 + 4]
add rbx, 0x10
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], ecx
sub rbp, 1
jne 0x14005ef00
mov dword [rsp + 0x24], esi
mov r12d, dword [rsp + 0x24]
mov rsi, qword [rsp + 0x40]
mov dword [rsp + 0x20], r14d
mov r15d, dword [rsp + 0x20]
mov r14, qword [rsp + 0x30]
test r14, r14
je 0x14005f0d0
mov edx, dword [rdi + 4]
lea r9, [rsp + 0x50]
mov r8d, dword [rdi]
mov ecx, dword [rdi + 8]
mov eax, dword [rdi + 0xc]
mov dword [rsi], r8d
mov dword [rsi + 4], edx
mov dword [rsi + 8], ecx
mov dword [rsi + 0xc], eax
mov dword [rsp + 0x30], r8d
lea r8, [rsp + 0x30]
mov dword [rsp + 0x34], edx
mov edx, dword [r13 + 4]
mov dword [rsp + 0x38], ecx
lea rcx, [r13 + 0xf8]
mov dword [rsp + 0x3c], eax
call fcn.14005d200
xor ecx, ecx
test r14, r14
je 0x14005f095
cmp r14, 0x10
jb 0x14005f053
lea rdx, [rbx + 0xf]
lea r10, [rdi + 0xf]
add rdx, r14
add r10, r14
lea r9, [rbx + 0x10]
lea r8, [rdi + 0x10]
cmp r9, r10
ja 0x14005eff0
cmp rdx, r8
jae 0x14005f053
lea rax, [rsp + r14 + 0x4f]
cmp r9, rax
ja 0x14005f004
lea r9, [rsp + 0x50]
cmp rdx, r9
jae 0x14005f053
lea rdx, [rsp + 0x50]
cmp rdx, r10
ja 0x14005f013
cmp rax, r8
jae 0x14005f053
mov rax, r14
mov rdx, r14
and eax, 0xf
sub rdx, rax
mov r8, rdi
sub r8, rbx
movdqu xmm0, xmmword [rsp + rcx + 0x50]
lea rax, [rbx + rcx]
movdqu xmm1, xmmword [rax + r8 + 0x10]
movdqu xmmword [rsp + rcx + 0x50], xmm1
add rcx, 0x10
pxor xmm1, xmm0
movdqu xmmword [rax + 0x10], xmm1
cmp rcx, rdx
jb 0x14005f025
cmp rcx, r14
jae 0x14005f095
lea rdx, [rsp + 0x50]
mov r10, rbx
sub r10, rdx
sub rdi, rbx
add r10, 0x10
nop word [rax + rax]
lea r9, [rsp + 0x50]
add r9, rcx
inc rcx
lea r8, [r10 + r9]
movzx eax, byte [r8 + rdi]
movzx edx, al
xor dl, byte [r9]
mov byte [r9], al
mov byte [r8], dl
cmp rcx, r14
jb 0x14005f070
mov edx, dword [r13 + 4]
lea r8, [rsp + 0x50]
mov r9, rbx
lea rcx, [r13 + 0xf8]
call fcn.14005d200
xor dword [rbx], r15d
xor dword [rbx + 4], r12d
mov eax, dword [rsp + 0x28]
xor dword [rbx + 8], eax
mov eax, dword [rsp + 0x2c]
xor dword [rbx + 0xc], eax
jmp 0x14005f0dd
mov dword [rsi], r15d
mov dword [rsi + 4], r12d
mov dword [rsi + 8], eax
mov dword [rsi + 0xc], ecx
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140062750
add rsp, 0x78
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret