Function at 0x1400c8b90
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
mov rax, qword [0x14010d010]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rdi, r8
mov r15, rdx
mov rbx, rcx
mov rax, qword [rcx]
call qword [rax + 8]
test al, al
je 0x1400c8f10
mov rax, qword [rdi]
test rax, rax
js 0x1400c8f10
mov rcx, qword [rbx + 0x20]
sub rcx, qword [rbx + 0x28]
xor r12d, r12d
cmp rax, rcx
jle 0x1400c8bf9
mov byte [rbx + 0x38], 1
mov rax, rcx
test rcx, rcx
cmovs rax, r12
mov qword [rdi], rax
cmp rax, 0x3e800000
jle 0x1400c8eea
mov qword [rbp - 0x29], r12
mov qword [rbp - 0x19], r12
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], 0
mov ecx, 0x30
call fcn.1400d83b8
mov r8, rax
mov qword [rbp - 0x19], 0x28
mov qword [rbp - 0x11], 0x2f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r8], xmm0
movups xmmword [r8 + 0x10], xmm0
mov qword [r8 + 0x20], rax
mov byte [r8 + 0x28], al
mov qword [rbp - 0x29], r8
lea rax, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
jb 0x1400c8c61
movsx ecx, byte [r8]
jmp 0x1400c8c68
movsx ecx, byte [rax]
lea r8, [rbp - 0x29]
add ecx, 0xaa2d7c
mov r9, r12
lea r10, [0x140103e70]
sub r8, r10
nop dword [rax + rax]
lea rdx, [r9 + r10]
mov eax, ecx
shr eax, 4
xor al, byte [rdx]
mov byte [r8 + rdx], al
imul ecx, ecx, 0xe0f5
add ecx, 0x8a4a2e5
mov eax, ecx
shr eax, 4
xor al, byte [rdx + 1]
mov byte [r8 + rdx + 1], al
imul ecx, ecx, 0xe0f5
add ecx, 0x8a4a2e5
add r9, 2
cmp r9, 0x28
jb 0x1400c8c80
lea r14, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
cmovae r14, qword [rbp - 0x29]
mov ecx, 0x20
call fcn.1400d83b8
mov r8, rax
mov r9d, 0x18
mov qword [rbp + 7], r9
mov qword [rbp + 0xf], 0x1f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r8], xmm0
mov qword [r8 + 0x10], rax
mov byte [r8 + 0x18], al
mov qword [rbp - 9], r8
movsx edx, byte [r8]
add edx, 0xaa2d7c
lea rcx, [0x140103ed0]
sub rcx, r8
mov eax, edx
shr eax, 4
xor al, byte [rcx + r8]
mov byte [r8], al
imul edx, edx, 0xd0f5
add edx, 0x8a4a2e5
lea r8, [r8 + 1]
sub r9, 1
jne 0x1400c8d14
lea rsi, [rbp - 9]
cmp qword [rbp + 0xf], 0x10
cmovae rsi, qword [rbp - 9]
mov qword [rbp - 0x49], r12
mov qword [rbp - 0x39], r12
mov qword [rbp - 0x31], 0xf
mov byte [rbp - 0x49], r9b
lea ecx, [r9 + 0x30]
call fcn.1400d83b8
mov r8, rax
mov qword [rbp - 0x39], 0x26
mov qword [rbp - 0x31], 0x2f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r8], xmm0
movups xmmword [r8 + 0x10], xmm0
mov dword [r8 + 0x20], eax
mov word [r8 + 0x24], ax
mov byte [r8 + 0x26], al
mov qword [rbp - 0x49], r8
lea rax, [rbp - 0x49]
cmp qword [rbp - 0x31], 0x10
jb 0x1400c8da4
movsx ecx, byte [r8]
jmp 0x1400c8dab
movsx ecx, byte [rax]
lea r8, [rbp - 0x49]
add ecx, 0xaa2d7c
mov r9, r12
lea r10, [0x140103df0]
sub r8, r10
nop
lea rdx, [r9 + r10]
mov eax, ecx
shr eax, 4
xor al, byte [rdx]
mov byte [r8 + rdx], al
imul ecx, ecx, 0xdef5
add ecx, 0x8a4a2e5
mov eax, ecx
shr eax, 4
xor al, byte [rdx + 1]
mov byte [r8 + rdx + 1], al
imul ecx, ecx, 0xdef5
add ecx, 0x8a4a2e5
add r9, 2
cmp r9, 0x26
jb 0x1400c8dc0
lea rcx, [rbp - 0x49]
cmp qword [rbp - 0x31], 0x10
cmovae rcx, qword [rbp - 0x49]
mov dword [rsp + 0x28], 0x6f
mov qword [rsp + 0x20], r14
mov r9d, 2
lea r8d, [r9 - 1]
mov rdx, rsi
call fcn.1400afdc0
nop
mov rdx, qword [rbp - 0x31]
cmp rdx, 0x10
jb 0x1400c8e67
inc rdx
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c8e62
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c8f36
call fcn.1400d83b0
mov qword [rbp - 0x39], r12
mov qword [rbp - 0x31], 0xf
mov byte [rbp - 0x49], 0
mov rdx, qword [rbp + 0xf]
cmp rdx, 0x10
jb 0x1400c8eb3
inc rdx
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c8ead
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c8f3c
call fcn.1400d83b0
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x1400c8eea
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c8ee5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c8f30
call fcn.1400d83b0
mov rdx, qword [rbx + 0x10]
add rdx, qword [rbx + 0x28]
mov r8, qword [rdi]
mov rcx, r15
call fcn.1400dc350
mov rax, qword [rdi]
add qword [rbx + 0x28], rax
mov rax, qword [rbx + 0x28]
mov qword [rbx + 8], rax
mov al, 1
jmp 0x1400c8f12
xor al, al
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1400d8390
add rsp, 0xa0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1400ded50
nop
call fcn.1400ded50
nop
call fcn.1400ded50
int3