Function at 0x140003156
Capabilities:
Encode data using xor

Disassembly:
mov ecx, edi
add rcx, rcx
mov eax, dword [rbx + rcx*8 + 4]
cmp r14, rax
jb case.0x140003515.3
mov eax, dword [rbx + rcx*8 + 8]
cmp r14, rax
jae case.0x140003515.3
mov r10d, dword [rbp + 4]
and r10d, 0x20
je 0x140002e0b
mov r9d, 0
pushf
sub r15, 0
popf
test edx, edx
pushf
xor r8, 0
popf
je 0x140002e06
mov r8d, r9d
add r8, r8
mov eax, dword [rbx + r8*8 + 4]
cmp rsi, rax
jb 0x140002dfd
mov eax, dword [rbx + r8*8 + 8]
cmp rsi, rax
jae 0x140002dfd
mov eax, dword [rbx + rcx*8 + 0x10]
cmp dword [rbx + r8*8 + 0x10], eax
jne 0x140002dfd
mov eax, dword [rbx + rcx*8 + 0xc]
cmp dword [rbx + r8*8 + 0xc], eax
je 0x140002e06
add r9d, 1
cmp r9d, edx
jb 0x140002dcd
cmp r9d, edx
jne case.0x140003515.0
mov eax, dword [rbx + rcx*8 + 0x10]
test eax, eax
je 0x140002e27
cmp rsi, rax
pushf
sar r13, 0
add byte [rsi - 0x63], ah
add byte [rsi - 0x63], ah
jne case.0x140003515.3
test r10d, r10d
jne case.0x140003515.0
sal byte [rbp + 0x2e], cl
jmp case.0x140003515.3
lea eax, [rdi + 1]
mov rdx, r13
mov dword [r15 + 0x48], eax
mov r8d, dword [rbx + rcx*8 + 0xc]
add dword [rcx - 0x75], ecx
invalid
mov r8d, dword [rbx + rcx*8 + 0xc]
mov cl, 1
add r8, r12
call r8
add dword [rbp + 3], ecx
vaddsubps ymm8, ymm0, ymmword [r11 + 0x138b01c7]
add edi, 1
mov edx, dword [rbx]
add edi, 1
mov edx, dword [rbx]
cmp edi, edx
pushf
rcr rsi, 0
popf
popfq
popfq
jb 0x140002d8a
mov eax, 1
lea r11, [rsp + 0x40]
pushf
shr r9, 0
popf
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
pushf
shl rdi, 0
pushf
rcl r11, 0
popf
popf
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
push rdi
mov eax, edx
mov rdi, rcx
mov rcx, r8
rep stosb byte [rdi], al
mov rax, r9
pop rdi
ret
mov rax, rcx
mov r9, rcx
lea r10, [0x140000000]
movzx edx, dl
pushf
push rdi
pop rdi
popf
movabs r11, 0x101010101010101
imul r11, rdx
movq xmm0, r11
cmp r8, 0xf
ja case.default.0x1400031a4
nop dword [rax]
add rcx, r8
mov r9d, dword [r10 + r8*4 + 0x3d0b0]
pushf
nop
popf
add r9, r10
pushf
nop
popf
jmp r9
mov dword [rcx - 7], r11d
mov word [rcx - 3], r11w
mov byte [rcx - 1], r11b
ret
mov qword [rcx - 0xe], r11
mov dword [rcx - 6], r11d
mov word [rcx - 2], r11w
ret
mov qword [rcx - 0xd], r11
mov dword [rcx - 5], r11d
mov byte [rcx - 1], r11b
ret
pushf
or rcx, rcx
popf
mov qword [rcx - 0xc], r11
mov dword [rcx - 4], r11d
ret
pushf
push r13
pop r13
popf
mov qword [rcx - 0xb], r11
mov word [rcx - 3], r11w
mov byte [rcx - 1], r11b
ret
pushf
sub rbp, 0
popf
mov qword [rcx - 9], r11
mov byte [rcx - 1], r11b
ret
mov qword [rcx - 0xa], r11
mov word [rcx - 2], r11w
ret
mov qword [rcx - 8], r11
ret
punpcklqdq xmm0, xmm0
cmp r8, 0x20
ja 0x140003243
movdqu xmmword [rcx], xmm0
movdqu xmmword [rcx + r8 - 0x10], xmm0
ret
cmp dword [0x1400392b8], 3
jb 0x140003463
cmp r8, qword [0x1400392c0]
jbe 0x140003277
cmp r8, qword [0x1400392c8]
ja 0x140003277
pushf
xor r8, 0
popf
test byte [0x14003a31c], 2
jne 0x14000312e
vinsertf128 ymm0, ymm0, xmm0, 1
mov r9, rcx
and r9, 0x1f
add r9, 0xffffffffffffffe0
sub rcx, r9
sub rdx, r9
add r8, r9
cmp r8, 0x100
jbe 0x1400032ff
cmp r8, qword [0x1400392c8]
ja case.default.0x140003407
nop word [rax + rax]
vmovdqa ymmword [rcx], ymm0
vmovdqa ymmword [rcx + 0x20], ymm0
vmovdqa ymmword [rcx + 0x40], ymm0
vmovdqa ymmword [rcx + 0x60], ymm0
vmovdqa ymmword [rcx + 0x80], ymm0
vmovdqa ymmword [rcx + 0xa0], ymm0
vmovdqa ymmword [rcx + 0xc0], ymm0
vmovdqa ymmword [rcx + 0xe0], ymm0
sub rcx, 0xffffffffffffff00
add r8, 0xffffffffffffff00
cmp r8, 0x100
jae 0x1400032b5
lea r9, [r8 + 0x1f]
pushf
shl r13, 0
popf
and r9, 0xffffffffffffffe0
mov r11, r9
shr r11, 5
mov r11d, dword [r10 + r11*4 + 0x3d0f0]
add r11, r10
jmp r11
vmovdqu ymmword [rcx + r9 - 0x100], ymm0
vmovdqu ymmword [rcx + r9 - 0xe0], ymm0
vmovdqu ymmword [rcx + r9 - 0xc0], ymm0
vmovdqu ymmword [rcx + r9 - 0xa0], ymm0
vmovdqu ymmword [rcx + r9 - 0x80], ymm0
pushf
sub rdi, 0
popf
vmovdqu ymmword [rcx + r9 - 0x60], ymm0
pushf
rcr rbp, 0
pushf
and r10, r10
popf
popf
vmovdqu ymmword [rcx + r9 - 0x40], ymm0
vmovdqu ymmword [rcx + r8 - 0x20], ymm0
vmovdqu ymmword [rax], ymm0
pushf
rcr rdx, 0
pushf
mov rax, rax
popf
popf
vzeroupper
ret
vmovntdq ymmword [rcx], ymm0
vmovntdq ymmword [rcx + 0x20], ymm0
vmovntdq ymmword [rcx + 0x40], ymm0
vmovntdq ymmword [rcx + 0x60], ymm0
vmovntdq ymmword [rcx + 0x80], ymm0
vmovntdq ymmword [rcx + 0xa0], ymm0
vmovntdq ymmword [rcx + 0xc0], ymm0
vmovntdq ymmword [rcx + 0xe0], ymm0
sub rcx, 0xffffffffffffff00
add r8, 0xffffffffffffff00
cmp r8, 0x100
jae case.default.0x140003407
lea r9, [r8 + 0x1f]
and r9, 0xffffffffffffffe0
mov r11, r9
shr r11, 5
mov r11d, dword [r10 + r11*4 + 0x3d114]
add r11, r10
jmp r11
vmovntdq ymmword [rcx + r9 - 0x100], ymm0
vmovntdq ymmword [rcx + r9 - 0xe0], ymm0
vmovntdq ymmword [rcx + r9 - 0xc0], ymm0
vmovntdq ymmword [rcx + r9 - 0xa0], ymm0
vmovntdq ymmword [rcx + r9 - 0x80], ymm0
vmovntdq ymmword [rcx + r9 - 0x60], ymm0
vmovntdq ymmword [rcx + r9 - 0x40], ymm0
vmovdqu ymmword [rcx + r8 - 0x20], ymm0
vmovdqu ymmword [rax], ymm0
sfence
vzeroupper
ret
cmp r8, qword [0x1400392c0]
jbe 0x140003479
test byte [0x14003a31c], 2
jne 0x14000312e
mov r9, rcx
pushf
rcr r12, 0
popf
and r9, 0xf
add r9, 0xfffffffffffffff0
sub rcx, r9
sub rdx, r9
add r8, r9
cmp r8, 0x80
pushf
add rsi, 0
popf
jbe 0x1400034f3
nop word [rax + rax]
movdqa xmmword [rcx], xmm0
movdqa xmmword [rcx + 0x10], xmm0
pushf
xor r11, 0
popf
movdqa xmmword [rcx + 0x20], xmm0
movdqa xmmword [rcx + 0x30], xmm0
movdqa xmmword [rcx + 0x40], xmm0
movdqa xmmword [rcx + 0x50], xmm0
movdqa xmmword [rcx + 0x60], xmm0
movdqa xmmword [rcx + 0x70], xmm0
sub rcx, 0xffffffffffffff80
add r8, 0xffffffffffffff80
cmp r8, 0x80
jae 0x1400034b3
lea r9, [r8 + 0xf]
and r9, 0xfffffffffffffff0
pushf
rcl r13, 0
popf
mov r11, r9
shr r11, 4
mov r11d, dword [r10 + r11*4 + 0x3d138]
add r11, r10
jmp r11