Function at 0x140015ec0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
sub rsp, 0x830
movaps xmmword [rax - 0x18], xmm6
movsd xmm6, qword [0x14003d350]
lea rbx, [0x140066860]
mov ebp, 1
xor r12d, r12d
nop word [rax + rax]
mov edi, r12d
mov esi, 0x20
nop dword [rax + rax]
mov eax, edi
and eax, 0x7f
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm6
call fcn.14002acd0
add rbx, 4
add edi, ebp
sub rsi, 1
cvtsd2ss xmm1, xmm0
movss dword [rbx - 4], xmm1
jne 0x140015f10
add ebp, 2
cmp ebp, 0x41
jl 0x140015f00
lea rbx, [0x1400449a0]
lea rcx, [rsp + 0x20]
mov r8d, 0x600
mov rdx, rbx
call fcn.1400177a0
mov qword [rsp + 0x620], r12
mov qword [rsp + 0x628], r12
movss xmm1, dword [0x14003d340]
mov qword [rsp + 0x630], r12
mov qword [rsp + 0x638], r12
nop word [rax + rax]
movss xmm0, dword [r12 + rbx + 0x620]
add r12, 0x28
cmp r12, 0x1e0
xorps xmm0, xmm1
movss dword [rsp + r12 + 0x618], xmm0
movss xmm0, dword [r12 + rbx + 0x5fc]
xorps xmm0, xmm1
movss dword [rsp + r12 + 0x61c], xmm0
movss xmm0, dword [r12 + rbx + 0x600]
xorps xmm0, xmm1
movss dword [rsp + r12 + 0x620], xmm0
movss xmm0, dword [r12 + rbx + 0x604]
xorps xmm0, xmm1
movss dword [rsp + r12 + 0x624], xmm0
movss xmm0, dword [r12 + rbx + 0x608]
xorps xmm0, xmm1
movss dword [rsp + r12 + 0x628], xmm0
movss xmm0, dword [r12 + rbx + 0x60c]
xorps xmm0, xmm1
movss dword [rsp + r12 + 0x62c], xmm0
movss xmm0, dword [r12 + rbx + 0x610]
xorps xmm0, xmm1
movss dword [rsp + r12 + 0x630], xmm0
movss xmm0, dword [r12 + rbx + 0x614]
xorps xmm0, xmm1
movss dword [rsp + r12 + 0x634], xmm0
movss xmm0, dword [r12 + rbx + 0x618]
xorps xmm0, xmm1
movss dword [rsp + r12 + 0x638], xmm0
movss xmm0, dword [r12 + rbx + 0x61c]
xorps xmm0, xmm1
movss dword [rsp + r12 + 0x63c], xmm0
jl 0x140015f90
lea rdx, [rsp + 0x20]
mov r8d, 0x800
mov rcx, rbx
call fcn.1400177a0
mov ebx, 0x10
mov r11d, 2
mov r8, rbx
lea rdx, [0x1400449a4]
nop
lea rcx, [r11 - 2]
add rdx, 0x20
mov rax, rcx
and ecx, 7
and eax, 0x78
sub rcx, rax
mov eax, dword [rsp + rcx*4 + 0x200]
lea rcx, [r11 - 1]
mov dword [rdx - 0x24], eax
mov rax, rcx
and ecx, 7
and eax, 0x78
sub rcx, rax
mov eax, dword [rsp + rcx*4 + 0x200]
mov rcx, r11
mov dword [rdx - 0x20], eax
and ecx, 0x78
mov rax, r11
and eax, 7
sub rax, rcx
lea rcx, [r11 + 1]
mov eax, dword [rsp + rax*4 + 0x200]
mov dword [rdx - 0x1c], eax
mov rax, rcx
and ecx, 7
and eax, 0x78
sub rcx, rax
mov eax, dword [rsp + rcx*4 + 0x200]
lea rcx, [r11 + 2]
mov dword [rdx - 0x18], eax
and ecx, 0x78
lea rax, [r11 + 2]
and eax, 7
sub rax, rcx
lea rcx, [r11 + 3]
mov eax, dword [rsp + rax*4 + 0x200]
and ecx, 0x78
mov dword [rdx - 0x14], eax
lea rax, [r11 + 3]
and eax, 7
sub rax, rcx
lea rcx, [r11 + 4]
mov eax, dword [rsp + rax*4 + 0x200]
and ecx, 0x78
mov dword [rdx - 0x10], eax
lea rax, [r11 - 4]
and eax, 7
sub rax, rcx
lea rcx, [r11 + 5]
mov eax, dword [rsp + rax*4 + 0x200]
and ecx, 0x78
mov dword [rdx - 0xc], eax
lea rax, [r11 - 3]
add r11, 8
and eax, 7
sub rax, rcx
sub r8, 1
mov eax, dword [rsp + rax*4 + 0x200]
mov dword [rdx - 8], eax
jne 0x1400160b0
lea rdx, [rsp + 0x220]
lea rcx, [0x140044ba0]
mov r8d, 0x400
call fcn.1400177a0
mov r11d, 0x182
lea rdx, [0x140044fa4]
nop dword [rax]
lea rcx, [r11 - 2]
add rdx, 0x20
mov rax, rcx
and ecx, 7
and eax, 0x78
sub rcx, rax
mov eax, dword [rsp + rcx*4 + 0x800]
mov dword [rdx - 0x24], eax
lea rax, [r11 - 1]
mov rcx, rax
and eax, 0x78
and ecx, 7
sub rcx, rax
mov eax, dword [rsp + rcx*4 + 0x800]
mov rcx, r11
mov dword [rdx - 0x20], eax
and ecx, 0x78
mov rax, r11
and eax, 7
sub rax, rcx
lea rcx, [r11 + 1]
mov eax, dword [rsp + rax*4 + 0x800]
mov dword [rdx - 0x1c], eax
mov rax, rcx
and ecx, 7
and eax, 0x78
sub rcx, rax
mov eax, dword [rsp + rcx*4 + 0x800]
lea rcx, [r11 + 2]
mov dword [rdx - 0x18], eax
and ecx, 0x78
lea rax, [r11 + 2]
and eax, 7
sub rax, rcx
lea rcx, [r11 + 3]
mov eax, dword [rsp + rax*4 + 0x800]
and ecx, 0x78
mov dword [rdx - 0x14], eax
lea rax, [r11 + 3]
and eax, 7
sub rax, rcx
lea rcx, [r11 + 4]
mov eax, dword [rsp + rax*4 + 0x800]
and ecx, 0x78
mov dword [rdx - 0x10], eax
lea rax, [r11 - 4]
and eax, 7
sub rax, rcx
lea rcx, [r11 + 5]
mov eax, dword [rsp + rax*4 + 0x800]
and ecx, 0x78
mov dword [rdx - 0xc], eax
lea rax, [r11 - 3]
add r11, 8
and eax, 7
sub rax, rcx
sub rbx, 1
mov eax, dword [rsp + rax*4 + 0x800]
mov dword [rdx - 8], eax
jne 0x1400161c0
lea r11, [rsp + 0x830]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r12
ret