Function at 0x14014bf80
Capabilities:
Encode data using xor

Disassembly:
push r15
mov r11d, r9d
push r14
mov r14d, 1
push r13
mov r13d, r8d
push r12
mov r12, rdx
push rbp
mov rbp, rcx
mov ecx, r8d
push rdi
shl r14, cl
push rsi
push rbx
sub rsp, 0x38
mov r10d, dword [rsp + 0xa0]
mov edx, dword [rsp + 0xa8]
mov ecx, r10d
call fcn.14014ab40
mov r8d, r10d
mov edi, eax
mov eax, r11d
imul rax, rdi
mov qword [rsp + 0x28], rdi
mov edi, dword [rsp + 0xa8]
mov rbx, rdi
imul rbx, rax
and ebx, 0x7fffffff
imul rbx, r8
add rbx, rax
shr rbx, 0x1f
sub ebx, r10d
mov eax, ebx
sar eax, 0x1f
and eax, r10d
add ebx, eax
cmp r13d, 9
ja 0x14014c1eb
imul rbx, rbx
mov rax, rdi
imul rax, rbx
and eax, 0x7fffffff
imul rax, r8
add rax, rbx
shr rax, 0x1f
sub eax, r10d
mov ebx, eax
sar ebx, 0x1f
and ebx, r10d
add ebx, eax
cmp r13d, 9
je 0x14014c1eb
imul rbx, rbx
mov rax, rdi
imul rax, rbx
and eax, 0x7fffffff
imul rax, r8
add rax, rbx
shr rax, 0x1f
sub eax, r10d
mov ebx, eax
sar ebx, 0x1f
and ebx, r10d
add ebx, eax
cmp r13d, 8
je 0x14014c1eb
imul rbx, rbx
mov rax, rdi
imul rax, rbx
and eax, 0x7fffffff
imul rax, r8
add rax, rbx
shr rax, 0x1f
sub eax, r10d
mov ebx, eax
sar ebx, 0x1f
and ebx, r10d
add ebx, eax
cmp r13d, 7
je 0x14014c1eb
imul rbx, rbx
mov rax, rdi
imul rax, rbx
and eax, 0x7fffffff
imul rax, r8
add rax, rbx
shr rax, 0x1f
sub eax, r10d
mov ebx, eax
sar ebx, 0x1f
and ebx, r10d
add ebx, eax
cmp r13d, 6
je 0x14014c1eb
imul rbx, rbx
mov rax, rdi
imul rax, rbx
and eax, 0x7fffffff
imul rax, r8
add rax, rbx
shr rax, 0x1f
sub eax, r10d
mov ebx, eax
sar ebx, 0x1f
and ebx, r10d
add ebx, eax
cmp r13d, 5
je 0x14014c1eb
imul rbx, rbx
mov rax, rdi
imul rax, rbx
and eax, 0x7fffffff
imul rax, r8
add rax, rbx
shr rax, 0x1f
sub eax, r10d
mov ebx, eax
sar ebx, 0x1f
and ebx, r10d
add ebx, eax
cmp r13d, 4
je 0x14014c1eb
imul rbx, rbx
mov rax, rdi
imul rax, rbx
and eax, 0x7fffffff
imul rax, r8
add rax, rbx
shr rax, 0x1f
sub eax, r10d
mov ebx, eax
sar ebx, 0x1f
and ebx, r10d
add ebx, eax
cmp r13d, 3
je 0x14014c1eb
imul rbx, rbx
mov rax, rdi
lea edx, [r13 + 8]
imul rax, rbx
and eax, 0x7fffffff
imul rax, r8
add rax, rbx
shr rax, 0x1f
sub eax, r10d
mov ebx, eax
sar ebx, 0x1f
and ebx, r10d
add ebx, eax
cmp r13d, 2
je 0x14014c1eb
imul rbx, rbx
mov rax, rdi
imul rax, rbx
and eax, 0x7fffffff
imul rax, r8
add rax, rbx
shr rax, 0x1f
sub eax, r10d
mov ebx, eax
sar ebx, 0x1f
and ebx, r10d
add ebx, eax
cmp edx, 8
jne 0x14014c1eb
imul rbx, rbx
mov rax, rbx
imul rax, rdi
and eax, 0x7fffffff
imul rax, r8
add rax, rbx
shr rax, 0x1f
sub eax, r10d
mov ebx, eax
sar ebx, 0x1f
and ebx, r10d
add ebx, eax
mov esi, 0x80000000
lea r15d, [r10 - 2]
mov ecx, 0x1e
sub esi, r10d
mov edx, esi
nop
imul rdx, rdx
mov rax, rdi
mov r11d, r15d
shr r11d, cl
and r11d, 1
imul rax, rdx
neg r11d
and eax, 0x7fffffff
imul rax, r8
add rax, rdx
shr rax, 0x1f
sub eax, r10d
cdq
and edx, r10d
lea r9d, [rax + rdx]
mov rdx, rdi
mov rax, r9
imul r9, rbx
imul rdx, r9
and edx, 0x7fffffff
imul rdx, r8
add rdx, r9
shr rdx, 0x1f
sub edx, r10d
mov r9d, edx
sar r9d, 0x1f
and r9d, r10d
add edx, r9d
xor edx, eax
and edx, r11d
xor edx, eax
sub ecx, 1
jae 0x14014c200
mov r9d, edx
mov rax, rdi
mov ecx, 0xa
imul rax, r9
sub ecx, r13d
lea r11, [0x1402d4c80]
xor r13d, r13d
and eax, 0x7fffffff
imul rax, r8
add rax, r9
shr rax, 0x1f
sub eax, r10d
cdq
and edx, r10d
add edx, eax
mov rax, rdi
mov edx, edx
imul rdx, qword [rsp + 0x28]
imul rax, rdx
and eax, 0x7fffffff
imul rax, r8
add rax, rdx
shr rax, 0x1f
sub eax, r10d
cdq
and edx, r10d
lea r9d, [rax + rdx]
mov eax, esi
xor edx, edx
jmp 0x14014c2e3
mov r13, rdx
shl r13, cl
movzx r13d, word [r11 + r13*2]
mov dword [rbp + r13*4], esi
imul rsi, rbx
add rdx, 1
mov dword [r12 + r13*4], eax
mov r13, rdi
imul rax, r9
imul r13, rsi
and r13d, 0x7fffffff
imul r13, r8
add r13, rsi
shr r13, 0x1f
sub r13d, r10d
mov esi, r13d
sar esi, 0x1f
and esi, r10d
add esi, r13d
mov r13, rax
mov rax, rdi
imul rax, r13
and eax, 0x7fffffff
imul rax, r8
add rax, r13
shr rax, 0x1f
sub eax, r10d
mov r13d, eax
sar r13d, 0x1f
and r13d, r10d
add eax, r13d
cmp r14, rdx
jne 0x14014c2d8
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret