Function at 0x14032c6f0
Capabilities:
Encode data using xor
Encrypt data using curve25519

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x60]
mov eax, 0x160
call fcn.1403cb200
sub rsp, rax
mov rax, qword [0x1404f2b48]
xor rax, rsp
mov qword [rbp + 0x58], rax
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
xor r14d, r14d
call fcn.140058d00
mov rdx, rdi
test eax, eax
je 0x14032c73f
mov r8, rsi
mov rcx, rbx
call fcn.14032cc50
jmp 0x14032cc35
mov r8d, 0x20
lea rcx, [rbp + 0x38]
call fcn.1403cc5a0
mov al, byte [rbp + 0x57]
lea rcx, [rbp + 0x10]
and byte [rbp + 0x38], 0xf8
and al, 0x3f
or al, 0x40
mov rdx, rsi
mov byte [rbp + 0x57], al
call fcn.140325d60
mov rax, qword [rbp + 0x10]
xorps xmm0, xmm0
and qword [rsp + 0x20], r14
mov esi, 1
and qword [rsp + 0x28], r14
mov edi, 0xfe
and qword [rsp + 0x30], r14
and qword [rsp + 0x38], r14
and qword [rsp + 0x40], r14
mov qword [rbp - 0x68], rax
mov rax, qword [rbp + 0x18]
mov qword [rbp - 0x60], rax
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x58], rax
mov rax, qword [rbp + 0x28]
mov qword [rbp - 0x50], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp - 0x48], rax
mov qword [rsp + 0x48], rsi
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x70], rsi
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rbp - 0x78], xmm0
mov eax, edi
shr rax, 3
movzx ecx, dil
and ecx, 7
movzx edx, byte [rbp + rax + 0x38]
shr edx, cl
and edx, esi
mov eax, r14d
mov r9d, edx
xor r9, rax
mov r11d, edx
neg r9
xor r8d, r8d
lea r10d, [r8 + 5]
mov rax, qword [rsp + r8 + 0x48]
mov rdx, qword [rbp + r8 - 0x68]
lea r8, [r8 + 8]
mov rcx, rax
xor rcx, rdx
and rcx, r9
xor rax, rcx
xor rdx, rcx
mov qword [rsp + r8 + 0x40], rax
mov qword [rbp + r8 - 0x70], rdx
sub r10, rsi
jne 0x14032c7ff
xor r8d, r8d
lea r10d, [r8 + 5]
mov rax, qword [rsp + r8 + 0x20]
mov rdx, qword [rsp + r8 + 0x70]
lea r8, [r8 + 8]
mov rcx, rax
xor rcx, rdx
and rcx, r9
xor rax, rcx
xor rdx, rcx
mov qword [rsp + r8 + 0x18], rax
mov qword [rsp + r8 + 0x68], rdx
sub r10, rsi
jne 0x14032c832
lea r8, [rsp + 0x70]
mov r14d, r11d
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x40]
call fcn.140326170
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x18]
call fcn.140326170
mov rax, qword [rsp + 0x28]
lea r8, [rsp + 0x48]
add qword [rsp + 0x50], rax
lea rdx, [rbp - 0x40]
mov rax, qword [rsp + 0x30]
mov r11, qword [rsp + 0x20]
add qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rbp - 0x68]
add rcx, qword [rsp + 0x70]
add qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x40]
add qword [rsp + 0x48], r11
add qword [rsp + 0x68], rax
mov qword [rsp + 0x20], rcx
mov rcx, qword [rbp - 0x60]
add rcx, qword [rsp + 0x78]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbp - 0x58]
add rcx, qword [rbp - 0x80]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rbp - 0x50]
add rcx, qword [rbp - 0x78]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rbp - 0x48]
add rcx, qword [rbp - 0x70]
mov qword [rsp + 0x40], rcx
lea rcx, [rsp + 0x70]
call fcn.1400588c0
lea r8, [rbp - 0x18]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x20]
call fcn.1400588c0
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x40]
call fcn.140058a80
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x18]
call fcn.140058a80
mov rcx, qword [rsp + 0x20]
lea r8, [rsp + 0x20]
add rcx, qword [rsp + 0x70]
lea rdx, [rsp + 0x70]
mov qword [rbp - 0x68], rcx
mov rcx, qword [rsp + 0x28]
add rcx, qword [rsp + 0x78]
mov qword [rbp - 0x60], rcx
mov rcx, qword [rsp + 0x30]
add rcx, qword [rbp - 0x80]
mov qword [rbp - 0x58], rcx
mov rcx, qword [rsp + 0x38]
add rcx, qword [rbp - 0x78]
mov qword [rbp - 0x50], rcx
mov rcx, qword [rsp + 0x40]
add rcx, qword [rbp - 0x70]
mov qword [rbp - 0x48], rcx
lea rcx, [rsp + 0x20]
call fcn.140326170
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x18]
lea rcx, [rsp + 0x48]
call fcn.1400588c0
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x18]
call fcn.140326170
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x20]
call fcn.140058a80
lea rdx, [rbp - 0x18]
lea rcx, [rsp + 0x70]
call fcn.140058c80
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x68]
call fcn.140058a80
mov rax, qword [rsp + 0x70]
lea r8, [rsp + 0x20]
add qword [rbp - 0x40], rax
lea rdx, [rbp + 0x10]
mov rax, qword [rsp + 0x78]
lea rcx, [rsp + 0x70]
add qword [rbp - 0x38], rax
mov rax, qword [rbp - 0x80]
add qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x78]
add qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x70]
add qword [rbp - 0x20], rax
call fcn.1400588c0
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x18]
lea rcx, [rsp + 0x20]
call fcn.1400588c0
sub edi, esi
jns 0x14032c7d3
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x20]
call fcn.140325f30
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x48]
call fcn.1400588c0
mov rcx, qword [rsp + 0x48]
lea rax, [rcx + 0x13]
shr rax, 0x33
add rax, qword [rsp + 0x50]
shr rax, 0x33
add rax, qword [rsp + 0x58]
shr rax, 0x33
add rax, qword [rsp + 0x60]
shr rax, 0x33
add rax, qword [rsp + 0x68]
shr rax, 0x33
imul rdx, rax, 0x13
movabs rax, 0x7ffffffffffff
add rdx, rcx
mov rcx, rdx
and rdx, rax
shr rcx, 0x33
add rcx, qword [rsp + 0x50]
mov r8, rcx
mov byte [rbx], dl
and rcx, rax
shr r8, 0x33
add r8, qword [rsp + 0x58]
mov r9, r8
and r8, rax
shr r9, 0x33
add r9, qword [rsp + 0x60]
mov r10, r9
and r9, rax
shr r10, 0x33
add r10, qword [rsp + 0x68]
and r10, rax
mov rax, rdx
shr rax, 8
mov byte [rbx + 1], al
mov rax, rdx
shr rax, 0x10
mov byte [rbx + 2], al
mov rax, rdx
shr rax, 0x18
mov byte [rbx + 3], al
mov rax, rdx
shr rax, 0x20
mov byte [rbx + 4], al
mov rax, rdx
shr rax, 0x28
mov byte [rbx + 5], al
mov al, cl
shl al, 3
shr rdx, 0x30
or dl, al
mov rax, rcx
shr rax, 5
mov byte [rbx + 7], al
mov rax, rcx
shr rax, 0xd
mov byte [rbx + 8], al
mov rax, rcx
shr rax, 0x15
mov byte [rbx + 9], al
mov rax, rcx
shr rax, 0x1d
mov byte [rbx + 0xa], al
mov rax, rcx
shr rax, 0x25
mov byte [rbx + 0xb], al
mov al, r8b
shl al, 6
shr rcx, 0x2d
or cl, al
mov byte [rbx + 6], dl
mov rax, r8
mov byte [rbx + 0xc], cl
shr rax, 2
mov byte [rbx + 0xd], al
lea rcx, [rbp + 0x38]
mov rax, r8
mov edx, 0x20
shr rax, 0xa
mov byte [rbx + 0xe], al
mov rax, r8
shr rax, 0x12
mov byte [rbx + 0xf], al
mov rax, r8
shr rax, 0x1a
mov byte [rbx + 0x10], al
mov rax, r8
shr rax, 0x22
mov byte [rbx + 0x11], al
mov rax, r8
shr rax, 0x2a
mov byte [rbx + 0x12], al
mov al, r9b
add al, al
shr r8, 0x32
or r8b, al
mov rax, r9
shr rax, 7
mov byte [rbx + 0x14], al
mov rax, r9
shr rax, 0xf
mov byte [rbx + 0x15], al
mov rax, r9
shr rax, 0x17
mov byte [rbx + 0x16], al
mov rax, r9
shr rax, 0x1f
mov byte [rbx + 0x17], al
mov rax, r9
shr rax, 0x27
mov byte [rbx + 0x18], al
mov al, r10b
shl al, 4
shr r9, 0x2f
or r9b, al
mov byte [rbx + 0x13], r8b
mov rax, r10
mov byte [rbx + 0x19], r9b
shr rax, 4
mov byte [rbx + 0x1a], al
mov rax, r10
shr rax, 0xc
mov byte [rbx + 0x1b], al
mov rax, r10
shr rax, 0x14
mov byte [rbx + 0x1c], al
mov rax, r10
shr rax, 0x1c
mov byte [rbx + 0x1d], al
mov rax, r10
shr rax, 0x24
shr r10, 0x2c
mov byte [rbx + 0x1e], al
mov byte [rbx + 0x1f], r10b
call fcn.140010240
mov rcx, qword [rbp + 0x58]
xor rcx, rsp
call fcn.1403cb150
add rsp, 0x160
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret