Function at 0x14027f130
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x168
movdqa xmmword [rsp + 0x150], xmm6
mov r14, rdx
mov rdi, rcx
movzx eax, byte [0x14030584b]
mov rcx, r8
shl rcx, 4
mov r15, rcx
cmp al, 1
jne 0x14027f1df
test r8, r8
je 0x14027fd9f
xor esi, esi
pxor xmm6, xmm6
lea rbx, [rsp + 0x140]
nop
movdqu xmm0, xmmword [r14 + rsi]
movdqa xmmword [rsp + 0x140], xmm0
movdqa xmm1, xmm0
punpcklbw xmm1, xmm6
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
punpckhbw xmm0, xmm6
pshufd xmm0, xmm0, 0x4e
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm1
movdqa xmmword [rsp + 0x140], xmm0
mov rcx, rdi
mov rdx, rbx
call fcn.140178520
add rsi, 0x10
cmp r15, rsi
jne 0x14027f180
jmp 0x14027fd9f
test r8, r8
je 0x14027fd9f
add r15, r14
movabs rdx, 0x4444444444444444
movabs r8, 0x2222222222222222
movabs r9, 0x1111111111111111
mov r10, qword [rdi]
mov r11, qword [rdi + 8]
mov rax, r10
bswap rax
mov rcx, rax
shr rcx, 4
movabs rsi, 0xf0f0f0f0f0f0f0f
and rcx, rsi
and rax, rsi
shl rax, 4
or rax, rcx
movabs rbx, 0x3333333333333333
mov rcx, rax
and rcx, rbx
shr rax, 2
and rax, rbx
lea rax, [rax + rcx*4]
movabs r12, 0x5555555555555555
mov rcx, rax
and rcx, r12
shr rax, 1
and rax, r12
lea r13, [rax + rcx*2]
mov rax, r11
bswap rax
mov rcx, rax
shr rcx, 4
and rcx, rsi
and rax, rsi
shl rax, 4
or rax, rcx
mov rcx, rax
and rcx, rbx
shr rax, 2
and rax, rbx
lea rax, [rax + rcx*4]
mov rcx, rax
and rcx, r12
shr rax, 1
and rax, r12
lea rax, [rax + rcx*2]
mov rcx, r11
xor rcx, r10
mov rsi, rax
xor rsi, r13
mov rbx, r10
and rbx, r9
mov qword [rsp + 0xf0], rbx
mov rbx, r10
and rbx, r8
mov qword [rsp + 0xe8], rbx
mov rbx, r10
and rbx, rdx
mov qword [rsp + 0x80], rbx
movabs rbx, 0x8888888888888888
and r10, rbx
mov qword [rsp + 0x118], r10
mov r10, r11
and r10, r9
mov qword [rsp + 0xe0], r10
mov r10, r11
and r10, r8
mov qword [rsp + 0xd8], r10
mov r10, r11
and r10, rdx
mov qword [rsp + 0xd0], r10
and r11, rbx
mov qword [rsp + 0x110], r11
mov r10, rcx
and r10, r9
mov qword [rsp + 0x78], r10
mov r10, rcx
and r10, r8
mov qword [rsp + 0x60], r10
mov r10, rcx
and r10, rdx
mov qword [rsp + 0xc8], r10
and rcx, rbx
mov qword [rsp + 0x88], rcx
mov rcx, r13
and rcx, r9
mov qword [rsp + 0xc0], rcx
mov rcx, r13
and rcx, r8
mov qword [rsp + 0xb8], rcx
mov rcx, r13
and rcx, rdx
mov qword [rsp + 0xb0], rcx
and r13, rbx
mov qword [rsp + 0x108], r13
mov rcx, rax
and rcx, r9
mov qword [rsp + 0x70], rcx
mov rcx, rax
and rcx, r8
mov qword [rsp + 0x68], rcx
mov rcx, rax
and rcx, rdx
mov qword [rsp + 0xa8], rcx
and rax, rbx
mov qword [rsp + 0x100], rax
mov rax, rsi
and rax, r9
mov qword [rsp + 0x58], rax
mov rax, rsi
and rax, r8
mov qword [rsp + 0xa0], rax
mov rax, rsi
and rax, rdx
mov qword [rsp + 0x98], rax
and rsi, rbx
mov qword [rsp + 0xf8], rsi
mov rcx, qword [rdi + 0x10]
mov qword [rsp + 0x90], rdi
mov rdx, qword [rdi + 0x18]
mov qword [rsp + 0x120], r15
nop word cs:[rax + rax]
mov qword [rsp + 0x138], r14
mov r13, qword [r14]
mov rdi, qword [r14 + 8]
bswap r13
bswap rdi
xor rdi, rcx
mov rax, rdi
bswap rax
xor r13, rdx
mov rcx, r13
bswap rcx
mov qword [rsp + 0x30], rcx
mov rcx, r13
xor rcx, rdi
mov qword [rsp + 0x50], rcx
mov r11, rax
mov r15, rdi
movabs rcx, 0x1111111111111111
and r15, rcx
mov r8, rdi
movabs rcx, 0xf0f0f0f0f0f0f0f
and rax, rcx
mov r9, rcx
movabs rcx, 0x2222222222222222
and r8, rcx
mov rcx, rdi
movabs rdx, 0x4444444444444444
and rcx, rdx
shr r11, 4
movabs rdx, 0x8888888888888888
and rdi, rdx
mov rdx, qword [rsp + 0x80]
mov r10, rdx
mov rbx, rdx
imul r10, rcx
shl rax, 4
mov qword [rsp + 0x28], rax
mov rbp, qword [rsp + 0x118]
mov rax, rbp
imul rax, r8
mov rdx, qword [rsp + 0xf0]
mov rsi, rdx
and r11, r9
imul rsi, r8
mov r14, qword [rsp + 0xe8]
mov r12, r14
imul r12, r15
xor rax, r10
mov qword [rsp + 0x40], rax
mov r10, rbx
mov r9, rbx
imul r10, rdi
mov rax, rbp
xor r12, rsi
mov qword [rsp + 0x38], r12
imul rax, rcx
mov rbx, rdx
imul rbx, rcx
xor rax, r10
mov qword [rsp + 0x48], rax
mov rsi, r14
imul rsi, r8
xor rsi, rbx
imul r9, r15
mov r10, rbp
imul r10, rdi
xor r10, r9
mov rbx, qword [rsp + 0x30]
mov rax, rbx
shr rax, 4
movabs r12, 0xf0f0f0f0f0f0f0f
and rbx, r12
add qword [rsp + 0x28], r11
mov r11, r14
imul r11, rdi
imul rdi, rdx
shl rbx, 4
imul rcx, r14
xor rcx, rdi
and rax, r12
imul rdx, r15
mov qword [rsp + 0x130], rdx
xor r11, rdx
imul r8, qword [rsp + 0x80]
or rbx, rax
mov qword [rsp + 0x30], rbx
imul r15, rbp
xor r15, r8
mov rbx, r15
mov rbp, r13
xor r11, qword [rsp + 0x40]
movabs rax, 0x1111111111111111
and rbp, rax
mov rdi, r13
movabs rax, 0x2222222222222222
and rdi, rax
mov rax, qword [rsp + 0x38]
xor qword [rsp + 0x48], rax
mov rdx, r13
movabs rax, 0x4444444444444444
and rdx, rax
movabs rax, 0x8888888888888888
and r13, rax
xor r10, rsi
mov r9, qword [rsp + 0xe0]
mov rax, r9
mov r15, qword [rsp + 0xd8]
mov r8, r15
imul r8, r13
imul rax, rbp
xor r8, rax
mov r12, qword [rsp + 0xd0]
mov rax, r12
imul rax, rdx
xor rbx, rcx
mov qword [rsp + 0x40], rbx
mov r14, qword [rsp + 0x110]
mov rcx, r14
imul rcx, rdi
xor rcx, rax
xor rcx, r8
mov rax, r9
imul rax, rdi
mov r8, r15
imul r8, rbp
xor r8, rax
mov rsi, r12
imul rsi, r13
mov rax, r14
imul rax, rdx
xor rax, rsi
mov rsi, r9
imul rsi, rdx
mov rbx, r15
imul rbx, rdi
xor rbx, rsi
xor rax, r8
mov rsi, r14
imul rsi, r13
mov r8, r12
imul r8, rbp
xor rsi, r8
xor rsi, rbx
imul r13, r9
imul rdx, r15
xor rdx, r13
mov r9, qword [rsp + 0x28]
mov r8, r9
shr r9, 2
mov qword [rsp + 0x28], r9
movabs r15, 0x1111111111111111
and r11, r15
mov r9, qword [rsp + 0x48]
movabs r13, 0x2222222222222222
and r9, r13
movabs rbx, 0x4444444444444444
and r10, rbx
imul rdi, r12
mov rbx, qword [rsp + 0x40]
movabs r12, 0x8888888888888888
and rbx, r12
imul rbp, r14
xor rbp, rdi
xor rbp, rdx
and rcx, r15
mov rdi, r15
and rax, r13
movabs r14, 0x4444444444444444
and rsi, r14
and rbp, r12
mov r13, r12
movabs rdx, 0x3333333333333333
and r8, rdx
mov qword [rsp + 0x38], r8
mov r12, qword [rsp + 0x50]
mov r15, r12
and r15, rdi
mov rdi, r12
or r9, r11
mov qword [rsp + 0x48], r9
movabs rdx, 0x2222222222222222
and rdi, rdx
mov rdx, r12
and rdx, r14
or rbx, r10
mov qword [rsp + 0x40], rbx
and r12, r13
mov r9, qword [rsp + 0x78]
mov r10, r9
mov rbx, r9
imul r10, r15
or rax, rcx
mov r9, qword [rsp + 0x60]
mov rcx, r9
imul rcx, r12
xor rcx, r10
or rbp, rsi
mov r8, qword [rsp + 0xc8]
mov r11, r8
imul r11, rdx
mov rsi, qword [rsp + 0x88]
mov r10, rsi
mov r13, rsi
movabs r14, 0x3333333333333333
mov rsi, qword [rsp + 0x28]
and rsi, r14
imul r10, rdi
xor r10, r11
mov r11, rbx
mov r14, rbx
xor r10, rcx
imul r11, rdi
mov rcx, r9
imul rcx, r15
mov r9, qword [rsp + 0x38]
lea rsi, [rsi + r9*4]
xor rcx, r11
mov r9, r8
mov r11, r8
mov r8, r13
imul r11, r12
imul r8, rdx
xor r8, r11
mov rbx, qword [rsp + 0x30]
mov r11, rbx
movabs r13, 0x3333333333333333
and r11, r13
shr rbx, 2
and rbx, r13
xor r8, rcx
lea r11, [rbx + r11*4]
imul r14, rdx
mov rbx, qword [rsp + 0x60]
imul rbx, rdi
xor rbx, r14
mov rcx, r9
imul rcx, r15
or rbp, rax
mov qword [rsp + 0x50], rbp
mov r13, qword [rsp + 0x88]
mov rax, r13
imul rax, r12
xor rax, rcx
mov rcx, rsi
movabs r14, 0x5555555555555555
and rcx, r14
shr rsi, 1
xor rax, rbx
and rsi, r14
mov rbx, r11
and rbx, r14
shr r11, 1
and r11, r14
imul r12, qword [rsp + 0x78]
imul rdx, qword [rsp + 0x60]
xor rdx, r12
lea rcx, [rsi + rcx*2]
imul rdi, r9
imul r15, r13
xor r15, rdi
lea r12, [r11 + rbx*2]
xor r15, rdx
movabs r9, 0x1111111111111111
and r10, r9
movabs r11, 0x2222222222222222
and r8, r11
mov rsi, r12
or r8, r10
movabs rdx, 0x4444444444444444
and rax, rdx
movabs r10, 0x8888888888888888
and r15, r10
xor rsi, rcx
mov qword [rsp + 0x128], rsi
or r15, rax
or r15, r8
mov qword [rsp + 0x38], r15
mov rbp, rcx
and rbp, r9
mov r9, rcx
and r9, r11
mov rbx, rcx
and rbx, rdx
and rcx, r10
mov r14, qword [rsp + 0xc0]
mov rax, r14
mov r13, qword [rsp + 0xb8]
mov r8, r13
imul rax, rbp
imul r8, rcx
mov r10, qword [rsp + 0xb0]
mov rdx, r10
mov rsi, r10
imul rdx, rbx
xor r8, rax
mov rdi, qword [rsp + 0x108]
mov rax, rdi
imul rax, r9
mov r10, r14
xor rax, rdx
mov qword [rsp + 0x30], rax
imul r10, r9
mov r11, r13
imul r11, rbp
xor r11, r10
mov rdx, rsi
imul rdx, rcx
mov rax, rdi
imul rax, rbx
xor rax, rdx
mov r10, rax
mov rdx, r14
imul rdx, rbx
mov r15, r13
imul r15, r9
xor r15, rdx
mov rax, rsi
mov rdx, rsi
imul rax, rbp
mov rsi, rdi
imul rsi, rcx
xor rsi, rax
xor qword [rsp + 0x30], r8
imul rcx, r14
imul rbx, r13
xor rbx, rcx
xor r10, r11
mov qword [rsp + 0x28], r10
imul r9, rdx
imul rbp, rdi
xor rbp, r9
xor rsi, r15
mov r9, r12
movabs rax, 0x1111111111111111
and r9, rax
mov r11, r12
xor rbp, rbx
mov r15, r12
movabs rax, 0x8888888888888888
and r12, rax
mov r14, qword [rsp + 0x70]
mov rax, r14
imul rax, r9
mov rdx, qword [rsp + 0x68]
mov rcx, rdx
mov r10, rdx
imul rcx, r12
xor rcx, rax
movabs rax, 0x2222222222222222
and r11, rax
movabs rax, 0x4444444444444444
and r15, rax
mov r13, qword [rsp + 0xa8]
mov rax, r13
imul rax, r15
mov rdi, qword [rsp + 0x100]
mov rbx, rdi
imul rbx, r11
xor rbx, rax
mov rax, r14
imul rax, r11
mov r8, rdx
imul r8, r9
xor r8, rax
xor rbx, rcx
mov rax, r13
imul rax, r12
mov r10, rdi
imul r10, r15
xor r10, rax
mov rcx, r14
imul rcx, r15
mov r14, qword [rsp + 0x68]
mov rax, r14
imul rax, r11
xor rax, rcx
mov rdx, r13
imul rdx, r9
mov rcx, rdi
imul rcx, r12
xor rcx, rdx
xor r10, r8
imul r12, qword [rsp + 0x70]
imul r15, r14
xor r15, r12
xor rcx, rax
imul r11, r13
imul r9, rdi
xor r9, r11
movabs rax, 0x1111111111111111
mov r11, qword [rsp + 0x30]
and r11, rax
movabs rdx, 0x2222222222222222
mov r8, qword [rsp + 0x28]
and r8, rdx
movabs r12, 0x4444444444444444
and rsi, r12
movabs rdi, 0x8888888888888888
and rbp, rdi
or r8, r11
mov qword [rsp + 0x28], r8
xor r9, r15
and rbx, rax
mov r8, rax
and r10, rdx
mov r13, rdx
or rbp, rsi
mov r14, qword [rsp + 0x128]
mov rax, r14
and rax, r8
mov r11, r14
or r10, rbx
mov rdx, r14
and r14, rdi
mov r15, qword [rsp + 0x58]
mov r8, r15
imul r8, rax
mov rbx, qword [rsp + 0xa0]
mov rsi, rbx
imul rsi, r14
xor rsi, r8
mov r8, r12
and rcx, r12
and r9, rdi
and r11, r13
and rdx, r12
or r9, rcx
mov r12, qword [rsp + 0x98]
mov rcx, r12
imul rcx, rdx
mov r13, qword [rsp + 0xf8]
mov rdi, r13
imul rdi, r11
xor rdi, rcx
mov rcx, r15
imul rcx, r11
mov r8, rbx
mov r15, rbx
imul r8, rax
xor r8, rcx
mov rbx, r12
imul rbx, r14
mov rcx, r13
imul rcx, rdx
xor rcx, rbx
xor rdi, rsi
xor rcx, r8
mov r8, qword [rsp + 0x58]
imul r8, rdx
mov rsi, r15
imul rsi, r11
xor rsi, r8
mov r8, r12
imul r8, rax
mov rbx, r13
imul rbx, r14
xor rbx, r8
xor rbx, rsi
imul r14, qword [rsp + 0x58]
imul rdx, r15
xor rdx, r14
or rbp, qword [rsp + 0x28]
imul r11, r12
imul rax, r13
xor rax, r11
or r9, r10
xor rax, rdx
movabs rdx, 0x1111111111111111
and rdi, rdx
movabs rdx, 0x2222222222222222
and rcx, rdx
or rcx, rdi
movabs rdx, 0x4444444444444444
and rbx, rdx
movabs rdx, 0x8888888888888888
and rax, rdx
or rax, rbx
or rax, rcx
mov rcx, rbp
bswap rbp
xor rcx, r9
xor rcx, rax
mov rax, rbp
movabs r11, 0xf0f0f0f0f0f0f0f
and rbp, r11
shr rax, 4
shl rbp, 4
bswap r9
and rax, r11
or rbp, rax
mov rax, r9
shr rax, 4
and rax, r11
and r9, r11
shl r9, 4
or r9, rax
mov rax, rbp
movabs r8, 0x3333333333333333
and rax, r8
shr rbp, 2
and rbp, r8
lea rdx, [rax*4]
add rdx, rbp
mov rax, r9
and rax, r8
shr r9, 2
and r9, r8
mov rsi, r8
lea rax, [r9 + rax*4]
mov r8, rdx
shr rdx, 1
movabs rdi, 0x5555555555555555
and r8, rdi
movabs r10, 0x5555555555555554
and rdx, r10
bswap rcx
lea r8, [rdx + r8*2]
mov rdx, rcx
shr rdx, 4
mov r9, r11
and rcx, r11
and rdx, r11
shl rcx, 4
or rcx, rdx
mov rdx, rcx
and rdx, rsi
shr rcx, 2
and rcx, rsi
lea r9, [rcx + rdx*4]
mov r11, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
or r11, rcx
mov rdx, qword [rsp + 0x130]
shl rdx, 0x3f
shl rcx, 0x3e
xor rcx, rdx
mov rdx, rcx
mov rcx, r11
shl rcx, 0x39
xor rcx, rdx
mov rdx, rax
shr r8, 1
mov rsi, rdi
and rdx, rdi
shr rax, 1
and rax, r10
lea rdx, [rax + rdx*2]
mov rax, r9
and rax, rdi
shr r9, 1
and r9, r10
xor rcx, qword [rsp + 0x38]
mov r10, r11
xor rcx, r11
lea rax, [r9 + rax*2]
mov rsi, qword [rsp + 0x50]
xor rcx, rsi
xor rcx, r8
mov r8, rcx
shr r8, 2
mov r9, rcx
shr r9, 7
xor r9, r8
mov r8, r11
shr r10, 2
xor rdx, rcx
shr rdx, 1
shr r8, 1
xor rdx, r9
xor rdx, rcx
mov r9, rcx
xor r10, r8
mov r8, rcx
shl rcx, 0x39
xor rcx, r11
shr r11, 7
xor r11, r10
shr rax, 1
xor r11, rax
shl r9, 0x3f
shl r8, 0x3e
xor r8, r9
xor r8, r11
xor rcx, rsi
xor rcx, r8
mov rax, qword [rsp + 0x138]
add rax, 0x10
mov r8, qword [rsp + 0x120]
mov r14, rax
cmp rax, r8
jne 0x14027f410
mov rax, qword [rsp + 0x90]
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rdx
movaps xmm6, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret