Function at 0x1401172f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x90
lea rbp, [rsp + 0x80]
and rsp, 0xffffffffffffffe0
mov rbx, rsp
mov r8, rdx
mov rsi, rcx
mov ecx, dword [0x1415bcec0]
mov eax, dword [0x1415bcec4]
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x7e307856
and ecx, 0x1cf87a9
imul ecx, edx
mov edx, eax
and edx, 0x1cf87a9
or eax, 0x1cf87a9
imul eax, edx
add eax, ecx
and eax, 0x4c418060
imul eax, eax, 0xbe4c2a9d
cmp eax, 0x652118a7
jb 0x1401173a0
mov ecx, dword [0x1415bcec8]
sub ecx, dword [0x1415bcecc]
add ecx, 0x9f744344
and ecx, 0x16328356
add ecx, 0xbdbeb588
mov eax, 0x60
call fcn.14021cf50
sub rsp, rax
mov rdi, rsp
and rdi, 0xffffffffffffffe0
mov rsp, rdi
cmp ecx, 0x521aafc0
jae 0x1401173b9
mov eax, 0x60
call fcn.14021cf50
sub rsp, rax
mov rax, rsp
and rax, 0xffffffffffffffe0
mov rsp, rax
jmp 0x140117363
movzx eax, byte [rsi + 0x228]
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x1401173d0
test al, al
jne 0x1401175e3
mov eax, 0xbcb2ac1d
nop word cs:[rax + rax]
mov edx, dword [0x1415bcee0]
mov r9d, dword [0x1415bcee4]
mov ecx, edx
not ecx
mov r10d, r9d
not r10d
mov r11d, ecx
and r11d, 0xb5696ebf
and edx, 0x4a969140
or edx, r11d
or ecx, r10d
and r10d, 0xb5696ebf
and r9d, 0x4a969140
or r9d, r10d
xor r9d, edx
not ecx
or ecx, r9d
imul rcx, rax
shr rcx, 0x3e
imul ecx, ecx, 0xc3ccb092
or ecx, 0xa4716509
cmp ecx, 0xf656239d
ja 0x1401173f0
mov rcx, qword [rsi + 0x220]
nop dword [rax]
mov eax, dword [0x1415bcee8]
xor edx, edx
div dword [0x1415bceec]
add eax, 0x6edcf757
mov edx, eax
not edx
or edx, 0x3c5e6bc4
or eax, 0xc3a1943b
and eax, edx
cmp eax, 0x277a67a6
jb 0x140117460
test rcx, rcx
jne 0x140117597
vmovdqu ymm0, ymmword [r8]
vmovdqu ymm1, ymmword [r8 + 0x20]
vpunpckhqdq ymm2, ymm0, ymm1
vpermq ymm2, ymm2, 0xd8
vpunpcklqdq ymm0, ymm0, ymm1
vpermq ymm0, ymm0, 0xd8
vpsrlq ymm1, ymm2, 0x28
vpbroadcastd ymm3, dword [0x140258f40]
vpor ymm4, ymm1, ymm3
vpsrlq ymm1, ymm0, 0x2e
vpsllq ymm2, ymm2, 0x12
vpor ymm1, ymm2, ymm1
vpsrlq ymm3, ymm0, 0x1a
vpblendd ymm2, ymm3, ymm2, 0xaa
vpbroadcastq ymm3, qword [0x140259000]
vmovdqa ymmword [rbx + 0x60], ymm3
vpxor ymm3, ymm2, ymm3
vpand ymm3, ymm3, ymm2
vpsllq ymm1, ymm1, 0x1a
vpblendd ymm5, ymm0, ymm1, 0xaa
nop
mov eax, dword [0x1415bcef0]
and eax, dword [0x1415bcef4]
shr eax, 2
imul rax, rax, 0x41c0ce4d
shr rax, 0x3a
imul eax, eax, 0x1864b93c
add eax, 0xdeedd981
cmp eax, 0xe3a9816
jb 0x140117500
mov eax, dword [0x1415bcef8]
mov ecx, dword [0x1415bcefc]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
mov ecx, eax
xor ecx, 0x84cf57c0
xor eax, 0x3a00a01f
and eax, 0x3a08e55f
mov edx, ecx
and edx, 0x5f71aa0
imul edx, eax
mov eax, ecx
and eax, 0x3a08e55f
or ecx, 0x3a08e55f
imul ecx, eax
add ecx, edx
not ecx
or ecx, 0xc1def04c
cmp ecx, 0xda67874e
vmovdqa ymmword [rbx + 0x40], ymm4
vmovdqa ymmword [rbx + 0x20], ymm3
vmovdqa ymmword [rbx], ymm5
jae 0x14011767a
jmp 0x1401176f1
ud2
mov eax, dword [0x1415bced0]
xor edx, edx
div dword [0x1415bced4]
add eax, 0x811e3980
or eax, 0x6264a622
and eax, 0x6375b7e2
cmp eax, 0x9b8af344
je 0x140117674
mov eax, dword [0x1415bced8]
mov ecx, dword [0x1415bcedc]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
imul rax, rax, 0x710af01b
shr rax, 0x3e
imul eax, eax, 0xe00f2ddf
mov ecx, eax
not ecx
and ecx, 0x96a32c28
mov edx, eax
and edx, 0x695cd3d7
imul edx, ecx
mov ecx, eax
and ecx, 0x96a32c28
or eax, 0x96a32c28
imul eax, ecx
add eax, edx
ud2
ud2
mov r14d, dword [0x1415bcf00]
and r14d, dword [0x1415bcf04]
or r14d, 0x84b64b9
add r14d, 0x505cafe3
mov eax, r14d
and eax, 0xfff4bb7e
xor eax, 0x550bcac1
and r14d, 0x55008e40
or r14d, eax
vpxor ymm0, ymm5, ymmword [rbx + 0x60]
vpand ymm0, ymm0, ymm5
vmovdqa ymmword [rdi], ymm0
vmovdqa ymmword [rdi + 0x20], ymm3
vmovdqa ymmword [rdi + 0x40], ymm4
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
vzeroupper
call fcn.14021b660
vmovdqa ymm5, ymmword [rbx]
vmovdqa ymm3, ymmword [rbx + 0x20]
vmovdqa ymm4, ymmword [rbx + 0x40]
add rsp, 0x20
cmp r14d, 0xe3de2b87
jbe 0x140117745
vpbroadcastq ymm0, qword [0x140258f48]
vpcmpeqd ymm1, ymm1, ymm1
vpxor ymm2, ymm5, ymm1
vpor ymm0, ymm2, ymm0
vpaddq ymm0, ymm5, ymm0
vpsubq ymm0, ymm0, ymm1
vmovdqa ymmword [rdi], ymm0
vmovdqa ymmword [rdi + 0x20], ymm3
vmovdqa ymmword [rdi + 0x40], ymm4
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
vzeroupper
call fcn.140115f10
vmovdqa ymm5, ymmword [rbx]
vmovdqa ymm3, ymmword [rbx + 0x20]
vmovdqa ymm4, ymmword [rbx + 0x40]
add rsp, 0x20
jmp 0x14011767a
lea rsp, [rbp + 0x10]
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
vzeroupper
ret