Function at 0x14000d4d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
cmp dword [rcx + 0x58], 1
mov rbp, qword [rdx + 8]
mov r12, qword [rdx]
mov dword [rsp + 0x2c], 0x78563412
mov rbx, rcx
jbe 0x14000d688
mov rsi, rbp
pxor xmm0, xmm0
mov byte [rsp + 0x2b], 0
mov eax, 2
sub rsi, r12
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0
cmp rsi, 0x7d
ja 0x14000d670
movzx edx, byte [rbx + 0x5c]
lea r13, [rsp + 0x30]
lea r8, [rsp + 0x2b]
mov rcx, r13
lea edx, [rax + rdx*4]
movsxd rdx, edx
call method.std::vector_unsigned_char__std::allocator_unsigned_char___._M_fill_assign_unsigned_long_long__unsigned_char_const_
mov rdi, qword [rsp + 0x30]
mov byte [rdi], 0x82
movzx eax, byte [rbx + 0x5c]
cmp rsi, 0x7d
ja 0x14000d630
shl eax, 7
or eax, esi
mov byte [rdi + 1], al
cmp byte [rbx + 0x5c], 0
jne 0x14000d6a0
mov rdx, qword [rbx + 0x28]
mov r9, qword [rsp + 0x38]
lea rcx, [rbx + 0x20]
mov r8, rdi
call method.void_std::vector_unsigned_char__std::allocator_unsigned_char___::_M_range_insert___gnu_cxx::__normal_iterator_unsigned_char__std::vector_unsigned_char__std.allocator_unsigned_char__________gnu_cxx::__normal_iterator_unsigned_char__std::vector_uns
mov rcx, qword [rbx + 0x28]
cmp r12, rbp
je 0x14000d5ba
mov rax, qword [rbx + 0x30]
sub rax, rcx
cmp rax, rsi
jb 0x14000d748
cmp rsi, 1
jle 0x14000d830
mov r8, rsi
mov rdx, r12
call sym.memmove
mov rcx, qword [rbx + 0x28]
add rcx, rsi
mov qword [rbx + 0x28], rcx
mov r9, qword [rsp + 0x40]
mov r13, qword [rbx + 0x20]
sub r9, rdi
cmp byte [rbx + 0x5c], 0
je 0x14000d611
sub rcx, r13
sub rcx, rsi
test rsi, rsi
je 0x14000d611
xor byte [r13 + rcx], 0x12
cmp rsi, 1
je 0x14000d611
mov eax, 1
nop dword [rax + rax]
mov r8, rax
lea rdx, [rcx + rax]
add rax, 1
add rdx, qword [rbx + 0x20]
and r8d, 3
movzx r8d, byte [rsp + r8 + 0x2c]
xor byte [rdx], r8b
cmp rsi, rax
jne 0x14000d5f0
mov rdx, r9
mov rcx, rdi
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.operator_delete_void__unsigned_long_long_
cmp rsi, 0xffff
ja 0x14000d6b0
cmp al, 1
sbb eax, eax
and eax, 0xffffff80
sub eax, 2
mov byte [rdi + 1], al
mov eax, esi
rol ax, 8
mov word [rdi + 2], ax
cmp byte [rbx + 0x5c], 0
je 0x14000d56c
mov dword [rdi + 4], 0x78563412
jmp 0x14000d56c
cmp rsi, 0x10000
sbb eax, eax
and eax, 0xfffffffa
add eax, 0xa
jmp 0x14000d528
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rdi + 2], 0x78563412
jmp 0x14000d56c
cmp al, 1
mov r11, rsi
mov rax, rsi
mov r10, rsi
sbb edx, edx
shr r11, 0x10
and eax, 0xff00
mov r9, rsi
movzx r11d, r11b
shr r10, 0x18
mov r8, rsi
mov rcx, rsi
or rax, r11
movzx r10d, r10b
shr r9, 0x20
and edx, 0xffffff80
shl rax, 8
movzx r9d, r9b
shr r8, 0x28
sub edx, 1
or rax, r10
movzx r8d, r8b
shr rcx, 0x30
movzx edx, dl
shl rax, 8
movzx ecx, cl
mov byte [rdi + 9], sil
or rax, r9
shl rax, 8
or rax, r8
shl rax, 8
or rax, rcx
shld rax, rsi, 8
shl rax, 8
or rax, rdx
mov qword [rdi + 1], rax
cmp byte [rbx + 0x5c], 0
je 0x14000d56c
mov dword [rdi + 0xa], 0x78563412
jmp 0x14000d56c
movabs rax, 0x7fffffffffffffff
mov r14, qword [rbx + 0x20]
mov rdx, rax
sub rcx, r14
sub rdx, rcx
mov rbp, rcx
cmp rdx, rsi
jb 0x14000d8f3
cmp rcx, rsi
jb 0x14000d810
movabs r15, 0x7fffffffffffffff
lea rdx, [rcx + rcx]
cmp rdx, r15
cmovbe r15, rdx
cmp rdx, rcx
cmovb r15, rax
mov rcx, r15
call sym.operator_new_unsigned_long_long_
mov r13, rax
add r15, rax
cmp rbp, 1
jle 0x14000d846
mov rcx, r13
mov r8, rbp
mov rdx, r14
call sym.memmove
lea rcx, [r13 + rbp]
cmp rsi, 1
jle 0x14000d870
mov r8, rsi
mov rdx, r12
call sym.memmove
lea rbp, [rax + rsi]
mov rdx, qword [rbx + 0x30]
mov rcx, r14
sub rdx, r14
call sym.operator_delete_void__unsigned_long_long_
mov r9, qword [rsp + 0x40]
mov qword [rbx + 0x20], r13
mov qword [rbx + 0x28], rbp
sub r9, rdi
cmp byte [rbx + 0x5c], 0
mov qword [rbx + 0x30], r15
je 0x14000d611
mov rcx, rbp
sub rcx, r13
sub rcx, rsi
jmp 0x14000d5d7
mov r15, rsi
add r15, rcx
jb 0x14000d8ff
test r15, r15
jne 0x14000d8dd
xor r15d, r15d
xor r13d, r13d
jmp 0x14000d79e
jne 0x14000d5b3
movzx eax, byte [r12]
mov byte [rcx], al
mov rcx, qword [rbx + 0x28]
jmp 0x14000d5b3
je 0x14000d88a
add rbp, r13
cmp rsi, 1
jle 0x14000d8b2
mov r8, rsi
mov rdx, r12
mov rcx, rbp
call sym.memmove
add rbp, rsi
test r14, r14
je 0x14000d7e3
jmp 0x14000d7d4
lea rbp, [rcx + rsi]
jne 0x14000d7d4
movzx eax, byte [r12]
lea rbp, [rcx + 1]
mov byte [rcx], al
jmp 0x14000d7d4
movzx eax, byte [r14]
lea rbp, [r13 + 1]
mov byte [r13], al
cmp rsi, 1
jle 0x14000d8be
mov rcx, rbp
mov r8, rsi
mov rdx, r12
add rbp, rsi
call sym.memmove
jmp 0x14000d7d4
jne 0x14000d85f
movzx eax, byte [r12]
mov byte [rbp], al
jmp 0x14000d85f
add rbp, rsi
cmp rsi, 1
jne 0x14000d7d4
movzx eax, byte [r12]
lea rbp, [r13 + 2]
mov byte [r13 + 1], al
jmp 0x14000d7d4
movabs rax, 0x7fffffffffffffff
cmp r15, rax
cmova r15, rax
jmp 0x14000d790
lea rcx, str.vector::_M_range_insert
call sym.std::__throw_length_error_char_const_
mov r15, rax
jmp 0x14000d790