Function at 0x1401d55f0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x20
mov r8, qword [rcx]
xor r13d, r13d
mov r14, rdx
mov r11, rcx
mov r10d, r13d
mov r9d, r13d
mov eax, r13d
mov ebx, r13d
mov edi, dword [r8]
cmp edi, 1
jne 0x1401d5659
mov rdx, qword [rcx + 8]
cmp qword [rdx], rax
jne 0x1401d5659
mov rax, qword [r14]
mov ecx, dword [rax]
cmp ecx, dword [r11 + 0x10]
jg 0x1401d567c
mov dword [r8], ecx
mov rax, qword [r11]
mov rdx, qword [r14 + 8]
mov rcx, qword [r11 + 8]
movsxd r8, dword [rax]
shl r8, 3
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1401d591e
mov rcx, qword [r14]
mov edx, dword [rcx]
cmp edx, 1
jne 0x1401d5670
mov rcx, qword [r14 + 8]
cmp qword [rcx], rax
je 0x1401d591e
cmp edx, edi
jg 0x1401d57a7
test edx, edx
jg 0x1401d5686
mov dword [r8], r13d
xor al, al
jmp 0x1401d5920
mov rbp, r13
movabs rdi, 0xfffffffffffff
movabs rsi, 0x8000000000000
nop dword [rax]
mov rcx, qword [r14 + 8]
lea rbp, [rbp + 8]
mov r8, qword [r11 + 8]
add rax, rsi
inc ebx
add r9, qword [rcx + rbp - 8]
add r10, qword [r8 + rbp - 8]
mov rdx, r9
xor rdx, r10
sar r9, 0x34
and rdx, rdi
sar r10, 0x34
add rax, rdx
mov rcx, rax
sar rax, 0x34
and rcx, rdi
sub rcx, rsi
mov qword [r8 + rbp - 8], rcx
mov rcx, qword [r14]
cmp ebx, dword [rcx]
jl 0x1401d56a0
mov rdx, qword [r11]
cmp ebx, dword [rdx]
jge 0x1401d573f
movsxd rcx, ebx
lea r14, [rcx*8]
nop word [rax + rax]
mov r8, qword [r11 + 8]
lea r14, [r14 + 8]
add rax, rsi
mov rdx, r9
sar r9, 0x34
inc ebx
add r10, qword [r8 + r14 - 8]
xor rdx, r10
sar r10, 0x34
and rdx, rdi
add rax, rdx
mov rcx, rax
sar rax, 0x34
and rcx, rdi
sub rcx, rsi
mov qword [r8 + r14 - 8], rcx
mov rdx, qword [r11]
cmp ebx, dword [rdx]
jl 0x1401d5700
xor r9, r10
add rax, r9
je 0x1401d576d
movsxd r8, dword [rdx]
cmp r8d, dword [r11 + 0x10]
jl 0x1401d575a
mov dword [rdx], r13d
xor al, al
jmp 0x1401d5920
lea ecx, [r8 + 1]
mov dword [rdx], ecx
mov rcx, qword [r11 + 8]
mov qword [rcx + r8*8], rax
jmp 0x1401d591e
mov eax, dword [rdx]
cmp eax, 1
jle 0x1401d591e
nop dword [rax + rax]
mov ecx, eax
mov rax, qword [r11 + 8]
lea r8d, [rcx - 1]
cmp qword [rax + rcx*8 - 8], r13
jne 0x1401d591e
mov dword [rdx], r8d
mov rdx, qword [r11]
mov eax, dword [rdx]
cmp eax, 1
jg 0x1401d5780
jmp 0x1401d591e
test edi, edi
jle 0x1401d5920
mov qword [rsp + 0x50], r12
mov rbp, r13
movabs rdi, 0xfffffffffffff
movabs rsi, 0x8000000000000
nop dword [rax + rax]
mov rcx, qword [r14 + 8]
lea rbp, [rbp + 8]
mov r8, qword [r11 + 8]
add rax, rsi
inc ebx
add r9, qword [rcx + rbp - 8]
add r10, qword [r8 + rbp - 8]
mov rdx, r9
xor rdx, r10
sar r9, 0x34
and rdx, rdi
sar r10, 0x34
add rax, rdx
mov rcx, rax
sar rax, 0x34
and rcx, rdi
sub rcx, rsi
mov qword [r8 + rbp - 8], rcx
mov r12, qword [r11]
cmp ebx, dword [r12]
jl 0x1401d57d0
mov rcx, qword [r14]
mov edx, dword [rcx]
cmp dword [r11 + 0x10], edx
cmovl edx, dword [r11 + 0x10]
mov dword [r12], edx
mov rcx, qword [r11]
mov r12, qword [rsp + 0x50]
mov edx, dword [rcx]
cmp ebx, edx
jge 0x1401d5895
movsxd rcx, ebx
lea r8, [rcx*8]
nop word [rax + rax]
mov rcx, qword [r14 + 8]
lea r8, [r8 + 8]
add rax, rsi
inc ebx
add r9, qword [r8 + rcx - 8]
mov rcx, qword [r11 + 8]
mov rdx, r9
xor rdx, r10
sar r9, 0x34
and rdx, rdi
sar r10, 0x34
add rax, rdx
mov rdx, rax
sar rax, 0x34
and rdx, rdi
sub rdx, rsi
mov qword [r8 + rcx - 8], rdx
mov rcx, qword [r11]
mov edx, dword [rcx]
cmp ebx, edx
jl 0x1401d5850
mov rcx, qword [r14]
movsxd r8, dword [rcx]
cmp r8d, edx
jle 0x1401d58df
cmp ebx, r8d
jge 0x1401d58df
mov rcx, qword [r14 + 8]
movsxd rdx, ebx
mov rbx, r8
lea r8, [rcx + rdx*8]
add r9, qword [r8]
mov rcx, r9
sar r9, 0x34
xor rcx, r10
sar r10, 0x34
and rcx, rdi
add rax, rcx
test rdi, rax
jne 0x1401d5937
sar rax, 0x34
inc rdx
add r8, 8
cmp rdx, rbx
jl 0x1401d58b3
mov rdx, qword [r11]
xor r9, r10
add r9, rax
jne 0x1401d5750
mov eax, dword [rdx]
cmp eax, 1
jle 0x1401d591e
nop word [rax + rax]
mov ecx, eax
mov rax, qword [r11 + 8]
lea r8d, [rcx - 1]
cmp qword [rax + rcx*8 - 8], r13
jne 0x1401d591e
mov dword [rdx], r8d
mov rdx, qword [r11]
mov eax, dword [rdx]
cmp eax, 1
jg 0x1401d5900
mov al, 1
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret
mov rax, qword [r11]
mov dword [rax], r13d
xor al, al
jmp 0x1401d5920