Function at 0x1401dc11f
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov edi, 0xffffffff
test rcx, rcx
je 0x1401dc425
mov rsi, rdx
cmp rdx, 8
jb 0x1401dc425
mov r14, rcx
mov rax, qword [rcx + 8]
mov qword [rsp + 0x28], rax
test rax, rax
je 0x1401dc425
mov r12, qword [r14 + 0x10]
mov rbx, rsi
shl rbx, 5
mov rcx, rbx
call qword [fcn.14008fb20]
mov qword [r14 + 8], rax
test rax, rax
je 0x1401dc2ea
xor edi, edi
mov rcx, rax
xor edx, edx
mov r8, rbx
call fcn.1400cf750
mov qword [r14 + 0x10], rsi
test r12, r12
je 0x1401dc41b
xor r15d, r15d
xor esi, esi
mov rbp, rsi
shl rbp, 5
mov rax, qword [rsp + 0x28]
cmp dword [rax + rbp + 0x14], 0
je 0x1401dc2c1
cmp r12, 0x80
jne 0x1401dc229
mov r9, qword [r14 + 0x10]
mov r8d, dword [r14 + 0x30]
mov rax, qword [rsp + 0x28]
mov edx, dword [rax + rbp + 0x10]
mov rcx, qword [rax + rbp + 8]
cmp r9, 0x80
je 0x1401dc2d7
xor r13d, r13d
test edx, edx
jle 0x1401dc237
test rcx, rcx
je 0x1401dc237
xor eax, eax
movzx ebx, byte [rcx + rax]
add ebx, r8d
mov edi, ebx
shl edi, 0xa
add edi, ebx
mov r8d, edi
shr r8d, 6
xor r8d, edi
inc rax
cmp rdx, rax
jne 0x1401dc1f2
lea eax, [r8 + r8*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov r13d, ecx
shl r13d, 0xf
add r13d, ecx
jmp 0x1401dc237
mov rax, qword [rsp + 0x28]
mov r13d, dword [rax + rbp + 0x18]
mov r9, qword [r14 + 0x10]
mov eax, r13d
xor edx, edx
div r9
mov rbx, rdx
mov rax, qword [r14 + 8]
shl rbx, 5
cmp dword [rax + rbx + 0x14], 0
je 0x1401dc296
mov ecx, 0x20
call qword [fcn.14008fb20]
test rax, rax
je 0x1401dc2cf
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rdx + rbp + 8]
mov qword [rax + 8], rcx
mov ecx, dword [rdx + rbp + 0x10]
mov dword [rax + 0x10], ecx
mov dword [rax + 0x18], r13d
mov rcx, qword [r14 + 8]
mov rcx, qword [rcx + rbx]
mov qword [rax], rcx
mov dword [rax + 0x14], 1
mov rcx, qword [r14 + 8]
mov qword [rcx + rbx], rax
jmp 0x1401dc2c1
add rbp, qword [rsp + 0x28]
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [rax + rbx + 0x10], xmm1
movups xmmword [rax + rbx], xmm0
mov rax, qword [r14 + 8]
mov qword [rax + rbx], 0
mov rax, qword [r14 + 8]
mov dword [rax + rbx + 0x18], r13d
inc rsi
cmp rsi, r12
jne 0x1401dc1a1
jmp 0x1401dc2f8
mov r15d, 0xffffffff
jmp 0x1401dc2c1
call fcn.140130338
mov r13d, eax
mov r9d, 0x80
jmp 0x1401dc237
mov rax, qword [rsp + 0x28]
mov qword [r14 + 8], rax
jmp 0x1401dc425
mov qword [rsp + 0x30], r15
xor r13d, r13d
mov rax, r13
shl rax, 5
mov rcx, qword [rsp + 0x28]
mov rsi, qword [rcx + rax]
test rsi, rsi
jne 0x1401dc363
jmp 0x1401dc40a
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov rax, qword [r14 + 8]
mov qword [rax + rdx], 0
mov rax, qword [r14 + 8]
mov dword [rax + rdx + 0x14], 1
mov rax, qword [r14 + 8]
mov dword [rax + rdx + 0x18], ebx
mov rcx, rsi
call fcn.14008fb00
jmp 0x1401dc3fe
call fcn.140130338
mov ebx, eax
mov edi, 0x80
jmp 0x1401dc3cf
mov r15, qword [rsi]
cmp r12, 0x80
jne 0x1401dc3c8
mov rdi, qword [r14 + 0x10]
mov r8d, dword [r14 + 0x30]
mov edx, dword [rsi + 0x10]
mov rcx, qword [rsi + 8]
cmp rdi, 0x80
je 0x1401dc355
xor ebx, ebx
test edx, edx
jle 0x1401dc3cf
test rcx, rcx
je 0x1401dc3cf
xor eax, eax
movzx ebp, byte [rcx + rax]
add ebp, r8d
mov ebx, ebp
shl ebx, 0xa
add ebx, ebp
mov r8d, ebx
shr r8d, 6
xor r8d, ebx
inc rax
cmp rdx, rax
jne 0x1401dc394
lea eax, [r8 + r8*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov ebx, ecx
shl ebx, 0xf
add ebx, ecx
jmp 0x1401dc3cf
mov ebx, dword [rsi + 0x18]
mov rdi, qword [r14 + 0x10]
mov eax, ebx
xor edx, edx
div rdi
mov rcx, qword [r14 + 8]
shl rdx, 5
lea rax, [rcx + rdx]
cmp dword [rcx + rdx + 0x14], 0
je 0x1401dc31a
mov rax, qword [rax]
mov qword [rsi], rax
mov dword [rsi + 0x18], ebx
mov rax, qword [r14 + 8]
mov qword [rax + rdx], rsi
mov rsi, r15
test r15, r15
jne 0x1401dc363
inc r13
cmp r13, r12
jne 0x1401dc300
mov rdi, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
call fcn.14008fb00
mov eax, edi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret