Function at 0x1404dcd70
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x1f8
mov r14, r8
mov rbx, rdx
mov rdi, rcx
lea rcx, [rsp + 0x70]
mov edx, 0x18
call fcn.140200660
lea rcx, [rsp + 0x130]
mov edx, 0x18
call fcn.140200660
movupd xmm0, xmmword [rbx]
movapd xmmword [rsp + 0x60], xmm0
xor eax, eax
mov rcx, qword [rdi + rax*8]
bswap rcx
mov qword [rsp + rax*8 + 0x130], rcx
inc rax
cmp rax, 2
jne 0x1404dcdb2
mov rbx, qword [rsp + 0x130]
mov rax, rbx
shr rax, 1
mov qword [rsp + 0xd0], rax
mov rax, rbx
shr rax, 2
mov qword [rsp + 0xa0], rax
mov rax, rbx
shr rax, 3
mov qword [rsp + 0x88], rax
mov edx, 1
xor eax, eax
mov rdi, qword [rsp + rdx*8 + 0x130]
mov rcx, rbx
shld rcx, rdi, 0x3f
mov qword [rsp + rdx*8 + 0xd0], rcx
mov rcx, rbx
shld rcx, rdi, 0x3e
shld rbx, rdi, 0x3d
mov qword [rsp + rdx*8 + 0xa0], rcx
mov qword [rsp + rdx*8 + 0x88], rbx
inc rdx
mov rbx, rdi
cmp rdx, 3
jne 0x1404dce05
mov r8, qword [rsp + rax*8 + 0x130]
mov rbx, qword [rsp + rax*8 + 0xd0]
mov rdx, rbx
xor rdx, r8
mov qword [rsp + rax*8 + 0x190], rdx
mov r9, qword [rsp + rax*8 + 0x88]
mov rcx, qword [rsp + rax*8 + 0xa0]
mov rsi, rcx
xor rsi, r8
mov qword [rsp + rax*8 + 0x160], rsi
mov rsi, rcx
xor rsi, rbx
mov qword [rsp + rax*8 + 0x100], rsi
mov rdi, r9
xor rdi, r8
mov qword [rsp + rax*8 + 0x148], rdi
xor rbx, r9
mov qword [rsp + rax*8 + 0xe8], rbx
mov rbx, r9
xor rbx, rcx
mov qword [rsp + rax*8 + 0xb8], rbx
xor rcx, rdx
mov qword [rsp + rax*8 + 0x1c0], rcx
xor rdx, r9
mov qword [rsp + rax*8 + 0x1a8], rdx
xor rbx, r8
mov qword [rsp + rax*8 + 0x178], rbx
xor rsi, r9
mov qword [rsp + rax*8 + 0x118], rsi
xor rcx, r9
mov qword [rsp + rax*8 + 0x1d8], rcx
inc rax
cmp rax, 3
jne 0x1404dce46
lea rcx, [rsp + 0x40]
mov edx, 0x20
call fcn.140200660
mov r8d, 0xf
mov r9d, 3
lea ecx, [r8*4]
xor ecx, 4
xor ebx, ebx
mov rdi, qword [rsp + rbx*8 + 0x60]
shr rdi, cl
and edi, 0xf
xor esi, esi
lea rax, [rdi + rdi*2]
lea rax, [rsp + rax*8]
add rax, 0x70
mov rax, qword [rax + rsi*8]
lea rdx, [rsi + rbx]
xor qword [rsp + rdx*8 + 0x40], rax
inc rsi
cmp rsi, r9
jne 0x1404dcf30
inc rbx
cmp rbx, 2
jne 0x1404dcf23
test r8d, r8d
je 0x1404dcfa6
xorpd xmm0, xmm0
xor ecx, ecx
movdqa xmm1, xmmword [rsp + rcx*8 + 0x40]
movdqa xmm2, xmm1
psllq xmm2, 0x3c
shufpd xmm0, xmm2, 1
psrlq xmm1, 4
por xmm1, xmm0
movdqa xmmword [rsp + rcx*8 + 0x40], xmm1
add rcx, 2
movapd xmm0, xmm2
cmp rcx, 4
jne 0x1404dcf65
lea eax, [r8 - 1]
test r8d, r8d
mov r8d, eax
jne 0x1404dcf16
xor eax, eax
mov rcx, qword [rsp + rax*8 + 0x40]
mov rdx, rcx
shr rdx, 0x38
mov byte [rsp + rax*8 + 0x20], dl
mov rdx, rcx
shr rdx, 0x30
mov byte [rsp + rax*8 + 0x21], dl
mov rdx, rcx
shr rdx, 0x28
mov byte [rsp + rax*8 + 0x22], dl
mov rdx, rcx
shr rdx, 0x20
mov byte [rsp + rax*8 + 0x23], dl
mov rdx, rcx
shr rdx, 0x18
mov byte [rsp + rax*8 + 0x24], dl
mov rdx, rcx
shr rdx, 0x10
mov byte [rsp + rax*8 + 0x25], dl
mov byte [rsp + rax*8 + 0x26], ch
mov byte [rsp + rax*8 + 0x27], cl
inc rax
cmp rax, 4
jne 0x1404dcfa8
mov eax, 0x1f
mov dl, byte [rsp + 0x30]
lea rdi, [0x140607280]
movzx ebx, byte [rsp + rax + 0x20]
mov cl, byte [rsp + rax + 0x10]
xor cl, byte [rdi + rbx*2]
xor dl, byte [rdi + rbx*2 + 1]
mov byte [rsp + rax + 0x10], cl
mov byte [rsp + rax + 0x11], dl
dec rax
mov edx, ecx
cmp rax, 0xf
ja 0x1404dd010
movaps xmm0, xmmword [rsp + 0x20]
movups xmmword [r14], xmm0
add rsp, 0x1f8
pop rbx
pop rdi
pop rsi
pop r14
ret