Function at 0x1400d5850
Capabilities:
Encode data using xor

Disassembly:
push rsi
push r14
sub rsp, 0xd8
mov rax, qword [0x1403f79f0]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rsi, rcx
mov qword [rsp + 0x40], r8
mov rcx, qword [rsp + 0x118]
mov eax, r9d
mov dword [rsp + 0x30], eax
mov r14d, edx
mov qword [rsp + 0x38], rcx
test rcx, rcx
jne 0x1400d58a4
cmp dword [rsp + 0x120], ecx
jbe 0x1400d58a4
mov eax, 0xffffff7c
jmp 0x1400d5ab7
mov ecx, eax
mov qword [rsp + 0xc0], rdi
call fcn.1400bcd40
movsxd rdi, eax
test eax, eax
js 0x1400d5bc8
lea ecx, [rdi*2 + 2]
cmp r14d, ecx
jb 0x1400d5bc8
mov qword [rsp + 0xd0], rbx
mov rcx, r14
mov qword [rsp + 0xc8], rbp
call fcn.1400ac7b0
mov rbx, rax
test rax, rax
jne 0x1400d58f6
lea eax, [rbx - 0x7d]
jmp 0x1400d5a9f
mov qword [rsp + 0xb8], r12
mov r8, r14
xor edx, edx
mov qword [rsp + 0xb0], r13
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
mov r13, qword [rsp + 0x128]
lea eax, [rdi + 1]
mov ecx, dword [rsp + 0x110]
mov r12d, r14d
movsxd rdx, eax
sub r12d, edi
dec r12d
mov qword [rsp + 0x28], r13
mov r8d, r12d
mov dword [rsp + 0x20], edi
add rdx, rsi
mov r9, rbx
call fcn.1400d4870
mov ebp, eax
test eax, eax
je 0x1400d595d
mov rcx, rbx
call fcn.1400ac790
mov eax, ebp
jmp 0x1400d5a8f
xor ebp, ebp
mov qword [rsp + 0xa8], r15
mov r9d, ebp
test edi, edi
je 0x1400d5a55
cmp edi, 0x40
jb 0x1400d5a2c
lea edx, [rdi - 1]
mov eax, edi
add rdx, rbx
lea rcx, [rsi + 1]
add rax, rsi
cmp rbx, rax
ja 0x1400d5998
cmp rdx, rcx
jae 0x1400d5a2c
mov eax, edi
mov r10d, edi
and eax, 0x3f
sub r10d, eax
mov r8d, 0x11
nop dword [rax]
mov edx, r9d
lea eax, [r8 - 0x10]
movdqu xmm1, xmmword [rax + rsi]
mov eax, r8d
lea ecx, [r8 - 1]
add r9d, 0x40
movdqu xmm0, xmmword [rdx + rbx]
pxor xmm1, xmm0
movdqu xmmword [rdx + rbx], xmm1
lea edx, [r8 + 0xf]
movdqu xmm0, xmmword [rcx + rbx]
movdqu xmm1, xmmword [rax + rsi]
lea eax, [r8 + 0x10]
pxor xmm1, xmm0
movdqu xmmword [rcx + rbx], xmm1
movdqu xmm0, xmmword [rdx + rbx]
movdqu xmm1, xmmword [rax + rsi]
lea eax, [r8 + 0x20]
pxor xmm1, xmm0
movdqu xmmword [rdx + rbx], xmm1
lea edx, [r8 + 0x1f]
add r8d, 0x40
movdqu xmm0, xmmword [rdx + rbx]
movdqu xmm1, xmmword [rax + rsi]
pxor xmm1, xmm0
movdqu xmmword [rdx + rbx], xmm1
cmp r9d, r10d
jb 0x1400d59b0
cmp r9d, edi
jae 0x1400d5a55
mov edx, r9d
lea r8d, [r9 + 1]
add rdx, rbx
add r8, rsi
mov eax, edi
sub eax, r9d
mov r9d, eax
movzx eax, byte [r8]
lea r8, [r8 + 1]
xor byte [rdx], al
lea rdx, [rdx + 1]
sub r9, 1
jne 0x1400d5a41
mov ecx, dword [rsp + 0x110]
lea r9, [rdi + rbx]
mov qword [rsp + 0x28], r13
mov r8d, edi
mov rdx, rbx
mov dword [rsp + 0x20], r12d
call fcn.1400d4870
mov r13d, eax
test eax, eax
je 0x1400d5ad2
mov rcx, rbx
call fcn.1400ac790
mov eax, r13d
mov r15, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xb8]
mov r13, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400da560
add rsp, 0xd8
pop r14
pop rsi
ret
test r12d, r12d
je 0x1400d5af7
mov ecx, edi
mov r9d, r12d
nop dword [rax]
lea r8d, [rcx + 1]
mov eax, ecx
movzx ecx, byte [rax + rbx]
xor byte [r8 + rsi], cl
mov ecx, r8d
sub r9, 1
jne 0x1400d5ae0
mov rcx, rbx
call fcn.1400ac790
lea ebx, [rdi*2 + 1]
cmp ebx, r14d
jae 0x1400d5b20
mov r9d, ebx
add r9, rsi
cmp byte [r9], bpl
jne 0x1400d5b20
inc ebx
inc r9
cmp ebx, r14d
jb 0x1400d5b11
mov r8d, dword [rsp + 0x120]
lea r9, [rsp + 0x50]
mov rdx, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x30]
mov dword [rsp + 0x20], edi
call fcn.1400bc8c0
test eax, eax
jne 0x1400d5a87
test edi, edi
jle 0x1400d5b7d
lea rdx, [rsp + 0x50]
mov r8, rdi
sub r8, rdx
mov rax, rbp
add r8, rsi
nop dword [rax]
lea rcx, [rsp + 0x50]
add rcx, rax
inc rax
movzx edx, byte [rcx + r8 + 1]
movzx ecx, byte [rcx]
xor edx, ecx
or ebp, edx
cmp rax, rdi
jl 0x1400d5b60
movzx ecx, byte [rsi]
movzx edx, byte [rbx + rsi]
xor edx, 1
add edx, ebp
add edx, ecx
lea eax, [rdx - 1]
not edx
shr eax, 0x1f
neg al
shr edx, 0x1f
movsx ecx, al
neg dl
movsx eax, dl
and ecx, eax
lea eax, [rbx + 1]
and eax, ecx
mov edx, ecx
not edx
and edx, r14d
or edx, eax
mov rax, qword [rsp + 0x40]
mov ecx, edx
add rcx, rsi
sub r14d, edx
mov qword [rax], rcx
mov eax, r14d
jmp 0x1400d5a87
mov eax, 0xffffff53
jmp 0x1400d5aaf