Function at 0x14000bb70
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x4f]
sub rsp, 0xe0
mov rsi, r9
mov r14, r8
mov ebx, edx
mov rdi, rcx
cmp byte [rcx], 0
je 0x14000bf1b
mov qword [rbp + 0x3f], 0
mov qword [rbp + 0x47], 0xf
mov byte [rbp + 0x2f], 0
xor r8d, r8d
lea rdx, [0x14010aac7]
lea rcx, [rbp + 0x2f]
call fcn.1400064d0
nop
lea rdx, [rbp + 0x2f]
mov rcx, rdi
call fcn.14000ae00
test al, al
je 0x14000bf12
mov dword [rbp - 0x61], 0x445d4c02
mov dword [rbp - 0x5d], 0x485e5802
mov dword [rbp - 0x59], 0x2d025e5f
movsd xmm0, qword [rbp - 0x61]
movsd qword [rbp - 0x51], xmm0
mov eax, dword [rbp - 0x59]
mov dword [rbp - 0x49], eax
mov rdx, qword [0x14013a7b0]
test rdx, rdx
jne 0x14000bc45
mov edi, 0xc
mov ecx, edi
call fcn.140075634
mov rdx, rax
mov qword [0x14013a7b0], rax
mov rcx, rax
lea r8, [rbp - 0x51]
sub r8, rax
movzx eax, byte [r8 + rcx]
xor al, 0x2d
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdi, 1
jne 0x14000bc32
mov qword [rbp - 1], 0
mov qword [rbp + 7], 0xf
mov byte [rbp - 0x11], 0
mov rdi, 0xffffffffffffffff
mov r8, rdi
inc r8
cmp byte [rdx + r8], 0
jne 0x14000bc63
lea rcx, [rbp - 0x11]
call fcn.1400064d0
nop
lea r9, [rbp - 0x3c]
test ebx, ebx
jns 0x14000bcc0
neg ebx
nop dword [rax]
nop word [rax + rax]
dec r9
mov eax, 0xcccccccd
mul ebx
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub bl, cl
add bl, 0x30
mov byte [r9], bl
mov ebx, edx
test edx, edx
jne 0x14000bc90
dec r9
mov byte [r9], 0x2d
jmp 0x14000bce6
dec r9
mov eax, 0xcccccccd
mul ebx
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub bl, cl
add bl, 0x30
mov byte [r9], bl
mov ebx, edx
test edx, edx
jne 0x14000bcc0
xor r8d, r8d
mov qword [rbp + 0x1f], r8
mov eax, 0xf
mov qword [rbp + 0x27], rax
mov byte [rbp + 0xf], r8b
lea rcx, [rbp - 0x3c]
cmp r9, rcx
je 0x14000bd1e
lea r8, [rbp - 0x3c]
sub r8, r9
mov rdx, r9
lea rcx, [rbp + 0xf]
call fcn.1400064d0
mov rax, qword [rbp + 0x27]
mov r8, qword [rbp + 0x1f]
lea rdx, [rbp + 0xf]
cmp rax, 0x10
cmovae rdx, qword [rbp + 0xf]
lea rcx, [rbp - 0x11]
call fcn.14000c430
nop
lea rcx, [rbp + 0xf]
call fcn.140006470
mov dword [rbp - 0x51], 0x4b4b4e00
mov dword [rbp - 0x4d], 0x5b5c4647
mov dword [rbp - 0x49], 0x565d40
movsd xmm0, qword [rbp - 0x51]
movsd qword [rbp - 0x61], xmm0
mov eax, dword [rbp - 0x49]
mov dword [rbp - 0x59], eax
mov byte [rbp - 0x55], 0x2f
mov rdx, qword [0x14013a808]
test rdx, rdx
jne 0x14000bda6
mov ebx, 0xd
mov ecx, ebx
call fcn.140075634
mov rdx, rax
mov qword [0x14013a808], rax
mov rcx, rax
lea r8, [rbp - 0x61]
sub r8, rax
movzx eax, byte [r8 + rcx]
xor al, 0x2f
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rbx, 1
jne 0x14000bd93
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x14000bdb0
lea rcx, [rbp - 0x11]
call fcn.14000c430
mov r8, rdi
inc r8
cmp byte [r14 + r8], 0
jne 0x14000bdc6
mov rdx, r14
lea rcx, [rbp - 0x11]
call fcn.14000c430
mov rax, qword [0x14013a7e8]
test rax, rax
jne 0x14000be08
lea ecx, [rax + 9]
call fcn.140075634
mov qword [0x14013a7e8], rax
mov dword [rax], 0x6563696c
mov dword [rax + 4], 0x3d65736e
mov byte [rax + 8], 0
mov qword [rbp - 0x21], 0
mov qword [rbp - 0x19], 0xf
mov byte [rbp - 0x31], 0
mov r8, rdi
nop
inc r8
cmp byte [rax + r8], 0
jne 0x14000be20
mov rdx, rax
lea rcx, [rbp - 0x31]
call fcn.1400064d0
nop
mov r8, rdi
nop word [rax + rax]
inc r8
cmp byte [rsi + r8], 0
jne 0x14000be40
mov rdx, rsi
lea rcx, [rbp - 0x31]
call fcn.14000c430
mov rax, qword [0x14013a8c0]
test rax, rax
jne 0x14000be7e
lea ecx, [rax + 8]
call fcn.140075634
mov qword [0x14013a8c0], rax
mov dword [rax], 0x72726526
mov dword [rax + 4], 0x3d726f
mov r8, rdi
inc r8
cmp byte [rax + r8], 0
jne 0x14000be81
mov rdx, rax
lea rcx, [rbp - 0x31]
call fcn.14000c430
mov rdx, qword [rbp + 0x7f]
nop dword [rax + rax]
inc rdi
cmp byte [rdx + rdi], 0
jne 0x14000bea0
mov r8, rdi
lea rcx, [rbp - 0x31]
call fcn.14000c430
lea rax, [rbp + 0x2f]
cmp qword [rbp + 0x47], 0x10
cmovae rax, qword [rbp + 0x2f]
lea r9, [rbp - 0x31]
cmp qword [rbp - 0x19], 0x10
cmovae r9, qword [rbp - 0x31]
lea r8, [rbp - 0x11]
cmp qword [rbp + 7], 0x10
cmovae r8, qword [rbp - 0x11]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0xf]
mov rcx, qword [0x14013b268]
call fcn.140058310
lea rcx, [rbp + 0xf]
call fcn.140006470
nop
lea rcx, [rbp - 0x31]
call fcn.140006470
nop
lea rcx, [rbp - 0x11]
call fcn.140006470
nop
lea rcx, [rbp + 0x2f]
call fcn.140006470
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret