Function at 0x7ff698f75890
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
push rbp
lea rbp, [r11 - 0x58]
sub rsp, 0x150
mov rax, qword [0x7ff69902b080]
xor rax, rsp
mov qword [rbp + 0x38], rax
mov eax, dword [0x7ff699014ad0]
movups xmm0, xmmword [0x7ff699014ac0]
mov qword [r11 + 8], rdi
xor edi, edi
cmp dword [0x7ff69902b0d0], 2
mov r8d, edi
mov dword [rbp + 0x20], eax
movzx eax, byte [0x7ff699014ad4]
movups xmmword [rbp + 0x10], xmm0
mov byte [rbp + 0x24], al
jl 0x7ff698f75a2f
movdqa xmm0, xmmword [0x7ff699015a20]
lea rcx, [rbp + 0x14]
movdqa xmm5, xmmword [0x7ff6990158f0]
movdqa xmm4, xmmword [0x7ff699015b40]
movdqa xmmword [rsp + 0x60], xmm0
mov edx, dword [rsp + 0x60]
movaps xmmword [r11 - 0x18], xmm6
movdqa xmm6, xmmword [0x7ff699015940]
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x7ff699015a00]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x7ff699015a00]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x10
jl 0x7ff698f75920
movaps xmm6, xmmword [rsp + 0x140]
cmp r8d, 0x15
jge 0x7ff698f75a71
movsxd rax, r8d
lea r9, [rbp + 0x10]
add r9, rax
nop dword [rax]
mov eax, 0x4ec4ec4f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x39
xor byte [r9 - 1], al
cmp r8d, 0x15
jl 0x7ff698f75a40
lea rdx, [rbp + 0x10]
call fcn.7ff698f81de0
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], eax
lea rcx, [0x7ff698f757e0]
mov qword [rsp + 0x68], rdi
call qword [0x7ff698fef910]
mov rcx, qword [rsp + 0x68]
lea rdx, [rbp + 0x10]
call qword [0x7ff698fef8d8]
lea rax, [0x7ff698f7f670]
mov dword [rbp - 0x40], 0x50
xor ecx, ecx
mov qword [rbp - 0x38], rax
mov dword [rbp - 0x3c], 0x40
mov qword [rbp - 0x30], rdi
call qword [0x7ff698fef3a0]
xorps xmm0, xmm0
mov qword [rbp + 8], rdi
mov qword [rbp - 0x28], rax
lea rcx, [rbp - 0x40]
lea rax, [0x7ff6990149c4]
movdqu xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
mov qword [rbp], rax
movdqu xmmword [rbp - 0x10], xmm1
call qword [0x7ff698fef858]
mov rax, qword [rbp - 0x28]
lea r8, [0x7ff6990149b8]
mov rdx, qword [rbp]
mov r9d, 0x90000000
mov qword [rsp + 0x58], rdi
mov ecx, 0x80008
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x38], 0x438
mov dword [rsp + 0x30], 0x780
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
call qword [0x7ff698fef880]
xor r9d, r9d
mov qword [rbp - 0x7c], rdi
mov rbx, rax
mov qword [rbp - 0x60], rax
lea rax, [0x7ff6990565c0]
mov qword [rbp - 0x68], 2
mov qword [rsp + 0x58], rax
xor r8d, r8d
lea rax, [rbp + 0x10]
mov qword [rbp - 0x50], 2
mov qword [rsp + 0x50], rax
lea edx, [r9 + 1]
lea rax, [0x7ff6990565b8]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x48], rax
xor ecx, ecx
lea rax, [0x7ff6990565b0]
mov dword [rbp - 0x80], 0x1c
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x60]
mov dword [rsp + 0x30], 7
mov dword [rsp + 0x28], 2
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x78], 0x3c
mov dword [rsp + 0x7c], 1
mov dword [rbp - 0x6c], 0x20
mov qword [rbp - 0x74], 1
mov qword [rbp - 0x58], 1
mov dword [rsp + 0x60], 0xb000
mov dword [rsp + 0x64], 0xa000
call qword [0x7ff698feff68]
test eax, eax
jne 0x7ff698f75c0e
call fcn.7ff698f7f600
jmp 0x7ff698f75c80
mov rcx, qword [0x7ff6990565a8]
test rcx, rcx
je 0x7ff698f75c27
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x7ff6990565a8], rdi
mov rcx, qword [0x7ff6990565b0]
test rcx, rcx
je 0x7ff698f75c40
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x7ff6990565b0], rdi
mov rcx, qword [0x7ff6990565c0]
test rcx, rcx
je 0x7ff698f75c59
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x7ff6990565c0], rdi
mov rcx, qword [0x7ff6990565b8]
test rcx, rcx
je 0x7ff698f75c72
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x7ff6990565b8], rdi
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp]
call qword [0x7ff698fef868]
mov r9d, 2
mov r8b, 0xff
xor edx, edx
mov rcx, rbx
call qword [0x7ff698fef878]
movdqa xmm0, xmmword [0x7ff699015870]
lea rdx, [rbp + 0x28]
mov rcx, rbx
movdqu xmmword [rbp + 0x28], xmm0
call qword [0x7ff698feff78]
xor ecx, ecx
mov qword [rbp + 0x10], rdi
call qword [0x7ff698feffd8]
xor edx, edx
lea rax, [rbp + 0x10]
lea r9, [0x7ff698ffd788]
mov qword [rsp + 0x20], rax
lea rcx, [0x7ff698ffd798]
lea r8d, [rdx + 1]
call qword [0x7ff698feffe8]
mov rdi, qword [rsp + 0x160]
test eax, eax
jne 0x7ff698f75d00
mov rcx, qword [rbp + 0x10]
mov rdx, rbx
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rcx, qword [rbp + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [0x7ff698feffe0]
mov rax, rbx
mov rcx, qword [rbp + 0x38]
xor rcx, rsp
call fcn.7ff698fe98c0
mov rbx, qword [rsp + 0x168]
add rsp, 0x150
pop rbp
ret