Function at 0x140073260
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
movups xmmword [rsp + 0x20], xmm6
movups xmmword [rsp + 0x30], xmm7
mov ebx, dword [r8 + 0x28]
mov qword [rsp + 0x90], rcx
mov rsi, rdx
mov r12, r8
test ebx, ebx
jne 0x1400732c0
mov dword [rcx + 8], 0
mov eax, 1
movups xmm6, xmmword [rsp + 0x20]
movups xmm7, xmmword [rsp + 0x30]
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea r13d, [rbx + rbx]
mov rcx, rsi
mov edx, r13d
call fcn.1400730b0
test rax, rax
je 0x1400734e0
mov eax, dword [r12 + 0x30]
mov rbp, qword [r12 + 0x20]
xor dword [rsi + 0x10], eax
mov rdi, qword [rsi]
mov r8d, dword [rsi + 8]
test r13d, r13d
jle 0x140073570
lea eax, [r13 - 1]
cmp eax, 2
jbe 0x1400735c2
mov edx, r13d
movd xmm6, r8d
pxor xmm5, xmm5
mov rax, rdi
shr edx, 2
pshufd xmm7, xmm6, 0
movdqu xmm3, xmmword [0x140284f20]
pxor xmm4, xmm4
shl rdx, 5
movdqu xmm6, xmmword [0x140284f30]
add rdx, rdi
nop dword [rax]
movdqa xmm0, xmm3
movdqa xmm1, xmm4
paddd xmm3, xmm6
add rax, 0x20
psubd xmm0, xmm7
psrld xmm0, 0x1f
movdqa xmm2, xmm0
punpckldq xmm0, xmm5
punpckhdq xmm2, xmm5
psubq xmm1, xmm2
movdqu xmm2, xmmword [rax - 0x10]
pand xmm1, xmm2
movdqa xmm2, xmm4
psubq xmm2, xmm0
movdqu xmm0, xmmword [rax - 0x20]
movups xmmword [rax - 0x10], xmm1
pand xmm0, xmm2
movups xmmword [rax - 0x20], xmm0
cmp rax, rdx
jne 0x140073338
mov eax, r13d
and eax, 0xfffffffc
test r13b, 3
je 0x1400733d6
mov edx, eax
movsxd r9, eax
sub edx, r8d
shl r9, 3
shr edx, 0x1f
neg rdx
and qword [rdi + r9], rdx
lea edx, [rax + 1]
cmp edx, r13d
jge 0x1400733d6
sub edx, r8d
add eax, 2
shr edx, 0x1f
neg rdx
and qword [rdi + r9 + 8], rdx
cmp r13d, eax
jle 0x1400733d6
sub eax, r8d
shr eax, 0x1f
neg rax
and qword [rdi + r9 + 0x10], rax
movsxd r15, ebx
mov dword [rsi + 8], r13d
xor r14d, r14d
mov r13, qword [r12 + 0x50]
lea r12, [rdi + r15*8]
nop dword [rax]
mov r9, qword [rdi]
mov r8d, ebx
mov rdx, rbp
mov rcx, rdi
imul r9, r13
call fcn.14016a990
mov r8, qword [rdi + r15*8]
xor edx, edx
add rax, r14
add rax, r8
cmp r8, rax
mov qword [rdi + r15*8], rax
setne dl
or rdx, r14
xor r14d, r14d
cmp r8, rax
setae r14b
add rdi, 8
and r14, rdx
cmp rdi, r12
jne 0x1400733f0
mov rcx, qword [rsp + 0x90]
mov edx, ebx
call fcn.1400730b0
test rax, rax
je 0x1400734e0
mov r12, qword [rsi]
shl r15, 3
mov r9d, ebx
mov r8, rbp
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x90]
mov dword [rax + 8], ebx
mov eax, dword [rsi + 0x10]
lea rsi, [r12 + r15]
mov rdi, qword [rcx]
mov rdx, rsi
mov dword [rcx + 0x10], eax
mov rcx, rdi
call fcn.14016ad10
mov rcx, r14
sub rcx, rax
lea eax, [rbx - 1]
cmp eax, 1
jbe 0x1400734f0
lea rax, [r12 + r15 + 0x10]
cmp rdi, rax
jae 0x1400734f8
lea rdx, [rdi + 0x10]
xor eax, eax
cmp rsi, rdx
jae 0x1400734f8
nop word [rax + rax]
mov r8, qword [rdi + rax]
mov rdx, qword [rsi + rax]
xor rdx, r8
and rdx, rcx
xor rdx, r8
mov qword [rdi + rax], rdx
mov qword [rsi + rax], 0
add rax, 8
cmp r15, rax
jne 0x1400734b0
jmp 0x140073297
xor eax, eax
jmp 0x14007329c
xor eax, eax
jmp 0x1400734b0
mov edx, ebx
movq xmm7, rcx
pxor xmm1, xmm1
xor eax, eax
shr edx, 1
movddup xmm2, xmm7
shl rdx, 4
nop
movdqu xmm6, xmmword [rdi + rax]
movdqu xmm0, xmmword [rsi + rax]
pxor xmm0, xmm6
pand xmm0, xmm2
pxor xmm0, xmm6
movups xmmword [rdi + rax], xmm0
movups xmmword [rsi + rax], xmm1
add rax, 0x10
cmp rax, rdx
jne 0x140073510
mov eax, ebx
and eax, 0xfffffffe
and ebx, 1
je 0x140073297
shl rax, 3
add rsi, rax
add rax, rdi
mov rdx, qword [rax]
mov r14, qword [rsi]
xor r14, rdx
and r14, rcx
xor r14, rdx
mov qword [rax], r14
mov qword [rsi], 0
jmp 0x140073297
mov dword [rsi + 8], r13d
mov rcx, qword [rsp + 0x90]
mov edx, ebx
call fcn.1400730b0
test rax, rax
je 0x1400734e0
mov rax, qword [rsp + 0x90]
movsxd rdx, ebx
mov r9d, ebx
mov r8, rbp
mov rcx, qword [rsp + 0x90]
mov dword [rax + 8], ebx
mov eax, dword [rsi + 0x10]
mov dword [rcx + 0x10], eax
mov rax, qword [rsi]
mov rcx, qword [rcx]
lea rdx, [rax + rdx*8]
call fcn.14016ad10
jmp 0x140073297
mov eax, r8d
mov edx, 1
xor r9d, r9d
neg eax
shr eax, 0x1f
neg rax
and qword [rdi], rax
xor eax, eax
jmp 0x1400733b2