Function at 0x1400180c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push r14
lea rbp, [rsp - 0x108]
sub rsp, 0x208
movdqa xmm0, xmmword [0x140008590]
xor r14d, r14d
movdqa xmm1, xmmword [0x140008580]
mov rbx, rcx
movdqu xmmword [rsp + 0x40], xmm0
mov rsi, rdx
mov dword [rsp + 0x70], 0x1c6cf0a2
movdqa xmm0, xmmword [0x140008660]
mov r9d, r14d
movdqu xmmword [rsp + 0x60], xmm0
mov dword [rsp + 0x74], 0x846a937f
movups xmm0, xmmword [r8]
mov dword [rsp + 0x78], 0xff3b9b2f
movdqu xmmword [rsp + 0x50], xmm1
mov word [rsp + 0x7c], 0x2864
movsd xmm1, qword [r8 + 0x10]
movaps xmmword [rbp - 0x80], xmm0
mov r10, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x78]
movsd qword [rbp - 0x70], xmm1
mov r8, qword [rbp - 0x70]
nop dword [rax]
imul r8, r8
add rcx, r10
add r8, rcx
add rcx, r10
mov rdx, r8
shl r8, 0x20
shr rdx, 0x20
or rdx, r8
movzx eax, dl
xor al, byte [rsp + r9 + 0x40]
imul rdx, rdx
mov byte [rbp + r9 - 0x60], al
add rdx, rcx
mov r8, rdx
shl rdx, 0x20
shr r8, 0x20
or r8, rdx
movzx eax, r8b
xor al, byte [rsp + r9 + 0x41]
mov byte [rbp + r9 - 0x5f], al
add r9, 2
cmp r9, 0x3e
jb 0x140018150
movups xmm0, xmmword [rbp - 0x60]
mov eax, dword [rbp - 0x28]
lea rcx, [rbp + 0x138]
movups xmm1, xmmword [rbp - 0x50]
mov dword [rsp + 0x78], eax
lea rdx, [rsp + 0x40]
movzx eax, word [rbp - 0x24]
mov r9d, 0x20019
movups xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x7c], ax
xor eax, eax
movups xmm0, xmmword [rbp - 0x40]
mov qword [rsp + 0x20], rcx
xor r8d, r8d
movups xmmword [rsp + 0x50], xmm1
mov rcx, 0xffffffff80000001
mov byte [rsp + 0x7e], r14b
movsd xmm1, qword [rbp - 0x30]
movups xmmword [rsp + 0x60], xmm0
xorps xmm0, xmm0
movsd qword [rsp + 0x70], xmm1
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov rax, qword [rsi]
call rax
test eax, eax
jne 0x140018387
mov rax, qword [rsi + 0x10]
lea r9, [rbp + 0x130]
mov rcx, qword [rbp + 0x138]
lea r8, [rbp - 0x20]
mov qword [rsp + 0x38], r14
xor edx, edx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x240], rdi
mov edi, r14d
mov qword [rsp + 0x20], r14
mov dword [rbp + 0x130], 0x104
call rax
test eax, eax
jne 0x140018375
mov qword [rsp + 0x200], r12
movabs r12, 0x65c45140f40c188f
mov qword [rsp + 0x1f8], r13
movabs r13, 0x9ed57b45258b864d
mov qword [rsp + 0x1f0], r15
movabs r15, 0x253d3d48ce2bd33e
nop dword [rax + rax]
movzx edx, byte [rbp - 0x20]
mov eax, 0xb9cd4fa9
mov r11d, 0xfde04a1e
mov r9d, r14d
test dl, dl
je 0x140018307
lea r10, [rbp - 0x20]
nop word [rax + rax]
movsx ecx, dl
lea r10, [r10 + 1]
imul r11d, ecx
mov r8d, eax
imul ecx, ecx
imul r8d, r11d
add eax, ecx
mov edx, eax
mov ecx, eax
shr ecx, 0xe
shl edx, 0x12
mov eax, edx
or eax, ecx
lea ecx, [r8 + r9]
ror ecx, 0x12
imul ecx, eax
mov r9d, ecx
shl ecx, 0x11
shr r9d, 0xf
or r9d, ecx
movzx ecx, byte [r10]
movzx edx, cl
test cl, cl
jne 0x1400182c0
cmp r9d, 0x92164e7b
jne 0x14001831b
mov qword [rbx], r15
mov qword [rbx + 8], r12
mov qword [rbx + 0x10], r13
mov rax, qword [rsi + 0x10]
lea r9, [rbp + 0x130]
mov rcx, qword [rbp + 0x138]
lea r8, [rbp - 0x20]
mov qword [rsp + 0x38], r14
inc edi
mov qword [rsp + 0x30], r14
mov edx, edi
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
mov dword [rbp + 0x130], 0x104
call rax
test eax, eax
je 0x1400182a0
mov r15, qword [rsp + 0x1f0]
mov r13, qword [rsp + 0x1f8]
mov r12, qword [rsp + 0x200]
mov rcx, qword [rbp + 0x138]
call qword [rsi + 0x18]
mov rdi, qword [rsp + 0x240]
mov rax, rbx
add rsp, 0x208
pop r14
pop rsi
pop rbx
pop rbp
ret