Function at 0x1400b1a80
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x218
vmovdqa xmmword [rsp + 0x200], xmm15
vmovdqa xmmword [rsp + 0x1f0], xmm14
vmovdqa xmmword [rsp + 0x1e0], xmm13
vmovdqa xmmword [rsp + 0x1d0], xmm12
vmovdqa xmmword [rsp + 0x1c0], xmm11
vmovdqa xmmword [rsp + 0x1b0], xmm10
vmovdqa xmmword [rsp + 0x1a0], xmm9
vmovdqa xmmword [rsp + 0x190], xmm8
vmovdqa xmmword [rsp + 0x180], xmm7
vmovdqa xmmword [rsp + 0x170], xmm6
mov rdi, rdx
mov rbx, rcx
movsxd r15, dword [rsp + 0x280]
mov eax, dword [rsp + 0x288]
lea r13, [r15 - 1]
movzx ecx, byte [rdx + r15 - 1]
mov ebp, r9d
sub ebp, r15d
add ebp, ecx
shr ebp, 0x1f
dec bpl
cmp r15, 2
jl 0x1400b1eb0
cmp r13d, 0xff
mov edx, 0xff
cmovl edx, r13d
xor r10d, r10d
cmp edx, 8
jae 0x1400b1b44
xor r11d, r11d
jmp 0x1400b1e74
vmovq xmm4, rcx
cmp edx, 0x10
jae 0x1400b1b56
xor r11d, r11d
jmp 0x1400b1d39
mov r11d, edx
and r11d, 0xfffffff0
movzx esi, bpl
vmovd xmm1, esi
vmovdqa xmmword [rsp + 0xe0], xmm4
vpshufd xmm2, xmm4, 0x44
vinsertf128 ymm0, ymm2, xmm2, 1
vmovd xmm3, ecx
vpxor xmm4, xmm4, xmm4
vpshufb xmm2, xmm3, xmm4
vmovdqa xmmword [rsp + 0xf0], xmm2
mov rsi, r11
neg rsi
movsxd r14, r15d
add r14, rdi
add r14, 0xfffffffffffffff0
vmovdqa ymm4, ymmword [0x1401765c0]
vmovdqa ymm5, ymmword [0x1401765e0]
vmovdqa ymm6, ymmword [0x140176600]
vmovdqa ymm7, ymmword [0x140176620]
xor r12d, r12d
vmovdqu ymmword [rsp + 0x100], ymm0
vextractf128 xmm9, ymm0, 1
vmovddup xmm8, qword [0x140176640]
vpor xmm9, xmm9, xmm8
vmovddup xmm11, qword [0x140176648]
nop word cs:[rax + rax]
vextractf128 xmm12, ymm7, 1
vpxor xmm13, xmm12, xmm8
vpcmpgtq xmm13, xmm13, xmm9
vmovdqu ymm2, ymmword [rsp + 0x100]
vpor xmm14, xmm8, xmm2
vpxor xmm15, xmm8, xmm7
vpcmpgtq xmm14, xmm15, xmm14
vpackssdw xmm14, xmm14, xmm13
vextractf128 xmm13, ymm6, 1
vpxor xmm15, xmm13, xmm8
vpcmpgtq xmm15, xmm15, xmm9
vpor xmm0, xmm8, xmm2
vpxor xmm10, xmm8, xmm6
vpcmpgtq xmm0, xmm10, xmm0
vpackssdw xmm0, xmm0, xmm15
vpackssdw xmm0, xmm14, xmm0
vextractf128 xmm10, ymm5, 1
vpxor xmm14, xmm10, xmm8
vpcmpgtq xmm14, xmm14, xmm9
vpor xmm15, xmm8, xmm2
vpxor xmm3, xmm8, xmm5
vpcmpgtq xmm3, xmm3, xmm15
vpackssdw xmm3, xmm3, xmm14
vextractf128 xmm14, ymm4, 1
vpor xmm15, xmm8, xmm2
vpxor xmm2, xmm8, xmm4
vpcmpgtq xmm2, xmm2, xmm15
vpxor xmm15, xmm14, xmm8
vpcmpgtq xmm15, xmm15, xmm9
vpackssdw xmm2, xmm2, xmm15
vpackssdw xmm2, xmm3, xmm2
vpacksswb xmm0, xmm0, xmm2
vmovdqu xmm2, xmmword [r14 + r12]
vpshufb xmm2, xmm2, xmmword [0x140176590]
vpxor xmm2, xmm2, xmmword [rsp + 0xf0]
vpandn xmm0, xmm0, xmm2
vpor xmm1, xmm0, xmm1
vpaddq xmm0, xmm12, xmm11
vpaddq xmm2, xmm11, xmm7
vinsertf128 ymm7, ymm2, xmm0, 1
vpaddq xmm0, xmm13, xmm11
vpaddq xmm2, xmm11, xmm6
vinsertf128 ymm6, ymm2, xmm0, 1
vpaddq xmm0, xmm10, xmm11
vpaddq xmm2, xmm11, xmm5
vinsertf128 ymm5, ymm2, xmm0, 1
vpaddq xmm0, xmm14, xmm11
vpaddq xmm2, xmm11, xmm4
vinsertf128 ymm4, ymm2, xmm0, 1
add r12, 0xfffffffffffffff0
cmp rsi, r12
jne 0x1400b1bf0
vpshufd xmm0, xmm1, 0xee
vpor xmm0, xmm1, xmm0
vpshufd xmm1, xmm0, 0x55
vpor xmm0, xmm0, xmm1
vpsrld xmm1, xmm0, 0x10
vpor xmm0, xmm0, xmm1
vpsrlw xmm1, xmm0, 8
vpor xmm0, xmm0, xmm1
vmovd ebp, xmm0
cmp r11, rdx
je 0x1400b1eb0
test dl, 8
vmovdqa xmm4, xmmword [rsp + 0xe0]
je 0x1400b1e74
mov rsi, r11
mov r11d, edx
and r11d, 0xfffffff8
vmovq xmm0, rsi
vpshufd xmm0, xmm0, 0x44
vinsertf128 ymm0, ymm0, xmm0, 1
vorps ymm2, ymm0, ymmword [0x140176600]
vorps ymm3, ymm0, ymmword [0x140176620]
movzx ebp, bpl
vmovd xmm1, ebp
vpshufd xmm0, xmm4, 0x44
vinsertf128 ymm0, ymm0, xmm0, 1
vmovd xmm4, ecx
vpunpcklbw xmm4, xmm4, xmm4
vpshuflw xmm4, xmm4, 0
mov r14, r11
neg r14
neg rsi
movsxd r12, r15d
add r12, rdi
add r12, 0xfffffffffffffff8
vextractf128 xmm6, ymm0, 1
vmovddup xmm5, qword [0x140176640]
vpor xmm6, xmm6, xmm5
vmovddup xmm7, qword [0x140176650]
vpxor xmm8, xmm8, xmm8
vmovddup xmm9, qword [0x140176658]
nop dword [rax]
vextractf128 xmm10, ymm3, 1
vpxor xmm11, xmm10, xmm5
vpcmpgtq xmm11, xmm11, xmm6
vpor xmm12, xmm0, xmm5
vpxor xmm13, xmm3, xmm5
vpcmpgtq xmm12, xmm13, xmm12
vpackssdw xmm11, xmm12, xmm11
vextractf128 xmm12, ymm2, 1
vpxor xmm13, xmm12, xmm5
vpcmpgtq xmm13, xmm13, xmm6
vpor xmm14, xmm0, xmm5
vxorps xmm15, xmm2, xmm5
vpcmpgtq xmm14, xmm15, xmm14
vpackssdw xmm13, xmm14, xmm13
vpackssdw xmm11, xmm11, xmm13
vpacksswb xmm11, xmm11, xmm11
vmovq xmm13, qword [r12 + rsi]
vpshufb xmm13, xmm13, xmm7
vpxor xmm13, xmm13, xmm4
vpblendvb xmm11, xmm13, xmm8, xmm11
vpor xmm1, xmm11, xmm1
vpaddq xmm10, xmm10, xmm9
vpaddq xmm3, xmm9, xmm3
vinsertf128 ymm3, ymm3, xmm10, 1
vpaddq xmm10, xmm12, xmm9
vpaddq xmm2, xmm9, xmm2
vinsertf128 ymm2, ymm2, xmm10, 1
add rsi, 0xfffffffffffffff8
cmp r14, rsi
jne 0x1400b1dc0
vpshufd xmm0, xmm1, 0x55
vpor xmm0, xmm1, xmm0
vpsrld xmm1, xmm0, 0x10
vpor xmm0, xmm0, xmm1
vpsrlw xmm1, xmm0, 8
vpor xmm0, xmm0, xmm1
vmovd ebp, xmm0
cmp r11, rdx
je 0x1400b1eb0
movsxd r14, r15d
mov rsi, r11
not rsi
add rsi, rdi
add rsi, r14
nop word cs:[rax + rax]
movzx r14d, byte [rsi]
xor r14b, cl
cmp r11, rcx
movzx r14d, r14b
cmova r14d, r10d
or bpl, r14b
inc r11
dec rsi
cmp rdx, r11
jne 0x1400b1e90
add r9d, r8d
not r9d
add r9d, r15d
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 1
lea rdx, [rsp + 0xa0]
mov rcx, rbx
mov r8, rdi
vzeroupper
call qword [rbx + 0x6148]
mov dword [rsp + 0x48], eax
movzx ebx, byte [rbx + 0xe9a1]
mov eax, r15d
sub eax, ebx
add eax, 0xffffff00
movzx r12d, byte [rdi + r13]
sub r13d, r12d
mov qword [rsp + 0x100], r13
mov ecx, r13d
sub ecx, ebx
mov esi, eax
shr esi, 0x1f
dec esi
and esi, eax
mov r14d, ecx
shr r14d, 0x1f
dec r14d
and r14d, ecx
lea r13, [rbx - 1]
popcnt eax, ebx
cmp eax, 1
mov dword [rsp + 0x4c], ebp
mov dword [rsp + 0x5c], eax
ja 0x1400b1f4a
mov edx, ebx
sub edx, esi
add edx, r14d
and edx, r13d
jmp 0x1400b1fa5
cmp rbx, 0x30
je 0x1400b1f7e
xor edx, edx
cmp ebx, 0x14
jne 0x1400b1fa5
mov eax, r14d
sub eax, esi
add eax, 0x14
movsxd rdx, eax
imul rax, rdx, 0x66666667
mov rcx, rax
shr rcx, 0x3f
sar rax, 0x23
add eax, ecx
shl eax, 2
lea eax, [rax + rax*4]
jmp 0x1400b1fa3
mov eax, r14d
sub eax, esi
add eax, 0x30
movsxd rdx, eax
imul rax, rdx, 0x2aaaaaab
mov rcx, rax
shr rcx, 0x3f
shr rax, 0x23
add eax, ecx
shl eax, 4
lea eax, [rax + rax*2]
sub edx, eax
mov qword [rsp + 0x50], rdx
lea rcx, [rsp + 0x60]
xor edx, edx
mov r8, rbx
call fcn.14016e0e0
cmp esi, r15d
jge 0x1400b22cd
movsxd rax, r15d
movsxd rcx, esi
vmovd xmm0, r14d
vpshufd xmm0, xmm0, 0
vinsertf128 ymm1, ymm0, xmm0, 1
vmovd xmm0, dword [rsp + 0x100]
vpshufd xmm0, xmm0, 0
vinsertf128 ymm9, ymm0, xmm0, 1
mov rdx, rcx
neg rdx
sub r15d, esi
sub r15d, r12d
add r15d, 0xfffffffe
sub esi, r14d
lea r8, [rdi + rcx]
xor r9d, r9d
vextractf128 xmm15, ymm1, 1
vextractf128 xmm10, ymm9, 1
mov r11, rcx
vmovdqu ymmword [rsp + 0x130], ymm1
jmp 0x1400b203b