Function at 0x140097c51
Capabilities:
Encode data using xor

Disassembly:
xchg rsp, r11
mov rsp, r11
xchg rsp, r11
push rbx
mov dword [rsp - 0x38], 0x16ebd4b8
nop
sub rsp, 8
mov qword [rsp], rsi
sub rsp, 0xa8
mov dword [rsp - 0x24], esi
xorps xmm0, xmm0
xchg rbp, r9
mov qword [r11 + 8], r9
xchg r9, rbp
mov eax, 0x67b1e95
add eax, 0xa4d5071
add eax, 0x30ad70d3
add eax, 0x1825f80c
sub eax, 0x599bd7a6
mov qword [r11 + 0x20], r14
mov rbx, rbx
cmp r9d, eax
mov qword [r11 - 0x18], r15
xchg rsp, rsi
movups xmmword [rsi + 0x20], xmm0
xchg rsi, rsp
cmovbe eax, r9d
xchg rdi, rdi
xchg r8, r9
mov rbp, r9
xchg r9, r8
xchg r9, rsp
movups xmmword [r9 + 0x30], xmm0
xchg r9, rsp
xor ebx, ebx
xchg rsi, r14
mov r14, rdx
xchg r14, rsi
movsxd r14, eax
xchg r15, rcx
mov rcx, r15
xchg r15, rcx
xchg rsp, r12
movups xmmword [r12 + 0x40], xmm0
xchg rsp, r12
movups xmmword [rsp + 0x50], xmm0
mov r13, r13
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
xchg r11, rcx
movups xmmword [rcx - 0x38], xmm0
xchg rcx, r11
xchg r11, r9
movups xmmword [r9 - 0x28], xmm0
xchg r11, r9
test eax, eax
mov dword [rsp - 0x28], 0x342dd8b7
jle 0x140097d77
mov qword [r11 + 0x10], rdi
mov edi, ebx
xchg r15, r12
mov qword [r11 + 0x18], r15
xchg r12, r15
movabs r12, 0x507278cd7
add r12, 0xc5e1897
xor r12, 0x6461ec9c
add r12, 0x67089c7b
mov ecx, dword [rbp + 0x38]
test ecx, ecx
jg 0x140097d0e
mov dword [rsp - 0x30], esp
mov edx, ebx
jmp 0x140097d3b
xchg r14, rax
mov r14, qword [r15]
xchg r14, rax
imul rax, r12
mov dword [rsp - 0x1c], esi
add rax, 0xb
xchg r10, rax
mov qword [r15], r10
xchg r10, rax
shr rax, 8
shr rax, 8
and eax, 0x7fff
xchg rdi, rdi
cdq
idiv ecx
movsxd rdx, edx
mov rcx, rbp
xchg rsp, rsp
call fcn.140055d60
mov word [rsp + rdi*2 + 0x20], ax
inc rdi
mov rcx, rcx
cmp rdi, r14
jl 0x140097cf8
xchg r12, r15
mov r15, qword [rsp + 0xd0]
xchg r12, r15
mov rdi, qword [rsp + 0xc8]
mov dword [rsp - 0x40], esp
mov r15, qword [rsp + 0xa0]
lea rax, [rsi + 8]
xchg r14, r11
mov r11, qword [rsp + 0xd8]
xchg r14, r11
xorps xmm0, xmm0
mov dword [rsp - 0x28], 0x6880a02e
xchg rbp, r12
mov r12, qword [rsp + 0xc0]
xchg r12, rbp
nop
movabs rdx, 0xffffffff01917d7d
add rdx, 0x52810bf2
add rdx, 0x10f8d54d
add rdx, 0x7fffffff
xor rdx, 0x1af4a144
xchg rbp, rax
mov qword [rsi], rbp
xchg rbp, rax
xchg r12, rax
movups xmmword [r12], xmm0
xchg r12, rax
xchg rdi, rax
movups xmmword [rdi + 0x10], xmm0
xchg rdi, rax
xchg r13, rax
movups xmmword [r13 + 0x20], xmm0
xchg r13, rax
lea rax, [rsp + 0x20]
xchg rdx, rdx
nop dword [rax + rax]
inc rdx
cmp word [rax + rdx*2], bx
mov dword [rsp - 0x34], 0x36bbe219
jne 0x140097dff
xchg rcx, rsi
mov rsi, rcx
xchg rcx, rsi
xchg rdx, rsp
mov qword [rsi + 0x38], rsp
xchg rsp, rdx
call fcn.14001791c
mov edx, 0x11b6b172
add edx, 0x22a1680
add edx, 0x65ffbc69
sub edx, 0x63645f8a
add edx, 0x4a490ee8
cmp qword [rsi + 0x38], rbx
jbe 0x140097ebd
xchg r10, r10
lea r8, [rsp + 0x20]
mov r9d, 0x4dbb701f
add r9d, 0x20ff6132
sub r9d, 0x47543523
xor r9d, 0x15d7d563
sub r9d, 0x32b1484e
sub r8, rax
mov dword [rsp - 0x3c], 0xd1423a9
nop
movzx ecx, dx
lea rax, [rax + 2]
and cx, r9w
mov rsp, rsp
ror edx, 5
ror edx, 2
ror edx, 1
xor cx, word [r8 + rax - 2]
xchg rdx, rdx
inc rbx
mov word [rax - 2], cx
cmp rbx, qword [rsi + 0x38]
jb 0x140097e8a
mov r12, r12
xchg rdi, rsi
mov rax, rdi
xchg rdi, rsi
sub rsp, 0x2ecb37e2
add rsp, 0x2ecb388a
pop rsi
xchg rsp, rsp
nop
add rsp, 8
mov rbx, qword [rsp - 8]
ret