Function at 0x1401dc9b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
mov rax, rdx
mov rbx, r9
sub rax, rcx
mov rsi, r8
sar rax, 3
mov r14, rdx
mov rdi, rcx
cmp rax, 0x20
jle 0x1401dca66
test rsi, rsi
jle 0x1401dcacd
mov r9, rbx
lea rcx, [rsp + 0x30]
mov r8, r14
mov rdx, rdi
call fcn.1401dc590
mov r15, qword [rsp + 0x30]
mov rcx, rsi
mov rbp, qword [rsp + 0x38]
mov rax, r15
sar rcx, 2
sub rax, rdi
sar rsi, 1
and rax, 0xfffffffffffffff8
add rsi, rcx
mov r9, rbx
mov rcx, r14
mov r8, rsi
sub rcx, rbp
and rcx, 0xfffffffffffffff8
cmp rax, rcx
jge 0x1401dca48
mov rdx, r15
mov rcx, rdi
call fcn.1401dc9b0
mov rdi, rbp
jmp 0x1401dca56
mov rdx, r14
mov rcx, rbp
call fcn.1401dc9b0
mov r14, r15
mov rax, r14
sub rax, rdi
sar rax, 3
cmp rax, 0x20
jg 0x1401dc9e6
cmp rax, 2
jl 0x1401dcc5b
cmp rdi, r14
je 0x1401dcc5b
lea r12, [rdi + 8]
mov rsi, r12
cmp r12, r14
je 0x1401dcc5b
mov r15d, 8
sub r15, rdi
mov r9, qword [rbx]
mov r8, rsi
mov rbp, qword [rsi]
mov rax, qword [rdi]
movss xmm1, dword [r9 + rbp*4]
movss xmm0, dword [r9 + rax*4]
comiss xmm0, xmm1
jbe 0x1401dcc11
lea r8, [rsi - 8]
mov rdx, rdi
add r8, r15
mov rcx, r12
call fcn.14026fce0
mov qword [rdi], rbp
jmp 0x1401dcc4e
cmp rax, 0x20
jle 0x1401dca66
mov rbp, r14
sub rbp, rdi
sar rbp, 3
mov r11, rbp
sar r11, 1
test r11, r11
jle 0x1401dcbb1
lea r15, [rbp - 1]
sar r15, 1
nop dword [rax]
nop word [rax + rax]
mov rsi, qword [rdi + r11*8 - 8]
dec r11
mov r10, r11
mov rcx, r11
cmp r11, r15
jge 0x1401dcb5c
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rbx]
lea r9, [rcx + rcx]
mov rax, qword [rdi + r9*8 + 8]
xor r8d, r8d
mov rcx, qword [rdi + r9*8 + 0x10]
movss xmm0, dword [rdx + rax*4]
comiss xmm0, dword [rdx + rcx*4]
lea rcx, [r9 + 1]
seta r8b
xor r8, 1
add rcx, r8
mov rax, qword [rdi + rcx*8]
mov qword [rdi + r10*8], rax
mov r10, rcx
cmp rcx, r15
jl 0x1401dcb20
cmp rcx, r15
jne 0x1401dcb74
test bpl, 1
jne 0x1401dcb74
mov rax, qword [rdi + rbp*8 - 8]
mov qword [rdi + r10*8], rax
lea r10, [rbp - 1]
lea rcx, [r10 - 1]
sar rcx, 1
cmp r11, r10
jge 0x1401dcba4
mov rax, qword [rbx]
mov rdx, qword [rdi + rcx*8]
movss xmm0, dword [rax + rsi*4]
comiss xmm0, dword [rax + rdx*4]
jbe 0x1401dcba4
mov qword [rdi + r10*8], rdx
mov r10, rcx
dec rcx
sar rcx, 1
cmp r11, r10
jl 0x1401dcb80
mov qword [rdi + r10*8], rsi
test r11, r11
jg 0x1401dcb00
cmp rbp, 2
jl 0x1401dcc5b
mov r15d, 8
lea rsi, [r14 - 8]
sub r15, rdi
cmp rbp, 2
jl 0x1401dcbfa
mov rax, qword [rsi]
lea r9, [rsp + 0x70]
mov qword [rsp + 0x70], rax
mov r8, rsi
mov rax, qword [rdi]
sub r8, rdi
sar r8, 3
xor edx, edx
mov rcx, rdi
mov qword [rsi], rax
mov qword [rsp + 0x20], rbx
call fcn.1401dc8b0
sub rsi, 8
lea rax, [r15 + rsi]
sar rax, 3
mov rbp, rax
cmp rax, 2
jge 0x1401dcbc8
jmp 0x1401dcc5b
mov rdx, qword [rsi - 8]
lea rcx, [rsi - 8]
movss xmm0, dword [r9 + rdx*4]
comiss xmm0, xmm1
jbe 0x1401dcc4b
nop dword [rax]
nop dword [rax + rax]
mov qword [r8], rdx
mov r8, rcx
mov rax, qword [rbx]
sub rcx, 8
mov rdx, qword [rcx]
movss xmm0, dword [rax + rdx*4]
comiss xmm0, dword [rax + rbp*4]
ja 0x1401dcc30
mov qword [r8], rbp
add rsi, 8
cmp rsi, r14
jne 0x1401dca92
mov rbx, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret