Function at 0x1403d2cd0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
test rcx, rcx
setne al
test rdx, rdx
sete r9b
cmp al, r9b
je 0x1403d2f91
test rcx, rcx
je 0x1403d2f91
test r8, r8
je 0x1403d2f8c
movabs r9, 0x76c26108a1a96eca
xor eax, eax
cmp r8, 8
jb 0x1403d2dec
movabs r10, 0x3b9ba320dfd31b9a
mov r11, rdx
sub r11, r10
movabs rsi, 0xf4bfa9ea8b370014
add r10, rsi
add r10, r11
movabs r11, 0xc3e8032f385a7d7f
add r10, r11
sub r10, rcx
sub r10, r11
movabs r11, 0x4d12d66304bb3f2b
add r10, r11
sub r10, rsi
sub r10, r11
cmp r10, 0x20
jb 0x1403d2dec
movabs rax, 0xced19f00957fd4d5
mov r10, r9
xor r10, rax
mov r11, r9
and r11, rax
lea r10, [r10 + r11*2]
add r10, qword [0x140567c88]
sub r10, rax
cmp r8, r10
jae 0x1403d2f2b
xor eax, eax
mov r10, rax
mov rax, r8
and rax, 0xfffffffffffffff8
movaps xmm0, xmmword [0x140467980]
movaps xmm1, xmmword [0x140467990]
lea r11, [r9 - 0x18]
nop
movsd xmm2, qword [rcx + r10]
movaps xmm3, xmm2
andnps xmm3, xmm0
andps xmm2, xmm1
orps xmm2, xmm3
movlps qword [rdx + r10], xmm2
mov rsi, qword [0x140567c88]
mov rdi, r11
xor rdi, rsi
and rsi, r11
lea rsi, [rdi + rsi*2]
add r10, rsi
cmp r10, rax
jne 0x1403d2db0
cmp rax, r8
je 0x1403d2f8c
mov r10, rax
not r10
add r10, r8
mov r11d, r8d
and r11d, 3
movabs rsi, 0xbb2896b5dbb93786
lea rdi, [r9 + rsi]
add rdi, 0xffffffffffffffe0
sub rsi, qword [0x140567c88]
movabs rbx, 0x795a48006a674df0
add rsi, rbx
sub rdi, rsi
add rdi, rbx
cmp r11, rdi
jne 0x1403d2f06
add r9, qword [0x140567c88]
movabs r11, 0x1cdf967ae8d9446f
add r9, r11
add r9, 0xffffffffffffffe3
movabs rsi, 0x4490c1aa18e54634
sub r9, rsi
sub r9, r11
add r9, rsi
cmp r10, r9
jb 0x1403d2f8c
lea r9, [r8 - 4]
movabs r10, 0x76c26108a1a96eac
lea r11, [rdx + r10]
add r10, rcx
movabs rsi, 0x76c26108a1a96eab
lea rdi, [rdx + rsi]
add rsi, rcx
mov rbx, rdx
nop
movzx ebp, byte [rcx + rax]
xor bpl, 0x67
mov byte [rbx + rax], bpl
mov r14, qword [0x140567c88]
add r14, rax
movzx ebp, byte [rsi + r14]
xor bpl, 0x67
mov byte [rdi + r14], bpl
mov r14, qword [0x140567c88]
add r14, rax
movzx ebp, byte [r10 + r14]
xor bpl, 0x67
mov byte [r11 + r14], bpl
movzx ebp, byte [0x140567c90]
add bpl, 0x1a
xor bpl, byte [rcx + rax + 3]
mov byte [rbx + rax + 3], bpl
cmp rax, r9
je 0x1403d2f8c
add r9, 0xfffffffffffffffc
add rbx, 4
add rcx, 4
add r11, 4
add r10, 4
add rdi, 4
add rsi, 4
jmp 0x1403d2e90
inc rax
dec r11
nop dword [rax]
movzx ebx, byte [rcx + rax - 1]
xor bl, 0x67
mov byte [rdx + rax - 1], bl
sub r11, 1
jb 0x1403d2e31
inc rax
jmp 0x1403d2f10
mov rax, r8
and rax, 0xffffffffffffffe0
xor r10d, r10d
movaps xmm0, xmmword [0x140467970]
nop dword [rax]
movups xmm1, xmmword [rcx + r10]
movups xmm2, xmmword [rcx + r10 + 0x10]
xorps xmm1, xmm0
xorps xmm2, xmm0
movups xmmword [rdx + r10], xmm1
movups xmmword [rdx + r10 + 0x10], xmm2
mov r11, qword [0x140567c88]
xor r11, r9
mov rsi, r11
not rsi
and rsi, r9
add rsi, rsi
mov rdi, r11
xor rdi, rsi
and rsi, r11
lea r11, [rdi + rsi*2]
add r10, r11
cmp r10, rax
jne 0x1403d2f40
cmp rax, r8
jne 0x1403d2f98
mov byte [rdx + r8], 0
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
test r8b, 0x18
sete r10b
cmp byte [0x1405760e8], 0
jne 0x1403d2dec
movzx r11d, byte [0x140575988]
mov ebx, r11d
and bl, r10b
jne 0x1403d2dec
xor r11b, r10b
je 0x1403d2d93
jmp 0x1403d2dec