Function at 0x1401bd510
Capabilities:
Encode data using xor

Disassembly:
xchg rcx, r9
mov qword [rsp + 8], r9
xchg r9, rcx
nop
mov qword [rsp - 8], rbx
sub rsp, 8
push r13
sub rsp, 0x38
movabs rax, 0xfffffff2aa28df2
xor rax, 0x1719d5a9
add rax, 0x46eb0b9
sub rax, 0x4221ff94
add rax, 0x6ec8d66a
add rax, 0x7fffffff
add rax, 0x112f2016
mov r13, rcx
bsr rcx, rax
mov ebx, 0x4ba3c3fa
sub ebx, 0x35a46f3e
xor ebx, 0xc4babdb
sub ebx, 0x18ce966b
xor ebx, 0x1e3fcdf
xor ebx, 0x4ae8fa68
add ebx, 0x248025e1
sub ebx, 0x67ab9f23
sub ebx, 0x8c1f508
mov eax, ebx
shl rax, cl
cmp rdx, rax
ja 0x1401bd9d1
mov qword [rsp + 0x58], rbp
lea rax, [rdx - 1]
mov rbp, qword [r13 + 8]
or rax, rbx
bsr rcx, rax
mov qword [rsp + 0x60], rsi
xchg r8, r12
mov r12, rbp
xchg r12, r8
inc ecx
mov qword [rsp + 0x68], rdi
shl rbx, cl
mov qword [rsp + 0x30], r12
lea r12, [r13 + 0x18]
xchg r12, rcx
mov r12, rcx
xchg r12, rcx
lea rdx, [rbx + rbx]
call fcn.1401bcb70
xchg rbx, r11
mov qword [r13 + 0x38], r11
xchg rbx, r11
lea rax, [rbx - 1]
xchg r15, rax
mov qword [r13 + 0x30], r15
xchg r15, rax
xchg rbp, rdi
mov rbp, qword [r13 + 8]
xchg rbp, rdi
mov rdi, qword [rdi]
xchg rbx, rsi
mov rbx, rdi
xchg rsi, rbx
cmp rdi, rbp
je 0x1401bd939
xchg r14, rbx
mov qword [rsp + 0x28], rbx
xchg r14, rbx
movabs rax, 0xcbf29ce46411d834
sub rax, 0x1931cf6f
add rax, 0x16aa41a1
sub rax, 0x1a472e64
sub rax, 0xe5ecdb1
add rax, 0x4b3dd4d4
xchg r15, rcx
mov qword [rsp + 0x20], rcx
xchg rcx, r15
movabs r10, 0x10014fc34e1
add r10, 0x361d8e59
add r10, 0x964a0fb
sub r10, 0x3ae43308
add r10, 0x426cc76e
add r10, 0xa8716af
sub r10, 0x524a81b6
xor r10, 0x6c655c75
sub r10, 0x7826d02e
nop dword [rax + rax]
xchg r9, rbp
mov rbp, qword [rdi + 0x28]
xchg rbp, r9
lea r8, [rdi + 0x10]
mov rsi, qword [rsi]
xchg r15, r12
mov r12, qword [rdi + 0x20]
xchg r15, r12
cmp r9, 0x10
jb 0x1401bd6d0
mov r8, qword [rdi + 0x10]
xor ecx, ecx
xchg rdx, r14
mov r14, rax
xchg r14, rdx
test r15, r15
je 0x1401bd729
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r8]
inc rcx
push rdx
xor edx, eax
push rdx
xor rdx, qword [rsp + 8]
shr rdx, 0x20
ror rax, 0x20
xor edx, eax
ror rax, 0x20
shl rdx, 0x20
xor rdx, qword [rsp]
add rsp, 0x10
imul rdx, r10
cmp rcx, r15
jb 0x1401bd6f1
mov r13, qword [r13 + 0x30]
and r13, rdx
shl r13, 1
shl r13, 2
shl r13, 1
add r13, qword [r12]
mov r12, qword [r13]
cmp r12, rbp
jne 0x1401bd75e
mov qword [r13], rdi
xchg rbp, rdi
mov qword [r13 + 8], rbp
xchg rdi, rbp
jmp 0x1401bd8e0
mov rbx, qword [r13 + 8]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
xchg r9, rax
mov r9, qword [rdx + 0x10]
xchg r9, rax
jb 0x1401bd77c
mov rdx, qword [rdx]
lea rcx, [rdi + 0x10]
cmp r9, 0x10
jb 0x1401bd78e
mov rcx, qword [rdi + 0x10]
cmp r15, rax
jne 0x1401bd7f7
xchg r15, r9
mov r8, r9
xchg r15, r9
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1401bd7ed
mov r8, qword [rbx]
cmp r8, rdi
je 0x1401bd7e4
mov rdx, qword [rdi + 8]
mov qword [rdx], rsi
mov rcx, qword [rsi + 8]
xchg r8, rbx
mov qword [rcx], rbx
xchg r8, rbx
mov rax, qword [r8 + 8]
mov qword [rax], rdi
mov qword [r8 + 8], rcx
mov qword [rsi + 8], rdx
xchg rbp, rax
mov qword [rdi + 8], rbp
xchg rbp, rax
mov qword [r13 + 8], rdi
jmp 0x1401bd8b3
xchg r12, r9
mov r12, qword [rdi + 0x28]
xchg r9, r12
cmp r12, rbx
je 0x1401bd86c
nop word [rax + rax]
mov rbx, qword [rbx + 8]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
xchg rsi, rax
mov rsi, qword [rdx + 0x10]
xchg rsi, rax
jb 0x1401bd828
mov rdx, qword [rdx]
lea rcx, [rdi + 0x10]
cmp r9, 0x10
jb 0x1401bd83a
mov rcx, qword [rdi + 0x10]
cmp r15, rax
jne 0x1401bd863
xchg r15, r8
mov r15, r8
xchg r8, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1401bd980
xchg r15, r9
mov r15, qword [rdi + 0x28]
xchg r15, r9
cmp r12, rbx
jne 0x1401bd80a
xchg r12, rdx
mov r12, qword [rdi + 8]
xchg rdx, r12
mov qword [rdx], rsi
xchg rcx, rbp
mov rbp, qword [rsi + 8]
xchg rbp, rcx
xchg rdx, rbx
mov qword [rcx], rdx
xchg rdx, rbx
mov rax, qword [rbx + 8]
mov qword [rax], rdi
xchg r9, rcx
mov qword [rbx + 8], r9
xchg rcx, r9
xchg r11, rdx
mov qword [rsi + 8], r11
xchg r11, rdx
xchg r14, rax
mov qword [rdi + 8], r14
xchg r14, rax
mov qword [r13], rdi
movabs r10, 0x1005b733cb7
sub r10, 0x434b2b4e
add r10, 0x26f62e29
add r10, 0x1cab2ed4
add r10, 0x109e5932
sub r10, 0x6c67c5e5
mov r13, qword [rsp + 0x50]
xchg rdi, rsi
mov rsi, rdi
xchg rdi, rsi
movabs rax, 0xcbf29ce47d4cd246
sub rax, 0x4ddd3f8a
xor rax, 0x64d69744
xor rax, 0x7890b7f
add rax, 0x2dee6fc
add rax, 0x7fffffff
sub rax, 0x4aecd25d
lea r12, [r13 + 0x18]
cmp rsi, rbp
jne 0x1401bd6a7
xchg rbp, r15
mov rbp, qword [rsp + 0x20]
xchg rbp, r15
mov r14, qword [rsp + 0x28]
xchg rdi, r12
mov r12, qword [rsp + 0x68]
xchg r12, rdi
xchg rsi, r11
mov r11, qword [rsp + 0x60]
xchg rsi, r11
mov rbp, qword [rsp + 0x58]
xchg rsi, r12
mov rsi, qword [rsp + 0x30]
xchg rsi, r12
add rsp, 0x38
nop
add rsp, 8
xchg qword [rsp - 8], r13
nop
add rsp, 8
mov rbx, qword [rsp - 8]
nop
add rsp, 8
jmp qword [rsp - 8]
xchg r10, r8
mov r10, qword [rbx]
xchg r8, r10
xchg rbx, rdx
mov rbx, qword [rdi + 8]
xchg rbx, rdx
xchg rsi, r13
mov qword [rdx], r13
xchg r13, rsi
xchg rcx, r9
mov r9, qword [rsi + 8]
xchg rcx, r9
xchg r8, r11
mov qword [rcx], r11
xchg r8, r11
xchg r12, rax
mov r12, qword [r8 + 8]
xchg r12, rax
mov qword [rax], rdi
xchg r9, rcx
mov qword [r8 + 8], r9
xchg rcx, r9
mov qword [rsi + 8], rdx
mov qword [rdi + 8], rax
jmp 0x1401bd8b3
lea rcx, [0x140001530]
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3