Function at 0x180017e30
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 - 0x3e0]
sub rsp, 0x4e0
lea rdx, [0x18003b324]
lea rcx, [rbp - 0x80]
call qword [0x1800421b8]
lea rcx, [rbp - 0x80]
call qword [0x180042100]
mov esi, eax
xor r14d, r14d
movabs rax, 0x5ea80da5c94c0e6a
movabs rbx, 0xf427de46c6d3be37
mov qword [rsp + 0x50], rax
mov r10d, r14d
movabs rax, 0x39727b6a374225eb
mov r11, rbx
mov qword [rsp + 0x58], rax
movabs rax, 0xe474ec75dcce9645
mov qword [rsp + 0x60], rax
movabs rax, 0x9063b030721758f6
mov qword [rsp + 0x68], rax
movabs rax, 0x405ec10dc9c9620e
mov qword [rsp + 0x70], rax
nop
mov rax, qword [rsp + r10*8 + 0x50]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rsp + r10*8 + 0x50], rdx
inc r10
cmp r10, 5
jb 0x180017ed0
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x80]
call qword [0x1800420f0]
lea rdx, [rbp + 0x190]
lea rcx, [rbp - 0x80]
call qword [0x180042208]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x180017f42
jmp 0x18001811b
test byte [rbp + 0x190], 0x10
jne 0x180017f6c
lea rdx, [rbp + 0x1bc]
mov word [rbp + rsi*2 - 0x80], r14w
lea rcx, [rbp - 0x80]
call qword [0x1800420f0]
lea rcx, [rbp - 0x80]
call qword [0x180042220]
lea rdx, [rbp + 0x190]
mov rcx, rdi
call qword [0x180042200]
test eax, eax
jne 0x180017f42
mov rcx, rdi
call qword [0x180042210]
lea rdx, [0x18003b324]
lea rcx, [rbp - 0x80]
call qword [0x1800421b8]
movabs rax, 0x5ea90dbdc9170e21
mov r10, r14
mov qword [rsp + 0x30], rax
mov r11, rbx
movabs rax, 0x397b7b6d375525e7
mov qword [rsp + 0x38], rax
movabs rax, 0xe46aec79dce89641
mov qword [rsp + 0x40], rax
movabs rax, 0x9017b01f720158ed
mov qword [rsp + 0x48], rax
nop dword [rax]
mov rax, qword [rsp + r10*8 + 0x30]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rsp + r10*8 + 0x30], rdx
inc r10
cmp r10, 4
jb 0x180017fe0
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x80]
call qword [0x1800420f0]
lea rcx, [rbp - 0x80]
call qword [0x180042100]
mov edi, eax
mov r10, r14
movabs rax, 0x5ea40da2c94c0e6a
mov qword [rsp + 0x20], rax
movabs rax, 0x39017b04372725f1
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + r10*8 + 0x20]
mov r9d, r10d
neg r9d
mov r8, rbx
and r9d, 0xf
rol r8, 3
not r8
rol rbx, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rsp + r10*8 + 0x20], rdx
inc r10
cmp r10, 2
jb 0x180018060
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x80]
call qword [0x1800420f0]
lea rdx, [rbp + 0x190]
lea rcx, [rbp - 0x80]
call qword [0x180042208]
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x1800180d2
lea eax, [rbx - 1]
jmp 0x18001811b
test byte [rbp + 0x190], 0x10
jne 0x1800180fc
lea rdx, [rbp + 0x1bc]
mov word [rbp + rdi*2 - 0x80], r14w
lea rcx, [rbp - 0x80]
call qword [0x1800420f0]
lea rcx, [rbp - 0x80]
call qword [0x180042220]
lea rdx, [rbp + 0x190]
mov rcx, rbx
call qword [0x180042200]
test eax, eax
jne 0x1800180d2
mov rcx, rbx
call qword [0x180042210]
xor eax, eax
lea r11, [rsp + 0x4e0]
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