Function at 0x14008d590
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 r12
push r14
push r15
sub rsp, 0x40
mov r14, r8
mov rdi, rdx
mov r15, rcx
mov rbx, qword [rcx]
mov rdx, qword [rcx + 0x10]
sub rdx, rbx
movabs r12, 0x2aaaaaaaaaaaaaab
mov rax, r12
imul rdx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jbe 0x14008d6f2
movabs rsi, 0xaaaaaaaaaaaaaaa
cmp r8, rsi
ja 0x14008d83b
mov rcx, rdx
shr rcx, 1
mov rax, rsi
sub rax, rcx
cmp rdx, rax
ja 0x14008d617
lea rsi, [rcx + rdx]
cmp rsi, r8
cmovb rsi, r8
test rbx, rbx
je 0x14008d692
mov rbp, qword [r15 + 8]
cmp rbx, rbp
je 0x14008d636
mov rcx, rbx
call fcn.14007e3b0
add rbx, 0x18
cmp rbx, rbp
jne 0x14008d625
mov r8, qword [r15]
mov rcx, qword [r15 + 0x10]
sub rcx, r8
mov rax, r12
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
cmp rdx, 0x1000
jb 0x14008d67d
add rdx, 0x27
mov rcx, qword [r8 - 8]
sub r8, rcx
lea rax, [r8 - 8]
cmp rax, 0x1f
ja 0x14008d6eb
mov r8, rcx
mov rcx, r8
call fcn.1401d0398
xor eax, eax
mov qword [r15], rax
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], rax
mov rdx, rsi
call fcn.14008d850
mov rbx, rax
mov qword [r15], rax
mov qword [r15 + 8], rax
lea rcx, [rsi + rsi*2]
lea rdx, [rax + rcx*8]
mov qword [r15 + 0x10], rdx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], r15
test r14, r14
je 0x14008d6e2
mov rdx, rdi
mov rcx, rbx
call fcn.14007e130
add rbx, 0x18
mov qword [rsp + 0x28], rbx
add rdi, 0x18
sub r14, 1
jne 0x14008d6c4
mov qword [r15 + 8], rbx
jmp 0x14008d81c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rsi, qword [rcx + 8]
mov rcx, rsi
sub rcx, rbx
mov rax, r12
imul rcx
mov rbp, rdx
sar rbp, 2
mov rax, rbp
shr rax, 0x3f
add rbp, rax
cmp r14, rbp
jbe 0x14008d773
cmp rbx, rsi
je 0x14008d73c
nop dword [rax]
mov rdx, rdi
mov rcx, rbx
call fcn.14007e4d0
add rbx, 0x18
add rdi, 0x18
mov rsi, qword [r15 + 8]
cmp rbx, rsi
jne 0x14008d720
sub r14, rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r15
je 0x14008d76e
mov rdx, rdi
mov rcx, rsi
call fcn.14007e130
add rsi, 0x18
mov qword [rsp + 0x28], rsi
add rdi, 0x18
sub r14, 1
jne 0x14008d750
jmp 0x14008d818
lea rax, [r8 + r8*2]
lea rsi, [rbx + rax*8]
test r14, r14
je 0x14008d7fb
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.14007e130
movsx ecx, byte [rbx + 8]
movzx eax, byte [rsp + 0x28]
mov byte [rbx + 8], al
mov r8d, dword [rsp + 0x28]
and r8d, 0xffffff00
movzx eax, cl
or r8d, eax
mov rcx, qword [rbx]
mov rax, qword [rsp + 0x20]
mov qword [rbx], rax
mov qword [rsp + 0x20], rcx
mov edx, dword [rbx + 8]
xor edx, r8d
and edx, 0x100
xor dword [rbx + 8], edx
xor edx, r8d
mov dword [rsp + 0x28], edx
mov rcx, qword [rbx + 0x10]
mov rax, qword [rsp + 0x30]
mov qword [rbx + 0x10], rax
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x20]
call fcn.14007e3b0
lea rbx, [rbx + 0x18]
add rdi, 0x18
sub r14, 1
jne 0x14008d780
mov rdi, qword [r15 + 8]
mov rbx, rsi
cmp rsi, rdi
je 0x14008d818
mov rcx, rbx
call fcn.14007e3b0
add rbx, 0x18
cmp rbx, rdi
jne 0x14008d807
mov qword [r15 + 8], rsi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r12
ret
call fcn.140084420
int3