Function at 0x1400a53c1
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 r15, r8
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
mov rax, qword [0x140102388]
xor rax, rsp
mov qword [rsp + 0x8f8], rax
lea rbx, [rsp + 0x240]
mov r13d, 0xf
movdqa xmm6, xmmword [0x1400e9720]
movdqa xmm7, xmmword [0x1400e9730]
lea r12, [rsp + 0xd0]
mov rcx, r12
mov rdx, r15
call fcn.1400a5739
lea rdx, [r15 + 0x20]
lea r14, [rsp + 0x30]
mov rcx, r14
call fcn.1400a5739
movdqa xmm0, xmmword [rsp + 0x30]
movdqa xmm1, xmmword [rsp + 0x40]
movq rax, xmm0
movdqa xmm3, xmmword [rsp + 0xd0]
movdqa xmm2, xmmword [rsp + 0xe0]
movq rcx, xmm3
add rcx, rax
pshufd xmm4, xmm0, 0x4e
movq rax, xmm4
pshufd xmm4, xmm3, 0x4e
movq rdx, xmm4
add rdx, rax
movq rax, xmm1
movq rdi, xmm2
add rdi, rax
pshufd xmm4, xmm1, 0x4e
movq rax, xmm4
pshufd xmm4, xmm2, 0x4e
movq rbp, xmm4
add rbp, rax
mov rax, qword [rsp + 0x50]
mov rsi, qword [rsp + 0xf0]
lea r8, [rsi + rax]
mov qword [rbx - 0x50], rcx
mov qword [rbx - 0x48], rdx
mov qword [rbx - 0x40], rdi
mov qword [rbx - 0x38], rbp
mov qword [rbx - 0x30], r8
psubq xmm0, xmm3
paddq xmm0, xmm6
psubq xmm1, xmm2
paddq xmm1, xmm7
sub rax, rsi
movabs rcx, 0xffffffffffffe
add rax, rcx
movdqu xmmword [rbx - 0x28], xmm0
movdqu xmmword [rbx - 0x18], xmm1
mov qword [rbx - 8], rax
mov rcx, rbx
mov rdx, r12
mov r8, r14
call fcn.1400a9e28
mov rcx, rbx
mov rdx, rbx
lea r8, [0x1400e97a0]
call fcn.1400a9e28
add rbx, 0x78
add r15, 0x40
dec r13
jne 0x1400a5421
pxor xmm6, xmm6
mov r14, qword [rsp + 0x20]
movdqu xmmword [r14 + 0x10], xmm6
movdqu xmmword [r14], xmm6
xor eax, eax
mov qword [r14 + 0x20], rax
movdqu xmmword [r14 + 0x30], xmm6
movdqu xmmword [r14 + 0x40], xmm6
mov ecx, 1
mov qword [r14 + 0x28], rcx
movdqu xmmword [r14 + 0x58], xmm6
movdqu xmmword [r14 + 0x68], xmm6
mov qword [r14 + 0x50], rcx
movdqu xmmword [r14 + 0x78], xmm6
movdqu xmmword [r14 + 0x88], 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 0x1400a55ad
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 0x1400a5621
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 0x1400a564c
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 0x1400a5677
inc rax
add rcx, 0x78
cmp rax, 0x10
jne 0x1400a5610
lea rsi, [rsp + 0xd0]
mov rcx, rsi
mov rdx, r14
call fcn.1400a4d9a
mov rcx, r13
mov rdx, r14
mov r8, rsi
call fcn.1400a4ef6
mov rcx, r14
mov rdx, r13
call fcn.1400a4e7e
mov rcx, r13
mov rdx, r14
lea r8, [rsp + 0x178]
call fcn.1400a58ed
mov rcx, r14
mov rdx, r13
call fcn.1400a4e7e
dec r12
cmp r12d, 0x40
jb 0x1400a5597
mov rcx, qword [rsp + 0x8f8]
xor rcx, rsp
call fcn.1400ab340
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