Function at 0x140113080
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
mov r8, rdx
movzx edx, byte [rdx + 0x30]
cmp dl, 1
jne 0x1401130a7
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
movzx eax, byte [rcx + 0x30]
test eax, eax
je 0x1401130c8
cmp eax, 1
jne 0x1401130e7
mov r9, qword [r8 + 0x28]
cmp r9, 5
jb 0x14011311b
mov r9, qword [r8 + 8]
mov r8, qword [r8 + 0x10]
jmp 0x14011311f
mov rax, qword [r8 + 0x28]
test dl, dl
je 0x140113131
cmp rax, 5
jb 0x140113163
mov rax, qword [r8 + 8]
mov r8, qword [r8 + 0x10]
jmp 0x140113167
test dl, dl
je 0x140113148
mov r11, qword [rcx + 0x28]
cmp r11, 5
jb 0x14011322b
mov r11, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
mov rdx, qword [r8 + 0x28]
cmp rdx, 5
jae 0x14011323d
lea r9, [r8 + 8]
mov r10, rdx
jmp 0x140113245
add r8, 8
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp sym.num_bigint_dig::bigint::BigInt::assign_from_slice_native::h34af1dcdc68e7adc
cmp rax, 5
jb 0x140113466
mov rax, qword [r8 + 8]
mov r8, qword [r8 + 0x10]
jmp 0x14011346a
mov rax, qword [r8 + 0x28]
cmp rax, 5
jb 0x14011352e
mov rax, qword [r8 + 8]
mov r8, qword [r8 + 0x10]
jmp 0x140113532
add r8, 8
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 1
mov r9, qword [rcx + 0x28]
cmp r9, 5
jb 0x14011318d
mov r11, qword [rcx + 8]
mov rsi, qword [rcx + 0x10]
jmp 0x140113194
lea rsi, [rcx + 8]
mov r11, r9
lea rdi, [rcx + 0x28]
cmp r11, rax
cmovae r11, rax
test r11, r11
je 0x1401132f7
mov ebx, 1
xor r9d, r9d
mov r10d, 1
xor edx, edx
xor r14d, r14d
nop dword [rax + rax]
mov r15, qword [rsi + r14*8]
not r15
add r15, r10
mov r10, rdx
adc r10, 0
xor edx, edx
xor r15, qword [r8 + r14*8]
not r15
add r15, rbx
adc r9, 0
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x28], 0
mov qword [rsi + r14*8], r15
lea r15, [r14 + 1]
mov rbx, r9
mov r9d, 0
mov r14, r15
cmp r11, r15
jne 0x1401131c0
mov r9, qword [rdi]
cmp r9, 5
jb 0x140113309
mov r9, qword [rcx + 8]
cmp r9, rax
jbe 0x140113364
mov r8, qword [rcx + 0x10]
jmp 0x140113312
lea rax, [rcx + 8]
mov rdx, qword [r8 + 0x28]
cmp rdx, 5
jb 0x14011310f
mov r10, qword [r8 + 8]
mov r9, qword [r8 + 0x10]
cmp r11, r10
cmovb r10, r11
test r10, r10
je 0x1401138d5
cmp r10, 8
jb 0x140113275
lea r11, [r9 + r10*8]
cmp rax, r11
jae 0x140113891
lea r11, [rax + r10*8]
cmp r9, r11
jae 0x140113891
xor r11d, r11d
mov rdi, r10
mov rsi, r11
and rdi, 3
je 0x1401132a4
mov rbx, r11
nop word [rax + rax]
mov rsi, qword [r9 + rbx*8]
xor qword [rax + rbx*8], rsi
lea rsi, [rbx + 1]
mov rbx, rsi
dec rdi
jne 0x140113290
sub r11, r10
cmp r11, 0xfffffffffffffffc
ja 0x1401138d5
nop word cs:[rax + rax]
mov r11, qword [r9 + rsi*8]
xor qword [rax + rsi*8], r11
mov r11, qword [r9 + rsi*8 + 8]
xor qword [rax + rsi*8 + 8], r11
mov r11, qword [r9 + rsi*8 + 0x10]
xor qword [rax + rsi*8 + 0x10], r11
mov r11, qword [r9 + rsi*8 + 0x18]
xor qword [rax + rsi*8 + 0x18], r11
lea r11, [rsi + 4]
mov rsi, r11
cmp r10, r11
jne 0x1401132c0
jmp 0x1401138d5
mov r10d, 1
xor edx, edx
cmp r9, 5
jae 0x140113215
cmp r9, rax
jbe 0x140113364
lea r8, [rcx + 8]
shl rax, 3
shl r9, 3
nop word [rax + rax]
mov r11, qword [r8 + rax]
not r11
add r11, r10
adc rdx, 0
not r11
mov r10, qword [rsp + 0x28]
add r11, qword [rsp + 0x20]
adc r10, 0
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], 0
mov qword [r8 + rax], r11
add rax, 8
mov r10, rdx
mov edx, 0
cmp r9, rax
jne 0x140113320
jmp 0x140113392
jae 0x140113392
lea rax, [r8 + rax*8]
lea rdx, [r8 + r9*8]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x30]
mov rsi, rcx
call fcn.140120a00
mov rcx, rsi
mov rax, qword [rsp + 0x20]
or rax, qword [rsp + 0x28]
mov rax, qword [rdi]
je 0x1401133db
cmp rax, 5
jb 0x1401133b5
mov rdx, qword [rcx + 8]
mov r8, qword [rcx + 0x10]
lea r9, [rcx + 8]
jmp 0x1401133c4
lea r8, [rcx + 8]
mov rdx, rax
mov r9, rdi
mov eax, 4
cmp rdx, rax
je 0x1401139c9
mov qword [r8 + rdx*8], 1
inc qword [r9]
mov rax, qword [rdi]
mov r8, qword [rcx + 8]
cmp rax, 5
setae dl
mov r11, rax
cmovae r11, r8
test r11, r11
je 0x14011387d
lea r9, [rcx + 8]
mov r10, qword [rcx + 0x10]
cmp rax, 5
mov rsi, r9
cmovae rsi, r10
cmp qword [rsi + r11*8 - 8], 0
jne 0x14011387d
dec r11
nop dword [rax + rax]
test dl, 1
mov rax, rdi
cmovne rax, r9
mov qword [rax], r11
mov rax, qword [rdi]
cmp rax, 5
setae dl
mov r8, qword [r9]
mov rsi, rax
cmovae rsi, r8
test rsi, rsi
je 0x14011387d
cmp rax, 5
mov rbx, r9
cmovae rbx, r10
lea r11, [rsi - 1]
cmp qword [rbx + rsi*8 - 8], 0
je 0x140113420
jmp 0x14011387d
add r8, 8
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 1
mov r9, qword [rcx + 0x28]
cmp r9, 5
jb 0x140113490
mov r11, qword [rcx + 8]
mov rsi, qword [rcx + 0x10]
jmp 0x140113497
lea rsi, [rcx + 8]
mov r11, r9
lea rdi, [rcx + 0x28]
cmp r11, rax
cmovae r11, rax
test r11, r11
je 0x1401136c5
mov ebx, 1
xor r9d, r9d
mov r10d, 1
xor edx, edx
xor r14d, r14d
nop
mov r15, qword [r8 + r14*8]
mov r12, qword [rsi + r14*8]
not r12
add r12, r10
mov r10, rdx
adc r10, 0
xor edx, edx
not r15
add r15, rbx
adc r9, 0
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x28], 0
xor r15, r12
mov qword [rsi + r14*8], r15
lea r15, [r14 + 1]
mov rbx, r9
mov r9d, 0
mov r14, r15
cmp r11, r15
jne 0x1401134c0
mov r9, qword [rdi]
cmp r9, 5
jb 0x1401136d7
mov r9, qword [rcx + 8]
cmp r9, rax
jbe 0x140113718
mov r8, qword [rcx + 0x10]
jmp 0x1401136e0
add r8, 8
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 1
mov rdx, qword [rcx + 0x28]
cmp rdx, 5
jb 0x14011356a
mov r9, qword [rcx + 8]
mov r10, qword [rcx + 0x10]
jmp 0x140113571
lea r10, [rcx + 8]
mov r9, rdx
lea rdi, [rcx + 0x28]
cmp r9, rax
cmovae r9, rax
test r9, r9
je 0x1401135fb
mov r11d, 1
xor edx, edx
mov r14d, 1
xor esi, esi
xor ebx, ebx
nop word cs:[rax + rax]
mov r15, qword [r8 + rbx*8]
not r15
add r15, r14
adc rsi, 0
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], 0
xor r15, qword [r10 + rbx*8]
not r15
add r15, r11
adc rdx, 0
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], 0
mov qword [r10 + rbx*8], r15
lea r15, [rbx + 1]
mov r11, rdx
mov edx, 0
mov r14, rsi
mov esi, 0
mov rbx, r15
cmp r9, r15
jne 0x1401135a0
mov rdx, qword [rdi]
cmp rdx, 5
jb 0x140113610
mov rdx, qword [rcx + 8]
cmp rdx, rax
jbe 0x14011365f
mov r8, qword [rcx + 0x10]
jmp 0x140113619
cmp rdx, rax
jbe 0x14011365f
lea r8, [rcx + 8]
shl rax, 3
shl rdx, 3
nop word cs:[rax + rax]
mov r9, qword [rsp + 0x20]
add r9, qword [r8 + rax]
mov r10, qword [rsp + 0x28]
adc r10, 0
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], 0
mov qword [r8 + rax], r9
add rax, 8
cmp rdx, rax
jne 0x140113630
jmp 0x140113697
jae 0x140113697
lea rax, [r8 + rax*8]
lea rdx, [r8 + rdx*8]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x30]
mov rsi, rcx
call sym._ZN133__LT_smallvec..SmallVec_LT_A_GT__u20_as_u20_core..iter..traits..collect..Extend_LT__LT_A_u20_as_u20_smallvec..Array_GT_.
mov rcx, rsi
mov rax, qword [rsp + 0x20]
or rax, qword [rsp + 0x28]
mov rax, qword [rdi]
je 0x140113806
cmp rax, 5
jb 0x1401137e0
mov rdx, qword [rcx + 8]
mov r8, qword [rcx + 0x10]
lea r9, [rcx + 8]
jmp 0x1401137ef
mov r10d, 1
xor edx, edx
cmp r9, 5
jae 0x140113518
cmp r9, rax
jbe 0x140113718
lea r8, [rcx + 8]
shl rax, 3
shl r9, 3
nop dword [rax + rax]
mov r11, qword [r8 + rax]
not r11
add r11, r10
adc rdx, 0
not r11
mov qword [r8 + rax], r11
add rax, 8
mov r10, rdx
mov edx, 0
cmp r9, rax
jne 0x1401136f0
jmp 0x140113746
jae 0x140113746
lea rax, [r8 + rax*8]
lea rdx, [r8 + r9*8]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x30]
mov rsi, rcx
call fcn.140120be0
mov rcx, rsi
mov byte [rcx + 0x30], 2
mov r8, qword [rcx + 8]
mov rdx, qword [rcx + 0x28]
cmp rdx, 5
setae al
mov r11, rdx
cmovae r11, r8
test r11, r11
je 0x1401137cc
lea r9, [rcx + 8]
mov r10, qword [rcx + 0x10]
cmp rdx, 5
mov rsi, r9
cmovae rsi, r10
cmp qword [rsi + r11*8 - 8], 0
jne 0x1401137cc
dec r11
nop word cs:[rax + rax]
test al, 1
mov rax, rdi
cmovne rax, r9
mov qword [rax], r11
mov rdx, qword [rdi]
cmp rdx, 5
setae al
mov r8, qword [r9]
mov rsi, rdx
cmovae rsi, r8
test rsi, rsi
je 0x1401137cc
cmp rdx, 5
mov rbx, r9
cmovae rbx, r10
lea r11, [rsi - 1]
cmp qword [rbx + rsi*8 - 8], 0
je 0x140113790
test al, al
cmovne rdx, r8
test rdx, rdx
jne 0x140113099
jmp 0x1401139c0
lea r8, [rcx + 8]
mov rdx, rax
mov r9, rdi
mov eax, 4
cmp rdx, rax
je 0x1401139e5
mov qword [r8 + rdx*8], 1
inc qword [r9]
mov rax, qword [rdi]
mov byte [rcx + 0x30], 0
mov r8, qword [rcx + 8]
cmp rax, 5
setae dl
mov r11, rax
cmovae r11, r8
test r11, r11
je 0x14011387d
lea r9, [rcx + 8]
mov r10, qword [rcx + 0x10]
cmp rax, 5
mov rsi, r9
cmovae rsi, r10
cmp qword [rsi + r11*8 - 8], 0
jne 0x14011387d
dec r11
nop
test dl, 1
mov rax, rdi
cmovne rax, r9
mov qword [rax], r11
mov rax, qword [rdi]
cmp rax, 5
setae dl
mov r8, qword [r9]
mov rsi, rax
cmovae rsi, r8
test rsi, rsi
je 0x14011387d
cmp rax, 5
mov rbx, r9
cmovae rbx, r10
lea r11, [rsi - 1]
cmp qword [rbx + rsi*8 - 8], 0
je 0x140113840
test dl, dl
cmovne rax, r8
test rax, rax
jne 0x140113099
jmp 0x1401139c0
mov r11, r10
and r11, 0xfffffffffffffffc
xor esi, esi
nop word [rax + rax]
movups xmm0, xmmword [r9 + rsi*8]
movups xmm1, xmmword [r9 + rsi*8 + 0x10]
movups xmm2, xmmword [rax + rsi*8]
xorps xmm2, xmm0
movups xmm0, xmmword [rax + rsi*8 + 0x10]
xorps xmm0, xmm1
movups xmmword [rax + rsi*8], xmm2
movups xmmword [rax + rsi*8 + 0x10], xmm0
add rsi, 4
cmp r11, rsi
jne 0x1401138a0
cmp r10, r11
jne 0x140113278
lea rdi, [rcx + 0x28]
mov r10, rdx
cmp rdx, 5
jb 0x1401138e6
mov r10, qword [r8 + 8]
mov r9, qword [rdi]
cmp r9, 5
jb 0x1401138fa
mov rax, qword [rcx + 8]
cmp r10, rax
ja 0x140113902
jmp 0x140113939
mov rax, r9
cmp r10, r9
jbe 0x140113939
cmp rdx, 5
jb 0x140113912
mov rdx, qword [r8 + 8]
mov r8, qword [r8 + 0x10]
jmp 0x140113916
add r8, 8
cmp rdx, rax
jb 0x140113a01
lea rax, [r8 + rax*8]
lea r8, [r8 + rdx*8]
mov rsi, rcx
mov rdx, rax
call fcn.140120dc0
mov rcx, rsi
mov r9, qword [rsi + 0x28]
mov rax, qword [rcx + 8]
cmp r9, 5
setae r8b
mov r11, r9
cmovae r11, rax
test r11, r11
je 0x1401139af
lea rdx, [rcx + 8]
mov r10, qword [rcx + 0x10]
cmp r9, 5
mov rsi, rdx
cmovae rsi, r10
cmp qword [rsi + r11*8 - 8], 0
jne 0x1401139af
dec r11
nop
test r8b, 1
mov rax, rdi
cmovne rax, rdx
mov qword [rax], r11
mov r9, qword [rdi]
cmp r9, 5
setae r8b
mov rax, qword [rdx]
mov rsi, r9
cmovae rsi, rax
test rsi, rsi
je 0x1401139af
cmp r9, 5
mov rbx, rdx
cmovae rbx, r10
lea r11, [rsi - 1]
cmp qword [rbx + rsi*8 - 8], 0
je 0x140113970
cmp r9, 5
cmovb rax, r9
test rax, rax
jne 0x140113099
mov byte [rcx + 0x30], 1
jmp 0x140113099
mov rsi, rcx
call sym.smallvec::SmallVec_A_::reserve_one_unchecked::h16a951d39fcbc6e1
mov rcx, rsi
mov rdx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
lea r9, [rsi + 8]
jmp 0x1401133cd
mov rsi, rcx
call sym.smallvec::SmallVec_A_::reserve_one_unchecked::h16a951d39fcbc6e1
mov rcx, rsi
mov rdx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
lea r9, [rsi + 8]
jmp 0x1401137f8
lea r8, [0x14045c380]
mov rcx, rax
call sym.core::slice::index::slice_start_index_len_fail::hc4490513dd7cd116
int3