Function at 0x1400ec0b0
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 r9, qword [rcx + 0x18]
cmp r9, 0xffffffffffffffff
je 0x1400ec201
mov r15, r8
mov r12, rdx
mov rbx, rcx
mov rsi, qword [rcx + 8]
lea r8, [rsi + 1]
mov rax, r8
shr rax, 3
mov rdi, r8
and rdi, 0xfffffffffffffff8
sub rdi, rax
cmp rsi, 8
cmovb rdi, rsi
mov rax, rdi
shr rax, 1
cmp r9, rax
jae 0x1400ec138
mov qword [rsp + 0x60], rbx
mov rbx, qword [rbx]
mov rcx, r8
shr rcx, 4
xor eax, eax
test r8b, 0xf
setne al
add rax, rcx
je 0x1400ec281
cmp rax, 1
jne 0x1400ec210
xor edx, edx
jmp 0x1400ec267
cmp r9, rdi
cmova rdi, r9
cmp rdi, 7
jae 0x1400ec16d
mov qword [rsp + 0x30], r9
xor eax, eax
cmp rdi, 3
setae al
lea r13, [rax*4 + 4]
mov ecx, 0x38
mov rax, r13
mul rcx
jno 0x1400ec1cd
jmp 0x1400ec201
movabs rax, 0x1ffffffffffffffe
cmp rdi, rax
ja 0x1400ec201
mov qword [rsp + 0x30], r9
lea rcx, [rdi*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 r13, 0xffffffffffffffff
shr r13, cl
inc r13
mov ecx, 0x38
mov rax, r13
mul rcx
jo 0x1400ec201
mov rdi, rax
cmp rax, 0xfffffffffffffff0
ja 0x1400ec201
add rdi, 0xf
and rdi, 0xfffffffffffffff0
lea rcx, [r13 + 0x10]
mov r14, rdi
add r14, rcx
jb 0x1400ec201
movabs rax, 0x8000000000000001
add rax, 0xffffffffffffffef
cmp r14, rax
jbe 0x1400ec7f1
mov cl, 1
call fcn.1400cba00
mov rdx, rax
jmp 0x1400ec7da
movabs rcx, 0x1ffffffffffffffe
and rcx, rax
xor r10d, r10d
movdqa xmm0, xmmword [0x1400f4930]
nop dword [rax + rax]
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [rbx + r10]
por xmm1, xmm0
movdqa xmmword [rbx + r10], xmm1
lea rdx, [r10 + 0x20]
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [rbx + r10 + 0x10]
por xmm1, xmm0
movdqa xmmword [rbx + r10 + 0x10], xmm1
mov r10, rdx
add rcx, 0xfffffffffffffffe
jne 0x1400ec230
test al, 1
je 0x1400ec281
pxor xmm0, xmm0
pcmpgtb xmm0, xmmword [rbx + rdx]
por xmm0, xmmword [0x1400f4930]
movdqa xmmword [rbx + rdx], xmm0
mov qword [rsp + 0x30], r9
cmp r8, 0x10
jae 0x1400ec2a5
lea rcx, [rbx + 0x10]
mov rdx, rbx
call fcn.1400ea9f0
cmp rsi, 0xffffffffffffffff
jne 0x1400ec2af
xor ecx, ecx
jmp 0x1400ec7c2
movdqu xmm0, xmmword [rbx]
movdqu xmmword [rbx + r8], xmm0
mov qword [rsp + 0x70], rdi
movabs rax, 0x736f6d6570736575
xor rax, r12
mov qword [rsp + 0x50], rax
movabs rax, 0x646f72616e646f6d
xor rax, r15
mov qword [rsp + 0x48], rax
movabs rax, 0x6c7967656e657261
xor rax, r12
mov qword [rsp + 0x40], rax
movabs rax, 0x7465646279746573
xor rax, r15
mov qword [rsp + 0x38], rax
xor r15d, r15d
mov r14, rbx
jmp 0x1400ec337
shr rax, 0x39
lea rcx, [r15 - 0x10]
and rcx, rsi
mov byte [rbx + r15], al
mov byte [rcx + rbx + 0x10], al
lea rax, [r15 + 1]
add r14, 0xffffffffffffffc8
cmp r15, rsi
mov r15, rax
je 0x1400ec7bd
cmp byte [rbx + r15], 0x80
jne 0x1400ec323
imul rax, r15, 0xffffffffffffffc8
lea rcx, [rbx + rax]
add rcx, 0xffffffffffffffc8
mov qword [rsp + 0x80], rcx
add rax, rbx
mov qword [rsp + 0x78], rax
mov rax, r15
not rax
imul rax, rax, 0x38
add rax, rbx
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x58], r15
mov rax, r15
neg rax
imul rax, rax, 0x38
add rax, rbx
mov qword [rsp + 0x28], rax
jmp 0x1400ec401
mov r8, qword [rsp + 0x68]
mov rax, qword [r8]
mov rdx, qword [rcx]
mov qword [r8], rdx
mov qword [rcx], rax
mov rax, qword [r8 + 8]
mov rdx, qword [rcx + 8]
mov qword [r8 + 8], rdx
mov qword [rcx + 8], rax
mov rax, qword [r8 + 0x10]
mov rdx, qword [rcx + 0x10]
mov qword [r8 + 0x10], rdx
mov qword [rcx + 0x10], rax
mov rax, qword [r8 + 0x18]
mov rdx, qword [rcx + 0x18]
mov qword [r8 + 0x18], rdx
mov qword [rcx + 0x18], rax
mov rax, qword [r8 + 0x20]
mov rdx, qword [rcx + 0x20]
mov qword [r8 + 0x20], rdx
mov qword [rcx + 0x20], rax
mov rax, qword [r8 + 0x28]
mov rdx, qword [rcx + 0x28]
mov qword [r8 + 0x28], rdx
mov qword [rcx + 0x28], rax
mov rax, qword [r8 + 0x30]
mov rdx, qword [rcx + 0x30]
mov qword [r8 + 0x30], rdx
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x28]
mov r12, qword [rax - 0x30]
mov r11, qword [rax - 0x28]
mov rax, r11
and rax, 0xfffffffffffffff8
je 0x1400ec4b0
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov r10, qword [rsp + 0x38]
xor r13d, r13d
mov rdi, qword [rsp + 0x50]
nop word cs:[rax + rax]
mov rcx, qword [r12 + r13]
xor r10, rcx
add rdi, r8
rol r8, 0xd
add r9, r10
xor r8, rdi
rol r10, 0x10
xor r10, r9
rol rdi, 0x20
add r9, r8
add rdi, r10
rol r8, 0x11
xor r8, r9
rol r10, 0x15
rol r9, 0x20
xor r10, rdi
xor rdi, rcx
add r13, 8
cmp r13, rax
jb 0x1400ec440
mov edx, r11d
and edx, 7
cmp edx, 4
jb 0x1400ec4d2
mov ebp, dword [r12 + r13]
mov eax, 4
mov rcx, rax
or rcx, 1
cmp rcx, rdx
jb 0x1400ec4e2
jmp 0x1400ec4fc
mov r10, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
xor r13d, r13d
mov edx, r11d
and edx, 7
cmp edx, 4
jae 0x1400ec48e
xor ebp, ebp
xor eax, eax
mov rcx, rax
or rcx, 1
cmp rcx, rdx
jae 0x1400ec4fc
lea rcx, [rax + r13]
movzx r15d, word [r12 + rcx]
lea ecx, [rax*8]
shl r15, cl
or rbp, r15
or rax, 2
cmp rax, rdx
jae 0x1400ec520
add r13, rax
movzx r15d, byte [r12 + r13]
shl eax, 3
mov ecx, eax
shl r15, cl
or rbp, r15
inc r11
jmp 0x1400ec528
inc r11
test rdx, rdx
je 0x1400ec57f
lea ecx, [rdx*8]
mov eax, 0xff
shl rax, cl
or rax, rbp
cmp rdx, 7
mov r15, qword [rsp + 0x58]
jne 0x1400ec590
xor r10, rax
add rdi, r8
add r9, r10
rol r8, 0xd
rol r10, 0x10
xor r8, rdi
xor r10, r9
rol rdi, 0x20
add r9, r8
add rdi, r10
rol r8, 0x11
xor r8, r9
rol r10, 0x15
xor r10, rdi
rol r9, 0x20
xor rdi, rax
xor eax, eax
jmp 0x1400ec590
mov eax, 0xff
mov r15, qword [rsp + 0x58]
nop dword [rax]
shl r11, 0x38
or r11, rax
xor r10, r11
add rdi, r8
rol r8, 0xd
add r9, r10
xor r8, rdi
rol r10, 0x10
xor r10, r9
rol rdi, 0x20
add r9, r8
add rdi, r10
rol r8, 0x11
xor r8, r9
rol r10, 0x15
rol r9, 0x20
xor r10, rdi
xor rdi, r11
xor r9, 0xff
add rdi, r8
add r9, r10
rol r8, 0xd
xor r8, rdi
rol r10, 0x10
rol rdi, 0x20
xor r10, r9
add r9, r8
rol r8, 0x11
add rdi, r10
xor r8, r9
rol r10, 0x15
xor r10, rdi
rol r9, 0x20
add rdi, r8
add r9, r10
rol r8, 0xd
xor r8, rdi
rol r10, 0x10
rol rdi, 0x20
xor r10, r9
add r9, r8
rol r8, 0x11
add rdi, r10
xor r8, r9
rol r10, 0x15
xor r10, rdi
rol r9, 0x20
add rdi, r8
add r9, r10
rol r8, 0xd
xor r8, rdi
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 0x1400ec6a8
mov r9d, 0x10
mov r8, rcx
nop word cs:[rax + rax]
add r8, r9
and r8, rsi
movdqu xmm0, xmmword [rbx + r8]
pmovmskb edx, xmm0
add r9, 0x10
test edx, edx
je 0x1400ec690
tzcnt edx, edx
add rdx, r8
and rdx, rsi
cmp byte [rbx + rdx], 0
js 0x1400ec6c4
movdqa xmm0, xmmword [rbx]
pmovmskb edx, xmm0
tzcnt edx, edx
mov r8, r15
sub r8, rcx
mov r9, rdx
sub r9, rcx
xor r9, r8
and r9, rsi
cmp r9, 0x10
jb 0x1400ec310
mov rcx, rdx
not rcx
imul rcx, rcx, 0x38
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 0x1400ec780
imul rax, rdx, 0xffffffffffffffc8
add rax, rbx
cmp qword [rsp + 0x80], rax
jae 0x1400ec390
cmp rcx, qword [rsp + 0x78]
jae 0x1400ec390
mov rcx, 0xffffffffffffffc8
nop word cs:[rax + rax]
movzx edx, byte [r14 + rcx]
movzx r8d, byte [rax + rcx]
mov byte [r14 + rcx], r8b
mov byte [rax + rcx], dl
movzx edx, byte [r14 + rcx + 1]
movzx r8d, byte [rax + rcx + 1]
mov byte [r14 + rcx + 1], r8b
mov byte [rax + rcx + 1], dl
add rcx, 2
jne 0x1400ec740
jmp 0x1400ec401
lea rax, [r15 - 0x10]
and rax, rsi
mov byte [rbx + r15], 0xff
mov byte [rax + rbx + 0x10], 0xff
mov rdx, qword [rsp + 0x68]
mov rax, qword [rdx + 0x30]
mov qword [rcx + 0x30], rax
movdqu xmm0, xmmword [rdx]
movdqu xmm1, xmmword [rdx + 0x10]
movups xmm2, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm2
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmmword [rcx], xmm0
jmp 0x1400ec323
mov rcx, qword [rsp + 0x70]
movabs rdx, 0x8000000000000001
sub rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x60]
mov qword [rax + 0x10], rcx
mov rax, rdx
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x40], r8
movzx eax, byte [0x140120b70]
mov edx, 0x10
mov rcx, r14
call fcn.14004bac0
test rax, rax
je 0x1400eca21
mov rbp, rax
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], r15
lea r14, [r13 - 1]
mov rax, r13
shr rax, 3
mov rcx, r13
and rcx, 0xfffffffffffffff8
sub rcx, rax
cmp r13, 9
cmovb rcx, r14
mov qword [rsp + 0x38], rcx
add rbp, rdi
mov rcx, rbp
mov dl, 0xff
mov r8, qword [rsp + 0x28]
call fcn.1400eb170
mov qword [rsp + 0x60], rbx
mov rax, qword [rbx]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x30], 0
je 0x1400ec9bf
mov r13, qword [rsp + 0x28]
movdqa xmm0, xmmword [r13]
pmovmskb ebx, xmm0
not ebx
lea rax, [r13 - 0x38]
mov qword [rsp + 0x48], rax
xor edi, edi
mov r15, qword [rsp + 0x30]
jmp 0x1400ec908
lea ecx, [rbx - 1]
and ecx, ebx
dec r15
shr rax, 0x39
lea r8, [rdx - 0x10]
and r8, r14
mov byte [rbp + rdx], al
mov byte [r8 + rbp + 0x10], al
not r12
imul rax, r12, 0x38
not rdx
imul rdx, rdx, 0x38
mov r9, qword [rsp + 0x28]
mov r8, qword [r9 + rax + 0x30]
mov qword [rbp + rdx + 0x30], r8
movdqu xmm0, xmmword [r9 + rax]
movdqu xmm1, xmmword [r9 + rax + 0x10]
movups xmm2, xmmword [r9 + rax + 0x20]
movups xmmword [rbp + rdx + 0x20], xmm2
movdqu xmmword [rbp + rdx + 0x10], xmm1
movdqu xmmword [rbp + rdx], xmm0
mov ebx, ecx
test r15, r15
je 0x1400ec9bf
test bx, bx
jne 0x1400ec92c
nop dword [rax]
movdqa xmm0, xmmword [r13 + 0x10]
add r13, 0x10
pmovmskb ebx, xmm0
add rdi, 0x10
cmp ebx, 0xffff
je 0x1400ec910
not ebx
tzcnt r12d, ebx
add r12, rdi
mov rax, r12
neg rax
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x48]
mov r8, qword [rcx + rax + 8]
mov r9, qword [rcx + rax + 0x10]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
call fcn.140036fe0
mov rcx, rax
and rcx, r14
movdqu xmm0, xmmword [rbp + rcx]
pmovmskb edx, xmm0
test edx, edx
jne 0x1400ec998
mov r8d, 0x10
nop word cs:[rax + rax]
add rcx, r8
and rcx, r14
movdqu xmm0, xmmword [rbp + rcx]
pmovmskb edx, xmm0
add r8, 0x10
test edx, edx
je 0x1400ec980
tzcnt edx, edx
add rdx, rcx
and rdx, r14
cmp byte [rbp + rdx], 0
js 0x1400ec8a0
movdqa xmm0, xmmword [rbp]
pmovmskb ecx, xmm0
tzcnt edx, ecx
jmp 0x1400ec8a0
mov rcx, qword [rsp + 0x38]
sub rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x60]
mov qword [rax], rbp
mov qword [rax + 8], r14
mov qword [rax + 0x10], rcx
test rsi, rsi
je 0x1400eca38
mov ecx, 0x38
mov rax, qword [rsp + 0x40]
mul rcx
add rax, 0xf
and rax, 0xfffffffffffffff0
add rsi, rax
add rsi, 0x11
je 0x1400eca38
mov rcx, qword [rsp + 0x28]
sub rcx, rax
mov r8d, 0x10
mov rdx, rsi
call fcn.14004bad0
movabs rdx, 0x8000000000000001
jmp 0x1400ec7da
mov edx, 0x10
mov cl, 1
mov r8, r14
call fcn.1400cba10
mov rdx, rax
jmp 0x1400ec7da
movabs rdx, 0x8000000000000001
jmp 0x1400ec7da