Function at 0x140052a30
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
movsxd r8, dword [rdx + 8]
mov r9, qword [rdx]
movsxd rdx, dword [rcx + 8]
mov rcx, qword [rcx]
mov r10, rdx
sub r10, r8
mov r11, r8
cmovb r11, rdx
xor eax, eax
test r11, r11
je 0x140052aa2
xor esi, esi
nop dword [rax + rax]
mov rdi, qword [r9 + rsi*8]
mov rbx, qword [rcx + rsi*8]
mov r14, rbx
xor r14, rdi
mov r15, rbx
sub r15, rdi
xor r15, rbx
or r15, r14
xor r15, rbx
mov rdi, r15
not rdi
shr rdi, 0x3f
sar r15, 0x3f
mov ebx, r15d
or rbx, rdi
mov eax, eax
test r14, r14
cmovne rax, rbx
inc rsi
cmp r11, rsi
jne 0x140052a60
cmp edx, r8d
jae 0x140052abb
mov rcx, r8
sub rcx, rdx
cmp rcx, 4
jae 0x140052ad2
xor r10d, r10d
jmp 0x140052c10
cmp r8d, edx
jae 0x140052d2d
cmp r10, 4
jae 0x140052afd
xor r9d, r9d
jmp 0x140052d10
lea r11, [rcx - 4]
mov rsi, r11
shr rsi, 2
inc rsi
mov r10d, esi
and r10d, 3
cmp r11, 0xc
jae 0x140052b2c
pxor xmm0, xmm0
xor r11d, r11d
pxor xmm1, xmm1
jmp 0x140052bb1
lea r11, [r10 - 4]
mov rsi, r11
shr rsi, 2
inc rsi
mov r9d, esi
and r9d, 3
cmp r11, 0xc
jae 0x140052c37
pxor xmm0, xmm0
xor r11d, r11d
pxor xmm1, xmm1
jmp 0x140052cb1
and rsi, 0xfffffffffffffffc
lea rdi, [r9 + rdx*8]
add rdi, 0x70
pxor xmm0, xmm0
xor r11d, r11d
pxor xmm1, xmm1
nop word cs:[rax + rax]
movdqu xmm2, xmmword [rdi + r11*8 - 0x70]
por xmm2, xmm0
movdqu xmm0, xmmword [rdi + r11*8 - 0x60]
por xmm0, xmm1
movdqu xmm1, xmmword [rdi + r11*8 - 0x50]
movdqu xmm3, xmmword [rdi + r11*8 - 0x40]
movdqu xmm4, xmmword [rdi + r11*8 - 0x30]
por xmm4, xmm1
por xmm4, xmm2
movdqu xmm2, xmmword [rdi + r11*8 - 0x20]
por xmm2, xmm3
por xmm2, xmm0
movdqu xmm0, xmmword [rdi + r11*8 - 0x10]
por xmm0, xmm4
movdqu xmm1, xmmword [rdi + r11*8]
por xmm1, xmm2
add r11, 0x10
add rsi, 0xfffffffffffffffc
jne 0x140052b50
mov rsi, rcx
and rsi, 0xfffffffffffffffc
test r10, r10
je 0x140052bee
add r11, rdx
lea r11, [r9 + r11*8]
add r11, 0x10
shl r10, 5
xor edi, edi
nop
movdqu xmm2, xmmword [r11 + rdi - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r11 + rdi]
por xmm1, xmm2
add rdi, 0x20
cmp r10, rdi
jne 0x140052bd0
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq r10, xmm1
cmp rcx, rsi
je 0x140052c1c
add rdx, rsi
nop dword [rax + rax]
or r10, qword [r9 + rdx*8]
inc rdx
cmp r8, rdx
jne 0x140052c10
mov rcx, r10
not rcx
dec r10
and r10, rcx
sar r10, 0x3f
not r10d
or eax, r10d
jmp 0x140052d2d
and rsi, 0xfffffffffffffffc
lea rdi, [rcx + r8*8]
add rdi, 0x70
pxor xmm0, xmm0
xor r11d, r11d
pxor xmm1, xmm1
nop
movdqu xmm2, xmmword [rdi + r11*8 - 0x70]
por xmm2, xmm0
movdqu xmm0, xmmword [rdi + r11*8 - 0x60]
por xmm0, xmm1
movdqu xmm1, xmmword [rdi + r11*8 - 0x50]
movdqu xmm3, xmmword [rdi + r11*8 - 0x40]
movdqu xmm4, xmmword [rdi + r11*8 - 0x30]
por xmm4, xmm1
por xmm4, xmm2
movdqu xmm2, xmmword [rdi + r11*8 - 0x20]
por xmm2, xmm3
por xmm2, xmm0
movdqu xmm0, xmmword [rdi + r11*8 - 0x10]
por xmm0, xmm4
movdqu xmm1, xmmword [rdi + r11*8]
por xmm1, xmm2
add r11, 0x10
add rsi, 0xfffffffffffffffc
jne 0x140052c50
mov rsi, r10
and rsi, 0xfffffffffffffffc
test r9, r9
je 0x140052cee
add r11, r8
lea r11, [rcx + r11*8]
add r11, 0x10
shl r9, 5
xor edi, edi
nop
movdqu xmm2, xmmword [r11 + rdi - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r11 + rdi]
por xmm1, xmm2
add rdi, 0x20
cmp r9, rdi
jne 0x140052cd0
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq r9, xmm1
cmp r10, rsi
je 0x140052d1c
add r8, rsi
nop dword [rax + rax]
or r9, qword [rcx + r8*8]
inc r8
cmp rdx, r8
jne 0x140052d10
xor ecx, ecx
xor edx, edx
test r9, r9
cmove ecx, eax
setne dl
or edx, ecx
mov eax, edx
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret