Function at 0x14006f6f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xf8
lea rbp, [rsp + 0x80]
vmovdqa xmmword [rbp + 0x60], xmm15
vmovdqa xmmword [rbp + 0x50], xmm14
vmovdqa xmmword [rbp + 0x40], xmm13
vmovdqa xmmword [rbp + 0x30], xmm12
vmovdqa xmmword [rbp + 0x20], xmm11
vmovdqa xmmword [rbp + 0x10], xmm10
vmovdqa xmmword [rbp], xmm9
vmovdqa xmmword [rbp - 0x10], xmm8
vmovdqa xmmword [rbp - 0x20], xmm7
vmovaps xmmword [rbp - 0x30], xmm6
and rsp, 0xffffffffffffffe0
mov rbx, rsp
mov rdi, rdx
mov rsi, rcx
xor eax, eax
test al, al
jne 0x14006f7a8
mov eax, dword [0x141dc9e38]
xor eax, dword [0x141dc9e3c]
add eax, 0xed26a5ce
imul rcx, rax, 0x1b778ef5
shr rcx, 0x3a
add ecx, 0x52149cad
mov eax, 0x40
call fcn.1400eeec0
sub rsp, rax
mov r14, rsp
and r14, 0xffffffffffffffe0
mov rsp, r14
mov eax, 0x40
call fcn.1400eeec0
sub rsp, rax
mov r12, rsp
and r12, 0xffffffffffffffe0
mov rsp, r12
cmp ecx, 0x66b9b035
jbe 0x14006f7db
mov eax, 0x40
call fcn.1400eeec0
sub rsp, rax
mov rax, rsp
and rax, 0xffffffffffffffe0
mov rsp, rax
mov eax, 0x40
call fcn.1400eeec0
sub rsp, rax
mov rax, rsp
and rax, 0xffffffffffffffe0
mov rsp, rax
jmp 0x14006f750
mov eax, 0x60
call fcn.1400eeec0
sub rsp, rax
mov r13, rsp
cmp byte [rsi], 0
je 0x14006fabe
vpbroadcastq ymm9, qword [0x140101b40]
nop dword [rax]
mov eax, dword [0x141dc9e40]
sub eax, dword [0x141dc9e44]
imul eax, eax, 0x6c5a4a66
add eax, 0xf8eb7d58
and eax, 0xb0945dea
cmp eax, 0x6edde3e4
jb 0x14006f800
vmovdqa ymm3, ymmword [rsi + 0xe0]
vmovdqa ymm1, ymmword [rsi + 0x100]
vpbroadcastq ymm4, qword [rsi + 0xa0]
vpbroadcastq ymm7, qword [rsi + 0xa8]
vmovdqa ymm2, ymmword [rsi + 0x120]
vpmuludq ymm6, ymm1, ymm4
vpmuludq ymm8, ymm2, ymm4
vpmuludq ymm0, ymm3, ymm7
vmovdqa ymmword [rbx], ymm0
vpmuludq ymm10, ymm1, ymm7
vpshufd ymm5, ymm4, 0xf5
vpshufd ymm11, ymm7, 0xf5
vpmuludq ymm12, ymm5, ymm3
vpaddq ymm12, ymm12, ymm6
vpmuludq ymm13, ymm5, ymm1
vpmuludq ymm6, ymm11, ymm3
vpaddq ymm0, ymm10, ymm6
vmovdqa ymmword [rbx + 0x20], ymm0
vpmuludq ymm10, ymm11, ymm1
vpbroadcastq ymm11, qword [rsi + 0xb0]
vpmuludq ymm14, ymm11, ymm3
vpaddq ymm8, ymm8, ymm14
vpaddq ymm8, ymm8, ymm10
vpshufd ymm10, ymm3, 0xf5
vpshufd ymm14, ymm1, 0xf5
vpshufd ymm11, ymm11, 0xf5
vpmuludq ymm15, ymm14, ymm11
vpmuludq ymm11, ymm11, ymm2
vpmuludq ymm0, ymm14, ymm5
vpmuludq ymm7, ymm10, ymm7
vpaddq ymm0, ymm7, ymm0
vpbroadcastq ymm7, qword [rsi + 0xb8]
vpaddq ymm0, ymm8, ymm0
vpmuludq ymm8, ymm10, ymm7
vpaddq ymm8, ymm8, ymm15
vpmuludq ymm15, ymm2, ymm7
vpaddq ymm15, ymm15, ymmword [rbx]
vpaddq ymm13, ymm13, ymm15
vpshufd ymm15, ymm7, 0xf5
vpmuludq ymm6, ymm10, ymm15
vpaddq ymm6, ymm11, ymm6
vpaddq ymm6, ymm12, ymm6
vpmuludq ymm7, ymm14, ymm7
vpaddq ymm6, ymm6, ymm7
vpmuludq ymm3, ymm3, ymm4
vpmuludq ymm5, ymm10, ymm5
vpmuludq ymm7, ymm10, ymm4
vpmuludq ymm4, ymm14, ymm4
vpmuludq ymm10, ymm14, ymm15
vpaddq ymm7, ymm10, ymm7
vpaddq ymm7, ymm13, ymm7
vpmuludq ymm10, ymm15, ymm2
vpaddq ymm5, ymm10, ymm5
vpaddq ymm5, ymm5, ymmword [rbx + 0x20]
vpaddq ymm4, ymm5, ymm4
vpmuludq ymm1, ymm15, ymm1
vpmuludq ymm2, ymm2, ymmword [rsi + 0xc0]
vpaddq ymm2, ymm3, ymm2
vpaddq ymm1, ymm1, ymm2
vpaddq ymm1, ymm8, ymm1
vpsrlq ymm2, ymm1, 0x1a
vpaddq ymm5, ymm6, ymm2
vpand ymm1, ymm9, ymm1
vpsrlq ymm2, ymm4, 0x1a
vpaddq ymm6, ymm0, ymm2
vpand ymm3, ymm9, ymm4
vpsrlq ymm0, ymm5, 0x1a
vpaddq ymm2, ymm7, ymm0
vpand ymm4, ymm9, ymm5
vpsrlq ymm5, ymm6, 0x1a
mov eax, dword [0x141dc9e48]
xor edx, edx
div dword [0x141dc9e4c]
vpxor xmm0, xmm0, xmm0
vpblendd ymm5, ymm5, ymm0, 0xaa
vpand ymm0, ymm9, ymm6
nop
mov eax, dword [0x141dc9e50]
sub eax, dword [0x141dc9e54]
add eax, 0x3ea6adc3
and eax, 0xeb36d2e0
cmp eax, 0x8871c6aa
jb 0x14006f990
vpsllq ymm6, ymm5, 2
vpaddq ymm5, ymm6, ymm5
vpaddq ymm5, ymm5, ymm1
vpsrlq ymm1, ymm2, 0x1a
vpaddq ymm3, ymm1, ymm3
vpsrlq ymm1, ymm5, 0x1a
vpaddq ymm1, ymm1, ymm4
vpsrlq ymm4, ymm3, 0x1a
vpaddq ymm0, ymm4, ymm0
vpsllq ymm2, ymm2, 0x20
mov eax, dword [0x141dc9e58]
imul eax, dword [0x141dc9e5c]
imul eax, eax, 0x28021c5c
add eax, 0xa5e558bf
mov ecx, 0xd8d0c3b3
imul rcx, rax
shr rcx, 0x3f
vpblendd ymm2, ymm5, ymm2, 0xaa
vpsllq ymm3, ymm3, 0x20
cmp ecx, 0xa97acb6f
jbe 0x14006fa4f
vpbroadcastd ymm4, dword [0x140101c70]
vpand ymm5, ymm2, ymm4
vpand ymm4, ymm3, ymm4
vpblendd ymm4, ymm1, ymm4, 0xaa
vpaddd ymm5, ymm5, ymmword [rdi]
vpaddd ymm4, ymm4, ymmword [rdi + 0x20]
vpaddd ymm6, ymm0, ymmword [rdi + 0x40]
vmovdqa ymmword [rsi + 0xe0], ymm5
vmovdqa ymmword [rsi + 0x100], ymm4
vmovdqa ymmword [rsi + 0x120], ymm6
vpbroadcastd ymm4, dword [0x140101c70]
vpand ymm2, ymm2, ymm4
vpand ymm3, ymm3, ymm4
vpblendd ymm1, ymm1, ymm3, 0xaa
nop word cs:[rax + rax]
mov eax, dword [0x141dc9e60]
or eax, dword [0x141dc9e64]
xor eax, 0x397a8ee9
imul eax, eax, 0x8237bc0
and eax, 0x8bca0800
vpaddd ymm3, ymm2, ymmword [rdi]
vpaddd ymm4, ymm1, ymmword [rdi + 0x20]
vpaddd ymm5, ymm0, ymmword [rdi + 0x40]
vmovdqa ymmword [rsi + 0xe0], ymm3
vmovdqa ymmword [rsi + 0x100], ymm4
vmovdqa ymmword [rsi + 0x120], ymm5
cmp eax, 0x2a3a2972
jbe 0x14006fa70
jmp 0x14006fd30
lea r8, [rsi + 0x160]
lea r15, [rsi + 0x1a0]
vmovaps ymm0, ymmword [rsi + 0x1a0]
vmovaps ymmword [rbx + 0x20], ymm0
sub rsp, 0x20
mov rcx, r12
mov rdx, r15
vzeroupper
call fcn.14006d1f0
add rsp, 0x20
vmovdqa ymm0, ymmword [r12]
vmovdqa ymm2, ymmword [0x1401019a0]
vpand ymm1, ymm0, ymm2
vmovdqa ymm4, ymm2
vmovdqa ymm2, ymmword [0x1401019c0]
vpsrlvq ymm0, ymm0, ymm2
vmovdqa ymm5, ymm2
vpermq ymm0, ymm0, 0x93
vpaddq ymm0, ymm0, ymm1
vpsrlq ymm1, ymm0, 0x1a
vpermq ymm1, ymm1, 0x93
vpaddq ymm1, ymm1, ymmword [r12 + 0x20]
vpand ymm0, ymm0, ymmword [0x1401019e0]
vpsrlvq ymm2, ymm1, ymmword [0x140101a00]
vpsllq ymm3, ymm2, 2
vpaddq ymm0, ymm0, ymm2
vpaddq ymm0, ymm0, ymm3
mov eax, 0x3ffffff
vmovq xmm6, rax
vpand ymm2, ymm0, ymm4
vpsrlvq ymm0, ymm0, ymm5
vpermq ymm0, ymm0, 0x93
vpaddq ymm0, ymm2, ymm0
vpsrlq ymm2, ymm0, 0x1a
vpermq ymm2, ymm2, 0xff
vpand ymm0, ymm0, ymmword [0x140101c80]
vpand xmm1, xmm1, xmm6
vpaddq xmm1, xmm2, xmm1
vpbroadcastd ymm1, xmm1
vshufps ymm0, ymm0, ymm1, 0xc8
vpermpd ymm0, ymm0, 0xf8
vmovaps ymmword [rbx], ymm0
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
mov r8, r15
vzeroupper
call fcn.14006d1f0
add rsp, 0x20
vmovdqa ymm0, ymmword [r14]
vmovdqa ymm4, ymmword [0x1401019a0]
vpand ymm1, ymm0, ymm4
vmovdqa ymm5, ymmword [0x1401019c0]
vpsrlvq ymm0, ymm0, ymm5
vpermq ymm0, ymm0, 0x93
vpaddq ymm0, ymm0, ymm1
vpsrlq ymm1, ymm0, 0x1a
vpermq ymm1, ymm1, 0x93
vpaddq ymm1, ymm1, ymmword [r14 + 0x20]
vpand ymm0, ymm0, ymmword [0x1401019e0]
vpsrlvq ymm2, ymm1, ymmword [0x140101a00]
vpsllq ymm3, ymm2, 2
vpaddq ymm0, ymm0, ymm2
vpaddq ymm0, ymm0, ymm3
vpand ymm2, ymm0, ymm4
vpsrlvq ymm0, ymm0, ymm5
vpermq ymm0, ymm0, 0x93
vpaddq ymm0, ymm2, ymm0
vpsrlq ymm2, ymm0, 0x1a
vpermq ymm2, ymm2, 0xff
vpand ymm0, ymm0, ymmword [0x140101c80]
vpand xmm1, xmm1, xmm6
vpaddq xmm1, xmm2, xmm1
vpbroadcastd ymm1, xmm1
vpshufd ymm0, ymm0, 0x28
vpermq ymm0, ymm0, 0xf8
vpblendd ymm0, ymm0, ymm1, 0x90
vbroadcasti128 ymm1, xmmword [0x140101ca0]
vmovdqa ymm3, ymmword [rbx + 0x20]
vpermd ymm1, ymm1, ymm3
vpblendd ymm1, ymm1, ymmword [rbx], 0x1f
vbroadcasti128 ymm2, xmmword [0x140101cb0]
vpermd ymm2, ymm2, ymm3
vpblendd ymm2, ymm0, ymm2, 0xe0
vpslld ymm3, ymm0, 2
vpaddd ymm3, ymm0, ymm3
vmovdqa ymm4, ymmword [0x140101cc0]
vpermd ymm3, ymm4, ymm3
vpblendd ymm0, ymm0, ymm3, 0xe0
vpbroadcastq ymm3, xmm3
vmovaps ymm4, ymmword [rdi]
vmovaps ymm5, ymmword [rdi + 0x20]
vmovaps ymm6, ymmword [rdi + 0x40]
vmovaps ymmword [rsi + 0x120], ymm6
vmovaps ymmword [rsi + 0x100], ymm5
vmovaps ymmword [rsi + 0xe0], ymm4
vmovups ymm4, ymmword [rsi + 0x160]
vmovups ymm5, ymmword [rsi + 0x180]
vmovups ymmword [r13 + 0x3f], ymm5
vmovups ymmword [r13 + 0x1f], ymm4
mov byte [rsi], 1
vmovdqu ymm4, ymmword [r13]
vmovdqu ymm5, ymmword [r13 + 0x20]
vmovdqu ymm6, ymmword [r13 + 0x3f]
vmovdqu ymmword [rsi + 1], ymm4
vmovdqu ymmword [rsi + 0x21], ymm5
vmovdqu ymmword [rsi + 0x40], ymm6
vmovdqa ymmword [rsi + 0x60], ymm1
vmovdqa ymmword [rsi + 0x80], ymm2
vmovdqa ymmword [rsi + 0xa0], ymm0
vmovdqa ymmword [rsi + 0xc0], ymm3
nop word cs:[rax + rax]
mov eax, dword [0x141dc9e68]
or eax, dword [0x141dc9e6c]
or eax, 0x844e4660
imul rcx, rax, 0x20825563
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
or eax, 0x8eedb232
cmp eax, 0x55ac3f43
jb 0x14006fd30
vmovaps xmm6, xmmword [rbp - 0x30]
vmovaps xmm7, xmmword [rbp - 0x20]
vmovaps xmm8, xmmword [rbp - 0x10]
vmovaps xmm9, xmmword [rbp]
vmovaps xmm10, xmmword [rbp + 0x10]
vmovaps xmm11, xmmword [rbp + 0x20]
vmovaps xmm12, xmmword [rbp + 0x30]
vmovaps xmm13, xmmword [rbp + 0x40]
vmovaps xmm14, xmmword [rbp + 0x50]
vmovaps xmm15, xmmword [rbp + 0x60]
lea rsp, [rbp + 0x78]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
vzeroupper
ret