Function at 0x140096ba2
Capabilities:
Encode data using xor

Disassembly:
xchg rsi, rsp
mov r11, rsi
xchg rsi, rsp
nop
push 0x2a4887d5
mov qword [rsp], rbx
push rsi
sub rsp, 0x9a1c244
add rsp, 0x9a1c19c
xorps xmm0, xmm0
xchg rbp, r8
mov qword [r11 + 8], r8
xchg r8, rbp
mov eax, 0x28aaeec1
add eax, 0x1ff5fc3b
sub eax, 0x3a91d0ea
sub eax, 0xe0f19d3
mov qword [r11 + 0x20], r14
cmp r9d, eax
mov dword [rsp - 0x14], esp
xchg r9, r15
mov qword [r11 - 0x18], r9
xchg r15, r9
xchg rsp, r13
movups xmmword [r13 + 0x20], xmm0
xchg rsp, r13
cmovbe eax, r9d
mov dword [rsp - 0x28], 0x51b64f13
xchg rbp, rsp
mov rsp, r8
xchg rbp, rsp
xchg r9, rsp
movups xmmword [r9 + 0x30], xmm0
xchg rsp, r9
xor ebx, ebx
mov dword [rsp - 0x40], ebx
xchg rsi, rdx
mov rdx, rsi
xchg rsi, rdx
movsxd r14, eax
xchg r14, r15
mov r14, rcx
xchg r15, r14
xchg rsp, rbx
movups xmmword [rbx + 0x40], xmm0
xchg rsp, rbx
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp - 0x3c], edx
movups xmmword [rsp + 0x60], xmm0
xchg rcx, rsp
movups xmmword [rcx + 0x70], xmm0
xchg rcx, rsp
xchg rdx, r11
movups xmmword [rdx - 0x38], xmm0
xchg rdx, r11
movups xmmword [r11 - 0x28], xmm0
test eax, eax
xchg rsi, rsi
jle 0x140096c78
xchg rsp, rdi
mov qword [r11 + 0x10], rsp
xchg rsp, rdi
mov edi, ebx
mov qword [r11 + 0x18], r12
mov r9, r9
movabs r12, 0x569fc5e97
sub r12, 0x52913972
add r12, 0x439a79e8
add r12, 0x7fffffff
add r12, 0x3e74761
mov ecx, dword [rbp + 0x38]
test ecx, ecx
xchg rbx, rbx
jg 0x140096c08
mov edx, ebx
jmp 0x140096c3d
xchg r12, rax
mov r12, qword [r15]
xchg r12, rax
imul rax, r12
xchg rsi, rsi
neg rax
add rax, 0xfffffffffffffff5
neg rax
mov qword [r15], rax
shr rax, 5
shr rax, 8
shr rax, 2
shr rax, 1
and eax, 0x7fff
cdq
xchg r9, r9
idiv ecx
movsxd rdx, edx
xchg r13, rbp
mov rcx, r13
xchg rbp, r13
call fcn.1400542c0
xchg r13, r13
mov word [rsp + rdi*2 + 0x20], ax
inc rdi
cmp rdi, r14
xchg rcx, rcx
jl 0x140096bf3
mov r12, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xc8]
xchg r15, r15
mov r15, qword [rsp + 0xa0]
lea rax, [rsi + 8]
mov r14, qword [rsp + 0xd8]
xorps xmm0, xmm0
mov dword [rsp - 0x24], esi
xchg rbp, r14
mov r14, qword [rsp + 0xc0]
xchg rbp, r14
nop
movabs rdx, 0xffffffff797e3eb3
xor rdx, 0x64ebe02
sub rdx, 0x40f4a2d9
xor rdx, 0x254b4e92
add rdx, 0x7fffffff
add rdx, 0x648f6cb6
xchg rbp, rax
mov qword [rsi], rbp
xchg rbp, rax
xchg rdi, rax
movups xmmword [rdi], xmm0
xchg rdi, rax
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
xchg rcx, rcx
lea rax, [rsp + 0x20]
nop dword [rax + rax]
inc rdx
mov r13, r13
cmp word [rax + rdx*2], bx
jne 0x140096cf2
xchg rsp, rsi
mov rcx, rsp
xchg rsp, rsi
xchg rdx, r8
mov qword [rsi + 0x38], r8
xchg r8, rdx
call fcn.140017b44
mov edx, 0x2baec3f1
add edx, 0x2dbb1736
sub edx, 0x2da1a6b9
xor edx, 0x3dcc6d05
add edx, 0x14130010
cmp qword [rsi + 0x38], rbx
mov r13, r13
jbe 0x140096da2
lea r8, [rsp + 0x20]
mov r9d, 0x37c16e86
add r9d, 0x3e06429
xor r9d, 0x64c16baf
xor r9d, 0x5f60b9ff
sub r8, rax
xchg r10, r10
nop
movzx ecx, dx
lea rax, [rax + 2]
xchg rdx, rdx
and cx, r9w
ror edx, 4
ror edx, 2
ror edx, 1
ror edx, 1
xor cx, word [r8 + rax - 2]
mov dword [rsp - 0x18], edx
inc rbx
mov word [rax - 2], cx
cmp rbx, qword [rsi + 0x38]
mov r9, r9
jb 0x140096d6c
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
add rsp, 0x2bd34fd7
sub rsp, 0x2bd34f2f
nop
mov rsi, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rbx, qword [rsp - 8]
ret