Function at 0x1400beb70
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov r8, rdx
mov rsi, rcx
mov eax, dword [0x141dd53e8]
sub eax, dword [0x141dd53ec]
imul eax, eax, 0xb598c6ee
imul rax, rax, 0x69e7d035
shr rax, 0x3d
cmp eax, 0x2618a6c8
je 0x1400bec17
mov eax, dword [0x141dd53f0]
xor edx, edx
div dword [0x141dd53f4]
mov ecx, eax
and ecx, 0x1aaa064
or ecx, 0xfe01499b
imul rax, rcx, 0x9ec24a9
shr rax, 0x20
sub ecx, eax
shr ecx, 1
add ecx, eax
shr ecx, 0x1e
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov r13, rsp
mov eax, 0x40
call fcn.1400ef3b0
sub rsp, rax
mov rdi, rsp
mov eax, 0x60
call fcn.1400ef3b0
sub rsp, rax
mov rax, rsp
cmp ecx, 0xfcd4a4b1
jbe 0x1400bec43
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x40
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x60
call fcn.1400ef3b0
sub rsp, rax
jmp 0x1400bebaf
mov qword [rbp - 0x18], rax
mov qword [rbp - 8], r8
mov r12, qword [r8]
mov eax, dword [0x141dd53f8]
xor eax, dword [0x141dd53fc]
imul eax, eax, 0x4b3b58a4
cmp eax, 0x555bd338
jae 0x1400bec90
movzx eax, byte [0x141ddb9b8]
sub rsp, 0x20
mov edx, 0x438
xor ecx, ecx
call fcn.1400bf820
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x141dd5400]
sub eax, dword [0x141dd5404]
or eax, 0x1134dd2
xor eax, 0x8b95f632
shr eax, 1
imul r14, rax, 0x20690ae9
shr r14, 0x3c
movzx r15d, word [r12 + 0x3d2]
movzx eax, byte [0x141ddb9b8]
sub rsp, 0x20
mov edx, 0x438
xor ecx, ecx
call fcn.1400bf820
add rsp, 0x20
cmp r14d, 0xc413ed8c
ja 0x1400bec90
mov rbx, rax
test rax, rax
je 0x1400bf10f
mov qword [rbx + 0x160], 0
mov rax, qword [rbp - 8]
mov r11, qword [rax + 0x10]
movzx ecx, word [r12 + 0x3d2]
mov r14, r11
not r14
add r14, rcx
mov eax, dword [0x141dd5408]
add eax, dword [0x141dd540c]
imul eax, eax, 0xa521f7fc
add eax, 0xf8e15f17
shr eax, 3
imul rax, rax, 0x25062a65
shr rax, 0x39
cmp eax, 0x247b82ef
jbe 0x1400bed97
mov word [rbx + 0x3d2], r14w
imul rax, r11, 0x38
mov rdx, qword [r12 + rax + 0x198]
mov qword [rdi + 0x30], rdx
movups xmm0, xmmword [r12 + rax + 0x168]
movups xmm1, xmmword [r12 + rax + 0x178]
movups xmm2, xmmword [r12 + rax + 0x188]
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
mov rax, r11
shl rax, 5
movups xmm0, xmmword [r12 + rax]
movups xmm1, xmmword [r12 + rax + 0x10]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
lea r9, [r12 + 0x168]
imul r8, r11, 0x38
mov r10, r11
shl r10, 5
nop word [rax + rax]
mov eax, dword [0x141dd5410]
xor edx, edx
div dword [0x141dd5414]
imul eax, eax, 0x6319f3b0
mov word [rbx + 0x3d2], r14w
mov rdx, qword [r12 + r8 + 0x198]
mov qword [rdi + 0x30], rdx
movups xmm0, xmmword [r12 + r8 + 0x168]
movups xmm1, xmmword [r12 + r8 + 0x178]
movups xmm2, xmmword [r12 + r8 + 0x188]
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
movups xmm0, xmmword [r12 + r10]
movups xmm1, xmmword [r12 + r10 + 0x10]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
cmp eax, 0x87ff071b
je 0x1400bedb0
cmp r14, 0xb
ja 0x1400befda
lea rdx, [r11 + 1]
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x1400bee30
sub rcx, rdx
nop word [rax + rax]
mov eax, dword [0x141dd5418]
add eax, dword [0x141dd541c]
xor eax, 0x33fe3f04
cmp eax, 0xfb6b0f0f
ja 0x1400bee40
mov qword [rbp - 0x10], r11
cmp rcx, r14
jne 0x1400bf047
imul rax, rdx, 0x38
add r9, rax
lea rcx, [rbx + 0x168]
mov qword [rbp], rdx
imul r8, r14, 0x38
sub rsp, 0x20
mov rdx, r9
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov rdx, qword [rbp]
shl rdx, 5
add rdx, r12
shl r14, 5
sub rsp, 0x20
mov rcx, rbx
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov rdx, qword [rbp - 0x10]
mov word [r12 + 0x3d2], dx
mov rax, qword [rdi + 0x30]
mov r14, qword [rbp - 0x18]
mov qword [r14 + 0x30], rax
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmmword [r14 + 0x20], xmm2
movups xmmword [r14 + 0x10], xmm1
movups xmmword [r14], xmm0
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [r14 + 0x48], xmm1
movups xmmword [r14 + 0x38], xmm0
movzx edi, word [rbx + 0x3d2]
cmp rdi, 0xb
ja 0x1400bf0c2
lea r8, [rdi + 1]
mov rcx, rbx
add rcx, 0x3d8
sub r15, rdx
nop word cs:[rax + rax]
mov eax, dword [0x141dd5440]
sub eax, dword [0x141dd5444]
add eax, 0xa9e2684
xor eax, 0xf140bfd6
add eax, 0x56bb7fe6
cmp eax, 0xf1a885f4
ja 0x1400bef20
cmp r15, r8
jne 0x1400bf01a
mov rax, qword [rbp]
lea rdx, [r12 + rax*8]
add rdx, 0x3d8
shl r8, 3
sub rsp, 0x20
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov rax, qword [rbp - 8]
mov rax, qword [rax + 8]
xor ecx, ecx
nop word cs:[rax + rax]
mov rdx, rcx
cmp rcx, rdi
adc rcx, 0
mov r8, qword [rbx + rdx*8 + 0x3d8]
mov qword [r8 + 0x160], rbx
mov word [r8 + 0x3d0], dx
cmp rdx, rdi
jae 0x1400befab
cmp rcx, rdi
jbe 0x1400bef80
mov ecx, dword [0x141dd5450]
xor ecx, dword [0x141dd5454]
xor ecx, 0x4718d032
imul ecx, ecx, 0x1e4fefe3
add ecx, 0x98bdf0b6
cmp ecx, 0xdefce645
jbe 0x1400bf111
jmp 0x1400bf13b
ud2
ud2
mov eax, dword [0x141dd5420]
add eax, dword [0x141dd5424]
mov ecx, 0xc9f47a53
imul rcx, rax
shr rcx, 0x3e
xor ecx, 0x807071e3
add ecx, 0xf3704868
cmp ecx, 0xd647c796
jbe 0x1400bf080
ud2
mov eax, dword [0x141dd5428]
xor eax, dword [0x141dd542c]
imul eax, eax, 0x71f779de
ud2
mov eax, dword [0x141dd5460]
imul eax, dword [0x141dd5464]
and eax, 0x8960100b
or eax, 0x628fc7f4
imul rax, rax, 0x7bb6ef5
shr rax, 0x3a
cmp eax, 0x2c38da51
jne 0x1400bf0f0
ud2
mov eax, dword [0x141dd5468]
xor eax, dword [0x141dd546c]
add eax, 0xf8e2abe0
and eax, 0x94f4464c
ud2
ud2
mov ecx, dword [0x141dd5458]
or ecx, dword [0x141dd545c]
xor ecx, 0x2881105
and ecx, 0xb288f105
add ecx, 0xc9bc6fd9
mov qword [rsi + 0x58], r12
cmp ecx, 0xe4ce3ebd
jbe 0x1400bf141
mov qword [rsi + 0x58], r12
jmp 0x1400bf111
mov qword [rsi + 0x60], rax
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmm2, xmmword [r14 + 0x20]
movups xmm3, xmmword [r14 + 0x30]
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x30], xmm3
movups xmm0, xmmword [r14 + 0x40]
movups xmmword [rsi + 0x40], xmm0
mov rcx, qword [r14 + 0x50]
mov qword [rsi + 0x50], rcx
mov qword [rsi + 0x68], rbx
mov qword [rsi + 0x70], rax
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret