Function at 0x140007290
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x60
mov r14, r9
mov rbx, r8
mov rdi, rcx
test edx, edx
jne 0x140007376
test r9, r9
jne 0x140007376
mov rax, qword [rcx]
test rax, rax
je 0x140007376
mov eax, dword [rax]
cmp eax, 1
jg 0x140007376
test rbx, rbx
jle 0x140007376
mov r10, qword [rcx]
test r10, r10
je 0x140007324
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 0x140007329
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 [0x1401434d8]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
jne 0x140007365
call qword [0x1401434e8]
int3
mov rax, qword [rsp + 0x30]
mov qword [rdi], rax
mov qword [rdi + 8], rcx
jmp 0x140007606
mov r9d, edx
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.140005ff0
nop
test rbx, rbx
jle 0x14000739b
cmp qword [rsp + 0x48], 0
jne 0x14000739b
call qword [0x1401434e8]
int3
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140007563
lea rcx, [rax + rbx]
test rbx, rbx
cmovns rcx, rax
mov rax, qword [rdi]
test rax, rax
je 0x1400074b5
mov eax, dword [rax]
cmp eax, 1
jg 0x1400074b5
test r14, r14
jne 0x1400074b5
imul rcx, rcx, 0x38
mov rbx, qword [rdi + 8]
lea rbp, [rbx + rcx]
cmp rbx, rbp
jae 0x140007563
imul rsi, qword [rsp + 0x50], 0x38
mov r14, qword [rsp + 0x48]
add rsi, 0x18
add rsi, r14
dec rcx
movabs rax, 0x2492492492492493
mul rcx
sub rcx, rdx
shr rcx, 1
lea r15, [rdx + rcx]
shr r15, 5
inc r15
add r15, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
nop word [rax + rax]
lea rcx, [rsi - 0x18]
mov rdx, rbx
call qword [0x140143710]
mov eax, dword [rbx + 0x18]
xor eax, dword [rsi]
and eax, 1
xor eax, dword [rsi]
mov dword [rsi], eax
mov ecx, eax
xor ecx, dword [rbx + 0x18]
and ecx, 2
xor ecx, eax
mov dword [rsi], ecx
mov eax, ecx
xor eax, dword [rbx + 0x18]
and eax, 4
xor eax, ecx
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 [0x140143410]
add rbx, 0x38
lea rsi, [rsi + 0x38]
cmp rbx, rbp
jb 0x140007430
mov r8, qword [rdi]
mov rax, qword [rsp + 0x40]
mov qword [rdi], rax
mov qword [rsp + 0x40], r8
mov rbx, qword [rdi + 8]
mov qword [rdi + 8], r14
mov r9, qword [rdi + 0x10]
mov qword [rdi + 0x10], r15
jmp 0x1400075b6
imul rdx, rcx, 0x38
mov rbx, qword [rdi + 8]
lea rbp, [rbx + rdx]
cmp rbx, rbp
jae 0x140007563
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 [0x140143570]
mov eax, dword [rbx + 0x18]
xor eax, dword [rsi]
and eax, 1
xor eax, dword [rsi]
mov dword [rsi], eax
mov ecx, eax
xor ecx, dword [rbx + 0x18]
and ecx, 2
xor ecx, eax
mov dword [rsi], ecx
mov eax, ecx
xor eax, dword [rbx + 0x18]
and eax, 4
xor eax, ecx
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 [0x140143418]
add rbx, 0x38
lea rsi, [rsi + 0x38]
cmp rbx, rbp
jb 0x140007503
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 0x1400075b6
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 0x140007606
mov eax, 0xffffffff
lock xadd dword [r8], eax
cmp eax, 1
jne 0x140007606
imul rdi, r9, 0x38
add rdi, rbx
cmp rbx, rdi
je 0x1400075f2
lea rcx, [rbx + 0x30]
call qword [0x140143408]
mov rcx, rbx
call qword [0x140143720]
add rbx, 0x38
cmp rbx, rdi
jne 0x1400075d6
mov edx, 0x38
lea r8d, [rdx - 0x30]
mov rcx, qword [rsp + 0x40]
call qword [0x140143758]
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret