Function at 0x1400eb750
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov rbx, qword [rcx + 0x18]
cmp rbx, 0xffffffffffffffff
je 0x1400eb895
mov r12, r8
mov r13, rdx
mov r15, rcx
mov rsi, qword [rcx + 8]
lea r8, [rsi + 1]
mov rax, r8
shr rax, 3
mov rcx, r8
and rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rsi, 8
cmovb rcx, rsi
mov rax, rcx
shr rax, 1
cmp rbx, rax
jae 0x1400eb7dd
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x38], rbx
mov rbx, qword [r15]
mov rcx, r8
shr rcx, 4
xor eax, eax
test r8b, 0xf
setne al
add rax, rcx
je 0x1400eb911
cmp rax, 1
jne 0x1400eb8a1
xor edx, edx
jmp 0x1400eb8f7
cmp rbx, rcx
cmova rcx, rbx
cmp rcx, 7
jae 0x1400eb812
mov qword [rsp + 0x28], r8
xor eax, eax
cmp rcx, 3
setae al
lea rbp, [rax*4 + 4]
mov ecx, 0x30
mov rax, rbp
mul rcx
jno 0x1400eb86e
jmp 0x1400eb895
movabs rax, 0x1ffffffffffffffe
cmp rcx, rax
ja 0x1400eb895
mov qword [rsp + 0x28], r8
lea rcx, [rcx*8 + 8]
movabs rdx, 0x2492492492492493
mov rax, rcx
mul rdx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 2
dec rcx
bsr rcx, rcx
not ecx
mov rbp, 0xffffffffffffffff
shr rbp, cl
inc rbp
mov ecx, 0x30
mov rax, rbp
mul rcx
jo 0x1400eb895
mov r14, rax
lea rdi, [rbp + 0x10]
add rax, rdi
jb 0x1400eb895
movabs rax, 0x8000000000000001
lea rcx, [r14 + rdi]
add rax, 0xffffffffffffffef
cmp rcx, rax
jbe 0x1400ebe56
mov cl, 1
call fcn.1400cba00
jmp 0x1400ebe42
movabs rcx, 0x1ffffffffffffffe
and rcx, rax
xor r9d, r9d
movdqa xmm0, xmmword [0x1400f4930]
nop dword [rax]
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [rbx + r9]
por xmm1, xmm0
movdqa xmmword [rbx + r9], xmm1
lea rdx, [r9 + 0x20]
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [rbx + r9 + 0x10]
por xmm1, xmm0
movdqa xmmword [rbx + r9 + 0x10], xmm1
mov r9, rdx
add rcx, 0xfffffffffffffffe
jne 0x1400eb8c0
test al, 1
je 0x1400eb911
pxor xmm0, xmm0
pcmpgtb xmm0, xmmword [rbx + rdx]
por xmm0, xmmword [0x1400f4930]
movdqa xmmword [rbx + rdx], xmm0
cmp r8, 0x10
jae 0x1400eb930
lea rcx, [rbx + 0x10]
mov rdx, rbx
call fcn.1400ea9f0
cmp rsi, 0xffffffffffffffff
jne 0x1400eb93a
xor ecx, ecx
jmp 0x1400ebe2f
movdqu xmm0, xmmword [rbx]
movdqu xmmword [rbx + r8], xmm0
mov qword [rsp + 0x58], r15
movabs rax, 0x736f6d6570736575
xor rax, r13
mov qword [rsp + 0x50], rax
movabs rax, 0x646f72616e646f6d
xor rax, r12
mov qword [rsp + 0x48], rax
movabs rax, 0x6c7967656e657261
xor rax, r13
mov qword [rsp + 0x28], rax
movabs rax, 0x7465646279746573
xor rax, r12
mov qword [rsp + 0x40], rax
lea r15, [rbx - 0x2e]
xor r11d, r11d
mov qword [rsp + 0x70], r15
jmp 0x1400eb9c7
shr rax, 0x39
lea rcx, [r11 - 0x10]
and rcx, rsi
mov byte [rbx + r11], al
mov byte [rcx + rbx + 0x10], al
lea rax, [r11 + 1]
add r15, 0xffffffffffffffd0
cmp r11, rsi
mov r11, rax
je 0x1400ebe25
cmp byte [rbx + r11], 0x80
jne 0x1400eb9b3
mov rax, r11
shl rax, 4
lea rax, [rax + rax*2]
mov rcx, rbx
sub rcx, rax
mov qword [rsp + 0x78], rcx
neg rax
add rax, rbx
add rax, 0xffffffffffffffd0
mov qword [rsp + 0x80], rax
mov rax, r11
not rax
lea rax, [rax + rax*2]
shl rax, 4
add rax, rbx
mov qword [rsp + 0x60], rax
mov rax, r11
neg rax
lea rax, [rax + rax*2]
shl rax, 4
add rax, rbx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], r11
jmp 0x1400eba65
mov rax, qword [rsp + 0x60]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rcx]
movups xmmword [rax], xmm1
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax + 0x10]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rcx + 0x10], xmm0
movdqu xmm0, xmmword [rax + 0x20]
movdqu xmm1, xmmword [rcx + 0x20]
movdqu xmmword [rax + 0x20], xmm1
movdqu xmmword [rcx + 0x20], xmm0
mov rax, qword [rsp + 0x20]
mov r13, qword [rax - 0x28]
mov r14, qword [rax - 0x20]
mov rax, r14
and rax, 0xfffffffffffffff8
je 0x1400ebb10
mov r9, qword [rsp + 0x28]
mov r8, qword [rsp + 0x48]
mov r10, qword [rsp + 0x40]
xor ebp, ebp
mov rdx, qword [rsp + 0x50]
nop word cs:[rax + rax]
mov rcx, qword [r13 + rbp]
xor r10, rcx
add rdx, r8
rol r8, 0xd
add r9, r10
xor r8, rdx
rol r10, 0x10
xor r10, r9
rol rdx, 0x20
add r9, r8
add rdx, r10
rol r8, 0x11
xor r8, r9
rol r10, 0x15
rol r9, 0x20
xor r10, rdx
xor rdx, rcx
add rbp, 8
cmp rbp, rax
jb 0x1400ebaa0
mov r11d, r14d
and r11d, 7
cmp r11d, 4
jb 0x1400ebb33
mov edi, dword [r13 + rbp]
mov eax, 4
mov rcx, rax
or rcx, 1
cmp rcx, r11
jb 0x1400ebb43
jmp 0x1400ebb5e
mov r10, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x50]
xor ebp, ebp
mov r11d, r14d
and r11d, 7
cmp r11d, 4
jae 0x1400ebaf1
xor edi, edi
xor eax, eax
mov rcx, rax
or rcx, 1
cmp rcx, r11
jae 0x1400ebb5e
lea rcx, [rax + rbp]
movzx r12d, word [r13 + rcx]
lea ecx, [rax*8]
shl r12, cl
or rdi, r12
or rax, 2
cmp rax, r11
jae 0x1400ebb80
add rbp, rax
movzx r12d, byte [r13 + rbp]
shl eax, 3
mov ecx, eax
shl r12, cl
or rdi, r12
inc r14
jmp 0x1400ebb88
inc r14
test r11, r11
je 0x1400ebbdb
lea ecx, [r11*8]
mov eax, 0xff
shl rax, cl
or rax, rdi
cmp r11, 7
jne 0x1400ebbe0
xor r10, rax
add rdx, r8
add r9, r10
rol r8, 0xd
rol r10, 0x10
xor r8, rdx
xor r10, r9
rol rdx, 0x20
add r9, r8
add rdx, r10
rol r8, 0x11
xor r8, r9
rol r10, 0x15
xor r10, rdx
rol r9, 0x20
xor rdx, rax
xor eax, eax
jmp 0x1400ebbe0
mov eax, 0xff
mov r11, qword [rsp + 0x30]
shl r14, 0x38
or r14, rax
xor r10, r14
add rdx, r8
rol r8, 0xd
add r9, r10
xor r8, rdx
rol r10, 0x10
xor r10, r9
rol rdx, 0x20
add r9, r8
add rdx, r10
rol r8, 0x11
xor r8, r9
rol r10, 0x15
rol r9, 0x20
xor r10, rdx
xor rdx, r14
xor r9, 0xff
add rdx, r8
add r9, r10
rol r8, 0xd
xor r8, rdx
rol r10, 0x10
rol rdx, 0x20
xor r10, r9
add r9, r8
rol r8, 0x11
add rdx, r10
xor r8, r9
rol r10, 0x15
xor r10, rdx
rol r9, 0x20
add rdx, r8
add r9, r10
rol r8, 0xd
xor r8, rdx
rol r10, 0x10
rol rdx, 0x20
xor r10, r9
add r9, r8
rol r8, 0x11
add rdx, r10
xor r8, r9
rol r10, 0x15
xor r10, rdx
rol r9, 0x20
add rdx, r8
add r9, r10
rol r8, 0xd
xor r8, rdx
rol r10, 0x10
xor r10, r9
add r9, r8
rol r8, 0x11
rol r10, 0x15
mov rax, r9
rol rax, 0x20
xor rax, r8
xor rax, r10
xor rax, r9
mov rcx, rax
and rcx, rsi
movdqu xmm0, xmmword [rbx + rcx]
pmovmskb edx, xmm0
mov r8, rcx
test edx, edx
jne 0x1400ebcf8
mov r9d, 0x10
mov r8, rcx
nop word [rax + rax]
add r8, r9
and r8, rsi
movdqu xmm0, xmmword [rbx + r8]
pmovmskb edx, xmm0
add r9, 0x10
test edx, edx
je 0x1400ebce0
tzcnt edx, edx
add rdx, r8
and rdx, rsi
cmp byte [rbx + rdx], 0
js 0x1400ebd14
movdqa xmm0, xmmword [rbx]
pmovmskb edx, xmm0
tzcnt edx, edx
mov r8, r11
sub r8, rcx
mov r9, rdx
sub r9, rcx
xor r9, r8
and r9, rsi
cmp r9, 0x10
jb 0x1400eb9a0
mov rcx, rdx
not rcx
lea rcx, [rcx + rcx*2]
shl rcx, 4
add rcx, rbx
movzx r8d, byte [rbx + rdx]
shr rax, 0x39
lea r9, [rdx - 0x10]
and r9, rsi
mov byte [rbx + rdx], al
mov byte [r9 + rbx + 0x10], al
cmp r8b, 0xff
je 0x1400ebdf0
shl rdx, 4
lea rdx, [rdx + rdx*2]
mov rax, rbx
sub rax, rdx
cmp qword [rsp + 0x80], rax
jae 0x1400eba30
cmp rcx, qword [rsp + 0x78]
jae 0x1400eba30
mov rax, qword [rsp + 0x70]
sub rax, rdx
xor ecx, ecx
nop word cs:[rax + rax]
movzx edx, byte [r15 + rcx - 2]
movzx r8d, byte [rax + rcx - 2]
mov byte [r15 + rcx - 2], r8b
mov byte [rax + rcx - 2], dl
movzx edx, byte [r15 + rcx - 1]
movzx r8d, byte [rax + rcx - 1]
mov byte [r15 + rcx - 1], r8b
mov byte [rax + rcx - 1], dl
movzx edx, byte [r15 + rcx]
movzx r8d, byte [rax + rcx]
mov byte [r15 + rcx], r8b
mov byte [rax + rcx], dl
add rcx, 3
cmp rcx, 0x30
jne 0x1400ebda0
jmp 0x1400eba65
lea rax, [r11 - 0x10]
and rax, rsi
mov byte [rbx + r11], 0xff
mov byte [rax + rbx + 0x10], 0xff
mov rax, qword [rsp + 0x60]
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm2
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmmword [rcx], xmm0
jmp 0x1400eb9b3
mov r15, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x68]
movabs rax, 0x8000000000000001
sub rcx, qword [rsp + 0x38]
mov qword [r15 + 0x10], rcx
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x30], r13
movzx eax, byte [0x140120b70]
mov edx, 0x10
mov qword [rsp + 0x20], rcx
call fcn.14004bac0
test rax, rax
je 0x1400ec07c
mov r13, rax
mov qword [rsp + 0x50], r12
mov r12, rbx
mov rbx, r15
lea r15, [rbp - 1]
mov rax, rbp
shr rax, 3
mov rcx, rbp
and rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rbp, 9
cmovb rcx, r15
mov qword [rsp + 0x40], rcx
add r13, r14
mov rcx, r13
mov dl, 0xff
mov r8, rdi
call fcn.1400eb170
mov qword [rsp + 0x58], rbx
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x38], r12
test r12, r12
je 0x1400ec022
mov rbp, qword [rsp + 0x20]
movdqa xmm0, xmmword [rbp]
pmovmskb ebx, xmm0
not ebx
lea rax, [rbp - 0x30]
mov qword [rsp + 0x48], rax
xor r14d, r14d
mov rdi, qword [rsp + 0x38]
jmp 0x1400ebf6a
lea ecx, [rbx - 1]
and ecx, ebx
dec rdi
shr rax, 0x39
lea r8, [rdx - 0x10]
and r8, r15
mov byte [r13 + rdx], al
mov byte [r8 + r13 + 0x10], al
not r12
lea rax, [r12 + r12*2]
shl rax, 4
not rdx
lea rdx, [rdx + rdx*2]
shl rdx, 4
mov r8, qword [rsp + 0x20]
movdqu xmm0, xmmword [r8 + rax]
movdqu xmm1, xmmword [r8 + rax + 0x10]
movups xmm2, xmmword [r8 + rax + 0x20]
movups xmmword [r13 + rdx + 0x20], xmm2
movdqu xmmword [r13 + rdx + 0x10], xmm1
movdqu xmmword [r13 + rdx], xmm0
mov ebx, ecx
test rdi, rdi
je 0x1400ec022
test bx, bx
jne 0x1400ebf8b
nop
movdqa xmm0, xmmword [rbp + 0x10]
add rbp, 0x10
pmovmskb ebx, xmm0
add r14, 0x10
cmp ebx, 0xffff
je 0x1400ebf70
not ebx
tzcnt r12d, ebx
add r12, r14
mov rax, r12
neg rax
lea rax, [rax + rax*2]
shl rax, 4
mov rcx, qword [rsp + 0x48]
mov r8, qword [rcx + rax + 8]
mov r9, qword [rcx + rax + 0x10]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x50]
call fcn.140036fe0
mov rcx, rax
and rcx, r15
movdqu xmm0, xmmword [r13 + rcx]
pmovmskb edx, xmm0
test edx, edx
jne 0x1400ebff9
mov r8d, 0x10
nop word [rax + rax]
add rcx, r8
and rcx, r15
movdqu xmm0, xmmword [r13 + rcx]
pmovmskb edx, xmm0
add r8, 0x10
test edx, edx
je 0x1400ebfe0
tzcnt edx, edx
add rdx, rcx
and rdx, r15
cmp byte [r13 + rdx], 0
js 0x1400ebf00
movdqa xmm0, xmmword [r13]
pmovmskb ecx, xmm0
tzcnt edx, ecx
jmp 0x1400ebf00
mov rcx, qword [rsp + 0x40]
sub rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x58]
mov qword [rax], r13
mov qword [rax + 8], r15
mov qword [rax + 0x10], rcx
test rsi, rsi
je 0x1400ec092
mov ecx, 0x30
mov rax, qword [rsp + 0x28]
mul rcx
add rsi, rax
add rsi, 0x11
je 0x1400ec092
mov rcx, qword [rsp + 0x20]
sub rcx, rax
mov r8d, 0x10
mov rdx, rsi
call fcn.14004bad0
movabs rax, 0x8000000000000001
jmp 0x1400ebe42
mov edx, 0x10
mov cl, 1
mov r8, qword [rsp + 0x20]
call fcn.1400cba10
jmp 0x1400ebe42
movabs rax, 0x8000000000000001
jmp 0x1400ebe42