Function at 0x1400d0bc0
Capabilities:
Encode data using xor

Disassembly:
xchg rcx, rbx
mov qword [rsp + 8], rbx
xchg rcx, rbx
nop
push 0x51aa6b16
mov qword [rsp], rbx
push r13
sub rsp, 0x38
movabs rax, 0xfffffff223d2006
add rax, 0x7fffffff
add rax, 0x5dc2dffa
mov r13, rcx
bsr rcx, rax
mov ebx, 0x334a83fa
xor ebx, 0x334a83fb
mov eax, ebx
shl rax, cl
cmp rdx, rax
ja 0x1400d0f8f
mov qword [rsp + 0x58], rbp
lea rax, [rdx - 1]
mov rbp, qword [r13 + 8]
or rax, rbx
bsr rcx, rax
xchg r9, rsi
mov qword [rsp + 0x60], r9
xchg rsi, r9
xchg rdi, rbp
mov r8, rdi
xchg rdi, rbp
inc ecx
xchg r10, rdi
mov qword [rsp + 0x68], r10
xchg rdi, r10
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.1400d03f0
xchg r11, rbx
mov qword [r13 + 0x38], r11
xchg rbx, r11
lea rax, [rbx - 1]
mov qword [r13 + 0x30], rax
mov rdi, qword [r13 + 8]
mov rdi, qword [rdi]
xchg rsi, rdx
mov rdx, rdi
xchg rdx, rsi
cmp rdi, rbp
je 0x1400d0f10
mov qword [rsp + 0x28], r14
movabs rax, 0xcbf29ce44f126568
add rax, 0x350fbdbd
mov qword [rsp + 0x20], r15
movabs r10, 0x10013ed92d2
sub r10, 0x13ed911f
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 0x1400d0ceb
mov r8, qword [rdi + 0x10]
xor ecx, ecx
xchg rdx, rcx
mov rcx, rax
xchg rcx, rdx
test r15, r15
je 0x1400d0d44
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 0x1400d0d0c
mov r13, qword [r13 + 0x30]
and r13, rdx
shl r13, 2
shl r13, 1
shl r13, 1
add r13, qword [r12]
mov r12, qword [r13]
cmp r12, rbp
jne 0x1400d0d79
mov qword [r13], rdi
xchg r14, rdi
mov qword [r13 + 8], r14
xchg rdi, r14
jmp 0x1400d0ed5
xchg rbx, r9
mov r9, qword [r13 + 8]
xchg r9, rbx
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
jb 0x1400d0d99
mov rdx, qword [rdx]
lea rcx, [rdi + 0x10]
cmp r9, 0x10
jb 0x1400d0dab
mov rcx, qword [rdi + 0x10]
cmp r15, rax
jne 0x1400d0e24
mov r8, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400d0e20
xchg r8, r12
mov r12, qword [rbx]
xchg r8, r12
cmp r8, rdi
je 0x1400d0e17
xchg r15, rdx
mov r15, qword [rdi + 8]
xchg r15, rdx
mov qword [rdx], rsi
mov rcx, qword [rsi + 8]
xchg r8, r9
mov qword [rcx], r9
xchg r9, r8
xchg r10, rax
mov r10, qword [r8 + 8]
xchg r10, rax
xchg rsi, rdi
mov qword [rax], rsi
xchg rdi, rsi
mov qword [r8 + 8], rcx
xchg r9, rdx
mov qword [rsi + 8], r9
xchg rdx, r9
xchg r8, rax
mov qword [rdi + 8], r8
xchg r8, rax
mov qword [r13 + 8], rdi
jmp 0x1400d0ec4
mov r9, qword [rdi + 0x28]
cmp r12, rbx
je 0x1400d0e99
nop word [rax + rax]
mov rbx, qword [rbx + 8]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
xchg r11, rax
mov r11, qword [rdx + 0x10]
xchg r11, rax
jb 0x1400d0e55
mov rdx, qword [rdx]
lea rcx, [rdi + 0x10]
cmp r9, 0x10
jb 0x1400d0e67
mov rcx, qword [rdi + 0x10]
cmp r15, rax
jne 0x1400d0e90
xchg rsi, r15
mov r8, rsi
xchg r15, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400d0f4a
xchg r13, r9
mov r13, qword [rdi + 0x28]
xchg r9, r13
cmp r12, rbx
jne 0x1400d0e37
mov rdx, qword [rdi + 8]
mov qword [rdx], rsi
mov rcx, qword [rsi + 8]
xchg rbx, rdi
mov qword [rcx], rdi
xchg rdi, rbx
mov rax, qword [rbx + 8]
mov qword [rax], rdi
mov qword [rbx + 8], rcx
mov qword [rsi + 8], rdx
mov qword [rdi + 8], rax
mov qword [r13], rdi
movabs r10, 0x100137ce38c
xor r10, 0x137ce23f
xchg rbx, r13
mov rbx, qword [rsp + 0x50]
xchg rbx, r13
xchg rbp, rdi
mov rbp, rsi
xchg rbp, rdi
movabs rax, 0xcbf29ce46fe441d3
add rax, 0x143de152
lea r12, [r13 + 0x18]
cmp rsi, rbp
jne 0x1400d0cc2
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x68]
xchg rsi, r12
mov r12, qword [rsp + 0x60]
xchg r12, rsi
mov rbp, qword [rsp + 0x58]
mov r12, qword [rsp + 0x30]
add rsp, 0x38
nop
xchg qword [rsp], r13
add rsp, 8
nop
add rsp, 8
mov rbx, qword [rsp - 8]
nop
add rsp, 8
jmp qword [rsp - 8]
mov r8, qword [rbx]
mov rdx, qword [rdi + 8]
mov qword [rdx], rsi
xchg rbx, rcx
mov rbx, qword [rsi + 8]
xchg rbx, rcx
xchg rbp, r8
mov qword [rcx], rbp
xchg r8, rbp
xchg r10, rax
mov r10, qword [r8 + 8]
xchg r10, rax
mov qword [rax], rdi
xchg rcx, rsi
mov qword [r8 + 8], rsi
xchg rsi, rcx
xchg rdx, r13
mov qword [rsi + 8], r13
xchg r13, rdx
mov qword [rdi + 8], rax
jmp 0x1400d0ec4
lea rcx, [0x140001550]
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3