Function at 0x1400012f0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov r15, rdx
mov r14, rcx
mov eax, dword [rcx]
mov dword [rsp + 0xa0], eax
mov eax, dword [rcx + 4]
mov dword [rsp + 0xb0], eax
xor r13d, r13d
mov qword [r11 - 0x60], r13
xor ebx, ebx
mov qword [r11 - 0x58], rbx
xor esi, esi
mov qword [r11 - 0x50], rsi
xor ecx, ecx
call fcn.140002ddc
mov rcx, rax
call fcn.140002d34
xor r12d, r12d
mov dword [rsp + 0x2c], 0x14
call fcn.140002d4c
mov edi, eax
mov eax, 0x55555556
imul edi
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
sub edi, eax
inc edi
call fcn.140002d4c
mov ebp, eax
mov eax, 0x66666667
imul ebp
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
shl ecx, 4
sub ebp, ecx
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x30], edi
lea rax, [rsp + 0x28]
cmp rax, rbx
jae 0x14000149e
lea rax, [rsp + 0x28]
cmp r13, rax
ja 0x14000149e
lea rcx, [rsp + 0x28]
sub rcx, r13
movabs r9, 0x2aaaaaaaaaaaaaab
mov rax, r9
imul rcx
mov rdi, rdx
sar rdi, 1
mov rax, rdi
shr rax, 0x3f
add rdi, rax
cmp rbx, rsi
jne 0x140001475
mov rcx, rbx
sub rcx, r13
mov rax, r9
imul rcx
mov r8, rdx
sar r8, 1
mov rax, r8
shr rax, 0x3f
add r8, rax
movabs rax, 0x1555555555555554
cmp r8, rax
ja 0x140001568
inc r8
mov rcx, rsi
sub rcx, r13
mov rax, r9
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jbe 0x140001475
mov rcx, rdx
shr rcx, 1
movabs rax, 0x1555555555555555
sub rax, rcx
cmp rax, rdx
jae 0x140001452
xor edx, edx
jmp 0x140001455
add rdx, rcx
cmp rdx, r8
cmovb rdx, r8
lea rcx, [rsp + 0x38]
call fcn.140002050
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov r13, qword [rsp + 0x38]
lea rcx, [rdi + rdi*2]
test rbx, rbx
je 0x140001551
mov eax, dword [r13 + rcx*4]
mov dword [rbx], eax
mov eax, dword [r13 + rcx*4 + 4]
mov dword [rbx + 4], eax
mov eax, dword [r13 + rcx*4 + 8]
mov dword [rbx + 8], eax
jmp 0x140001551
cmp rbx, rsi
jne 0x140001540
mov rcx, rbx
sub rcx, r13
movabs r9, 0x2aaaaaaaaaaaaaab
mov rax, r9
imul rcx
mov r8, rdx
sar r8, 1
mov rax, r8
shr rax, 0x3f
add r8, rax
movabs rax, 0x1555555555555554
cmp r8, rax
ja 0x140001575
inc r8
mov rcx, rsi
sub rcx, r13
mov rax, r9
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jbe 0x140001540
mov rcx, rdx
shr rcx, 1
movabs rax, 0x1555555555555555
sub rax, rcx
cmp rax, rdx
jae 0x14000151d
xor edx, edx
jmp 0x140001520
add rdx, rcx
cmp rdx, r8
cmovb rdx, r8
lea rcx, [rsp + 0x38]
call fcn.140002050
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov r13, qword [rsp + 0x38]
test rbx, rbx
je 0x140001551
mov dword [rbx], ebp
mov dword [rbx + 4], 0x14
mov dword [rbx + 8], edi
add rbx, 0xc
mov qword [rsp + 0x40], rbx
inc r12d
cmp r12d, 0xa
jge 0x140001582
jmp 0x140001355
lea rcx, str.vector_T__too_long
call fcn.140002780
int3
lea rcx, str.vector_T__too_long
call fcn.140002780
int3
add r15, 0x413c1
mov r13d, 0x4705c
mov ebp, dword [rsp + 0xa0]
mov r12d, dword [rsp + 0xb0]
nop
inc bpl
movzx ebp, bpl
mov edi, dword [r14 + rbp*4 + 8]
add r12b, dil
movzx r12d, r12b
mov r11d, dword [r14 + r12*4 + 8]
mov dword [r14 + rbp*4 + 8], r11d
mov dword [r14 + r12*4 + 8], edi
movzx edx, byte [r14 + rbp*4 + 8]
movzx ecx, dil
xor eax, eax
test cl, cl
sete al
add eax, dword [r14 + rdx*4 + 8]
mov dword [r14 + rbp*4 + 8], eax
mov r10d, ecx
xor r8d, r8d
test dl, dl
sete r8b
mov eax, dword [r14 + rcx*4 + 8]
lea ecx, [r8 + rax]
mov dword [r14 + r12*4 + 8], ecx
lea eax, [rbp + r12]
movzx ecx, al
add r11b, cl
add r11b, dil
movzx ecx, r11b
movzx eax, byte [r14 + rcx*4 + 8]
xor byte [r15 - 1], al
mov eax, dword [r14 + rcx*4 + 8]
xor dword [r14 + rdx*4 + 8], eax
mov eax, dword [r14 + rbp*4 + 8]
lea ecx, [r8 + rax]
xor dword [r14 + r10*4 + 8], ecx
inc bpl
movzx ebp, bpl
mov edi, dword [r14 + rbp*4 + 8]
add r12b, dil
movzx r12d, r12b
mov r11d, dword [r14 + r12*4 + 8]
mov dword [r14 + rbp*4 + 8], r11d
mov dword [r14 + r12*4 + 8], edi
movzx edx, byte [r14 + rbp*4 + 8]
movzx ecx, dil
xor eax, eax
test cl, cl
sete al
add eax, dword [r14 + rdx*4 + 8]
mov dword [r14 + rbp*4 + 8], eax
mov r10d, ecx
xor r8d, r8d
test dl, dl
sete r8b
mov eax, dword [r14 + rcx*4 + 8]
lea ecx, [r8 + rax]
mov dword [r14 + r12*4 + 8], ecx
lea eax, [rbp + r12]
movzx ecx, al
add r11b, cl
add r11b, dil
movzx ecx, r11b
movzx eax, byte [r14 + rcx*4 + 8]
xor byte [r15], al
mov eax, dword [r14 + rcx*4 + 8]
xor dword [r14 + rdx*4 + 8], eax
mov eax, dword [r14 + rbp*4 + 8]
lea ecx, [r8 + rax]
xor dword [r14 + r10*4 + 8], ecx
inc bpl
movzx ebp, bpl
mov edi, dword [r14 + rbp*4 + 8]
add r12b, dil
movzx r12d, r12b
mov r11d, dword [r14 + r12*4 + 8]
mov dword [r14 + rbp*4 + 8], r11d
mov dword [r14 + r12*4 + 8], edi
movzx edx, byte [r14 + rbp*4 + 8]
movzx ecx, dil
xor eax, eax
test cl, cl
sete al
add eax, dword [r14 + rdx*4 + 8]
mov dword [r14 + rbp*4 + 8], eax
mov r10d, ecx
xor r8d, r8d
test dl, dl
sete r8b
mov eax, dword [r14 + rcx*4 + 8]
lea ecx, [r8 + rax]
mov dword [r14 + r12*4 + 8], ecx
lea eax, [rbp + r12]
movzx ecx, al
add r11b, cl
add r11b, dil
movzx ecx, r11b
movzx eax, byte [r14 + rcx*4 + 8]
xor byte [r15 + 1], al
mov eax, dword [r14 + rcx*4 + 8]
xor dword [r14 + rdx*4 + 8], eax
mov eax, dword [r14 + rbp*4 + 8]
lea ecx, [r8 + rax]
xor dword [r14 + r10*4 + 8], ecx
inc bpl
movzx ebp, bpl
mov edi, dword [r14 + rbp*4 + 8]
add r12b, dil
movzx r12d, r12b
mov r11d, dword [r14 + r12*4 + 8]
mov dword [r14 + rbp*4 + 8], r11d
mov dword [r14 + r12*4 + 8], edi
movzx edx, byte [r14 + rbp*4 + 8]
movzx ecx, dil
xor eax, eax
test cl, cl
sete al
add eax, dword [r14 + rdx*4 + 8]
mov dword [r14 + rbp*4 + 8], eax
mov r10d, ecx
xor r8d, r8d
test dl, dl
sete r8b
mov eax, dword [r14 + rcx*4 + 8]
lea ecx, [r8 + rax]
mov dword [r14 + r12*4 + 8], ecx
lea eax, [rbp + r12]
movzx ecx, al
add r11b, cl
add r11b, dil
movzx ecx, r11b
movzx eax, byte [r14 + rcx*4 + 8]
xor byte [r15 + 2], al
mov eax, dword [r14 + rcx*4 + 8]
xor dword [r14 + rdx*4 + 8], eax
mov eax, dword [r14 + rbp*4 + 8]
lea edx, [r8 + rax]
xor dword [r14 + r10*4 + 8], edx
add r15, 4
dec r13
jne 0x1400015a0
mov dword [r14], ebp
mov dword [r14 + 4], r12d
mov r13, qword [rsp + 0x38]
test r13, r13
je 0x1400017f1
mov rcx, r13
call fcn.140002d78
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret