Function at 0x1400b1320
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x40
mov rdi, rcx
mov dword [rcx], edx
mov byte [rcx + 4], r8b
movsxd rcx, edx
shl rcx, 3
movaps xmmword [rsp + 0x20], xmm7
call fcn.1400c1e7c
mov qword [rdi + 0x108], rax
mov rbx, rax
cmp byte [rdi + 4], 0
je 0x1400b135e
movsd xmm7, qword [0x1404374b0]
jmp 0x1400b1366
movsd xmm7, qword [0x1404377d0]
mov eax, dword [rdi]
mulsd xmm7, qword [0x14041a7b8]
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], rsi
xor esi, esi
movd xmm0, eax
movaps xmmword [rsp + 0x30], xmm6
cvtdq2pd xmm0, xmm0
divsd xmm7, xmm0
cmp eax, 4
jg 0x1400b13e4
test eax, eax
jle 0x1400b1549
mov ebp, esi
nop dword [rax]
movd xmm6, esi
cvtdq2pd xmm6, xmm6
mulsd xmm6, xmm7
movaps xmm0, xmm6
call fcn.140261a30
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
movss dword [rbx + rbp], xmm1
call fcn.140263090
xorps xmm1, xmm1
lea rbp, [rbp + 8]
cvtsd2ss xmm1, xmm0
inc esi
movss dword [rbx + rbp - 4], xmm1
cmp esi, dword [rdi]
jl 0x1400b13a0
jmp 0x1400b1549
cdq
mov qword [rsp + 0x60], r14
and edx, 3
mov r14d, esi
add eax, edx
sar eax, 2
test eax, eax
jle 0x1400b144d
mov rbp, rsi
nop dword [rax]
movd xmm6, r14d
cvtdq2pd xmm6, xmm6
mulsd xmm6, xmm7
movaps xmm0, xmm6
call fcn.140261a30
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
movss dword [rbx + rbp], xmm1
call fcn.140263090
xorps xmm1, xmm1
lea rbp, [rbp + 8]
cvtsd2ss xmm1, xmm0
inc r14d
movss dword [rbx + rbp - 4], xmm1
mov eax, dword [rdi]
cdq
and edx, 3
add eax, edx
sar eax, 2
cmp r14d, eax
jl 0x1400b1400
mov eax, dword [rdi]
movss xmm2, dword [0x140437d70]
cdq
mov r14, qword [rsp + 0x60]
and edx, 3
add eax, edx
sar eax, 2
movsxd r8, eax
mov eax, dword [rdi]
cdq
sub eax, edx
sar eax, 1
cmp r8d, eax
jge 0x1400b14d2
lea r9, [r8*8]
nop dword [rax]
mov eax, dword [rdi]
mov ecx, r8d
cdq
and edx, 3
add eax, edx
sar eax, 2
sub ecx, eax
movsxd rax, ecx
lea rcx, [rbx + rax*8]
movss xmm0, dword [rcx + 4]
cmp byte [rdi + 4], sil
je 0x1400b14a5
xorps xmm0, xmm2
movss dword [r9 + rbx], xmm0
movss xmm0, dword [rcx]
cmp byte [rdi + 4], sil
jne 0x1400b14b8
xorps xmm0, xmm2
movss dword [r9 + rbx + 4], xmm0
inc r8d
mov eax, dword [rdi]
add r9, 8
cdq
sub eax, edx
sar eax, 1
cmp r8d, eax
jl 0x1400b1480
mov eax, dword [rdi]
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
mov dword [rbx + rcx*8], 0xbf800000
mov eax, dword [rdi]
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
mov dword [rbx + rcx*8 + 4], esi
mov eax, dword [rdi]
cdq
sub eax, edx
sar eax, 1
movsxd r8, eax
cmp r8d, dword [rdi]
jge 0x1400b1549
lea r9, [r8*8]
nop dword [rax + rax]
mov eax, dword [rdi]
lea r9, [r9 + 8]
mov rcx, qword [rdi + 0x108]
cdq
sub eax, edx
sar eax, 1
add eax, eax
sub eax, r8d
inc r8d
cdqe
movss xmm1, dword [rcx + rax*8 + 4]
movss xmm0, dword [rcx + rax*8]
xorps xmm1, xmm2
unpcklps xmm0, xmm1
movsd qword [r9 + rcx - 8], xmm0
cmp r8d, dword [rdi]
jl 0x1400b1510
mov ebx, dword [rdi]
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
call fcn.1400dff2c
movaps xmm7, xmmword [rsp + 0x20]
lea r8, [rdi + 0xc]
movaps xmm6, xmmword [rsp + 0x30]
mov ecx, 4
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
cvttsd2si r9d, xmm0
lea r10d, [rcx + 0x1c]
lea r11d, [rcx - 2]
mov eax, ebx
cdq
idiv ecx
test edx, edx
je 0x1400b15b7
nop dword [rax + rax]
cmp ecx, r11d
jne 0x1400b159c
mov ecx, 3
jmp 0x1400b15a8
cmp ecx, 4
lea eax, [rcx + 2]
cmove eax, r11d
mov ecx, eax
cmp ecx, r9d
mov eax, ebx
cdq
cmovg ecx, ebx
idiv ecx
test edx, edx
jne 0x1400b1590
mov eax, ebx
mov dword [r8 - 4], ecx
cdq
idiv ecx
mov dword [r8], eax
mov ebx, eax
add r8, 8
sub r10, 1
jne 0x1400b1582
mov rax, rdi
mov rbx, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret