Function at 0x14002e930
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x60
mov rsi, qword [rcx + 0xb8]
mov rax, r9
add rsi, 7
mov rbx, rdx
shr rsi, 3
mov r14, rcx
cmp qword [rcx + 0x60], 0
mov edi, 0xffffb080
mov qword [rsp + 0x20], rsi
je 0x14002eb09
cmp qword [rcx + 0x78], 0
jne 0x14002eb09
nop dword [rax]
mov r9, rax
mov rdx, rsi
mov rcx, rbx
call fcn.140020270
test eax, eax
jne 0x14002ecf0
mov rcx, rbx
call fcn.14001c7f0
mov r8, qword [rsp + 0xa0]
test rax, rax
mov rax, qword [rsp + 0xa8]
je 0x14002e980
mov r9, qword [rbx + 8]
test r9, r9
jne 0x14002e9c2
lea rdx, [r9 - 1]
jmp 0x14002ea13
lea rdx, [r9 - 1]
test rdx, rdx
je 0x14002e9e3
mov rax, qword [rbx + 0x10]
lea rcx, [rax + rdx*8]
cmp qword [rcx], 0
jne 0x14002e9e3
sub rcx, 8
sub rdx, 1
jne 0x14002e9d3
mov rax, qword [rbx + 0x10]
xor ecx, ecx
movabs r8, 0x8000000000000000
mov r10, qword [rax + rdx*8]
test r8, r10
jne 0x14002ea08
shr r8, 1
inc rcx
cmp rcx, 0x40
jb 0x14002e9f7
shl rdx, 6
sub rdx, rcx
add rdx, 0x3f
mov rax, qword [r14 + 0xb8]
cmp rdx, rax
jbe 0x14002ea39
sub rdx, rax
mov rcx, rbx
call fcn.14001cfe0
test eax, eax
je 0x14002ea91
add rsp, 0x60
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rdi, rax
shl r9, 6
mov rbp, rax
shr rdi, 6
and ebp, 0x3f
xor edx, edx
cmp r9, rax
ja 0x14002ea63
lea rdx, [rdi + 1]
mov rcx, rbx
call fcn.14001c230
mov edx, eax
test eax, eax
jne 0x14002ea89
mov rax, qword [rbx + 0x10]
lea rcx, [rax + rdi*8]
mov rax, qword [rax + rdi*8]
btr rax, rbp
mov qword [rcx], rax
mov rax, qword [rbx + 0x10]
lea rcx, [rax + rdi*8]
mov rax, qword [rax + rdi*8]
bts rax, rbp
mov qword [rcx], rax
test edx, edx
jne 0x14002eb35
mov rcx, qword [rbx + 8]
mov rax, rcx
shl rax, 6
test rax, rax
je 0x14002eab4
mov rcx, qword [rbx + 0x10]
mov rax, qword [rcx]
btr rax, 0
mov qword [rcx], rax
mov rcx, qword [rbx + 8]
shl rcx, 6
cmp rcx, 1
jbe 0x14002eacd
mov rcx, qword [rbx + 0x10]
mov rax, qword [rcx]
btr rax, 1
mov qword [rcx], rax
mov r8, qword [rsp + 0xa0]
xor edi, edi
cmp qword [r14 + 0xb8], 0xfe
jne 0x14002eb01
mov rax, qword [rbx + 8]
shl rax, 6
cmp rax, 2
jbe 0x14002eb01
mov rcx, qword [rbx + 0x10]
mov rax, qword [rcx]
btr rax, 2
mov qword [rcx], rax
mov rax, qword [rsp + 0xa8]
cmp qword [r14 + 0x60], 0
mov qword [rsp + 0x98], r12
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x50], r15
je 0x14002ecdc
cmp qword [r14 + 0x78], 0
je 0x14002ecdc
xor edi, edi
jmp 0x14002eb60
mov eax, edx
add rsp, 0x60
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov edi, dword [rsp + 0x90]
nop word [rax + rax]
mov r9, rax
mov rdx, rsi
mov rcx, rbx
call fcn.140020270
test eax, eax
jne 0x14002ecde
lea rdx, [rsi*8]
mov rcx, rbx
sub rdx, qword [r14 + 0xb8]
call fcn.14001cfe0
test eax, eax
jne 0x14002ecde
inc edi
mov dword [rsp + 0x90], edi
cmp edi, 0x1e
jg 0x14002ecd7
mov rsi, qword [rbx + 8]
cmp rsi, qword [r14 + 0xa0]
jne 0x14002ecd0
mov edi, dword [rbx]
mov r11d, dword [r14 + 0x98]
sar r11d, 1
sar edi, 1
and r11d, 1
and edi, 1
xor r11d, edi
mov ebp, r11d
and ebp, edi
test rsi, rsi
je 0x14002ec76
mov rax, qword [r14 + 0xa8]
lea r13, [rsi - 1]
mov r15, qword [rbx + 0x10]
mov r12d, 1
sub r12d, edi
sub r15, rax
lea r13, [rax + r13*8]
nop dword [rax]
mov r9, qword [r13]
mov r10, qword [r15 + r13]
lea r13, [r13 - 8]
mov rax, r10
mov r8, r9
shr rax, 0x3f
xor r8, r10
mov rcx, r9
mov rdx, r8
sub rcx, r10
shr r8, 0x3f
and eax, r8d
shr rcx, 0x3f
sub r10, r9
not rdx
shr rdx, 0x3f
shr r10, 0x3f
and ecx, edx
or ecx, eax
shr r9, 0x3f
and r10d, edx
and r9d, r8d
or r10d, r9d
mov eax, 1
sub eax, r11d
or r11d, ecx
and eax, ecx
and eax, edi
or ebp, eax
mov eax, 1
sub eax, r11d
or r11d, r10d
and eax, r12d
and eax, r10d
or ebp, eax
sub rsi, 1
jne 0x14002ec00
lea rax, [rsp + 0x28]
mov qword [rsp + 0x28], 1
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x40], rax
mov rcx, rbx
mov dword [rsp + 0x30], 1
xor edi, edi
mov qword [rsp + 0x38], 1
call fcn.14001d190
mov rsi, qword [rsp + 0x20]
test eax, eax
mov rax, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xa0]
js 0x14002eb50
cmp ebp, 1
je 0x14002ecdc
jmp 0x14002eb50
mov eax, 0xfffffffc
jmp 0x14002ecde
mov edi, 0xffffb300
mov eax, edi
mov r13, qword [rsp + 0x58]
mov r12, qword [rsp + 0x98]
mov r15, qword [rsp + 0x50]
add rsp, 0x60
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret