Function at 0x1400bea80
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
mov r13, qword [rcx + 0x18]
movzx ebp, word [r13 + 0x3d2]
lea r8, [rdx + rbp]
cmp r8, 0xc
jae 0x1400beec1
mov rbx, rdx
mov rsi, qword [rcx + 0x28]
movzx edx, word [rsi + 0x3d2]
mov eax, 0xc30aef77
mov r9d, dword [0x141dd5d20]
and r9d, dword [0x141dd5d24]
add r9d, 0xd7dffc87
imul r9, rax
shr r9, 0x3c
add r9d, 0x3783c01e
cmp r9d, 0x7939fa08
ja 0x1400beac0
sub rdx, rbx
jb 0x1400bef1c
mov qword [rsp + 0x28], r8
mov word [r13 + 0x3d2], r8w
mov qword [rsp + 0x60], rdx
mov word [rsi + 0x3d2], dx
lea r14, [rbx - 1]
imul rax, r14, 0x38
mov qword [rsp + 0x50], rax
lea rdx, [rsi + rax]
add rdx, 0x168
mov qword [rsp + 0x68], r14
shl r14, 5
movups xmm0, xmmword [rsi + r14]
movups xmm1, xmmword [rsi + r14 + 0x10]
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rcx]
mov qword [rsp + 0x58], rcx
mov r9, qword [rcx + 0x10]
imul r11, r9, 0x38
lea r10, [rax + r11]
add r10, 0x168
shl r9, 5
add r9, rax
mov rdi, qword [rax + r11 + 0x198]
mov qword [rsp + 0xa0], rdi
movups xmm0, xmmword [rax + r11 + 0x168]
movups xmm1, xmmword [rax + r11 + 0x178]
movups xmm2, xmmword [rax + r11 + 0x188]
movaps xmmword [rsp + 0x90], xmm2
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
mov ecx, dword [str.2PEE3]
or ecx, dword [0x141dd5d44]
and ecx, 0xaa90dc38
xor ecx, 0xc5fb158e
add ecx, 0x974ef87
cmp ecx, 0x87de7b9e
jae 0x1400bec85
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmm2, xmmword [rdx + 0x20]
mov rax, qword [rdx + 0x30]
mov qword [r10 + 0x30], rax
movups xmmword [r10 + 0x20], xmm2
movups xmmword [r10 + 0x10], xmm1
movups xmmword [r10], xmm0
movups xmm0, xmmword [r9]
movups xmm1, xmmword [r9 + 0x10]
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movups xmmword [r9 + 0x10], xmm1
movups xmmword [r9], xmm0
imul rax, rbp, 0x38
mov rcx, qword [rsp + 0xa0]
mov qword [r13 + rax + 0x198], rcx
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movups xmmword [r13 + rax + 0x188], xmm2
movups xmmword [r13 + rax + 0x178], xmm1
movups xmmword [r13 + rax + 0x168], xmm0
mov rax, rbp
shl rax, 5
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [r13 + rax + 0x10], xmm1
movups xmmword [r13 + rax], xmm0
lea r15, [rsi + 0x168]
lea rcx, [r13 + 0x168]
imul r11, rbp, 0x38
mov r12, rbp
shl r12, 5
inc rbp
mov rdi, qword [rsp + 0x28]
sub rdi, rbp
nop dword [rax]
mov eax, dword [0x141dd5d48]
and eax, dword [0x141dd5d4c]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmm2, xmmword [rdx + 0x20]
mov r8, qword [rdx + 0x30]
mov qword [r10 + 0x30], r8
movups xmmword [r10 + 0x20], xmm2
movups xmmword [r10 + 0x10], xmm1
movups xmmword [r10], xmm0
movups xmm0, xmmword [r9]
movups xmm1, xmmword [r9 + 0x10]
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movups xmmword [r9 + 0x10], xmm1
movups xmmword [r9], xmm0
mov r8, qword [rsp + 0xa0]
mov qword [r13 + r11 + 0x198], r8
and eax, 0xbfe011b4
imul eax, eax, 0xda8f1df5
add eax, 0x2755b179
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movups xmmword [r13 + r11 + 0x188], xmm2
movups xmmword [r13 + r11 + 0x178], xmm1
movups xmmword [r13 + r11 + 0x168], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [r13 + r12 + 0x10], xmm1
movups xmmword [r13 + r12], xmm0
cmp eax, 0x412567a0
jb 0x1400becb0
cmp qword [rsp + 0x68], rdi
jne 0x1400beef4
imul rax, rbp, 0x38
add rcx, rax
mov rdx, r15
mov r8, qword [rsp + 0x50]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rbp
shl rcx, 5
add rcx, r13
mov rdx, rsi
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
imul rdx, rbx, 0x38
add rdx, r15
mov r12, qword [rsp + 0x60]
imul r8, r12, 0x38
mov rcx, r15
call sub.VCRUNTIME140.dll_memmove
mov rdx, rbx
shl rdx, 5
add rdx, rsi
mov r8, r12
shl r8, 5
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
mov eax, 0x8b251b83
mov rdx, qword [rsp + 0x58]
nop dword [rax]
mov ecx, dword [0x141dd5d58]
imul ecx, dword [0x141dd5d5c]
shr ecx, 1
imul rcx, rax
shr rcx, 0x3c
imul ecx, ecx, 0xb3cb0e5
or ecx, 0xe3cee2cb
cmp ecx, 0x17b4706a
jb 0x1400bedf0
mov rax, qword [rdx + 0x30]
cmp qword [rdx + 0x20], 0
je 0x1400bee90
nop word cs:[rax + rax]
mov ecx, dword [0x141dd5d68]
imul ecx, dword [0x141dd5d6c]
or ecx, 0xffbdf6be
imul ecx, ecx, 0xae05802e
cmp ecx, 0x120f6a9c
jb 0x1400bee30
test rax, rax
je 0x1400beebf
lea rdi, [rsi + 0x3d8]
mov eax, dword [0x141dd5d88]
or eax, dword [0x141dd5d8c]
lea r14, [rbp*8 + 0x3d8]
add r14, r13
xor eax, 0x6cd6faca
imul eax, eax, 0x778a30a1
cmp eax, 0xa136233e
jne 0x1400bef97
jmp 0x1400befd4
mov ecx, dword [0x141dd5d60]
sub ecx, dword [0x141dd5d64]
imul ecx, ecx, 0xe68235ec
or ecx, 0xb2978826
imul ecx, ecx, 0x7906a62c
cmp ecx, 0x861713ca
je 0x1400bee90
test rax, rax
je 0x1400bf260
ud2
ud2
ud2
mov eax, dword [0x141dd5d28]
xor edx, edx
div dword [0x141dd5d2c]
add eax, 0x9c2ae65d
cmp eax, 0xf9827bbb
jbe 0x1400bef40
ud2
mov eax, dword [0x141dd5d30]
imul eax, dword [0x141dd5d34]
and eax, 0x60745d83
imul eax, eax, 0x598bc985
ud2
mov eax, dword [0x141dd5d90]
sub eax, dword [0x141dd5d94]
imul r15d, eax, 0x5f9d2fba
add r15d, 0x9e20aea0
or r15d, 0x140c589a
lea r8, [rbx*8]
mov rcx, r14
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
cmp r15d, 0xb0ca359
jae 0x1400befe9
lea r8, [rbx*8]
mov rcx, r14
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1400bef97
lea rdx, [rdi + rbx*8]
lea r8, [r12*8 + 8]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
test rbx, rbx
mov r9, qword [rsp + 0x28]
je 0x1400bf0b4
mov rcx, rbx
and rcx, 3
je 0x1400bf0aa
xor r8d, r8d
nop dword [rax + rax]
mov eax, dword [0x141dd5d98]
mov edx, dword [0x141dd5d9c]
add eax, edx
add eax, 0x43525ec
or eax, 0xed0f8484
cmp eax, 0xd38a5537
jae 0x1400bf060
mov rax, qword [r13 + rbp*8 + 0x3d8]
mov qword [rax + 0x160], r13
mov word [rax + 0x3d0], bp
nop word cs:[rax + rax]
mov eax, dword [0x141dd5da0]
xor edx, edx
div dword [0x141dd5da4]
or eax, 0x1da3f5e1
imul eax, eax, 0x3e7165b6
and eax, 0x17662202
mov rdx, qword [r13 + rbp*8 + 0x3d8]
mov qword [rdx + 0x160], r13
mov word [rdx + 0x3d0], bp
cmp eax, 0x396fe558
ja 0x1400bf060
inc rbp
inc r8
cmp r8, rcx
jne 0x1400bf020
cmp rbx, 4
jae 0x1400bf29c
cmp r12, 0xffffffffffffffff
je 0x1400bf260
lea r9, [r12 + 1]
mov ecx, r9d
and ecx, 3
nop dword [rax]
mov eax, dword [0x141dd5db8]
xor edx, edx
div dword [0x141dd5dbc]
xor eax, 0x18e6aab5
imul eax, eax, 0x82c925fe
and eax, 0x1a2c9820
cmp eax, 0xd79ec494
ja 0x1400bf0d0
xor r8d, r8d
cmp r12, 3
jb 0x1400bf1b2
and r9, 0xfffffffffffffffc
nop word cs:[rax + rax]
mov eax, dword [0x141dd5dc0]
xor edx, edx
div dword [0x141dd5dc4]
imul rax, rax, 0x728619cf
shr rax, 0x3d
or eax, 0x7ee95758
imul rax, rax, 0x11dcce13
shr rax, 0x3b
cmp eax, 0x90eda71b
ja 0x1400bf110
mov rax, qword [rsi + r8*8 + 0x3d8]
mov qword [rax + 0x160], rsi
mov edx, r8d
mov word [rax + 0x3d0], r8w
mov rax, qword [rsi + r8*8 + 0x3e0]
mov qword [rax + 0x160], rsi
lea r10d, [rdx + 1]
mov word [rax + 0x3d0], r10w
mov rax, qword [rsi + r8*8 + 0x3e8]
mov qword [rax + 0x160], rsi
lea r10d, [rdx + 2]
mov word [rax + 0x3d0], r10w
mov rax, qword [rsi + r8*8 + 0x3f0]
add r8, 4
mov qword [rax + 0x160], rsi
add edx, 3
mov word [rax + 0x3d0], dx
cmp r8, r9
jne 0x1400bf140
test rcx, rcx
je 0x1400bf260
xor eax, eax
jmp 0x1400bf1cf
inc r8
inc rax
dec rcx
je 0x1400bf260
mov edx, dword [0x141dd5d70]
imul edx, dword [0x141dd5d74]
add edx, 0xb13d99e3
imul r9, rdx, 0x1f1c14c3
shr r9, 0x20
sub edx, r9d
shr edx, 1
add edx, r9d
shr edx, 0x1f
cmp edx, 0x1c38ca4e
je 0x1400bf246
mov edx, dword [0x141dd5d78]
add edx, dword [0x141dd5d7c]
mov r9, qword [rsi + r8*8 + 0x3d8]
mov qword [r9 + 0x160], rsi
mov word [r9 + 0x3d0], r8w
imul rdx, rdx, 0x6fee7d97
shr rdx, 0x3d
or edx, 0x94110c6
add edx, 0x230a08f6
cmp edx, 0xc51f5eaa
jbe 0x1400bf1c0
mov rdx, qword [rdi + r8*8]
mov qword [rdx + 0x160], rsi
mov word [rdx + 0x3d0], r8w
jmp 0x1400bf200
mov eax, dword [0x141dd5d80]
sub eax, dword [0x141dd5d84]
add eax, 0xfa9d3ac2
or eax, 0x8d1d362f
imul rax, rax, 0x7d6829a5
shr rax, 0x3d
cmp eax, 0x12a5b3e1
ja 0x1400bf260
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
inc r9
jmp 0x1400bf2bd
add rbp, 4
cmp r9, rbp
je 0x1400bf0b4
mov eax, dword [0x141dd5da8]
sub eax, dword [0x141dd5dac]
imul eax, eax, 0x882e8f23
imul rax, rax, 0x4600387
shr rax, 0x3a
add eax, 0xa3de2145
cmp eax, 0xc648fc1a
ja 0x1400bf375
nop word [rax + rax]
mov eax, dword [0x141dd5db0]
and eax, dword [0x141dd5db4]
xor eax, 0x4241048
or eax, 0x9bc347b2
lea ecx, [rbp + 1]
lea edx, [rbp + 2]
mov r8, qword [r13 + rbp*8 + 0x3d8]
mov qword [r8 + 0x160], r13
mov word [r8 + 0x3d0], bp
mov r8, qword [r13 + rbp*8 + 0x3e0]
mov qword [r8 + 0x160], r13
mov word [r8 + 0x3d0], cx
lea ecx, [rbp + 3]
mov r8, qword [r13 + rbp*8 + 0x3e8]
mov qword [r8 + 0x160], r13
mov word [r8 + 0x3d0], dx
mov rdx, qword [r13 + rbp*8 + 0x3f0]
mov qword [rdx + 0x160], r13
mov word [rdx + 0x3d0], cx
cmp eax, 0x3acf8d95
jne 0x1400bf2b0
mov rax, qword [r13 + rbp*8 + 0x3d8]
mov qword [rax + 0x160], r13
mov word [rax + 0x3d0], bp
mov rax, qword [r13 + rbp*8 + 0x3e0]
mov qword [rax + 0x160], r13
lea ecx, [rbp + 1]
mov word [rax + 0x3d0], cx
mov rax, qword [r13 + rbp*8 + 0x3e8]
mov qword [rax + 0x160], r13
lea ecx, [rbp + 2]
mov word [rax + 0x3d0], cx
mov rax, qword [r13 + rbp*8 + 0x3f0]
mov qword [rax + 0x160], r13
lea ecx, [rbp + 3]
mov word [rax + 0x3d0], cx
jmp 0x1400bf2f0