Function at 0x14020f030
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1d8
movaps xmmword [rsp + 0x170], xmm6
movaps xmmword [rsp + 0x180], xmm7
movaps xmmword [rsp + 0x190], xmm8
movaps xmmword [rsp + 0x1a0], xmm9
movaps xmmword [rsp + 0x1b0], xmm10
movaps xmmword [rsp + 0x1c0], xmm11
xor eax, eax
mov ebx, 2
movsxd r10, edx
mov r9, rcx
movsx rdx, r8b
mov ecx, 0xb
lea rdi, [rsp + 0x98]
mov rsi, rdx
lea r11, [rsp + 0x90]
mov qword [rsp + 0x91], 0
mov qword [rsp + 0xe8], 0
sar rsi, 0x3f
rep stosq qword [rdi], rax
mov rax, rdx
sub rdx, 1
lea rcx, [r10 + r10*2]
not rax
shl rcx, 8
and rax, rdx
sar rax, 0x3f
and eax, 1
mov byte [rsp + 0x90], al
mov byte [rsp + 0xb0], al
mov eax, r8d
and eax, esi
add eax, eax
sub r8d, eax
lea rax, [0x141ae0000]
movzx edi, r8b
add rcx, rax
lea rax, [rbx - 1]
xor rax, rdi
mov r10, rax
sub rax, 1
not r10
and r10, rax
mov rax, rdi
xor rax, rbx
sar r10, 0x3f
lea r8, [rax - 1]
not rax
and r8, rax
xor eax, eax
sar r8, 0x3f
nop
movzx ebp, byte [rcx + rax]
movzx edx, byte [rax + rcx + 0x60]
and ebp, r10d
and edx, r8d
xor edx, ebp
xor byte [r11 + rax], dl
add rax, 1
cmp rax, 0x60
jne 0x14020f130
add rbx, 2
add rcx, 0xc0
cmp rbx, 0xa
jne 0x14020f101
movzx ecx, byte [rsp + 0x96]
movzx eax, byte [rsp + 0x95]
movzx edx, byte [rsp + 0x9c]
movzx r8d, byte [rsp + 0xa2]
shl rax, 0x28
shl rcx, 0x30
shl rdx, 0x2d
add rcx, rax
movzx eax, byte [rsp + 0x90]
shl r8, 0x2a
add rcx, rax
movzx eax, byte [rsp + 0x94]
shl rax, 0x20
add rcx, rax
movzx eax, byte [rsp + 0x93]
shl rax, 0x18
add rcx, rax
movzx eax, byte [rsp + 0x92]
shl rax, 0x10
add rcx, rax
movzx eax, byte [rsp + 0x91]
shl rax, 8
add rcx, rax
movzx eax, byte [rsp + 0x9b]
shl rax, 0x25
add rdx, rax
movzx eax, byte [rsp + 0x9a]
shl rax, 0x1d
add rdx, rax
movzx eax, byte [rsp + 0x99]
shl rax, 0x15
add rdx, rax
movzx eax, byte [rsp + 0x98]
shl rax, 0xd
add rdx, rax
movzx eax, byte [rsp + 0x97]
shl rax, 5
add rdx, rax
mov rax, rcx
shr rax, 0x33
add rdx, rax
movzx eax, byte [rsp + 0xa3]
shl rax, 0x32
add rax, r8
movzx r8d, byte [rsp + 0xa1]
shl r8, 0x22
add rax, r8
movzx r8d, byte [rsp + 0xa0]
shl r8, 0x1a
add rax, r8
movzx r8d, byte [rsp + 0x9f]
shl r8, 0x12
add rax, r8
movzx r8d, byte [rsp + 0x9e]
shl r8, 0xa
add rax, r8
movzx r8d, byte [rsp + 0x9d]
lea r10, [rax + r8*4]
mov rax, rdx
movzx r8d, byte [rsp + 0xa8]
shr rax, 0x33
add r10, rax
movzx eax, byte [rsp + 0xa9]
shl r8, 0x27
shl rax, 0x2f
add rax, r8
movzx r8d, byte [rsp + 0xa7]
shl r8, 0x1f
add rax, r8
movzx r8d, byte [rsp + 0xa6]
shl r8, 0x17
add rax, r8
movzx r8d, byte [rsp + 0xa5]
shl r8, 0xf
add rax, r8
movzx r8d, byte [rsp + 0xa4]
shl r8, 7
add rax, r8
mov r8, r10
shr r8, 0x33
lea r11, [rax + r8]
movzx eax, byte [rsp + 0xaf]
movzx r8d, byte [rsp + 0xae]
shl rax, 0x2c
shl r8, 0x24
add rax, r8
movzx r8d, byte [rsp + 0xad]
shl r8, 0x1c
add rax, r8
movzx r8d, byte [rsp + 0xac]
shl r8, 0x14
add rax, r8
movzx r8d, byte [rsp + 0xab]
shl r8, 0xc
add rax, r8
movzx r8d, byte [rsp + 0xaa]
shl r8, 4
add rax, r8
mov r8, r11
shr r8, 0x33
add rax, r8
movabs r8, 0x7ffffffffffff
and rcx, r8
and rdx, r8
and r11, r8
and r10, r8
mov qword [rsp], rcx
movzx ecx, byte [rsp + 0xc2]
mov qword [rsp + 8], rdx
movzx edx, byte [rsp + 0xb5]
mov qword [rsp + 0x18], r11
shl rcx, 0x2a
movzx r11d, byte [rsp + 0xb6]
shl rdx, 0x28
mov qword [rsp + 0x10], r10
movzx r10d, byte [rsp + 0xbc]
shl r11, 0x30
movzx edi, byte [rsp + 0xce]
add r11, rdx
movzx edx, byte [rsp + 0xb0]
shl r10, 0x2d
add r11, rdx
movzx edx, byte [rsp + 0xb4]
shl rdx, 0x20
add r11, rdx
movzx edx, byte [rsp + 0xb3]
shl rdx, 0x18
add r11, rdx
movzx edx, byte [rsp + 0xb2]
shl rdx, 0x10
add r11, rdx
movzx edx, byte [rsp + 0xb1]
shl rdx, 8
add r11, rdx
movzx edx, byte [rsp + 0xbb]
shl rdx, 0x25
add r10, rdx
movzx edx, byte [rsp + 0xba]
shl rdx, 0x1d
add r10, rdx
movzx edx, byte [rsp + 0xb9]
shl rdx, 0x15
add r10, rdx
movzx edx, byte [rsp + 0xb8]
shl rdx, 0xd
add r10, rdx
movzx edx, byte [rsp + 0xb7]
shl rdx, 5
add r10, rdx
mov rdx, r11
shr rdx, 0x33
add r10, rdx
movzx edx, byte [rsp + 0xc3]
shl rdx, 0x32
add rdx, rcx
movzx ecx, byte [rsp + 0xc1]
shl rcx, 0x22
add rdx, rcx
movzx ecx, byte [rsp + 0xc0]
shl rdi, 0x24
shl rcx, 0x1a
add rdx, rcx
movzx ecx, byte [rsp + 0xbf]
shl rcx, 0x12
add rdx, rcx
movzx ecx, byte [rsp + 0xbe]
shl rcx, 0xa
add rdx, rcx
movzx ecx, byte [rsp + 0xbd]
lea rbx, [rdx + rcx*4]
mov rdx, r10
movzx ecx, byte [rsp + 0xc8]
shr rdx, 0x33
add rbx, rdx
movzx edx, byte [rsp + 0xc9]
shl rcx, 0x27
shl rdx, 0x2f
add rdx, rcx
movzx ecx, byte [rsp + 0xc7]
shl rcx, 0x1f
add rdx, rcx
movzx ecx, byte [rsp + 0xc6]
shl rcx, 0x17
add rdx, rcx
movzx ecx, byte [rsp + 0xc5]
shl rcx, 0xf
add rdx, rcx
movzx ecx, byte [rsp + 0xc4]
shl rcx, 7
add rdx, rcx
mov rcx, rbx
shr rcx, 0x33
add rdx, rcx
movzx ecx, byte [rsp + 0xcf]
shl rcx, 0x2c
add rcx, rdi
movzx edi, byte [rsp + 0xcd]
shl rdi, 0x1c
add rcx, rdi
movzx edi, byte [rsp + 0xcc]
shl rdi, 0x14
add rcx, rdi
movzx edi, byte [rsp + 0xcb]
shl rdi, 0xc
add rcx, rdi
movzx edi, byte [rsp + 0xca]
shl rdi, 4
add rcx, rdi
and r10, r8
mov rdi, rdx
and rdx, r8
mov qword [rsp + 0x38], r10
and r11, r8
shr rdi, 0x33
and rbx, r8
mov qword [rsp + 0x48], rdx
movzx edx, byte [rsp + 0xd5]
add rcx, rdi
movzx r10d, byte [rsp + 0xd6]
mov qword [rsp + 0x30], r11
shl rdx, 0x28
mov qword [rsp + 0x40], rbx
movzx r11d, byte [rsp + 0xdb]
shl r10, 0x30
add r10, rdx
movzx edx, byte [rsp + 0xd0]
shl r11, 0x25
add r10, rdx
movzx edx, byte [rsp + 0xd4]
shl rdx, 0x20
add r10, rdx
movzx edx, byte [rsp + 0xd3]
shl rdx, 0x18
add r10, rdx
movzx edx, byte [rsp + 0xd2]
shl rdx, 0x10
add r10, rdx
movzx edx, byte [rsp + 0xd1]
shl rdx, 8
add r10, rdx
movzx edx, byte [rsp + 0xdc]
mov r15, r10
shr r10, 0x33
shl rdx, 0x2d
and r15, r8
add rdx, r11
movq xmm4, r15
movzx r11d, byte [rsp + 0xda]
shl r11, 0x1d
add rdx, r11
movzx r11d, byte [rsp + 0xd9]
shl r11, 0x15
add rdx, r11
movzx r11d, byte [rsp + 0xd8]
shl r11, 0xd
add rdx, r11
movzx r11d, byte [rsp + 0xd7]
shl r11, 5
add rdx, r11
movzx r11d, byte [rsp + 0xe2]
add rdx, r10
movzx r10d, byte [rsp + 0xe3]
shl r11, 0x2a
mov r14, rdx
shr rdx, 0x33
shl r10, 0x32
and r14, r8
add r10, r11
movzx r11d, byte [rsp + 0xe1]
shl r11, 0x22
add r10, r11
movzx r11d, byte [rsp + 0xe0]
shl r11, 0x1a
add r10, r11
movzx r11d, byte [rsp + 0xdf]
shl r11, 0x12
add r10, r11
movzx r11d, byte [rsp + 0xde]
shl r11, 0xa
add r10, r11
movzx r11d, byte [rsp + 0xdd]
lea r10, [r10 + r11*4]
movzx r11d, byte [rsp + 0xe8]
add rdx, r10
movzx r10d, byte [rsp + 0xe9]
shl r11, 0x27
mov r13, rdx
shr rdx, 0x33
shl r10, 0x2f
and r13, r8
add r10, r11
movq xmm3, r13
movzx r11d, byte [rsp + 0xe7]
shl r11, 0x1f
add r10, r11
movzx r11d, byte [rsp + 0xe6]
shl r11, 0x17
add r10, r11
movzx r11d, byte [rsp + 0xe5]
shl r11, 0xf
add r10, r11
movzx r11d, byte [rsp + 0xe4]
mov rdi, qword [rsp + 8]
mov qword [rsp + 0x60], r15
mov rbx, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov qword [rsp + 0x68], r14
shl r11, 7
movq xmm0, rdi
mov rbp, qword [rsp + 0x48]
movq xmm2, qword [rsp + 0x10]
add r10, r11
movq xmm7, rbx
mov qword [rsp + 0x70], r13
movzx r11d, byte [rsp + 0xee]
add r10, rdx
movzx edx, byte [rsp + 0xef]
shl r11, 0x24
and r8, r10
shl rdx, 0x2c
mov qword [rsp + 0x78], r8
add rdx, r11
shr r10, 0x33
movzx r11d, byte [rsp + 0xed]
shl r11, 0x1c
add rdx, r11
movzx r11d, byte [rsp + 0xec]
shl r11, 0x14
add rdx, r11
movzx r11d, byte [rsp + 0xeb]
shl r11, 0xc
add rdx, r11
movzx r11d, byte [rsp + 0xea]
shl r11, 4
add rdx, r11
mov r11, qword [rsp + 0x40]
add rdx, r10
mov r10, qword [rsp]
movq xmm5, r11
movq xmm8, r10
movabs r10, 0xfffffffffffda
punpcklqdq xmm8, xmm0
movq xmm0, qword [rsp + 0x18]
sub r10, r15
movdqa xmm6, xmm8
mov qword [rsp + 0x140], r10
movabs r10, 0xffffffffffffe
punpcklqdq xmm2, xmm0
movq xmm0, r12
mov r11, r10
punpcklqdq xmm7, xmm0
movq xmm0, rbp
movdqa xmm1, xmm2
sub r11, r14
punpcklqdq xmm5, xmm0
movq xmm0, r14
movdqa xmm11, xmm7
mov qword [rsp + 0x148], r11
punpcklqdq xmm4, xmm0
movq xmm0, r8
movdqa xmm10, xmm5
mov r11, r10
punpcklqdq xmm3, xmm0
movq xmm0, rsi
sub r11, r13
punpcklqdq xmm0, xmm0
mov qword [rsp + 0x150], r11
mov r11, r10
movdqa xmm9, xmm0
pand xmm6, xmm0
pand xmm1, xmm0
sub r11, r8
pandn xmm9, xmm8
movdqa xmm8, xmm0
shr sil, 7
mov r8, rax
pandn xmm8, xmm2
pand xmm10, xmm0
cmove rax, rcx
cmovne r8, rcx
movdqa xmm2, xmm8
mov qword [rsp + 0x158], r11
sub r10, rdx
por xmm2, xmm10
pand xmm11, xmm0
mov qword [r9 + 0x48], rax
test sil, sil
movups xmmword [r9 + 0x10], xmm2
movdqa xmm2, xmm0
por xmm9, xmm11
mov rax, rdx
pandn xmm2, xmm7
movups xmmword [r9], xmm9
cmovne rax, r10
por xmm2, xmm6
mov qword [r9 + 0x20], r8
movups xmmword [r9 + 0x28], xmm2
movdqa xmm2, xmm1
movdqa xmm1, xmm0
pandn xmm1, xmm5
por xmm1, xmm2
movdqa xmm2, xmmword [rsp + 0x140]
movups xmmword [r9 + 0x38], xmm1
movdqa xmm1, xmm0
pand xmm2, xmm0
pandn xmm1, xmm4
por xmm1, xmm2
movups xmmword [r9 + 0x50], xmm1
movdqa xmm1, xmmword [rsp + 0x150]
pand xmm1, xmm0
pandn xmm0, xmm3
por xmm0, xmm1
movups xmmword [r9 + 0x60], xmm0
movaps xmm6, xmmword [rsp + 0x170]
movaps xmm7, xmmword [rsp + 0x180]
movaps xmm8, xmmword [rsp + 0x190]
mov qword [r9 + 0x70], rax
movaps xmm9, xmmword [rsp + 0x1a0]
movaps xmm10, xmmword [rsp + 0x1b0]
movaps xmm11, xmmword [rsp + 0x1c0]
add rsp, 0x1d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret