Function at 0x14019f7b0
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
mov r15, rcx
mov r13d, edx
test rcx, rcx
je 0x14019fafb
test edx, edx
je 0x14019fafb
cmp edx, 0xffffffff
je 0x14019fac2
lea eax, [rdx - 1]
mov esi, eax
mov edx, eax
shr esi, 4
shr edx, 6
mov ecx, esi
lea r8, [rcx + rcx*2]
cmp eax, 0x43f
jbe 0x14019fad7
mov ecx, 4
mov eax, 1
nop dword [rax + rax]
add ecx, 1
mov ebx, eax
shl ebx, cl
cmp ebx, edx
jb 0x14019f810
mov r14d, ebx
lea ebp, [rbx - 1]
lea rax, [r14 + r8]
lea ecx, [rax*8]
call fcn.1400d2260
mov rdi, rax
test rax, rax
je 0x14019fafb
lea r8, [r14*8]
xor edx, edx
mov rcx, rax
mov qword [rsp + 0x38], r8
lea r12, [rax + r8]
call sub.msvcrt.dll_memset
mov edx, 4
mov rcx, r14
call fcn.1400d2950
mov r11, rax
test rax, rax
je 0x14019faf3
mov eax, esi
mov rdx, r15
shl eax, 4
sub rax, 0x10
add rdx, rax
jb 0x14019f927
mov dword [rsp + 0x28], esi
lea r14, [rdx + 1]
lea r9, [rdx + 0x11]
mov r8d, 0xffffffff
sub r14, rax
lea r10, [0x140202480]
nop word [rax + rax]
movzx eax, byte [r9 - 0x10]
lea rdx, [r9 - 0xf]
nop dword [rax]
movzx esi, byte [rdx]
mov ecx, eax
add rdx, 1
shl eax, 8
shr ecx, 0x17
or eax, esi
xor eax, dword [r10 + rcx*4]
cmp rdx, r9
jne 0x14019f8b8
lea rdx, [r9 - 1]
cmp eax, r8d
je 0x14019f910
mov qword [r12], rdx
mov edx, eax
sub r9, 0x10
and edx, ebp
mov dword [r12 + 8], eax
lea rcx, [rdi + rdx*8]
add dword [r11 + rdx*4], 1
mov r8, qword [rcx]
mov qword [r12 + 0x10], r8
mov qword [rcx], r12
add r12, 0x18
cmp r9, r14
je 0x14019f923
mov r8d, eax
jmp 0x14019f8a8
sub r9, 0x10
sub dword [rsp + 0x28], 1
mov qword [r12 - 0x18], rdx
cmp r9, r14
jne 0x14019f909
mov esi, dword [rsp + 0x28]
test ebx, ebx
je 0x14019f9fc
mov r12d, ebx
xor r8d, r8d
mov r9d, ebx
jmp 0x14019f94d
add r8, 1
cmp r12, r8
je 0x14019f9f9
mov r10d, dword [r11 + r8*4]
cmp r10d, 0x40
jbe 0x14019f940
add esi, 0x40
mov qword [rsp + 0x30], r12
mov rcx, qword [rdi + r8*8]
xor eax, eax
sub esi, r10d
sub r10d, 0x40
mov dword [rsp + 0x28], esi
jmp 0x14019f981
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14019f9e3
add eax, r10d
test eax, eax
jle 0x14019f978
lea esi, [rax - 1]
lea r12d, [rax - 0x40]
mov r14d, eax
mov edx, esi
mov ebx, r12d
and edx, 0xffffffc0
sub ebx, edx
mov rdx, rcx
sub r14d, ebx
and r14d, 0x40
je 0x14019f9b8
mov rdx, qword [rcx + 0x10]
mov eax, r12d
cmp ebx, r12d
je 0x14019f9c7
nop dword [rax]
mov rdx, qword [rdx + 0x10]
add eax, 0xffffff80
mov rdx, qword [rdx + 0x10]
cmp ebx, eax
jne 0x14019f9b8
mov rbx, qword [rdx + 0x10]
and esi, 0xffffffc0
mov eax, r12d
sub eax, esi
mov qword [rcx + 0x10], rbx
mov rcx, rdx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x14019f981
mov r12, qword [rsp + 0x30]
add r8, 1
mov esi, dword [rsp + 0x28]
cmp r12, r8
jne 0x14019f94d
mov ebx, r9d
mov rcx, r11
call fcn.1400d2670
lea edx, [rbx + 1]
lea r14, [rdx + rsi*2 + 3]
mov qword [rsp + 0x28], rdx
lea ecx, [r14*8]
mov r14, rcx
call fcn.1400d2260
mov rdx, qword [rsp + 0x28]
test rax, rax
mov r12, rax
je 0x14019faf3
lea r9, [rax + 0x18]
mov dword [rax], r14d
mov qword [rax + 8], r15
lea r10, [r9 + rdx*8]
mov dword [rax + 0x10], r13d
mov dword [rax + 0x14], ebp
test ebx, ebx
je 0x14019faec
mov r8d, ebx
mov rdx, r10
xor ecx, ecx
shl r8, 3
nop dword [rax]
mov rax, qword [rdi + rcx]
mov qword [r12 + rcx + 0x18], rdx
test rax, rax
je 0x14019fa85
nop
movdqu xmm0, xmmword [rax]
mov rax, qword [rax + 0x10]
add rdx, 0x10
movups xmmword [rdx - 0x10], xmm0
test rax, rax
jne 0x14019fa70
add rcx, 8
cmp rcx, r8
jne 0x14019fa60
mov rax, rdx
sub rax, r10
sar rax, 4
mov rbx, qword [rsp + 0x38]
mov qword [r9 + rbx], rdx
cmp rsi, rax
jne 0x14019fb00
mov rcx, rdi
call fcn.1400d2670
mov rax, r12
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, 0x2ffffffd
mov edx, 0x3ffffff
mov esi, 0xfffffff
jmp 0x14019f7fe
mov ebp, 0xf
mov r14d, 0x10
mov ebx, 0x10
jmp 0x14019f821
mov rdx, r10
xor eax, eax
jmp 0x14019fa98
mov rcx, rdi
call fcn.1400d2670
xor r12d, r12d
jmp 0x14019faae
mov r8d, 0x124
lea rdx, str.diff_delta.c
lea rcx, str.packed_entry____struct_index_entry__mem__entries
call qword [sym.imp.msvcrt.dll__assert]
nop
nop dword [rax + rax]