Function at 0x140001040
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov r14, qword [0x140009788]
mov rsi, rcx
test r14, r14
je 0x14000132c
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rcx + rdi], 0
jne 0x140001074
mov r8d, 0x9e3779b9
mov r11, rsi
mov r10d, r8d
mov r9d, 0xfeedbeef
mov ebx, edi
cmp edi, 0xc
jb 0x1400011bb
mov eax, 0xaaaaaaab
mul edi
shr edx, 3
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r11 + 6]
add ebx, 0xfffffff4
movzx ecx, byte [r11 + 7]
shl ecx, 8
add ecx, eax
movzx eax, byte [r11 + 5]
shl ecx, 8
add ecx, eax
movzx eax, byte [r11 + 4]
add r8d, eax
shl ecx, 8
movzx eax, byte [r11 + 0xa]
add r8d, ecx
movzx ecx, byte [r11 + 0xb]
shl ecx, 8
add ecx, eax
movzx eax, byte [r11 + 9]
shl ecx, 8
add ecx, eax
movzx eax, byte [r11 + 8]
add r9d, eax
shl ecx, 8
movzx eax, byte [r11 + 2]
add r9d, ecx
movzx ecx, byte [r11 + 3]
shl ecx, 8
add ecx, eax
movzx eax, byte [r11 + 1]
shl ecx, 8
add ecx, eax
movzx eax, byte [r11]
shl ecx, 8
add r11, 0xc
add ecx, eax
mov eax, r9d
shr eax, 0xd
sub ecx, r8d
sub ecx, r9d
add r10d, ecx
xor r10d, eax
sub r8d, r10d
mov eax, r10d
sub r8d, r9d
shl eax, 8
xor r8d, eax
sub r9d, r8d
mov eax, r8d
sub r9d, r10d
shr eax, 0xd
xor r9d, eax
sub r10d, r8d
sub r10d, r9d
mov eax, r9d
shr eax, 0xc
xor r10d, eax
sub r8d, r10d
mov eax, r10d
sub r8d, r9d
shl eax, 0x10
xor r8d, eax
sub r9d, r8d
mov eax, r8d
sub r9d, r10d
shr eax, 5
xor r9d, eax
sub r10d, r8d
sub r10d, r9d
mov eax, r9d
shr eax, 3
xor r10d, eax
sub r8d, r10d
mov eax, r10d
sub r8d, r9d
shl eax, 0xa
xor r8d, eax
sub r9d, r8d
mov eax, r8d
sub r9d, r10d
shr eax, 0xf
xor r9d, eax
sub rdx, 1
jne 0x1400010b0
add r9d, edi
lea eax, [rbx - 1]
cmp eax, 0xa
ja case.default.0x1400011db
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x1350]
add rcx, rdx
jmp rcx
movzx eax, byte [r11 + 0xa]
shl eax, 0x18
add r9d, eax
movzx eax, byte [r11 + 9]
shl eax, 0x10
add r9d, eax
movzx eax, byte [r11 + 8]
shl eax, 8
add r9d, eax
movzx eax, byte [r11 + 7]
shl eax, 0x18
add r8d, eax
movzx eax, byte [r11 + 6]
shl eax, 0x10
add r8d, eax
movzx eax, byte [r11 + 5]
shl eax, 8
add r8d, eax
movzx eax, byte [r11 + 4]
add r8d, eax
movzx eax, byte [r11 + 3]
shl eax, 0x18
add r10d, eax
movzx eax, byte [r11 + 2]
shl eax, 0x10
add r10d, eax
movzx eax, byte [r11 + 1]
shl eax, 8
add r10d, eax
movzx eax, byte [r11]
add r10d, eax
mov r14, qword [r14 + 8]
sub r10d, r8d
sub r10d, r9d
mov eax, r9d
shr eax, 0xd
xor r10d, eax
mov ecx, dword [r14 + 8]
sub r8d, r10d
mov rbx, qword [r14]
sub r8d, r9d
mov eax, r10d
dec ecx
shl eax, 8
xor r8d, eax
sub r9d, r8d
mov eax, r8d
sub r9d, r10d
shr eax, 0xd
xor r9d, eax
sub r10d, r8d
sub r10d, r9d
mov eax, r9d
shr eax, 0xc
xor r10d, eax
sub r8d, r10d
mov eax, r10d
sub r8d, r9d
shl eax, 0x10
xor r8d, eax
sub r9d, r8d
mov eax, r8d
sub r9d, r10d
shr eax, 5
xor r9d, eax
sub r10d, r8d
sub r10d, r9d
mov eax, r9d
shr eax, 3
xor r10d, eax
sub r8d, r10d
mov eax, r10d
sub r8d, r9d
shl eax, 0xa
xor r8d, eax
sub r9d, r8d
shr r8d, 0xf
sub r9d, r10d
xor r9d, r8d
mov ebp, r9d
and rcx, rbp
add rcx, rcx
mov rbx, qword [rbx + rcx*8]
test rbx, rbx
je 0x14000132c
sub rbx, qword [r14 + 0x20]
je 0x14000132c
nop dword [rax]
cmp dword [rbx + 0x3c], ebp
jne 0x14000131d
cmp dword [rbx + 0x38], edi
jne 0x14000131d
mov rcx, qword [rbx + 0x30]
mov rdx, rsi
mov r8d, edi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140001349
mov rbx, qword [rbx + 0x28]
test rbx, rbx
je 0x14000132c
sub rbx, qword [r14 + 0x20]
jne 0x140001300
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
mov eax, 1
jmp 0x14000132e