Function at 0x14016a5a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x40
call fcn.1401c7cd0
sub rsp, rax
mov rax, qword [rsp + 0xa0]
mov r13, rcx
xor esi, esi
mov rcx, r9
test rax, rax
mov qword [rsp + 0x30], rsi
mov r14, rdx
mov ebp, esi
cmovne rcx, rax
mov qword [rsp + 0xa0], rcx
mov rcx, r9
call fcn.1400dcc70
mov ebx, dword [rsp + 0xa8]
movsxd r15, eax
test eax, eax
js 0x14016a8c0
cmp ebx, 0xffffffff
jne 0x14016a667
mov ebx, r15d
mov rcx, qword [r13 + 0x18]
call fcn.1400cc560
mov rcx, r13
lea edi, [rax - 1]
and edi, 7
mov dword [rsp + 0xa8], edi
call fcn.1400d3df0
mov r13d, eax
test edi, edi
jne 0x14016a640
mov byte [r14], sil
inc r14
dec r13d
lea eax, [r15 + 2]
cmp r13d, eax
jge 0x14016a696
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov edx, 0x98
lea ecx, [r9 + 4]
lea r8d, [r9 + 0x6e]
call fcn.1400c9e20
jmp 0x14016a8c0
cmp ebx, 0xfffffffe
jne 0x14016a673
mov ebx, 0xfffffffd
jmp 0x14016a612
cmp ebx, 0xfffffffd
jge 0x14016a612
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov edx, 0x98
lea ecx, [r9 + 4]
lea r8d, [rdx - 0x10]
call fcn.1400c9e20
jmp 0x14016a8c0
mov edi, r13d
sub edi, r15d
cmp ebx, 0xfffffffd
jne 0x14016a6a6
lea ebx, [rdi - 2]
jmp 0x14016a6ad
lea eax, [rdi - 2]
cmp ebx, eax
jg 0x14016a649
test ebx, ebx
jle 0x14016a6fd
movsxd rcx, ebx
lea rdx, str.crypto_rsa_rsa_pss.c
mov r8d, 0xc5
call fcn.1400d2a10
mov rbp, rax
test rax, rax
jne 0x14016a6eb
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov edx, 0x98
lea ecx, [rax + 4]
lea r8d, [rax + 0x41]
call fcn.1400c9e20
jmp 0x14016a8c0
mov edx, ebx
mov rcx, rax
call fcn.1400d6340
test eax, eax
jle 0x14016a8c0
lea eax, [rdi - 1]
movsxd r12, eax
add r12, r14
call fcn.1400d4690
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14016a8c0
mov rdx, qword [rsp + 0x98]
xor r8d, r8d
mov rcx, rax
call fcn.1400d41d0
test eax, eax
je 0x14016a8c0
mov rcx, qword [rsp + 0x30]
lea rdx, [0x140237970]
mov r8d, 8
call fcn.1400d43d0
test eax, eax
je 0x14016a8c0
mov rdx, qword [rsp + 0x90]
mov r8, r15
mov rcx, qword [rsp + 0x30]
call fcn.1400d43d0
test eax, eax
je 0x14016a8c0
test ebx, ebx
je 0x14016a78c
mov rcx, qword [rsp + 0x30]
mov rdx, rbp
movsxd r8, ebx
call fcn.1400d43d0
test eax, eax
je 0x14016a8c0
mov rcx, qword [rsp + 0x30]
xor r8d, r8d
mov rdx, r12
call fcn.1400d40f0
test eax, eax
je 0x14016a8c0
mov rax, qword [rsp + 0xa0]
lea edx, [rdi - 1]
mov r9d, r15d
mov qword [rsp + 0x20], rax
mov r8, r12
mov rcx, r14
call fcn.140131a20
test eax, eax
jne 0x14016a8c0
sub edi, ebx
sub edi, 2
movsxd rdx, edi
add rdx, r14
xor byte [rdx], 1
inc rdx
test ebx, ebx
jle 0x14016a893
cmp ebx, 0x20
jb 0x14016a868
lea eax, [rbx - 1]
movsxd rcx, eax
lea rax, [rcx + rbp]
lea r8, [rcx + rdx]
cmp rdx, rax
ja 0x14016a804
cmp r8, rbp
jae 0x14016a868
mov ecx, ebx
and ecx, 0x8000001f
jge 0x14016a815
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, ebx
mov r8, 0xfffffffffffffff0
sub eax, ecx
lea rcx, [rbp + 0x10]
movsxd r9, eax
sub r8, rbp
nop word [rax + rax]
movdqu xmm0, xmmword [rdx]
add esi, 0x20
movdqu xmm1, xmmword [rcx - 0x10]
lea rcx, [rcx + 0x20]
lea rax, [r8 + rcx]
pxor xmm1, xmm0
movdqu xmmword [rdx], xmm1
movdqu xmm1, xmmword [rdx + 0x10]
movdqu xmm0, xmmword [rcx - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rdx + 0x10], xmm1
add rdx, 0x20
cmp rax, r9
jl 0x14016a830
movsxd r8, esi
movsxd r9, ebx
cmp r8, r9
jge 0x14016a893
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rbp]
inc r8
xor byte [rdx], al
lea rdx, [rdx + 1]
cmp r8, r9
jl 0x14016a880
mov eax, dword [rsp + 0xa8]
test eax, eax
je 0x14016a8af
mov ecx, 8
sub ecx, eax
mov eax, 0xff
sar eax, cl
and byte [r14], al
lea eax, [r13 - 1]
mov esi, 1
movsxd rcx, eax
mov byte [rcx + r14], 0xbc
mov rcx, qword [rsp + 0x30]
call fcn.1400d4650
movsxd rdx, ebx
lea r8, str.crypto_rsa_rsa_pss.c
mov r9d, 0xf7
mov rcx, rbp
call fcn.1400d2b70
mov rbx, qword [rsp + 0x80]
mov eax, esi
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret