Function at 0x1401b9fc0
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 0x1401ba344
test edx, edx
je 0x1401ba344
cmp edx, 0xffffffff
je 0x1401ba312
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 0x1401ba327
mov ecx, 4
mov eax, 1
nop dword [rax + rax]
add ecx, 1
mov ebx, eax
shl ebx, cl
cmp ebx, edx
jb 0x1401ba020
mov r14d, ebx
lea ebp, [rbx - 1]
lea rax, [r14 + r8]
lea ecx, [rax*8]
call fcn.1400eab00
mov rdi, rax
test rax, rax
je 0x1401ba344
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.1400eb230
mov r11, rax
test rax, rax
je 0x1401ba33c
mov eax, esi
mov rdx, r15
shl eax, 4
sub rax, 0x10
add rdx, rax
jb 0x1401ba157
mov dword [rsp + 0x28], esi
lea r14, [rdx + 1]
lea r9, [rdx + 0x11]
mov r8d, 0xffffffff
sub r14, rax
lea r10, [0x140228da0]
nop word cs:[rax + rax]
nop dword [rax]
movzx eax, byte [r9 - 0x10]
lea rdx, [r9 - 0xf]
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop
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 0x1401ba0e0
lea rdx, [r9 - 1]
cmp eax, r8d
je 0x1401ba140
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 0x1401ba153
mov r8d, eax
jmp 0x1401ba0c0
sub r9, 0x10
sub dword [rsp + 0x28], 1
mov qword [r12 - 0x18], rdx
cmp r9, r14
jne 0x1401ba131
mov esi, dword [rsp + 0x28]
test ebx, ebx
je 0x1401ba243
mov qword [rsp + 0x30], rdi
mov r12d, ebx
xor r8d, r8d
mov r9d, ebx
jmp 0x1401ba18d
add r8, 1
cmp r12, r8
je 0x1401ba23b
mov r10d, dword [r11 + r8*4]
cmp r10d, 0x40
jbe 0x1401ba180
mov rax, qword [rsp + 0x30]
add esi, 0x40
sub esi, r10d
sub r10d, 0x40
mov rcx, qword [rax + r8*8]
mov dword [rsp + 0x28], esi
xor eax, eax
jmp 0x1401ba1c9
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x1401ba22a
add eax, r10d
test eax, eax
jle 0x1401ba1c0
lea esi, [rax - 1]
lea edi, [rax - 0x40]
mov r14d, eax
mov edx, esi
mov ebx, edi
and edx, 0xffffffc0
sub ebx, edx
mov rdx, rcx
sub r14d, ebx
and r14d, 0x40
je 0x1401ba200
mov rdx, qword [rcx + 0x10]
mov eax, edi
cmp edi, ebx
je 0x1401ba20f
nop dword [rax + rax]
mov rdx, qword [rdx + 0x10]
add eax, 0xffffff80
mov rdx, qword [rdx + 0x10]
cmp eax, ebx
jne 0x1401ba200
mov rbx, qword [rdx + 0x10]
and esi, 0xffffffc0
mov eax, edi
sub eax, esi
mov qword [rcx + 0x10], rbx
mov rcx, rdx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x1401ba1c9
add r8, 1
mov esi, dword [rsp + 0x28]
cmp r12, r8
jne 0x1401ba18d
mov rdi, qword [rsp + 0x30]
mov ebx, r9d
mov rcx, r11
call fcn.1400eaf30
lea edx, [rbx + 1]
lea r14, [rdx + rsi*2 + 3]
mov qword [rsp + 0x28], rdx
lea ecx, [r14*8]
mov r14, rcx
call fcn.1400eab00
mov rdx, qword [rsp + 0x28]
test rax, rax
mov r12, rax
je 0x1401ba33c
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 0x1401ba349
mov r8d, ebx
mov rdx, r10
xor ecx, ecx
shl r8, 3
nop word cs:[rax + rax]
nop
mov rax, qword [rdi + rcx]
mov qword [r12 + rcx + 0x18], rdx
test rax, rax
je 0x1401ba2d5
nop
movdqu xmm0, xmmword [rax]
mov rax, qword [rax + 0x10]
add rdx, 0x10
movups xmmword [rdx - 0x10], xmm0
test rax, rax
jne 0x1401ba2c0
add rcx, 8
cmp rcx, r8
jne 0x1401ba2b0
mov rax, rdx
sub rax, r10
sar rax, 4
mov rbx, qword [rsp + 0x38]
mov qword [r9 + rbx], rdx
cmp rsi, rax
jne 0x1401ba350
mov rcx, rdi
call fcn.1400eaf30
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 0x1401ba00e
mov ebp, 0xf
mov r14d, 0x10
mov ebx, 0x10
jmp 0x1401ba031
mov rcx, rdi
call fcn.1400eaf30
xor r12d, r12d
jmp 0x1401ba2fe
mov rdx, r10
xor eax, eax
jmp 0x1401ba2e8
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]