Function at 0x1400f7f20
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x70
movdqa xmmword [rsp + 0x60], xmm10
movdqa xmmword [rsp + 0x50], xmm9
movdqa xmmword [rsp + 0x40], xmm8
movdqa xmmword [rsp + 0x30], xmm7
movdqa xmmword [rsp + 0x20], xmm6
mov ebx, edx
mov rdi, rcx
mov r15, qword [rcx + 8]
mov rsi, qword [rcx + 0x10]
lea r14, [r15 + rsi]
xor r12d, r12d
mov r13, qword [0x1401f1bd0]
mov rdx, r15
nop
mov rax, qword [r13]
mov cl, 0xa
mov r8, r14
call rax
test rax, rax
je 0x1400f7fa2
cmp rax, 1
jne 0x1400f7fa2
mov rax, rdx
sub rax, r15
inc rdx
mov rcx, rax
sub rcx, r12
mov r12, rax
cmp rcx, 0x4c
jb 0x1400f7f70
mov cl, 1
jmp 0x1400f7faf
mov rax, rsi
sub rax, r12
cmp rax, 0x4c
setae cl
lea r8, [r15 + 7]
and r8, 0xfffffffffffffff8
mov rdx, r8
sub rdx, r15
cmp qword [rdi], 0
je 0x1400f80a8
cmp rsi, 8
jae 0x1400f816e
test rsi, rsi
je 0x1400f8224
mov al, 3
cmp byte [r15 + rsi - 1], 0
js 0x1400f8365
mov rdx, rsi
dec rdx
je 0x1400f8224
cmp byte [r15 + rsi - 2], 0
js 0x1400f8365
mov rdx, rsi
add rdx, 0xfffffffffffffffe
je 0x1400f8224
cmp byte [r15 + rsi - 3], 0
js 0x1400f8365
mov rdx, rsi
add rdx, 0xfffffffffffffffd
je 0x1400f8224
cmp byte [r15 + rsi - 4], 0
js 0x1400f8365
mov rdx, rsi
add rdx, 0xfffffffffffffffc
je 0x1400f8224
cmp byte [r15 + rsi - 5], 0
js 0x1400f8365
mov rdx, rsi
add rdx, 0xfffffffffffffffb
je 0x1400f8224
cmp byte [r15 + rsi - 6], 0
js 0x1400f8365
mov rax, rsi
add rax, 0xfffffffffffffffa
je 0x1400f8224
lea rax, [rsi - 7]
cmp byte [r15 + rsi - 7], 0
setns dl
test rax, rax
sete r8b
xor eax, eax
and r8b, dl
sete al
lea eax, [rax + rax*2]
cmp r8b, 1
jne 0x1400f8365
xor cl, 1
je 0x1400f8228
jmp 0x1400f8365
cmp rsi, 8
jae 0x1400f81cf
test rsi, rsi
je 0x1400f8224
cmp byte [r15 + rsi - 1], 0
js 0x1400f8215
mov rax, rsi
dec rax
je 0x1400f8224
cmp byte [r15 + rsi - 2], 0
js 0x1400f8215
mov rax, rsi
add rax, 0xfffffffffffffffe
je 0x1400f8224
cmp byte [r15 + rsi - 3], 0
js 0x1400f8215
mov rax, rsi
add rax, 0xfffffffffffffffd
je 0x1400f8224
cmp byte [r15 + rsi - 4], 0
js 0x1400f8215
mov rax, rsi
add rax, 0xfffffffffffffffc
je 0x1400f8224
cmp byte [r15 + rsi - 5], 0
js 0x1400f8215
mov rax, rsi
add rax, 0xfffffffffffffffb
je 0x1400f8224
cmp byte [r15 + rsi - 6], 0
js 0x1400f8215
mov rax, rsi
add rax, 0xfffffffffffffffa
je 0x1400f8224
cmp byte [r15 + rsi - 7], 0
js 0x1400f8215
mov rax, rsi
add rax, 0xfffffffffffffff9
je 0x1400f8224
jmp 0x1400f8215
mov al, 3
movabs r9, 0x8080808080808080
test qword [r15], r9
jne 0x1400f8365
cmp r8, r15
mov r8d, 8
cmove rdx, r8
lea r8, [rsi - 8]
cmp rdx, r8
jae 0x1400f81b3
nop dword [rax]
test qword [r15 + rdx], r9
jne 0x1400f8365
add rdx, 8
cmp rdx, r8
jb 0x1400f81a0
xor eax, eax
test qword [r15 + r8], r9
sete r8b
setne dl
test r8b, cl
jne 0x1400f8228
mov al, dl
lea eax, [rax + rax*2]
jmp 0x1400f8365
movabs rax, 0x8080808080808080
test qword [r15], rax
jne 0x1400f8215
cmp r8, r15
mov r8d, 8
cmove rdx, r8
lea r8, [rsi - 8]
cmp rdx, r8
jae 0x1400f820f
nop word cs:[rax + rax]
test qword [r15 + rdx], rax
jne 0x1400f8215
add rdx, 8
cmp rdx, r8
jb 0x1400f8200
test qword [r15 + r8], rax
je 0x1400f8224
test cl, cl
jne 0x1400f8228
mov al, 1
test bl, bl
je 0x1400f8228
jmp 0x1400f8365
test cl, cl
je 0x1400f823c
test rsi, rsi
je 0x1400f8243
cmp rsi, 4
jae 0x1400f824a
xor ecx, ecx
xor eax, eax
jmp 0x1400f8324
xor eax, eax
jmp 0x1400f8365
xor ecx, ecx
jmp 0x1400f834a
mov rax, rsi
and rax, 0xfffffffffffffffc
pxor xmm0, xmm0
xor ecx, ecx
movdqa xmm1, xmmword [0x1401838b0]
pcmpeqd xmm3, xmm3
movdqa xmm4, xmmword [0x1401838c0]
movdqa xmm5, xmmword [0x1401838d0]
pxor xmm2, xmm2
nop word [rax + rax]
movzx edx, word [r15 + rcx]
movd xmm6, edx
movzx edx, word [r15 + rcx + 2]
movd xmm7, edx
movdqa xmm8, xmm6
pcmpeqb xmm8, xmm1
movdqa xmm9, xmm7
pcmpeqb xmm9, xmm1
paddb xmm6, xmm4
paddb xmm7, xmm4
movdqa xmm10, xmm6
pmaxub xmm10, xmm5
pcmpeqb xmm10, xmm6
por xmm10, xmm8
movdqa xmm6, xmm7
pmaxub xmm6, xmm5
pcmpeqb xmm6, xmm7
por xmm6, xmm9
punpcklbw xmm10, xmm10
pxor xmm10, xmm3
pshuflw xmm7, xmm10, 0x50
pshufd xmm7, xmm7, 0x50
psubq xmm0, xmm7
punpcklbw xmm6, xmm6
pxor xmm6, xmm3
pshuflw xmm6, xmm6, 0x50
pshufd xmm6, xmm6, 0x50
psubq xmm2, xmm6
add rcx, 4
cmp rax, rcx
jne 0x1400f8280
paddq xmm2, xmm0
pshufd xmm0, xmm2, 0xee
paddq xmm0, xmm2
movq rcx, xmm0
jmp 0x1400f8345
movzx edx, byte [r15 + rax]
cmp dl, 9
setne r8b
add dl, 0x81
cmp dl, 0xa1
setb dl
and dl, r8b
movzx edx, dl
add rcx, rdx
inc rax
cmp rsi, rax
jne 0x1400f8324
movabs rdx, 0xaaaaaaaaaaaaaaab
mov rax, rsi
mul rdx
shr rdx, 1
cmp rcx, rdx
seta al
or al, 2
movaps xmm6, xmmword [rsp + 0x20]
movaps xmm7, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x40]
movaps xmm9, xmmword [rsp + 0x50]
movaps xmm10, xmmword [rsp + 0x60]
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret