Function at 0x140054f00
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
mov rbp, rsp
sub rsp, 0x30
xor r8d, r8d
mov rbx, rcx
cmp edx, 0x46
je 0x140055353
cmp edx, 0x4b
je 0x140055353
cmp edx, 0x37
je 0x14005529f
cmp edx, 0x3c
je 0x14005529f
cmp edx, 0x2c
jne 0x140054fc1
movq xmm1, qword [0x140cd2330]
paddd xmm1, xmmword [0x140cd2510]
mov dword [rbp + 0x18], 0x4e23
movzx eax, word [rbp + 0x18]
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
xorps xmm0, xmm0
andps xmm1, xmmword [0x140cd2530]
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], r8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm1
mov qword [rcx + 0x18], r8
mov r8, 0xffffffffffffffff
mov word [rbp + 0x18], ax
lea rax, [rbp + 0x18]
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140054fa0
lea rdx, [rbp + 0x18]
call fcn.14002f420
mov rax, rbx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rbp
ret
cmp edx, 0x1a
jne 0x140055051
movq xmm1, qword [0x140cd2330]
paddd xmm1, xmmword [0x140cd2510]
mov dword [rbp + 0x18], 0x4f23
movzx eax, word [rbp + 0x18]
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
xorps xmm0, xmm0
andps xmm1, xmmword [0x140cd2530]
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], r8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm1
mov qword [rcx + 0x18], r8
mov r8, 0xffffffffffffffff
mov word [rbp + 0x18], ax
lea rax, [rbp + 0x18]
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140055030
lea rdx, [rbp + 0x18]
call fcn.14002f420
mov rax, rbx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rbp
ret
cmp edx, 0x14
jne 0x1400550e1
movq xmm1, qword [0x140cd2330]
paddd xmm1, xmmword [0x140cd2510]
mov dword [rbp + 0x18], 0x4823
movzx eax, word [rbp + 0x18]
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
xorps xmm0, xmm0
andps xmm1, xmmword [0x140cd2530]
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], r8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm1
mov qword [rcx + 0x18], r8
mov r8, 0xffffffffffffffff
mov word [rbp + 0x18], ax
lea rax, [rbp + 0x18]
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400550c0
lea rdx, [rbp + 0x18]
call fcn.14002f420
mov rax, rbx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rbp
ret
cmp edx, 0xd
jne 0x140055171
movq xmm1, qword [0x140cd2330]
paddd xmm1, xmmword [0x140cd2510]
mov dword [rbp + 0x18], 0x4a23
movzx eax, word [rbp + 0x18]
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
xorps xmm0, xmm0
andps xmm1, xmmword [0x140cd2530]
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], r8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm1
mov qword [rcx + 0x18], r8
mov r8, 0xffffffffffffffff
mov word [rbp + 0x18], ax
lea rax, [rbp + 0x18]
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140055150
lea rdx, [rbp + 0x18]
call fcn.14002f420
mov rax, rbx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rbp
ret
movdqa xmm2, xmmword [0x140cd2380]
cmp edx, 0xb
jne 0x140055202
movq xmm1, qword [0x140cd2330]
paddd xmm1, xmmword [0x140cd2510]
mov dword [rbp + 0x18], 0x4423
movzx eax, word [rbp + 0x18]
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
xorps xmm0, xmm0
andps xmm1, xmmword [0x140cd2530]
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], r8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm1
mov qword [rcx + 0x18], r8
mov r8, 0xffffffffffffffff
mov word [rbp + 0x18], ax
lea rax, [rbp + 0x18]
inc r8
cmp byte [rax + r8], 0
jne 0x1400551e1
lea rdx, [rbp + 0x18]
call fcn.14002f420
mov rax, rbx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rbp
ret
movdqa xmm3, xmmword [0x140cd2500]
mov rcx, r8
movdqa xmm4, xmmword [0x140cd2530]
mov dword [rbp + 0x20], 0xa000222
mov word [rbp + 0x24], 0x100
movzx eax, word [rbp + rcx + 0x20]
movq xmm0, rcx
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm3
paddd xmm1, xmm0
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
andps xmm1, xmm4
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm1
mov word [rbp + rcx + 0x20], ax
add rcx, 2
cmp rcx, 4
jb 0x140055222
xorps xmm0, xmm0
mov byte [rbp + 0x25], r8b
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r8
lea rax, [rbp + 0x20]
mov qword [rbx + 0x18], r8
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140055290
jmp 0x1400553fa
movdqa xmm2, xmmword [0x140cd2380]
mov rcx, r8
movdqa xmm3, xmmword [0x140cd24f0]
movdqa xmm4, xmmword [0x140cd2530]
mov dword [rbp + 0x20], 0x20070733
mov dword [rbp + 0x24], 0x100120a
nop dword [rax + rax]
movzx eax, word [rbp + rcx + 0x20]
movq xmm0, rcx
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm3
paddd xmm1, xmm0
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
andps xmm1, xmm4
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm1
mov word [rbp + rcx + 0x20], ax
add rcx, 2
cmp rcx, 6
jb 0x1400552d0
xorps xmm0, xmm0
mov byte [rbp + 0x27], r8b
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r8
lea rax, [rbp + 0x20]
mov qword [rbx + 0x18], r8
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140055340
lea rdx, [rbp + 0x20]
jmp 0x1400553fe
movdqa xmm2, xmmword [0x140cd2380]
mov rcx, r8
movdqa xmm3, xmmword [0x140cd2500]
movdqa xmm4, xmmword [0x140cd2530]
mov dword [rbp + 0x20], 0x1011f25
mov word [rbp + 0x24], 0x100
nop dword [rax + rax]
movzx eax, word [rbp + rcx + 0x20]
movq xmm0, rcx
punpcklqdq xmm0, xmm0
paddq xmm0, xmm2
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm3
paddd xmm1, xmm0
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
andps xmm1, xmm4
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm1
mov word [rbp + rcx + 0x20], ax
add rcx, 2
cmp rcx, 4
jb 0x140055380
xorps xmm0, xmm0
mov byte [rbp + 0x25], r8b
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r8
lea rax, [rbp + 0x20]
mov qword [rbx + 0x18], r8
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x1400553f0
lea rdx, [rbp + 0x20]
mov rcx, rbx
call fcn.14002f420
mov rax, rbx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rbp
ret