Function at 0x140007e60
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, 0x60
mov r14, r9
mov rbx, r8
mov rdi, rcx
test edx, edx
jne 0x140007f48
test r9, r9
jne 0x140007f48
mov rax, qword [rcx]
test rax, rax
je 0x140007f48
mov eax, dword [rax]
cmp eax, 1
jg 0x140007f48
test rbx, rbx
jle 0x140007f48
mov r10, qword [rcx]
test r10, r10
je 0x140007ef6
mov r8, qword [r10 + 8]
lea rax, [r10 + 0x17]
and rax, 0xfffffffffffffff8
mov rcx, qword [rcx + 8]
sub rcx, rax
movabs rax, 0x4924924924924925
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, r8
sub rax, qword [rdi + 0x10]
sub rax, rdx
jmp 0x140007efb
xor r8d, r8d
xor eax, eax
sub r8, rax
add r8, rbx
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], r8
mov r9d, 0x38
mov r8, qword [rdi + 8]
mov rdx, r10
lea rcx, [rsp + 0x30]
call qword [0x140164638]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
jne 0x140007f37
call qword [0x140164650]
int3
mov rax, qword [rsp + 0x30]
mov qword [rdi], rax
mov qword [rdi + 8], rcx
jmp 0x1400081b3
mov r9d, edx
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.1400068b0
nop
test rbx, rbx
jle 0x140007f6d
cmp qword [rsp + 0x48], 0
jne 0x140007f6d
call qword [0x140164650]
int3
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140008110
lea rcx, [rax + rbx]
test rbx, rbx
cmovns rcx, rax
mov rax, qword [rdi]
test rax, rax
je 0x140008058
mov eax, dword [rax]
cmp eax, 1
jg 0x140008058
test r14, r14
jne 0x140008058
imul rdx, rcx, 0x38
mov rbx, qword [rdi + 8]
lea rbp, [rbx + rdx]
cmp rbx, rbp
jae 0x140008110
imul rcx, qword [rsp + 0x50], 0x38
mov rsi, qword [rsp + 0x48]
add rcx, 0x18
add rsi, rcx
lea rcx, [rdx - 1]
movabs rax, 0x2492492492492493
mul rcx
sub rcx, rdx
shr rcx, 1
lea rax, [rdx + rcx]
shr rax, 5
inc rax
add qword [rsp + 0x50], rax
lea rcx, [rsi - 0x18]
mov rdx, rbx
call qword [0x140164870]
mov ecx, dword [rsi]
xor ecx, dword [rbx + 0x18]
and ecx, 1
xor ecx, dword [rsi]
mov dword [rsi], ecx
mov edx, ecx
xor edx, dword [rbx + 0x18]
and edx, 2
xor edx, ecx
mov dword [rsi], edx
mov eax, edx
xor eax, dword [rbx + 0x18]
and eax, 4
xor eax, edx
mov dword [rsi], eax
mov eax, dword [rbx + 0x1c]
mov dword [rsi + 4], eax
mov eax, dword [rbx + 0x20]
mov dword [rsi + 8], eax
mov rax, qword [rbx + 0x28]
mov qword [rsi + 0x10], rax
lea rdx, [rbx + 0x30]
lea rcx, [rsi + 0x18]
call qword [0x140164558]
add rbx, 0x38
lea rsi, [rsi + 0x38]
cmp rbx, rbp
jb 0x140007ff3
jmp 0x140008110
imul rdx, rcx, 0x38
mov rbx, qword [rdi + 8]
lea rbp, [rbx + rdx]
cmp rbx, rbp
jae 0x140008110
imul rcx, qword [rsp + 0x50], 0x38
mov rsi, qword [rsp + 0x48]
add rcx, 0x18
add rsi, rcx
lea rcx, [rdx - 1]
movabs rax, 0x2492492492492493
mul rcx
sub rcx, rdx
shr rcx, 1
lea rax, [rdx + rcx]
shr rax, 5
inc rax
add qword [rsp + 0x50], rax
nop word [rax + rax]
lea rcx, [rsi - 0x18]
mov rdx, rbx
call qword [0x1401646d8]
mov ecx, dword [rsi]
xor ecx, dword [rbx + 0x18]
and ecx, 1
xor ecx, dword [rsi]
mov dword [rsi], ecx
mov edx, ecx
xor edx, dword [rbx + 0x18]
and edx, 2
xor edx, ecx
mov dword [rsi], edx
mov eax, edx
xor eax, dword [rbx + 0x18]
and eax, 4
xor eax, edx
mov dword [rsi], eax
mov eax, dword [rbx + 0x1c]
mov dword [rsi + 4], eax
mov eax, dword [rbx + 0x20]
mov dword [rsi + 8], eax
mov rax, qword [rbx + 0x28]
mov qword [rsi + 0x10], rax
lea rdx, [rbx + 0x30]
lea rcx, [rsi + 0x18]
call qword [0x140164560]
add rbx, 0x38
lea rsi, [rsi + 0x38]
cmp rbx, rbp
jb 0x1400080b0
mov r8, qword [rdi]
mov rax, qword [rsp + 0x40]
mov qword [rdi], rax
mov qword [rsp + 0x40], r8
mov rbx, qword [rdi + 8]
mov rax, qword [rsp + 0x48]
mov qword [rdi + 8], rax
mov r9, qword [rdi + 0x10]
mov rax, qword [rsp + 0x50]
mov qword [rdi + 0x10], rax
test r14, r14
je 0x140008163
mov rdx, qword [r14]
mov qword [r14], r8
mov qword [rsp + 0x40], rdx
mov rcx, qword [r14 + 8]
mov qword [r14 + 8], rbx
mov rax, qword [r14 + 0x10]
mov qword [r14 + 0x10], r9
mov r8, rdx
mov r9, rax
mov rbx, rcx
test r8, r8
je 0x1400081b3
mov eax, 0xffffffff
lock xadd dword [r8], eax
cmp eax, 1
jne 0x1400081b3
imul rdi, r9, 0x38
add rdi, rbx
cmp rbx, rdi
je 0x14000819f
lea rcx, [rbx + 0x30]
call qword [0x140164550]
mov rcx, rbx
call qword [0x140164880]
add rbx, 0x38
cmp rbx, rdi
jne 0x140008183
mov edx, 0x38
lea r8d, [rdx - 0x30]
mov rcx, qword [rsp + 0x40]
call qword [0x1401648b8]
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret