Function at 0x140105c80
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2b8
mov edi, 0xfe
xor ebp, ebp
movabs rsi, 0x7ffffffffffff
mov rax, rdx
lea rbx, [rsp + 0xa8]
mov rdx, r8
mov qword [rsp + 0x300], rcx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov rcx, rbx
movups xmmword [rsp + 0x88], xmm0
movups xmmword [rsp + 0x98], xmm1
call fcn.140107590
lea rax, [rsp + 0xd0]
mov rcx, rax
mov qword [rsp + 0x28], rax
call fcn.140107510
lea rcx, [rsp + 0xf8]
call fcn.1401074f0
lea rax, [rsp + 0x120]
mov rdx, rbx
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.140107790
lea rcx, [rsp + 0x148]
call fcn.140107510
mov eax, edi
mov ecx, edi
mov rdx, qword [rsp + 0x38]
mov r8d, ebp
sar eax, 3
and ecx, 7
lea rbx, [rsp + 0xf8]
cdqe
lea r14, [rsp + 0x1c0]
lea r12, [rsp + 0x1e8]
movzx eax, byte [rsp + rax + 0x88]
lea r13, [rsp + 0x198]
sar eax, cl
mov rcx, qword [rsp + 0x28]
and eax, 1
xor r8d, eax
mov ebp, eax
mov qword [rsp + 0x40], r8
call fcn.140107560
lea rax, [rsp + 0x148]
mov r8, qword [rsp + 0x40]
mov rcx, rbx
mov rdx, rax
mov qword [rsp + 0x30], rax
call fcn.140107560
mov r8, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
lea rax, [rsp + 0x238]
mov rcx, rax
mov qword [rsp + 0x48], rax
call fcn.140107f60
lea rax, [rsp + 0x260]
mov rdx, qword [rsp + 0x28]
mov r8, rbx
mov rcx, rax
mov qword [rsp + 0x40], rax
call fcn.140107f60
mov rdx, qword [rsp + 0x28]
mov rcx, r14
mov r8, rbx
call fcn.1401079b0
mov r8, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov rcx, r12
call fcn.1401079b0
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov r8, r14
call fcn.140107a80
mov r8, qword [rsp + 0x40]
mov rdx, r12
mov rcx, rbx
call fcn.140107a80
lea rax, [rsp + 0x170]
mov rdx, qword [rsp + 0x40]
mov rcx, rax
mov qword [rsp + 0x70], rax
call fcn.140107d20
mov rdx, r14
mov rcx, r13
call fcn.140107d20
lea rax, [rsp + 0x210]
mov rdx, qword [rsp + 0x30]
mov r8, rbx
mov rcx, rax
mov qword [rsp + 0x78], rax
call fcn.1401079b0
mov rdx, qword [rsp + 0x30]
mov rcx, r12
mov r8, rbx
call fcn.140107f60
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x28]
mov rdx, r13
call fcn.140107a80
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
mov rdx, r13
call fcn.140107f60
mov rdx, r12
mov rcx, rbx
call fcn.140107d20
mov ecx, 0x1db42
mov rax, rcx
mul qword [rsp + 0x260]
mov r11, rdx
mov r10, rax
mov rax, rcx
mul qword [rsp + 0x268]
mov r8, r10
mov r9, r11
shrd r8, r11, 0x33
shr r9, 0x33
add r8, rax
mov rax, rcx
adc r9, rdx
mul qword [rsp + 0x270]
mov r12, r8
shrd r12, r9, 0x33
mov r13, r9
shr r13, 0x33
add rax, r12
adc rdx, r13
mov qword [rsp + 0x50], rax
mov rax, rcx
mov r14, qword [rsp + 0x50]
mov qword [rsp + 0x58], rdx
mul qword [rsp + 0x278]
mov r15, qword [rsp + 0x58]
shrd r14, r15, 0x33
shr r15, 0x33
add r14, rax
mov rax, rcx
adc r15, rdx
mul qword [rsp + 0x280]
mov r12, r14
shrd r12, r15, 0x33
mov r13, r15
shr r13, 0x33
add rax, r12
adc rdx, r13
mov qword [rsp + 0x60], rax
and r10, rsi
and r8, rsi
shrd rax, rdx, 0x33
mov qword [rsp + 0x68], rdx
and r14, rsi
imul r12, rax, 0x13
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x160], r14
and rax, rsi
add r12, r10
mov qword [rsp + 0x168], rax
mov rdx, r12
and r12, rsi
shr rdx, 0x33
mov qword [rsp + 0x148], r12
add rdx, r8
mov rcx, rdx
shr rdx, 0x33
and rcx, rsi
mov qword [rsp + 0x150], rcx
mov rcx, qword [rsp + 0x50]
and rcx, rsi
add rcx, rdx
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x158], rcx
mov rcx, qword [rsp + 0x38]
call fcn.140107d20
mov r8, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x48]
call fcn.1401079b0
mov rcx, qword [rsp + 0x30]
lea rdx, [rsp + 0xa8]
mov r8, rbx
call fcn.140107a80
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.140107a80
sub edi, 1
jae 0x140105d20
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x28]
mov r8d, ebp
mov qword [rsp + 0x40], r8
call fcn.140107560
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
mov rcx, rbx
call fcn.140107560
lea rcx, [rsp + 0x288]
mov rdx, rbx
call fcn.140107790
mov rdx, rcx
mov rcx, rbx
call fcn.1401077b0
mov rdx, qword [rsp + 0x28]
mov r8, rbx
mov rcx, rdx
call fcn.140107a80
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x300]
call fcn.140107fc0
nop
add rsp, 0x2b8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret