Function at 0x1400d3fb0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
nop
sub rsp, 8
mov qword [rsp], rbp
push rbx
nop
sub rsp, 8
mov qword [rsp], rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
nop
push 0x19aea00e
mov qword [rsp], r12
push r12
mov qword [rsp], r13
nop
mov qword [rsp - 8], r14
sub rsp, 8
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xe8
movzx r12d, r8b
mov r14d, r8d
and r12b, 0xf
xchg rdx, r11
mov rdx, r11
xchg rdx, r11
mov r15d, 0x38810f30
sub r15d, 0x38810f20
mov byte [rbp + 0x6f], r12b
sub r11, rcx
xchg r14, rdx
mov rbx, r14
xchg rdx, r14
xchg rsi, rcx
mov rcx, rsi
xchg rcx, rsi
mov r10d, r15d
movzx eax, byte [r11 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r10, 1
jne 0x1400d4037
lea r13, [0x140000000]
test r9, r9
je 0x1400d41d8
movzx eax, byte [r9]
mov r10d, 0x2c8e28eb
sub r10d, 0x2c8e28e7
mov byte [rsp + 0x30], al
movzx eax, byte [r9 + 1]
mov byte [rsp + 0x31], al
movzx eax, byte [r9 + 2]
mov byte [rsp + 0x32], al
movzx eax, byte [r9 + 3]
mov byte [rsp + 0x33], al
movzx eax, byte [r9 + 4]
mov byte [rsp + 0x34], al
movzx eax, byte [r9 + 5]
mov byte [rsp + 0x35], al
movzx eax, byte [r9 + 6]
mov byte [rsp + 0x36], al
movzx eax, byte [r9 + 7]
mov byte [rsp + 0x37], al
movzx eax, byte [r9 + 8]
mov byte [rsp + 0x38], al
movzx eax, byte [r9 + 9]
mov byte [rsp + 0x39], al
movzx eax, byte [r9 + 0xa]
mov byte [rsp + 0x3a], al
movzx eax, byte [r9 + 0xb]
mov byte [rsp + 0x3b], al
movzx eax, byte [r9 + 0xc]
mov byte [rsp + 0x3c], al
movzx eax, byte [r9 + 0xd]
mov byte [rsp + 0x3d], al
movzx eax, byte [r9 + 0xe]
mov byte [rsp + 0x3e], al
movzx eax, byte [r9 + 0xf]
mov byte [rsp + 0x3f], al
nop word [rax + rax]
lea edx, [r10*4 - 4]
movzx r9d, byte [rsp + rdx + 0x30]
lea eax, [rdx + 1]
movzx r8d, byte [rsp + rax + 0x30]
lea eax, [rdx + 2]
movzx r11d, byte [rsp + rax + 0x30]
lea eax, [rdx + 3]
movzx ebx, byte [rsp + rax + 0x30]
movzx edi, r8b
test r10b, 3
jne 0x1400d417c
movzx edi, byte [r11 + r13 + 0x36b0]
mov eax, r10d
movzx r11d, byte [rbx + r13 + 0x36b0]
xor dil, 0xec
movzx ebx, byte [r9 + r13 + 0x36b0]
xor r11b, 0xec
shr eax, 1
shr eax, 1
xor bl, 0xec
movzx ecx, al
movzx r9d, byte [rcx + r13 + 0x38b0]
xor r9b, byte [r8 + r13 + 0x36b0]
xor r9b, 0x46
lea edx, [r10*4 - 0x10]
xor r9b, byte [rsp + rdx + 0x30]
lea eax, [rdx + 1]
xor dil, byte [rsp + rax + 0x30]
lea r8d, [r10*4]
lea eax, [r8 + 1]
mov byte [rsp + r8 + 0x30], r9b
mov byte [rsp + rax + 0x30], dil
inc r10d
lea eax, [rdx + 2]
xor r11b, byte [rsp + rax + 0x30]
lea eax, [r8 + 2]
mov byte [rsp + rax + 0x30], r11b
lea eax, [rdx + 3]
xor bl, byte [rsp + rax + 0x30]
lea eax, [r8 + 3]
mov byte [rsp + rax + 0x30], bl
cmp r10d, 0x2c
jb 0x1400d4101
mov rbx, qword [rbp + 0x67]
xchg rdx, rax
mov rdx, qword [rbp + 0x7f]
xchg rdx, rax
mov edi, 0x78d239e6
sub edi, 0x78d239dd
mov rdx, qword [0x140128fe8]
test rax, rax
mov qword [rsp + 0x20], rdi
cmovne rdx, rax
xchg r14, rax
mov r14, rax
xchg r14, rax
mov qword [0x140128fe8], rdx
test r14d, r14d
je 0x1400d4645
lea r9, [rsp + 0x40]
sub r9, rsi
dec rax
xchg r13, r9
mov qword [rbp + 0x5f], r13
xchg r9, r13
shr rax, 2
shr rax, 2
inc rax
xchg r10, rax
mov qword [rbp + 0x77], r10
xchg r10, rax
nop dword [rax + rax]
xchg r10, rbx
mov rcx, r10
xchg r10, rbx
sub rdx, rbx
xchg r8, r15
mov r15, r8
xchg r8, r15
nop dword [rax]
movzx eax, byte [rdx + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x1400d425e
mov r8, rbx
xchg rsi, rdi
mov rcx, rdi
xchg rdi, rsi
sub r8, rsi
xchg rcx, rdx
mov rcx, r15
xchg rdx, rcx
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1400d428e
xchg r14, rsi
mov rsi, r14
xchg rsi, r14
mov edx, 0x7e67bbf7
sub edx, 0x7e67bbf3
nop dword [rax]
mov ecx, 0x6a3f2c84
sub ecx, 0x6a3f2c80
nop word [rax + rax]
movzx eax, byte [r9 + r14 - 0x10]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1400d42d4
sub rdx, 1
jne 0x1400d42be
mov r15, r9
xchg rdi, rbx
mov qword [rbp + 0x7f], rbx
xchg rbx, rdi
nop
xchg r8, rsi
mov rsi, r8
xchg r8, rsi
mov r9d, 0x7d60b2e
xor r9d, 0x7d60b2a
nop dword [rax]
xchg r8, rcx
mov r8, rcx
xchg rcx, r8
mov edx, 0x12c6c294
sub edx, 0x12c6c290
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r13 + 0x36b0]
xor al, 0xec
mov byte [rcx - 4], al
sub rdx, 1
jne 0x1400d433b
inc r8
sub r9, 1
jne 0x1400d431f
movzx eax, byte [rsi + 5]
lea r12, [rsi + 2]
movzx ecx, byte [rsi + 1]
lea r13d, [rdx + 4]
mov byte [rsi + 1], al
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [r12]
mov byte [r12], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 0xb], al
mov byte [rsi + 7], cl
nop dword [rax]
nop word [rax + rax]
movzx edi, byte [r12 - 2]
movzx r8d, byte [r12 - 1]
movzx edx, dil
movzx ebx, byte [r12 + 1]
xor dl, r8b
movzx r10d, byte [r12]
lea r12, [r12 + 4]
movzx eax, dl
movzx r9d, bl
shr al, 3
shr al, 4
add dl, dl
movzx eax, al
xor r9b, r10b
imul ecx, eax, 0x1b
movzx r11d, r9b
xor r11b, dil
xor r11b, r8b
xor cl, dl
movzx edx, r8b
xor cl, dil
xor dl, r10b
xor cl, r11b
movzx eax, dl
mov byte [r12 - 6], cl
xor dil, bl
shr al, 5
shr al, 1
shr al, 1
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 5
shr al, 1
shr al, 1
add r9b, r9b
movzx eax, al
xor cl, dl
xor cl, r8b
xor cl, r11b
mov byte [r12 - 5], cl
imul ecx, eax, 0x1b
movzx eax, dil
shr al, 7
add dil, dil
movzx eax, al
xor cl, r9b
xor cl, r10b
xor cl, r11b
mov byte [r12 - 4], cl
imul ecx, eax, 0x1b
xor cl, dil
xor cl, bl
xor cl, r11b
mov byte [r12 - 3], cl
sub r13, 1
jne 0x1400d43d3
xchg rsi, r15
mov rax, r15
xchg r15, rsi
lea r8d, [r13 + 4]
mov edx, 0x714e67e8
sub edx, 0x714e67e4
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1400d44ba
sub r8, 1
jne 0x1400d44a4
add r15, 0x10
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1400d4302
xchg r8, rsi
mov rsi, r8
xchg rsi, r8
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
xchg r9, rcx
mov r9, r8
xchg r9, rcx
mov edx, 0x737d09de
sub edx, 0x737d09da
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r13 + 0x36b0]
xor al, 0xec
mov byte [rcx - 4], al
sub rdx, 1
jne 0x1400d4524
inc r8
sub r9, 1
jne 0x1400d4508
movzx ecx, byte [rsi + 1]
lea r8d, [rdx + 4]
movzx eax, byte [rsi + 5]
mov r9, qword [rbp + 0x5f]
mov byte [rsi + 1], al
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [rsi + 2]
mov byte [rsi + 2], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 7], cl
xchg rsi, rcx
mov rsi, rcx
xchg rsi, rcx
mov byte [rsi + 0xb], al
nop dword [rax]
nop word [rax + rax]
mov edx, 0x609dce8
sub edx, 0x609dce4
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1400d45d8
sub r8, 1
jne 0x1400d45c2
xchg r11, rbx
mov r11, qword [rbp + 0x67]
xchg r11, rbx
lea edi, [r8 + 9]
sub rbx, 0xfffffffffffffff0
lea r15d, [r8 + 0x10]
add r9, 0xfffffffffffffff0
xchg r9, rbx
mov qword [rbp + 0x67], r9
xchg rbx, r9
sub qword [rbp + 0x77], 1
mov rdx, rsi
xchg rbp, rsi
mov rbp, r14
xchg rsi, rbp
mov qword [rbp + 0x5f], r9
jne 0x1400d4242
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140128fe8], rdx
test r12b, r12b
je 0x1400d49e3
mov rcx, rsi
sub rbx, rsi
xchg rdx, r15
mov r15, rdx
xchg rdx, r15
nop word [rax + rax]
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1400d4668
movzx eax, r12b
sub r15, rax
xchg rcx, r8
mov rcx, r15
xchg rcx, r8
lea rcx, [rax + rsi]
call sub.VCRUNTIME140.dll_memset
lea r8, [rsp + 0x30]
xchg rcx, rsi
mov rsi, rcx
xchg rsi, rcx
sub r8, rsi
mov r9d, 0x6f1fbeda
sub r9d, 0x6f1fbed6
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x4f5e773b
xor edx, 0x4f5e773f
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1400d46d5
sub r9, 1
jne 0x1400d46bf
lea r14, [rsp + 0x40]
sub r14, rsi
nop
xchg r8, rbp
mov rbp, rsi
xchg rbp, r8
lea r10, [0x140000000]
mov r9d, 0x5cd9aadd
xor r9d, 0x5cd9aad9
mov rcx, r8
mov edx, 0x509301be
sub edx, 0x509301ba
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r10 + 0x36b0]
xor al, 0xec
mov byte [rcx - 4], al
sub rdx, 1
jne 0x1400d4730
inc r8
sub r9, 1
jne 0x1400d471a
movzx eax, byte [rsi + 5]
lea r15, [rsi + 2]
movzx ecx, byte [rsi + 1]
lea r12d, [rdx + 4]
mov byte [rsi + 1], al
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [rsi + 2]
mov byte [rsi + 2], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 0xb], al
mov byte [rsi + 7], cl
movzx ebx, byte [r15 - 2]
movzx r8d, byte [r15 - 1]
movzx edx, bl
movzx edi, byte [r15 + 1]
xor dl, r8b
movzx r10d, byte [r15]
lea r15, [r15 + 4]
movzx eax, dl
movzx r9d, dil
shr al, 2
shr al, 4
shr al, 1
add dl, dl
movzx eax, al
xor r9b, r10b
imul ecx, eax, 0x1b
movzx r11d, r9b
xor r11b, bl
xor r11b, r8b
xor cl, dl
movzx edx, r8b
xor cl, r11b
xor dl, r10b
xor cl, bl
movzx eax, dl
mov byte [r15 - 6], cl
xor bl, dil
shr al, 3
shr al, 2
shr al, 1
shr al, 1
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 4
shr al, 1
shr al, 1
shr al, 1
add r9b, r9b
movzx eax, al
xor cl, dl
xor cl, r11b
xor cl, r8b
mov byte [r15 - 5], cl
imul ecx, eax, 0x1b
movzx eax, bl
shr al, 2
shr al, 5
add bl, bl
movzx eax, al
xor cl, r9b
xor cl, r11b
xor cl, r10b
mov byte [r15 - 4], cl
imul ecx, eax, 0x1b
xor cl, bl
xor cl, r11b
xor cl, dil
mov byte [r15 - 3], cl
sub r12, 1
jne 0x1400d47b8
xchg rsi, r8
mov rcx, r8
xchg rsi, r8
lea r8d, [r12 + 4]
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x5a84bd8b
sub edx, 0x5a84bd87
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1400d48a9
sub r8, 1
jne 0x1400d4893
nop
sub r14, 0x1d5c450e
add r14, 0x1d5c451e
sub qword [rsp + 0x20], 1
jne 0x1400d46fd
mov r8, rsi
lea r9d, [rdx + 4]
lea r10, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
xchg r8, r10
mov rcx, r10
xchg r10, r8
mov edx, 0x1f92bc0a
sub edx, 0x1f92bc06
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r10 + 0x36b0]
xor al, 0xec
mov byte [rcx - 4], al
sub rdx, 1
jne 0x1400d4918
inc r8
sub r9, 1
jne 0x1400d48fc
movzx eax, byte [rsi + 5]
lea rdx, [rbp - 1]
movzx ecx, byte [rsi + 1]
lea r8d, [r9 + 4]
mov byte [rsi + 1], al
sub rdx, rsi
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [rsi + 2]
mov byte [rsi + 2], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 0xb], al
mov byte [rsi + 7], cl
nop dword [rax]
nop word [rax + rax]
mov ecx, 0x76422fb3
xor ecx, 0x76422fb7
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1400d49c6
sub r8, 1
jne 0x1400d49b0
add rsp, 0xe8
nop
mov r15, qword [rsp]
add rsp, 8
push rax
push rcx
push rcx
push rbx
push rdx
push rdx
xchg qword [rsp + 0x30], r14
add rsp, 0x38
nop
add rsp, 8
mov r13, qword [rsp - 8]
nop
add rsp, 8
xchg qword [rsp - 8], r12
push rbx
xchg qword [rsp + 8], rdi
add rsp, 0x10
push rbx
push rbx
push rax
push rax
push rax
xchg qword [rsp + 0x28], rsi
add rsp, 0x30
nop
add rsp, 8
mov rbx, qword [rsp - 8]
push rcx
xchg qword [rsp + 8], rbp
pop rcx
add rsp, 8
ret