Function at 0x140014830
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 8
mov r8, rcx
test rcx, rcx
jg 0x140014848
mov rax, 0xffffffffffffffff
add rsp, 8
ret
mov qword [rsp + 0x18], rbp
mov r9d, 0xffffffff
mov rax, r8
mov qword [rsp + 0x28], rdi
shr rax, 0x20
cmp r8, r9
mov qword [rsp], r14
lea r14, [0x140000000]
cmovg ecx, eax
mov eax, ecx
shr eax, 1
or ecx, eax
mov eax, ecx
shr eax, 2
or ecx, eax
mov eax, ecx
shr eax, 4
or ecx, eax
mov eax, ecx
shr eax, 8
or ecx, eax
mov eax, ecx
shr eax, 0x10
or eax, ecx
shr eax, 1
inc eax
imul ecx, eax, 0x77cb531
mov eax, 1
shr rcx, 0x1b
cmp r8, r9
movzx ebp, byte [rcx + r14 + 0xc3a30]
mov ecx, 0x21
cmovg eax, ecx
add ebp, eax
cmp ebp, 0x3e
jbe 0x1400148c8
lea ecx, [rbp - 0x3e]
sar r8, cl
jmp 0x1400148d2
mov ecx, VarI4FromDisp
sub ecx, ebp
shl r8, cl
xor edi, edi
lea rax, [r8 - 1]
test r8, rax
je 0x140014b9e
mov qword [rsp + 0x10], rbx
lea r11, [0x1400c3a68]
movabs rax, 0xe000000000000000
mov qword [rsp + 0x20], rsi
add rax, r8
movabs rbx, 0x2000000000000000
add rbx, r8
mov rcx, rax
shr rcx, 0x3f
mov rdx, rbx
neg ecx
sar rdx, 1
movsxd r8, ecx
movabs rdi, 0x32b803473f7ad0f4
add rdi, r8
mov rcx, rax
sar rcx, 1
xor rdi, r8
add rcx, r8
mov r10d, 3
xor rcx, r8
sub rbx, rcx
lea rcx, [rdx + r8]
xor rcx, r8
mov rdx, rbx
sub rax, rcx
sar rdx, 2
mov rcx, rax
shr rcx, 0x3f
neg ecx
movsxd r8, ecx
movabs rcx, 0x179538dea712f48b
add rcx, r8
xor rcx, r8
add rdi, rcx
mov rcx, rax
sar rcx, 2
add rcx, r8
xor rcx, r8
sub rbx, rcx
lea rcx, [rdx + r8]
xor rcx, r8
mov rdx, rbx
sub rax, rcx
sar rdx, 3
mov rcx, rax
shr rcx, 0x3f
neg ecx
movsxd r8, ecx
movabs rcx, 0xb9a2c912ee4ee81
add rcx, r8
xor rcx, r8
add rdi, rcx
mov rcx, rax
sar rcx, 3
add rcx, r8
xor rcx, r8
sub rbx, rcx
lea rcx, [rdx + r8]
xor rcx, r8
mov rdx, rbx
sub rax, rcx
sar rdx, 4
mov rcx, rax
shr rcx, 0x3f
neg ecx
movsxd r8, ecx
movabs rcx, 0x5c73f723319cc5c
add rcx, r8
xor rcx, r8
add rdi, rcx
mov rcx, rax
sar rcx, 4
add rcx, r8
xor rcx, r8
sub rbx, rcx
lea rcx, [rdx + r8]
xor rcx, r8
sub rax, rcx
nop dword [rax]
mov rdx, qword [r11]
lea r11, [r11 + 8]
mov rcx, rax
mov esi, r10d
shr rcx, 0x3f
mov r8, rbx
neg ecx
movsxd r9, ecx
mov ecx, r10d
sar rdx, cl
add rdx, r9
xor rdx, r9
add rdi, rdx
mov rdx, rax
inc r10d
mov ecx, r10d
sar rdx, cl
sar r8, cl
add rdx, r9
xor rdx, r9
sub rbx, rdx
lea rcx, [r8 + r9]
xor rcx, r9
sub rax, rcx
cmp r10d, 0xd
jl 0x140014a10
mov r11d, esi
lea r10d, [rsi + 1]
lea rsi, [r14 + 0xc3a50]
lea rsi, [rsi + r11*8]
mov rdx, qword [rsi]
lea rsi, [rsi + 8]
mov rcx, rax
mov r8, rbx
shr rcx, 0x3f
neg ecx
movsxd r9, ecx
mov ecx, r11d
sar rdx, cl
inc r11d
add rdx, r9
mov ecx, r10d
xor rdx, r9
sar r8, cl
add rdi, rdx
inc r10d
mov rdx, rax
sar rdx, cl
add rdx, r9
lea rcx, [r8 + r9]
xor rdx, r9
xor rcx, r9
sub rbx, rdx
sub rax, rcx
cmp r10d, 0x21
jl 0x140014a72
movabs rsi, 0x2e2a8eca5705fc2f
cmp r11d, 0x28
jge 0x140014b2d
nop dword [rax]
nop word [rax + rax]
lea r9d, [r11 + 1]
mov rcx, rax
shr rcx, 0x3f
mov r8, rbx
neg ecx
mov rdx, rsi
movsxd r10, ecx
mov ecx, r11d
sar rdx, cl
mov r11d, r9d
add rdx, r10
mov ecx, r9d
xor rdx, r10
sar r8, cl
add rdi, rdx
mov rdx, rax
sar rdx, cl
add rdx, r10
xor rdx, r10
lea rcx, [r8 + r10]
xor rcx, r10
sub rbx, rdx
sub rax, rcx
cmp r9d, 0x28
jl 0x140014ae0
mov r10d, r11d
dec r11d
cmp r11d, 0x3e
jge 0x140014b8c
nop dword [rax]
mov rcx, rax
mov r8, rbx
shr rcx, 0x3f
mov rdx, rsi
neg ecx
movsxd r9, ecx
mov ecx, r11d
sar rdx, cl
inc r11d
add rdx, r9
mov ecx, r10d
xor rdx, r9
sar r8, cl
add rdi, rdx
inc r10d
mov rdx, rax
sar rdx, cl
add rdx, r9
lea rcx, [r8 + r9]
xor rdx, r9
xor rcx, r9
sub rbx, rdx
sub rax, rcx
cmp r10d, 0x3f
jl 0x140014b40
mov rsi, qword [rsp + 0x20]
add rdi, 8
mov rbx, qword [rsp + 0x10]
sar rdi, 4
mov r14, qword [rsp]
movabs rcx, 0xfe00000000000000
mov eax, ebp
mov rbp, qword [rsp + 0x18]
shl rax, 0x39
add rax, rcx
add rax, rdi
mov rdi, qword [rsp + 0x28]
add rsp, 8
ret