Function at 0x14001be50
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0x100
movups xmm0, xmmword [0x14002c300]
movzx ecx, word [0x14002c314]
lea r14, [rbp + 0x5f]
movups xmm1, xmmword [0x14002ac50]
mov edx, 0x43
mov rsi, qword [r14]
xor ebx, ebx
movups xmmword [rsp + 0x20], xmm0
mov word [rsp + 0x20], dx
mov edx, 0xff8c
xor word [rsp + 0x22], dx
mov edx, 0xff8d
xor word [rsp + 0x24], dx
mov edx, 0xff8e
xor word [rsp + 0x26], dx
mov edx, 0xff8f
xor word [rsp + 0x28], dx
mov edx, 0xff90
xor word [rbp - 0x7f], dx
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
mov edx, 0xff91
movups xmm0, xmmword [0x14002ac40]
xor word [rbp - 0x7d], dx
mov edx, 0xff92
mov eax, dword [0x14002c310]
xor word [rbp - 0x7b], dx
mov edx, 0xff93
mov dword [rbp - 0x79], eax
xor ax, dx
mov word [rbp - 0x79], ax
mov eax, 0xff94
xor word [rbp - 0x77], ax
mov eax, 0xff8b
xor cx, ax
mov qword [r14], rbx
mov eax, dword [0x14002ac80]
mov edi, dword [0x140030010]
mov dword [rbp - 0x19], eax
movzx eax, word [0x14002ac84]
movups xmmword [rbp - 0x59], xmm0
movups xmm0, xmmword [0x14002ac60]
movups xmmword [rbp - 0x49], xmm1
movups xmm1, xmmword [0x14002ac70]
mov word [rbp - 0x75], cx
mov ecx, ebx
mov word [rbp - 0x15], ax
movups xmmword [rbp - 0x39], xmm0
movups xmmword [rbp - 0x29], xmm1
cmp edi, 2
jl 0x14001c07c
movdqa xmm5, xmmword [0x14002c560]
lea rdx, [rbp - 0x59]
movdqa xmm4, xmmword [0x14002c620]
movdqa xmm6, xmmword [0x14002c590]
movdqa xmm7, xmmword [0x14002c5f0]
nop dword [rax]
movd xmm2, ecx
lea eax, [rcx + 4]
pshufd xmm2, xmm2, 0
lea rdx, [rdx + 0x10]
paddd xmm2, xmm5
add ecx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm7
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx - 0x10]
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rdx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm7
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx - 8]
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rdx - 8], xmm3
cmp ecx, 0x20
jl 0x14001bf90
cmp ecx, 0x23
jge 0x14001c0c8
movsxd rax, ecx
lea r8, [rbp - 0x59]
lea r8, [r8 + rax*2]
nop word [rax + rax]
mov eax, 0x66666667
lea r8, [r8 + 2]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
shl ax, 2
add dx, ax
movzx eax, cx
add dx, dx
inc ecx
sub ax, dx
sub ax, 0x75
xor word [r8 - 2], ax
cmp ecx, 0x23
jl 0x14001c090
lea r8, [rsp + 0x20]
mov rcx, 0xffffffff80000002
lea rdx, [rbp - 0x59]
call fcn.140015f40
movq xmm9, qword [0x14002aca8]
mov ecx, ebx
mov eax, dword [0x14002acb0]
movdqa xmm7, xmmword [0x14002c5f0]
movdqa xmm5, xmmword [0x14002c590]
movdqa xmm4, xmmword [0x14002c620]
movdqa xmm6, xmmword [0x14002c560]
movq qword [rbp - 0x69], xmm9
mov dword [rbp - 0x61], eax
movups xmm0, xmmword [0x14002ac98]
movups xmm8, xmmword [0x14002ac88]
movups xmmword [rbp - 0x79], xmm0
movups xmmword [rsp + 0x20], xmm8
cmp edi, 2
jl 0x14001c336
movdqa xmm2, xmm6
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm4
punpckldq xmm2, xmm6
pmuldq xmm2, xmm4
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm6
psrad xmm2, 2
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm7
pmulld xmm1, xmm5
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm1, xmm8
psubw xmm3, xmm2
movdqa xmm2, xmmword [0x14002c570]
xorps xmm3, xmm1
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
movdqa xmm1, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movq qword [rsp + 0x20], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm7
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x28]
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
movdqa xmm2, xmmword [0x14002c5a0]
xorps xmm3, xmm0
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movq qword [rsp + 0x28], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm7
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp - 0x79]
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
movdqa xmm2, xmmword [0x14002c5b0]
xorps xmm3, xmm0
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movq qword [rbp - 0x79], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm2, xmm7
movq xmm0, qword [rbp - 0x71]
mov ecx, 0x14
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
movdqa xmm2, xmmword [0x14002c5c0]
xorps xmm3, xmm0
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movq qword [rbp - 0x71], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm7
pshuflw xmm1, xmm0, 0xd8
movq xmm0, xmm9
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rbp - 0x69], xmm3
mov eax, ecx
lea r8, [rsp + 0x20]
lea r8, [r8 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x66666667
lea r8, [r8 + 2]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
shl ax, 2
add dx, ax
movzx eax, cx
add dx, dx
inc ecx
sub ax, dx
sub ax, 0x75
xor word [r8 - 2], ax
cmp ecx, 0x16
jl 0x14001c350
movups xmm0, xmmword [0x14002ac40]
mov ecx, ebx
movups xmm1, xmmword [0x14002ac50]
mov eax, dword [0x14002ac80]
movups xmmword [rbp - 0x59], xmm0
movups xmm0, xmmword [0x14002ac60]
movups xmmword [rbp - 0x49], xmm1
movups xmm1, xmmword [0x14002ac70]
mov dword [rbp - 0x19], eax
movzx eax, word [0x14002ac84]
movups xmmword [rbp - 0x39], xmm0
movups xmmword [rbp - 0x29], xmm1
mov word [rbp - 0x15], ax
cmp edi, 2
jl 0x14001c4cc
lea rdx, [rbp - 0x59]
nop word [rax + rax]
movd xmm2, ecx
lea eax, [rcx + 4]
pshufd xmm2, xmm2, 0
lea rdx, [rdx + 0x10]
paddd xmm2, xmm6
add ecx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm7
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx - 0x10]
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rdx - 0x10], xmm3
paddd xmm2, xmm6
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm7
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx - 8]
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rdx - 8], xmm3
cmp ecx, 0x20
jl 0x14001c3e0
cmp ecx, 0x23
jge 0x14001c518
movsxd rax, ecx
lea r8, [rbp - 0x59]
lea r8, [r8 + rax*2]
nop word [rax + rax]
mov eax, 0x66666667
lea r8, [r8 + 2]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
shl ax, 2
add dx, ax
movzx eax, cx
add dx, dx
inc ecx
sub ax, dx
sub ax, 0x75
xor word [r8 - 2], ax
cmp ecx, 0x23
jl 0x14001c4e0
lea r8, [rsp + 0x20]
mov rcx, 0xffffffff80000002
lea rdx, [rbp - 0x59]
call fcn.140015f40
mov eax, dword [0x140029bb0]
mov ecx, ebx
movq xmm9, qword [0x140029ba8]
movdqa xmm7, xmmword [0x14002c5f0]
movdqa xmm6, xmmword [0x14002c590]
movdqa xmm4, xmmword [0x14002c620]
movdqa xmm5, xmmword [0x14002c560]
mov dword [rbp - 0x71], eax
movzx eax, word [0x140029bb4]
mov word [rbp - 0x6d], ax
movq qword [rbp - 0x79], xmm9
movups xmm8, xmmword [0x140029b98]
movups xmmword [rsp + 0x20], xmm8
cmp edi, 2
jl 0x14001c6bc
movdqa xmm2, xmm5
movdqa xmm0, xmm5
punpckhdq xmm0, xmm5
mov ecx, 0xc
pmuldq xmm0, xmm4
punpckldq xmm2, xmm5
pmuldq xmm2, xmm4
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm5
psrad xmm2, 2
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm7
pmulld xmm1, xmm6
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm1, xmm8
psubw xmm3, xmm2
movdqa xmm2, xmmword [0x14002c570]
xorps xmm3, xmm1
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
movdqa xmm1, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movq qword [rsp + 0x20], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm7
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x28]
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
movdqa xmm2, xmmword [0x14002c5a0]
xorps xmm3, xmm0
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movq qword [rsp + 0x28], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm7
pshuflw xmm1, xmm0, 0xd8
movq xmm0, xmm9
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rbp - 0x79], xmm3
mov eax, ecx
lea r8, [rsp + 0x20]
lea r8, [r8 + rax*2]
nop word [rax + rax]
mov eax, 0x66666667
lea r8, [r8 + 2]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
shl ax, 2
add dx, ax
movzx eax, cx
add dx, dx
inc ecx
sub ax, dx
sub ax, 0x75
xor word [r8 - 2], ax
cmp ecx, 0xf
jl 0x14001c6d0
movups xmm0, xmmword [0x140028c50]
movups xmm1, xmmword [0x140028c60]
movzx eax, word [0x140028cb0]
movups xmmword [rbp - 0x59], xmm0
movups xmm0, xmmword [0x140028c70]
movups xmmword [rbp - 0x49], xmm1
movups xmm1, xmmword [0x140028c80]
movups xmmword [rbp - 0x39], xmm0
movups xmm0, xmmword [0x140028c90]
movups xmmword [rbp - 0x29], xmm1
movups xmm1, xmmword [0x140028ca0]
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm1
mov word [rbp + 7], ax
cmp edi, 2
jl 0x14001c85c
lea rcx, [rbp - 0x59]
nop dword [rax]
nop word [rax + rax]
movd xmm2, ebx
lea eax, [rbx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm5
add ebx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm7
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm7
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
psubw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp ebx, 0x30
jl 0x14001c770
cmp ebx, 0x31
jge 0x14001c8a8
movsxd rax, ebx
lea r8, [rbp - 0x59]
lea r8, [r8 + rax*2]
nop word [rax + rax]
mov eax, 0x66666667
lea r8, [r8 + 2]
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
shl ax, 2
add dx, ax
movzx eax, bx
add dx, dx
inc ebx
sub ax, dx
sub ax, 0x75
xor word [r8 - 2], ax
cmp ebx, 0x31
jl 0x14001c870
lea r8, [rsp + 0x20]
mov rcx, 0xffffffff80000002
lea rdx, [rbp - 0x59]
call fcn.140015f40
lea r11, [rsp + 0x100]
mov qword [r14], rsi
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop rbp
ret