Function at 0x140141528
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x140]
sub rsp, 0x240
mov rax, qword [0x140202540]
xor rax, rsp
mov qword [rbp + 0x138], rax
mov rbx, r8
mov qword [rsp + 0x30], rcx
mov r8d, 0x20
lea rcx, [rbp + 0x118]
call sub.VCRUNTIME140.dll_memcpy
mov rdx, rbx
lea rcx, [rbp + 0xf0]
call fcn.14013e520
mov ebx, 0x28
lea rcx, [rbp + 0xa0]
mov r8d, ebx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
lea edi, [rbx - 0x27]
mov r8d, ebx
xor edx, edx
mov qword [rbp + 0xa0], rdi
lea rcx, [rbp + 0x78]
call sub.VCRUNTIME140.dll_memset
movups xmm0, xmmword [rbp + 0xf0]
mov r8d, ebx
xor edx, edx
movups xmm1, xmmword [rbp + 0x100]
lea rcx, [rbp + 0x50]
movups xmmword [rbp + 0xc8], xmm0
movsd xmm0, qword [rbp + 0x110]
movsd qword [rbp + 0xe8], xmm0
movups xmmword [rbp + 0xd8], xmm1
call sub.VCRUNTIME140.dll_memset
xor r13d, r13d
mov qword [rbp + 0x50], rdi
mov ecx, 0xfe
lea r10d, [rbx - 0x23]
mov r8d, r13d
mov dword [rsp + 0x20], ecx
mov r14d, 0x1db42
mov eax, ecx
mov r11, r10
shr rax, 3
movzx ecx, cl
and ecx, 7
movzx edx, byte [rbp + rax + 0x118]
shr edx, cl
and edx, edi
mov eax, r8d
mov r9d, edx
mov r8, r13
xor r9, rax
mov ebx, edx
neg r9
mov qword [rsp + 0x28], rbx
mov rax, qword [rbp + r8 + 0xa0]
mov rdx, qword [rbp + r8 + 0xc8]
lea r8, [r8 + 8]
mov rcx, rax
xor rcx, rdx
and rcx, r9
xor rax, rcx
xor rdx, rcx
mov qword [rbp + r8 + 0x98], rax
mov qword [rbp + r8 + 0xc0], rdx
sub r11, rdi
jne 0x140141637
mov r8, r13
mov rax, qword [rbp + r8 + 0x78]
mov rdx, qword [rbp + r8 + 0x50]
lea r8, [r8 + 8]
mov rcx, rax
xor rcx, rdx
and rcx, r9
xor rax, rcx
xor rdx, rcx
mov qword [rbp + r8 + 0x70], rax
mov qword [rbp + r8 + 0x48], rdx
sub r10, rdi
jne 0x140141672
lea r8, [rbp + 0x50]
mov dword [rsp + 0x24], ebx
lea rdx, [rbp + 0xc8]
lea rcx, [rbp - 0x50]
call fcn.14013ec24
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0xa0]
lea rcx, [rsp + 0x38]
call fcn.14013ec24
mov rcx, qword [rbp + 0xa0]
lea r8, [rbp - 0x28]
add rcx, qword [rbp + 0x78]
lea rdx, [rbp - 0x50]
mov qword [rbp - 0x28], rcx
mov rcx, qword [rbp + 0xa8]
add rcx, qword [rbp + 0x80]
mov qword [rbp - 0x20], rcx
mov rcx, qword [rbp + 0xb0]
add rcx, qword [rbp + 0x88]
mov qword [rbp - 0x18], rcx
mov rcx, qword [rbp + 0xb8]
add rcx, qword [rbp + 0x90]
mov qword [rbp - 0x10], rcx
mov rcx, qword [rbp + 0xc0]
add rcx, qword [rbp + 0x98]
mov qword [rbp - 8], rcx
mov rcx, qword [rbp + 0x50]
add rcx, qword [rbp + 0xc8]
mov qword [rsp + 0x60], rcx
mov rcx, qword [rbp + 0xd0]
add rcx, qword [rbp + 0x58]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rbp + 0xd8]
add rcx, qword [rbp + 0x60]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rbp + 0xe0]
add rcx, qword [rbp + 0x68]
mov qword [rsp + 0x78], rcx
mov rcx, qword [rbp + 0xe8]
add rcx, qword [rbp + 0x70]
mov qword [rbp - 0x80], rcx
lea rcx, [rbp + 0x50]
call fcn.14013ec94
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x78]
call fcn.14013ec94
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x78]
call fcn.14013f0d8
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x28]
call fcn.14013f0d8
mov rcx, qword [rbp + 0x50]
lea r8, [rbp + 0x78]
add rcx, qword [rbp + 0x78]
lea rdx, [rbp + 0x50]
mov qword [rbp], rcx
mov rcx, qword [rbp + 0x80]
add rcx, qword [rbp + 0x58]
mov qword [rbp + 8], rcx
mov rcx, qword [rbp + 0x88]
add rcx, qword [rbp + 0x60]
mov qword [rbp + 0x10], rcx
mov rcx, qword [rbp + 0x90]
add rcx, qword [rbp + 0x68]
mov qword [rbp + 0x18], rcx
mov rcx, qword [rbp + 0x98]
add rcx, qword [rbp + 0x70]
mov qword [rbp + 0x20], rcx
lea rcx, [rsp + 0x60]
call fcn.14013ec24
lea r8, [rbp - 0x78]
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0xa0]
call fcn.14013ec94
lea r8, [rbp - 0x78]
lea rdx, [rbp + 0x28]
lea rcx, [rsp + 0x38]
call fcn.14013ec24
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x78]
call fcn.14013f0d8
mov rax, qword [rsp + 0x58]
mul r14
mov rsi, rax
mov r15, rdx
mov rax, qword [rsp + 0x50]
mul r14
mov r11, rax
mov rbx, rdx
mov rax, qword [rsp + 0x48]
mul r14
mov r9, rax
mov r10, rdx
mov rax, qword [rsp + 0x40]
mul r14
mov rcx, rax
mov r8, rdx
mov rax, qword [rsp + 0x38]
mul r14
mov r14, rax
shl rdx, 0xd
mov rdi, rax
shr r14, 0x33
or r14, rdx
add r14, rcx
mov rax, r14
setb cl
shr rax, 0x33
movzx r12d, cl
add r12, r8
shl r12, 0xd
or r12, rax
add r12, r9
setb al
movzx r9d, al
mov rax, r12
shr rax, 0x33
add r9, r10
shl r9, 0xd
or r9, rax
add r9, r11
setb al
movzx r8d, al
mov rax, r9
shr rax, 0x33
add r8, rbx
shl r8, 0xd
or r8, rax
add r8, rsi
movabs rsi, 0x7ffffffffffff
setb al
and rdi, rsi
movzx ecx, al
and r14, rsi
add rcx, r15
mov rax, r8
shl rcx, 0xd
and r12, rsi
shr rax, 0x33
and r9, rsi
or rcx, rax
mov qword [rbp + 0x68], r9
imul rdx, rcx, 0x13
add rdx, rdi
mov rax, rdx
and rdx, rsi
shr rax, 0x33
movzx ecx, al
add rcx, r14
mov qword [rbp + 0x50], rdx
mov rax, rcx
lea rdx, [rbp]
shr rcx, 0x33
and rax, rsi
add rcx, r12
mov qword [rbp + 0x58], rax
and r8, rsi
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x70], r8
lea rcx, [rbp + 0xc8]
call fcn.14013f0d8
mov rcx, qword [rbp + 0x50]
lea r8, [rbp + 0x78]
add rcx, qword [rbp - 0x78]
lea rdx, [rbp + 0xf0]
mov qword [rbp - 0x50], rcx
mov rcx, qword [rbp + 0x58]
add rcx, qword [rbp - 0x70]
mov qword [rbp - 0x48], rcx
mov rcx, qword [rbp + 0x60]
add rcx, qword [rbp - 0x68]
mov qword [rbp - 0x40], rcx
mov rcx, qword [rbp + 0x68]
add rcx, qword [rbp - 0x60]
mov qword [rbp - 0x38], rcx
mov rcx, qword [rbp + 0x70]
add rcx, qword [rbp - 0x58]
mov qword [rbp - 0x30], rcx
lea rcx, [rbp + 0x50]
call fcn.14013ec94
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x38]
lea rcx, [rbp + 0x78]
call fcn.14013ec94
mov ecx, dword [rsp + 0x20]
mov edi, 1
mov r8d, dword [rsp + 0x24]
sub ecx, edi
mov dword [rsp + 0x20], ecx
mov r14d, 0x1db42
lea r10d, [rdi + 4]
jns 0x140141606
mov r10, qword [rsp + 0x28]
lea r9d, [rdi + 4]
mov r10d, r10d
mov r8, r13
neg r10
mov r11d, r9d
mov rax, qword [rbp + r8 + 0xa0]
mov rdx, qword [rbp + r8 + 0xc8]
lea r8, [r8 + 8]
mov rcx, rax
xor rcx, rdx
and rcx, r10
xor rax, rcx
xor rdx, rcx
mov qword [rbp + r8 + 0x98], rax
mov qword [rbp + r8 + 0xc0], rdx
sub r11, rdi
jne 0x1401419f6
mov rax, qword [rbp + r13 + 0x78]
mov rdx, qword [rbp + r13 + 0x50]
lea r13, [r13 + 8]
mov rcx, rax
xor rcx, rdx
and rcx, r10
xor rax, rcx
xor rdx, rcx
mov qword [rbp + r13 + 0x70], rax
mov qword [rbp + r13 + 0x48], rdx
sub r9, rdi
jne 0x140141a2e
movups xmm0, xmmword [rbp + 0x78]
lea rdx, [rbp + 0xf0]
movups xmm1, xmmword [rbp + 0x88]
lea rcx, [rbp + 0x78]
movups xmmword [rbp + 0xf0], xmm0
movsd xmm0, qword [rbp + 0x98]
movsd qword [rbp + 0x110], xmm0
movups xmmword [rbp + 0x100], xmm1
call fcn.14013e794
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0xa0]
call fcn.14013ec94
mov rcx, qword [rsp + 0x30]
lea rdx, [rbp + 0xa0]
call fcn.14013f364
mov rcx, qword [rbp + 0x138]
xor rcx, rsp
call fcn.1401463b0
mov rbx, qword [rsp + 0x298]
add rsp, 0x240
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret