Function at 0x1400a1060
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x928
movaps xmmword [rsp + 0x910], xmm7
movaps xmmword [rsp + 0x900], xmm6
mov rsi, r8
mov qword [rsp + 0x28], rdx
mov r14, rcx
mov rax, qword [0x140125058]
xor rax, rsp
mov qword [rsp + 0x8f8], rax
lea rbx, [rsp + 0x240]
mov ebp, 0xf
lea r15, [rsp + 0xd0]
lea r12, [rsp + 0x30]
movdqa xmm6, xmmword [0x140107a30]
movdqa xmm7, xmmword [0x140107a40]
lea r13, [0x140107ab0]
mov rcx, r15
mov rdx, rsi
call fcn.1400a0810
lea rdx, [rsi + 0x20]
mov rcx, r12
call fcn.1400a0810
mov rax, qword [rsp + 0x50]
movdqa xmm2, xmmword [rsp + 0x30]
movdqa xmm0, xmmword [rsp + 0x40]
mov rcx, qword [rsp + 0xf0]
movdqa xmm3, xmmword [rsp + 0xd0]
movdqa xmm1, xmmword [rsp + 0xe0]
movq rdx, xmm2
movq rdi, xmm3
add rdi, rdx
mov qword [rbx - 0x50], rdi
pshufd xmm4, xmm2, 0x4e
movq rdx, xmm4
pshufd xmm4, xmm3, 0x4e
movq rdi, xmm4
add rdi, rdx
mov qword [rbx - 0x48], rdi
movq rdx, xmm0
movq rdi, xmm1
add rdi, rdx
mov qword [rbx - 0x40], rdi
pshufd xmm4, xmm0, 0x4e
movq rdx, xmm4
pshufd xmm4, xmm1, 0x4e
movq rdi, xmm4
add rdi, rdx
mov qword [rbx - 0x38], rdi
lea rdx, [rcx + rax]
mov qword [rbx - 0x30], rdx
paddq xmm2, xmm6
psubq xmm2, xmm3
movdqu xmmword [rbx - 0x28], xmm2
paddq xmm0, xmm7
psubq xmm0, xmm1
movdqu xmmword [rbx - 0x18], xmm0
movabs rdx, 0xffffffffffffe
add rax, rdx
sub rax, rcx
mov qword [rbx - 8], rax
mov rcx, rbx
mov rdx, r15
mov r8, r12
call fcn.1400a5350
mov rcx, rbx
mov rdx, rbx
mov r8, r13
call fcn.1400a5350
add rbx, 0x78
add rsi, 0x40
dec rbp
jne 0x1400a10d1
pxor xmm6, xmm6
movdqu xmmword [r14 + 0x10], xmm6
movdqu xmmword [r14], xmm6
xor eax, eax
mov qword [r14 + 0x20], rax
movdqu xmmword [r14 + 0x40], xmm6
movdqu xmmword [r14 + 0x30], xmm6
mov ecx, 1
mov qword [r14 + 0x28], rcx
movdqu xmmword [r14 + 0x68], xmm6
movdqu xmmword [r14 + 0x58], xmm6
mov qword [r14 + 0x50], rcx
movdqu xmmword [r14 + 0x88], xmm6
movdqu xmmword [r14 + 0x78], xmm6
mov qword [r14 + 0x98], rax
lea r15, [rsp + 0x180]
mov r12d, 0x3f
lea r13, [rsp + 0x30]
mov rsi, r12
shr rsi, 3
add rsi, qword [rsp + 0x28]
mov eax, r12d
and eax, 7
xor edx, edx
xor ebp, ebp
movzx ebx, byte [rsi + rdx*8]
mov ecx, eax
shr ebx, cl
and ebx, 1
mov ecx, edx
shl ebx, cl
or bpl, bl
inc rdx
cmp rdx, 4
jne 0x1400a1247
movdqu xmmword [r15 + 0x10], xmm6
movdqu xmmword [r15], xmm6
mov eax, 1
mov qword [rsp + 0x178], rax
movdqu xmmword [r15 + 0x38], xmm6
movdqu xmmword [r15 + 0x28], xmm6
mov qword [rsp + 0x1a0], rax
movdqu xmmword [r15 + 0x58], xmm6
movdqu xmmword [r15 + 0x48], xmm6
mov qword [r15 + 0x68], 0
lea rcx, [rsp + 0x1f0]
mov edx, ebp
xor dl, al
movzx edx, dl
dec edx
shr edx, 0x1f
neg rdx
xor esi, esi
mov rbx, qword [rsp + rsi*8 + 0x178]
mov rdi, qword [rcx + rsi*8]
xor rdi, rbx
and rdi, rdx
xor rdi, rbx
mov qword [rsp + rsi*8 + 0x178], rdi
inc rsi
cmp rsi, 5
jne 0x1400a12bb
mov esi, 5
mov rbx, qword [rsp + rsi*8 + 0x178]
mov rdi, qword [rcx + rsi*8]
xor rdi, rbx
and rdi, rdx
xor rdi, rbx
mov qword [rsp + rsi*8 + 0x178], rdi
inc rsi
cmp rsi, 0xa
jne 0x1400a12e6
mov esi, 0xa
mov rbx, qword [rsp + rsi*8 + 0x178]
mov rdi, qword [rcx + rsi*8]
xor rdi, rbx
and rdi, rdx
xor rdi, rbx
mov qword [rsp + rsi*8 + 0x178], rdi
inc rsi
cmp rsi, 0xf
jne 0x1400a1311
inc rax
add rcx, 0x78
cmp rax, 0x10
jne 0x1400a12aa
lea rsi, [rsp + 0xd0]
mov rcx, rsi
mov rdx, r14
call fcn.1400a0a20
mov rcx, r13
mov rdx, r14
mov r8, rsi
call fcn.1400a0b60
mov rcx, r14
mov rdx, r13
call fcn.1400a0b00
mov rcx, r13
mov rdx, r14
lea r8, [rsp + 0x178]
call fcn.1400a13e0
mov rcx, r14
mov rdx, r13
call fcn.1400a0b00
dec r12
cmp r12d, 0x40
jb 0x1400a1231
mov rcx, qword [rsp + 0x8f8]
xor rcx, rsp
call fcn.1400a6c00
movaps xmm6, xmmword [rsp + 0x900]
movaps xmm7, xmmword [rsp + 0x910]
add rsp, 0x928
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret