Function at 0x140071ed0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x188
lea rbp, [rsp + 0x80]
vmovdqa xmmword [rbp + 0xf0], xmm15
vmovdqa xmmword [rbp + 0xe0], xmm14
vmovdqa xmmword [rbp + 0xd0], xmm13
vmovdqa xmmword [rbp + 0xc0], xmm12
vmovdqa xmmword [rbp + 0xb0], xmm11
vmovaps xmmword [rbp + 0xa0], xmm10
vmovdqa xmmword [rbp + 0x90], xmm9
vmovaps xmmword [rbp + 0x80], xmm8
vmovaps xmmword [rbp + 0x70], xmm7
vmovaps xmmword [rbp + 0x60], xmm6
and rsp, 0xffffffffffffffe0
mov rsi, rdx
mov rdi, rcx
movzx eax, byte [rcx]
nop
mov ecx, dword [0x141dce010]
sub ecx, dword [0x141dce014]
imul rcx, rcx, 0x1637b599
shr rcx, 0x3b
or ecx, 0x75d01a2d
xor ecx, 0xad9cd56d
cmp ecx, 0x6ba173e5
jb 0x140071f40
test al, al
je 0x14007214d
vmovdqa ymm2, ymmword [rdi + 0xe0]
vmovdqa ymm0, ymmword [rdi + 0x100]
vpbroadcastq ymm3, qword [rdi + 0xa0]
vmovdqa ymm1, ymmword [rdi + 0x120]
vpbroadcastq ymm6, qword [rdi + 0xa8]
vpmuludq ymm5, ymm0, ymm3
vpmuludq ymm7, ymm1, ymm3
vpmuludq ymm8, ymm2, ymm6
vpmuludq ymm9, ymm0, ymm6
vpshufd ymm4, ymm3, 0xf5
vpshufd ymm10, ymm6, 0xf5
vpmuludq ymm11, ymm4, ymm2
vpaddq ymm11, ymm11, ymm5
vpmuludq ymm12, ymm4, ymm0
vpmuludq ymm5, ymm10, ymm2
vpaddq ymm5, ymm9, ymm5
vpbroadcastq ymm9, qword [rdi + 0xb0]
vpmuludq ymm10, ymm10, ymm0
vpmuludq ymm13, ymm9, ymm2
vpaddq ymm7, ymm13, ymm7
vpaddq ymm7, ymm10, ymm7
vpshufd ymm10, ymm2, 0xf5
vpshufd ymm13, ymm0, 0xf5
vpshufd ymm9, ymm9, 0xf5
vpmuludq ymm14, ymm13, ymm9
vpmuludq ymm9, ymm9, ymm1
vpmuludq ymm15, ymm13, ymm4
vpmuludq ymm6, ymm10, ymm6
vpaddq ymm6, ymm15, ymm6
vpaddq ymm6, ymm7, ymm6
vpbroadcastq ymm7, qword [rdi + 0xb8]
vpmuludq ymm15, ymm10, ymm7
vpaddq ymm14, ymm15, ymm14
vpmuludq ymm15, ymm1, ymm7
vpaddq ymm8, ymm8, ymm15
vpaddq ymm8, ymm12, ymm8
vpshufd ymm12, ymm7, 0xf5
vpmuludq ymm15, ymm10, ymm12
vpaddq ymm9, ymm9, ymm15
vpaddq ymm9, ymm11, ymm9
vpmuludq ymm7, ymm13, ymm7
vpaddq ymm7, ymm9, ymm7
vpmuludq ymm2, ymm2, ymm3
vpmuludq ymm4, ymm10, ymm4
vpmuludq ymm9, ymm10, ymm3
vpmuludq ymm3, ymm13, ymm3
vpmuludq ymm10, ymm13, ymm12
vpaddq ymm9, ymm9, ymm10
vpaddq ymm8, ymm8, ymm9
vpmuludq ymm9, ymm12, ymm1
vpaddq ymm4, ymm9, ymm4
vpaddq ymm4, ymm5, ymm4
vpaddq ymm3, ymm4, ymm3
vpmuludq ymm0, ymm12, ymm0
vpmuludq ymm1, ymm1, ymmword [rdi + 0xc0]
vpaddq ymm1, ymm2, ymm1
vpaddq ymm0, ymm0, ymm1
vpaddq ymm0, ymm14, ymm0
vpsrlq ymm1, ymm0, 0x1a
vpaddq ymm1, ymm7, ymm1
vpsrlq ymm2, ymm3, 0x1a
vpaddq ymm2, ymm6, ymm2
vpsrlq ymm4, ymm1, 0x1a
vpaddq ymm4, ymm8, ymm4
vpsrlq ymm5, ymm2, 0x1a
vpxor xmm6, xmm6, xmm6
vpblendd ymm5, ymm5, ymm6, 0xaa
vpbroadcastq ymm6, qword [0x140104b40]
vpand ymm0, ymm0, ymm6
vpaddq ymm0, ymm5, ymm0
vpsllq ymm5, ymm5, 2
vpaddq ymm0, ymm5, ymm0
vpand ymm3, ymm3, ymm6
vpand ymm1, ymm1, ymm6
vpand ymm2, ymm2, ymm6
vpsrlq ymm5, ymm4, 0x1a
vpaddq ymm3, ymm5, ymm3
vpsrlq ymm5, ymm0, 0x1a
vpaddq ymm1, ymm5, ymm1
vpsrlq ymm5, ymm3, 0x1a
vpaddq ymm2, ymm5, ymm2
vpsllq ymm4, ymm4, 0x20
vpblendd ymm0, ymm0, ymm4, 0xaa
vpbroadcastd ymm4, dword [0x140104c90]
vpand ymm0, ymm0, ymm4
vpsllq ymm3, ymm3, 0x20
vpand ymm3, ymm3, ymm4
vpaddd ymm0, ymm0, ymmword [rsi]
vpblendd ymm1, ymm1, ymm3, 0xaa
vmovdqa ymmword [rdi + 0xe0], ymm0
vpaddd ymm0, ymm1, ymmword [rsi + 0x20]
vmovdqa ymmword [rdi + 0x100], ymm0
vpaddd ymm0, ymm2, ymmword [rsi + 0x40]
vmovdqa ymmword [rdi + 0x120], ymm0
jmp 0x1400725b2
mov eax, dword [0x141dce018]
add eax, dword [0x141dce01c]
xor eax, 0x23852ae1
imul rax, rax, 0x3381ddd9
shr rax, 0x3d
or eax, 0x89cefb56
cmp eax, 0xd80445a7
lea rbx, [rdi + 0x160]
lea r14, [rdi + 0x1a0]
nop word cs:[rax + rax]
mov eax, dword [0x141dce020]
imul eax, dword [0x141dce024]
imul eax, eax, 0xbe5b9114
cmp eax, 0x5c78bb8
je 0x140072190
vmovdqa ymm0, ymmword [rdi + 0x1a0]
vmovdqa ymmword [rsp + 0x80], ymm0
mov eax, dword [0x141dce028]
and eax, dword [0x141dce02c]
or eax, 0xc91c3a2d
xor eax, 0xff14b443
add eax, 0xf7e9bbdf
cmp eax, 0xd52bde43
ja 0x14007227a
mov eax, dword [0x141dce030]
or eax, dword [0x141dce034]
add eax, 0x2ebed9c
mov r15d, 0x954ba3f5
imul r15, rax
shr r15, 0x3f
or r15d, 0x251defc2
lea rcx, [rsp + 0x20]
mov rdx, r14
mov r8, rbx
vzeroupper
call fcn.14006f000
vmovdqa ymm0, ymmword [rsp + 0x20]
vpand ymm1, ymm0, ymmword [0x1401049a0]
vpsrlvq ymm0, ymm0, ymmword [0x1401049c0]
vpermq ymm0, ymm0, 0x93
vpaddq ymm0, ymm0, ymm1
vmovdqa ymmword [rsp + 0xa0], ymm0
vpsrlq ymm0, ymm0, 0x1a
vpermq ymm0, ymm0, 0x93
vpaddq ymm0, ymm0, ymmword [rsp + 0x40]
vmovdqa ymmword [rsp + 0xc0], ymm0
lea rcx, [rsp + 0x20]
mov rdx, r14
mov r8, r14
vzeroupper
call fcn.14006f000
cmp r15d, 0x25a44a76
jbe 0x1400722a2
lea rcx, [rsp + 0x20]
mov rdx, r14
mov r8, rbx
vzeroupper
call fcn.14006f000
lea rcx, [rsp + 0x20]
mov rdx, r14
mov r8, r14
call fcn.14006f000
jmp 0x1400721e1
vmovdqa ymm1, ymmword [0x1401049e0]
vpand ymm0, ymm1, ymmword [rsp + 0xa0]
vmovdqa ymm2, ymmword [0x140104a00]
vmovdqa ymm8, ymmword [rsp + 0xc0]
vpsrlvq ymm3, ymm8, ymm2
vpsllq ymm4, ymm3, 2
vpaddq ymm0, ymm0, ymm3
vpaddq ymm0, ymm0, ymm4
mov eax, 0x3ffffff
vmovq xmm3, rax
vmovdqa ymm6, ymmword [0x1401049a0]
vpand ymm4, ymm0, ymm6
vmovdqa ymm7, ymmword [0x1401049c0]
vpsrlvq ymm0, ymm0, ymm7
vpermq ymm0, ymm0, 0x93
vpaddq ymm0, ymm4, ymm0
vpsrlq ymm4, ymm0, 0x1a
vpermq ymm4, ymm4, 0xff
vpand ymm0, ymm0, ymmword [0x140104ca0]
vpand xmm5, xmm8, xmm3
vpaddq xmm4, xmm4, xmm5
vpbroadcastd ymm4, xmm4
vshufps ymm0, ymm0, ymm4, 0xc8
vmovdqa ymm4, ymmword [rsp + 0x20]
vpand ymm5, ymm4, ymm6
vpsrlvq ymm4, ymm4, ymm7
vpermq ymm4, ymm4, 0x93
vpaddq ymm4, ymm4, ymm5
vpsrlq ymm5, ymm4, 0x1a
vpermq ymm5, ymm5, 0x93
vpaddq ymm5, ymm5, ymmword [rsp + 0x40]
vpermpd ymm0, ymm0, 0xf8
vpand ymm1, ymm4, ymm1
vpsrlvq ymm2, ymm5, ymm2
vpsllq ymm4, ymm2, 2
vpaddq ymm1, ymm1, ymm2
vpaddq ymm1, ymm1, ymm4
vpand ymm2, ymm5, ymm3
vpand ymm3, ymm1, ymm6
vpsrlvq ymm1, ymm1, ymm7
vpermq ymm1, ymm1, 0x93
vpaddq ymm3, ymm3, ymm1
vpsrlq ymm1, ymm3, 0x1a
vpermq ymm1, ymm1, 0xff
vpaddq ymm1, ymm1, ymm2
mov eax, dword [0x141dce038]
xor edx, edx
div dword [0x141dce03c]
add eax, 0x2bb5b251
and eax, 0x87651f64
vpshufd ymm2, ymm3, 0x28
cmp eax, 0x34b1827f
vmovaps ymm10, ymmword [rsp + 0x80]
je 0x1400724ca
mov eax, dword [0x141dce040]
and eax, dword [0x141dce044]
or eax, 0x87a73f5f
imul rax, rax, 0xbd84dab
shr rax, 0x3a
vpbroadcastd ymm3, xmm1
vpand ymm4, ymm2, ymmword [0x140104a40]
vpermq ymm4, ymm4, 0xf8
vpblendd ymm3, ymm4, ymm3, 0x90
vbroadcastf128 ymm4, xmmword [0x140104cc0]
vpermps ymm4, ymm4, ymm10
vblendps ymm4, ymm0, ymm4, 0xe0
vbroadcastf128 ymm5, xmmword [0x140104cd0]
vpermps ymm5, ymm5, ymm10
vpblendd ymm5, ymm3, ymm5, 0xe0
vpslld ymm6, ymm3, 2
vpaddd ymm6, ymm3, ymm6
vmovdqa ymm7, ymmword [0x140104d00]
vpermd ymm6, ymm7, ymm6
vpblendd ymm3, ymm3, ymm6, 0xe0
vpbroadcastq ymm6, xmm6
vmovaps ymm7, ymmword [rsi]
vmovaps ymm8, ymmword [rsi + 0x20]
vmovaps ymm9, ymmword [rsi + 0x40]
vmovaps ymmword [rdi + 0x120], ymm9
vmovaps ymmword [rdi + 0x100], ymm8
vmovaps ymmword [rdi + 0xe0], ymm7
vmovups ymm7, ymmword [rbx]
vmovups ymm8, ymmword [rbx + 0x20]
vmovups ymmword [rsp + 0x5f], ymm8
vmovups ymmword [rsp + 0x3f], ymm7
mov byte [rdi], 1
vmovdqu ymm7, ymmword [rsp + 0x20]
vmovdqu ymm8, ymmword [rsp + 0x40]
vmovdqu ymm9, ymmword [rsp + 0x5f]
vmovdqu ymmword [rdi + 1], ymm7
vmovdqu ymmword [rdi + 0x21], ymm8
vmovdqu ymmword [rdi + 0x40], ymm9
vmovaps ymmword [rdi + 0x60], ymm4
vmovdqa ymmword [rdi + 0x80], ymm5
vmovdqa ymmword [rdi + 0xa0], ymm3
vmovdqa ymmword [rdi + 0xc0], ymm6
cmp eax, 0x84ee4de7
jne 0x1400725b2
vpbroadcastd ymm3, xmm1
vpand ymm4, ymm2, ymmword [0x140104a40]
vpermq ymm4, ymm4, 0xf8
vpblendd ymm3, ymm4, ymm3, 0x90
vbroadcastf128 ymm4, xmmword [0x140104cc0]
vpermps ymm4, ymm4, ymm10
vblendps ymm4, ymm0, ymm4, 0xe0
vbroadcastf128 ymm5, xmmword [0x140104cd0]
vpermps ymm5, ymm5, ymm10
vpblendd ymm5, ymm3, ymm5, 0xe0
vpbroadcastd ymm6, dword [0x140104ce0]
vpmulld ymm6, ymm3, ymm6
vmovdqa ymm7, ymmword [0x140104d00]
vpermd ymm6, ymm7, ymm6
vpblendd ymm3, ymm3, ymm6, 0xe0
vpbroadcastq ymm6, xmm6
vmovaps ymm7, ymmword [rsi]
vmovaps ymm8, ymmword [rsi + 0x20]
vmovaps ymm9, ymmword [rsi + 0x40]
vmovaps ymmword [rdi + 0x120], ymm9
vmovaps ymmword [rdi + 0x100], ymm8
vmovaps ymmword [rdi + 0xe0], ymm7
vmovups ymm7, ymmword [rbx]
vmovups ymm8, ymmword [rbx + 0x20]
vmovups ymmword [rsp + 0x5f], ymm8
vmovups ymmword [rsp + 0x3f], ymm7
mov byte [rdi], 1
vmovdqu ymm7, ymmword [rsp + 0x20]
vmovdqu ymm8, ymmword [rsp + 0x40]
vmovdqu ymm9, ymmword [rsp + 0x5f]
vmovdqu ymmword [rdi + 1], ymm7
vmovdqu ymmword [rdi + 0x21], ymm8
vmovdqu ymmword [rdi + 0x40], ymm9
vmovaps ymmword [rdi + 0x60], ymm4
vmovdqa ymmword [rdi + 0x80], ymm5
vmovdqa ymmword [rdi + 0xa0], ymm3
vmovdqa ymmword [rdi + 0xc0], ymm6
jmp 0x1400723c5
vmovaps xmm6, xmmword [rbp + 0x60]
vmovaps xmm7, xmmword [rbp + 0x70]
vmovaps xmm8, xmmword [rbp + 0x80]
vmovaps xmm9, xmmword [rbp + 0x90]
vmovaps xmm10, xmmword [rbp + 0xa0]
vmovaps xmm11, xmmword [rbp + 0xb0]
vmovaps xmm12, xmmword [rbp + 0xc0]
vmovaps xmm13, xmmword [rbp + 0xd0]
vmovaps xmm14, xmmword [rbp + 0xe0]
vmovaps xmm15, xmmword [rbp + 0xf0]
lea rsp, [rbp + 0x108]
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
vzeroupper
ret