Function at 0x1401bd580
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
nop
push r8
mov qword [rsp], rbx
nop
mov qword [rsp - 8], r13
sub rsp, 8
sub rsp, 0x38
movabs rax, 0xfffffff37530bd9
add rax, 0x2f99210a
sub rax, 0x588543fc
add rax, 0x5b21f501
add rax, 0x709b178
sub rax, 0x677ca474
add rax, 0x7fffffff
add rax, 0x76ea1514
xchg rcx, r13
mov rcx, r13
xchg r13, rcx
bsr rcx, rax
mov ebx, 0x7b41e757
sub ebx, 0x1e9a532f
sub ebx, 0x519b32d
sub ebx, 0x65248cc
add ebx, 0x682ff0f
sub ebx, 0x156a7888
sub ebx, 0x42541eb5
mov eax, ebx
shl rax, cl
cmp rdx, rax
ja 0x1401bda34
xchg r14, rbp
mov qword [rsp + 0x58], r14
xchg r14, rbp
lea rax, [rdx - 1]
xchg rbp, rsi
mov rsi, qword [r13 + 8]
xchg rsi, rbp
or rax, rbx
bsr rcx, rax
xchg r10, rsi
mov qword [rsp + 0x60], r10
xchg rsi, r10
xchg rbp, rbx
mov r8, rbx
xchg rbx, rbp
inc ecx
xchg rdi, r15
mov qword [rsp + 0x68], r15
xchg rdi, r15
shl rbx, cl
mov qword [rsp + 0x30], r12
lea r12, [r13 + 0x18]
xchg rcx, rdx
mov rdx, r12
xchg rdx, rcx
lea rdx, [rbx + rbx]
call fcn.1401bcea0
mov qword [r13 + 0x38], rbx
lea rax, [rbx - 1]
mov qword [r13 + 0x30], rax
mov rdi, qword [r13 + 8]
mov rdi, qword [rdi]
mov rsi, rdi
cmp rdi, rbp
je 0x1401bd9c0
xchg rdi, r14
mov qword [rsp + 0x28], rdi
xchg rdi, r14
movabs rax, 0xcbf29ce4005ab4e9
add rax, 0x1eed65f1
sub rax, 0x1ad06287
add rax, 0x34e1fefa
xor rax, 0x75b822e7
add rax, 0x37408d7b
xchg r15, rbx
mov qword [rsp + 0x20], rbx
xchg rbx, r15
movabs r10, 0x1001c68b3bc
add r10, 0x24438b28
sub r10, 0x1bfa59e2
xor r10, 0x4c4b8326
sub r10, 0x37308836
sub r10, 0x7586067
add r10, 0x54f009ee
sub r10, 0x7f6185c2
nop dword [rax + rax]
xchg r9, r11
mov r11, qword [rdi + 0x28]
xchg r9, r11
lea r8, [rdi + 0x10]
mov rsi, qword [rsi]
mov r15, qword [rdi + 0x20]
cmp r9, 0x10
jb 0x1401bd73a
xchg r9, r8
mov r9, qword [rdi + 0x10]
xchg r8, r9
xor edx, edx
mov rcx, rax
test r15, r15
je 0x1401bd78d
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
push rcx
xor ecx, eax
push rcx
xor rcx, qword [rsp + 8]
shr rcx, 0x20
ror rax, 0x20
xor ecx, eax
ror rax, 0x20
shl rcx, 0x20
or rcx, qword [rsp]
add rsp, 0x10
imul rcx, r10
cmp rdx, r15
jb 0x1401bd755
and rcx, qword [r13 + 0x30]
mov r13, qword [r12]
shl rcx, 1
shl rcx, 1
shl rcx, 2
add r13, rcx
xchg r12, r14
mov r14, qword [r13]
xchg r14, r12
cmp r12, rbp
jne 0x1401bd7c8
mov qword [r13], rdi
xchg rdi, rbp
mov qword [r13 + 8], rbp
xchg rdi, rbp
jmp 0x1401bd961
xchg r10, rbx
mov r10, qword [r13 + 8]
xchg rbx, r10
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
xchg r12, rax
mov r12, qword [rdx + 0x10]
xchg r12, rax
jb 0x1401bd7ec
mov rdx, qword [rdx]
lea rcx, [rdi + 0x10]
cmp r9, 0x10
jb 0x1401bd804
xchg r11, rcx
mov r11, qword [rdi + 0x10]
xchg r11, rcx
cmp r15, rax
jne 0x1401bd883
xchg r8, r10
mov r10, r15
xchg r10, r8
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1401bd87f
xchg r8, r10
mov r10, qword [rbx]
xchg r8, r10
cmp r8, rdi
je 0x1401bd876
xchg rdx, r12
mov r12, qword [rdi + 8]
xchg rdx, r12
mov qword [rdx], rsi
xchg r9, rcx
mov r9, qword [rsi + 8]
xchg rcx, r9
xchg r12, r8
mov qword [rcx], r12
xchg r12, r8
xchg r11, rax
mov r11, qword [r8 + 8]
xchg r11, rax
mov qword [rax], rdi
xchg rdx, rcx
mov qword [r8 + 8], rdx
xchg rdx, rcx
mov qword [rsi + 8], rdx
xchg r12, rax
mov qword [rdi + 8], r12
xchg r12, rax
mov qword [r13 + 8], rdi
jmp 0x1401bd92d
mov r9, qword [rdi + 0x28]
cmp r12, rbx
je 0x1401bd8f8
nop word [rax + rax]
mov rbx, qword [rbx + 8]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
xchg r8, rax
mov r8, qword [rdx + 0x10]
xchg r8, rax
jb 0x1401bd8b4
mov rdx, qword [rdx]
lea rcx, [rdi + 0x10]
cmp r9, 0x10
jb 0x1401bd8cc
xchg r8, rcx
mov r8, qword [rdi + 0x10]
xchg r8, rcx
cmp r15, rax
jne 0x1401bd8ef
xchg r8, r15
mov r15, r8
xchg r15, r8
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1401bd9f7
mov r9, qword [rdi + 0x28]
cmp r12, rbx
jne 0x1401bd896
xchg rbp, rdx
mov rbp, qword [rdi + 8]
xchg rdx, rbp
mov qword [rdx], rsi
mov rcx, qword [rsi + 8]
mov qword [rcx], rbx
mov rax, qword [rbx + 8]
mov qword [rax], rdi
mov qword [rbx + 8], rcx
xchg rdx, r15
mov qword [rsi + 8], r15
xchg rdx, r15
xchg rbx, rax
mov qword [rdi + 8], rbx
xchg rbx, rax
mov qword [r13], rdi
movabs r10, 0x1005f8c662d
add r10, 0x9d8eb1a
xor r10, 0x6c987603
add r10, 0x1f6530a0
add r10, 0x5f150c1
xor r10, 0x3ee2007
sub r10, 0x28bd86ef
mov r13, qword [rsp + 0x50]
mov rdi, rsi
movabs rax, 0xcbf29ce46b8b3ae7
sub rax, 0xb448cc3
add rax, 0x1066399d
sub rax, 0x66b9cdde
add rax, 0x2aff3563
add rax, 0xdbb3b52
sub rax, 0x193e7fc8
add rax, 0x5ab31855
lea r12, [r13 + 0x18]
cmp rsi, rbp
jne 0x1401bd711
xchg rcx, r15
mov rcx, qword [rsp + 0x20]
xchg r15, rcx
xchg r14, r15
mov r15, qword [rsp + 0x28]
xchg r15, r14
xchg rdi, r15
mov r15, qword [rsp + 0x68]
xchg r15, rdi
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
mov r12, qword [rsp + 0x30]
add rsp, 0x38
push rcx
push rdx
push rdx
xchg qword [rsp + 0x18], r13
pop rdx
pop rdx
pop rcx
add rsp, 8
nop
xchg qword [rsp], rbx
add rsp, 8
ret
mov r8, qword [rbx]
xchg rdx, r12
mov r12, qword [rdi + 8]
xchg r12, rdx
mov qword [rdx], rsi
mov rcx, qword [rsi + 8]
mov qword [rcx], r8
xchg r13, rax
mov r13, qword [r8 + 8]
xchg r13, rax
mov qword [rax], rdi
xchg rcx, rbx
mov qword [r8 + 8], rbx
xchg rbx, rcx
mov qword [rsi + 8], rdx
xchg rbp, rax
mov qword [rdi + 8], rbp
xchg rbp, rax
jmp 0x1401bd92d
lea rcx, [0x140001530]
call fcn.1401fdeb0
int3