Function at 0x1400d07c0
Capabilities:
Encode data using xor

Disassembly:
xchg rdi, rcx
mov qword [rsp + 8], rdi
xchg rcx, rdi
nop
mov qword [rsp - 8], rbx
sub rsp, 8
nop
mov qword [rsp - 8], r13
sub rsp, 8
sub rsp, 0x38
movabs rax, 0xfffffff6b2f34bf
add rax, 0x7fffffff
add rax, 0x14d0cb41
mov r13, rcx
bsr rcx, rax
mov ebx, 0x39c1f600
sub ebx, 0x39c1f5ff
mov eax, ebx
shl rax, cl
cmp rdx, rax
ja 0x1400d0bb2
mov qword [rsp + 0x58], rbp
lea rax, [rdx - 1]
xchg r9, rbp
mov r9, qword [r13 + 8]
xchg rbp, r9
or rax, rbx
bsr rcx, rax
mov qword [rsp + 0x60], rsi
xchg r8, rdx
mov rdx, rbp
xchg rdx, r8
inc ecx
mov qword [rsp + 0x68], rdi
shl rbx, cl
xchg rsi, r12
mov qword [rsp + 0x30], rsi
xchg r12, rsi
lea r12, [r13 + 0x18]
mov rcx, r12
lea rdx, [rbx + rbx]
call fcn.1400d0200
xchg r9, rbx
mov qword [r13 + 0x38], r9
xchg rbx, r9
lea rax, [rbx - 1]
mov qword [r13 + 0x30], rax
mov rdi, qword [r13 + 8]
mov rdi, qword [rdi]
xchg rsi, rbp
mov rbp, rdi
xchg rsi, rbp
cmp rdi, rbp
je 0x1400d0b24
mov qword [rsp + 0x28], r14
movabs rax, 0xcbf29ce42a964fa6
add rax, 0x598bd37f
xchg r15, rcx
mov qword [rsp + 0x20], rcx
xchg rcx, r15
movabs r10, 0x1006b34aa90
sub r10, 0x6b34a8dd
nop dword [rax + rax]
mov r9, qword [rdi + 0x28]
lea r8, [rdi + 0x10]
mov rsi, qword [rsi]
mov r15, qword [rdi + 0x20]
cmp r9, 0x10
jb 0x1400d08ed
xchg r8, rcx
mov rcx, qword [rdi + 0x10]
xchg r8, rcx
xor ecx, ecx
xchg r14, rax
mov rdx, r14
xchg r14, rax
test r15, r15
je 0x1400d0944
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 0x1400d090c
mov r13, qword [r13 + 0x30]
and r13, rdx
shl r13, 4
add r13, qword [r12]
mov r12, qword [r13]
cmp r12, rbp
jne 0x1400d0973
mov qword [r13], rdi
xchg rbp, rdi
mov qword [r13 + 8], rbp
xchg rbp, rdi
jmp 0x1400d0ae9
xchg r8, rbx
mov r8, qword [r13 + 8]
xchg r8, rbx
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
xchg rsi, rax
mov rsi, qword [rdx + 0x10]
xchg rsi, rax
jb 0x1400d0997
mov rdx, qword [rdx]
lea rcx, [rdi + 0x10]
cmp r9, 0x10
jb 0x1400d09af
xchg rbp, rcx
mov rbp, qword [rdi + 0x10]
xchg rcx, rbp
cmp r15, rax
jne 0x1400d0a20
xchg r10, r15
mov r8, r10
xchg r10, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400d0a16
mov r8, qword [rbx]
cmp r8, rdi
je 0x1400d0a0d
mov rdx, qword [rdi + 8]
xchg rcx, rsi
mov qword [rdx], rcx
xchg rcx, rsi
mov rcx, qword [rsi + 8]
mov qword [rcx], r8
mov rax, qword [r8 + 8]
xchg rdi, rcx
mov qword [rax], rcx
xchg rdi, rcx
mov qword [r8 + 8], rcx
xchg r9, rdx
mov qword [rsi + 8], r9
xchg rdx, r9
mov qword [rdi + 8], rax
mov qword [r13 + 8], rdi
jmp 0x1400d0ad8
xchg r12, r9
mov r12, qword [rdi + 0x28]
xchg r12, r9
cmp r12, rbx
je 0x1400d0a91
nop word [rax + rax]
mov rbx, qword [rbx + 8]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
jb 0x1400d0a4d
mov rdx, qword [rdx]
lea rcx, [rdi + 0x10]
cmp r9, 0x10
jb 0x1400d0a65
xchg r9, rcx
mov r9, qword [rdi + 0x10]
xchg r9, rcx
cmp r15, rax
jne 0x1400d0a88
xchg r15, r8
mov r15, r8
xchg r15, r8
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400d0b6b
mov r9, qword [rdi + 0x28]
cmp r12, rbx
jne 0x1400d0a33
mov rdx, qword [rdi + 8]
mov qword [rdx], rsi
xchg rcx, r9
mov r9, qword [rsi + 8]
xchg r9, rcx
xchg r9, rbx
mov qword [rcx], r9
xchg rbx, r9
xchg r15, rax
mov r15, qword [rbx + 8]
xchg r15, rax
xchg r12, rdi
mov qword [rax], r12
xchg r12, rdi
xchg r15, rcx
mov qword [rbx + 8], r15
xchg r15, rcx
mov qword [rsi + 8], rdx
mov qword [rdi + 8], rax
xchg rdi, r15
mov qword [r13], r15
xchg r15, rdi
movabs r10, 0x1003e77c4fc
sub r10, 0x3e77c349
mov r13, qword [rsp + 0x50]
xchg rdi, rcx
mov rcx, rsi
xchg rdi, rcx
movabs rax, 0xcbf29ce447d49016
add rax, 0x3c4d930f
lea r12, [r13 + 0x18]
cmp rsi, rbp
jne 0x1400d08ca
xchg rbp, r15
mov rbp, qword [rsp + 0x20]
xchg rbp, r15
mov r14, qword [rsp + 0x28]
xchg rdi, r14
mov r14, qword [rsp + 0x68]
xchg rdi, r14
mov rsi, qword [rsp + 0x60]
xchg r9, rbp
mov r9, qword [rsp + 0x58]
xchg rbp, r9
mov r12, qword [rsp + 0x30]
add rsp, 0x38
push rax
push rcx
push rax
push rax
xchg qword [rsp + 0x20], r13
pop rax
pop rax
pop rcx
pop rax
add rsp, 8
nop
mov rbx, qword [rsp]
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]
xchg r9, r8
mov r9, qword [rbx]
xchg r9, r8
xchg r14, rdx
mov r14, qword [rdi + 8]
xchg r14, rdx
mov qword [rdx], rsi
xchg rcx, rbx
mov rbx, qword [rsi + 8]
xchg rbx, rcx
mov qword [rcx], r8
mov rax, qword [r8 + 8]
xchg rbx, rdi
mov qword [rax], rbx
xchg rbx, rdi
xchg r11, rcx
mov qword [r8 + 8], r11
xchg r11, rcx
mov qword [rsi + 8], rdx
mov qword [rdi + 8], rax
jmp 0x1400d0ad8
lea rcx, [0x140001550]
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3