Function at 0x1400fba60
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x60
mov r8, rdx
movzx edx, byte [rdx + 0x30]
cmp dl, 1
je 0x1400fc280
mov rsi, rcx
movzx eax, byte [rcx + 0x30]
test rax, rax
je 0x1400fbaa0
cmp eax, 1
jne 0x1400fbabf
mov r9, qword [r8 + 0x28]
cmp r9, 5
jb 0x1400fbaf3
mov r9, qword [r8 + 8]
mov r8, qword [r8 + 0x10]
jmp 0x1400fbaf7
mov rax, qword [r8 + 0x28]
test dl, dl
je 0x1400fbb0a
cmp rax, 5
jb 0x1400fbb3c
mov rax, qword [r8 + 8]
mov r8, qword [r8 + 0x10]
jmp 0x1400fbb40
test dl, dl
je 0x1400fbb21
mov r10, qword [rsi + 0x28]
cmp r10, 4
jbe 0x1400fbcad
mov r10, qword [rsi + 8]
mov rax, qword [rsi + 0x10]
mov rdx, qword [r8 + 0x28]
cmp rdx, 5
jae 0x1400fbcbf
lea rcx, [r8 + 8]
mov r9, rdx
jmp 0x1400fbcc7
add r8, 8
mov rcx, rsi
add rsp, 0x60
pop rbx
pop rdi
pop rsi
pop r14
pop r15
jmp sym.num_bigint_dig::bigint::BigInt::assign_from_slice_native::h98bf1749d9a587b0
cmp rax, 5
jb 0x1400fbda6
mov rax, qword [r8 + 8]
mov r8, qword [r8 + 0x10]
jmp 0x1400fbdaa
mov rax, qword [r8 + 0x28]
cmp rax, 5
jb 0x1400fbdd0
mov rax, qword [r8 + 8]
mov r8, qword [r8 + 0x10]
jmp 0x1400fbdd4
add r8, 8
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 1
mov rdx, qword [rsi + 0x28]
cmp rdx, 4
jbe 0x1400fbb66
mov r10, qword [rsi + 8]
mov r11, qword [rsi + 0x10]
jmp 0x1400fbb6d
lea r11, [rsi + 8]
mov r10, rdx
lea rdi, [rsi + 0x28]
cmp r10, rax
cmovae r10, rax
mov r9d, 1
xor ecx, ecx
test r10, r10
je 0x1400fbbdc
xor ebx, ebx
xor edx, edx
nop dword [rax]
mov r14, qword [r11 + rdx*8]
not r14
add r14, r9
mov r9, rbx
adc r9, 0
xor r14, qword [r8 + rdx*8]
not r14
mov rbx, qword [rsp + 0x28]
add r14, qword [rsp + 0x20]
adc rbx, 0
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], 0
mov qword [r11 + rdx*8], r14
lea r14, [rdx + 1]
mov ebx, 0
mov rdx, r14
cmp r10, r14
jne 0x1400fbb90
mov rdx, qword [rdi]
cmp rdx, 5
jb 0x1400fbbf1
mov rdx, qword [rsi + 8]
cmp rdx, rax
jbe 0x1400fbc54
mov r8, qword [rsi + 0x10]
jmp 0x1400fbbfa
cmp rdx, rax
jbe 0x1400fbc54
lea r8, [rsi + 8]
shl rax, 3
shl rdx, 3
nop word cs:[rax + rax]
mov r10, qword [r8 + rax]
not r10
add r10, r9
adc rcx, 0
not r10
mov r9, qword [rsp + 0x28]
add r10, qword [rsp + 0x20]
adc r9, 0
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x28], 0
mov qword [r8 + rax], r10
add rax, 8
mov r9, rcx
mov ecx, 0
cmp rdx, rax
jne 0x1400fbc10
jmp 0x1400fbc7f
jae 0x1400fbc7f
lea rax, [r8 + rax*8]
lea rcx, [r8 + rdx*8]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.140109d10
mov rax, qword [rsp + 0x20]
or rax, qword [rsp + 0x28]
je 0x1400fbd57
mov r8, qword [rdi]
cmp r8, 4
jbe 0x1400fbd33
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
lea rdx, [rsi + 8]
jmp 0x1400fbd43
lea rax, [rsi + 8]
mov rdx, qword [r8 + 0x28]
cmp rdx, 5
jb 0x1400fbae7
mov r9, qword [r8 + 8]
mov rcx, qword [r8 + 0x10]
cmp r10, r9
cmovb r9, r10
test r9, r9
je 0x1400fc1b9
cmp r9, 8
jb 0x1400fbcf7
lea r10, [rcx + r9*8]
cmp rax, r10
jae 0x1400fc176
lea r10, [rax + r9*8]
cmp rcx, r10
jae 0x1400fc176
xor r10d, r10d
mov rdi, r10
not rdi
add rdi, r9
mov rbx, r9
and rbx, 3
je 0x1400fc0b2
mov r11, qword [rcx + r10*8]
xor qword [rax + r10*8], r11
lea r11, [r10 + 1]
mov r10, r11
dec rbx
jne 0x1400fbd10
cmp rdi, 3
jb 0x1400fc1b9
jmp 0x1400fc0c0
lea rcx, [rsi + 8]
mov rax, r8
mov rdx, rdi
mov r8d, 4
cmp rax, r8
je 0x1400fc28c
mov qword [rcx + rax*8], 1
inc qword [rdx]
lea rax, [rsi + 8]
mov rdx, qword [rsi + 0x10]
nop
mov rcx, qword [rdi]
mov r8, rax
mov r9, rcx
cmp rcx, 5
jb 0x1400fbd75
mov r9, qword [rax]
mov r8, rdx
test r9, r9
je 0x1400fc26e
cmp qword [r8 + r9*8 - 8], 0
jne 0x1400fc26e
mov r8, rdi
cmp rcx, 5
jb 0x1400fbd99
mov rcx, qword [rax]
mov r8, rax
test rcx, rcx
je 0x1400fbd60
dec rcx
mov qword [r8], rcx
jmp 0x1400fbd60
add r8, 8
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 1
mov rdx, qword [rsi + 0x28]
cmp rdx, 4
jbe 0x1400fbe13
mov r10, qword [rsi + 8]
mov r11, qword [rsi + 0x10]
jmp 0x1400fbe1a
add r8, 8
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 1
mov rcx, qword [rsi + 0x28]
cmp rcx, 4
jbe 0x1400fbeaf
mov rdx, qword [rsi + 8]
mov r9, qword [rsi + 0x10]
jmp 0x1400fbeb6
lea r11, [rsi + 8]
mov r10, rdx
lea rdi, [rsi + 0x28]
cmp r10, rax
cmovae r10, rax
mov r9d, 1
xor ecx, ecx
test r10, r10
je 0x1400fbe8f
xor ebx, ebx
xor edx, edx
nop word cs:[rax + rax]
mov r14, qword [r8 + rdx*8]
mov r15, qword [r11 + rdx*8]
not r15
add r15, r9
mov r9, rbx
adc r9, 0
not r14
mov rbx, qword [rsp + 0x28]
add r14, qword [rsp + 0x20]
adc rbx, 0
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], 0
xor r14, r15
mov qword [r11 + rdx*8], r14
lea r14, [rdx + 1]
mov ebx, 0
mov rdx, r14
cmp r10, r14
jne 0x1400fbe40
mov rdx, qword [rdi]
cmp rdx, 5
jb 0x1400fbf42
mov rdx, qword [rsi + 8]
cmp rdx, rax
jbe 0x1400fbfd2
mov r8, qword [rsi + 0x10]
jmp 0x1400fbf4f
lea r9, [rsi + 8]
mov rdx, rcx
lea rdi, [rsi + 0x28]
cmp rdx, rax
cmovae rdx, rax
test rdx, rdx
je 0x1400fbf29
xor ecx, ecx
nop dword [rax + rax]
mov r10, qword [r8 + rcx*8]
not r10
mov r11, qword [rsp + 0x38]
add r10, qword [rsp + 0x30]
adc r11, 0
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x38], 0
xor r10, qword [r9 + rcx*8]
not r10
mov r11, qword [rsp + 0x28]
add r10, qword [rsp + 0x20]
adc r11, 0
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x28], 0
mov qword [r9 + rcx*8], r10
lea r10, [rcx + 1]
mov rcx, r10
cmp rdx, r10
jne 0x1400fbed0
mov rcx, qword [rdi]
cmp rcx, 5
jb 0x1400fbf88
mov rcx, qword [rsi + 8]
cmp rcx, rax
jbe 0x1400fc056
mov rdx, qword [rsi + 0x10]
jmp 0x1400fbf95
cmp rdx, rax
jbe 0x1400fbfd2
lea r8, [rsi + 8]
shl rax, 3
shl rdx, 3
nop word [rax + rax]
mov r10, qword [r8 + rax]
not r10
add r10, r9
adc rcx, 0
not r10
mov qword [r8 + rax], r10
add rax, 8
mov r9, rcx
mov ecx, 0
cmp rdx, rax
jne 0x1400fbf60
jmp 0x1400fbffd
cmp rcx, rax
jbe 0x1400fc056
lea rdx, [rsi + 8]
shl rax, 3
shl rcx, 3
nop dword [rax]
mov r8, qword [rsp + 0x20]
add r8, qword [rdx + rax]
mov r9, qword [rsp + 0x28]
adc r9, 0
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x28], 0
mov qword [rdx + rax], r8
add rax, 8
cmp rcx, rax
jne 0x1400fbfa0
jmp 0x1400fc08b
jae 0x1400fbffd
lea rax, [r8 + rax*8]
lea rcx, [r8 + rdx*8]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.140109ef0
mov byte [rsi + 0x30], 2
lea rax, [rsi + 8]
mov rdx, qword [rsi + 0x10]
nop dword [rax]
mov rcx, qword [rdi]
mov r8, rax
mov r9, rcx
cmp rcx, 5
jb 0x1400fc025
mov r9, qword [rax]
mov r8, rdx
test r9, r9
je 0x1400fc26e
cmp qword [r8 + r9*8 - 8], 0
jne 0x1400fc26e
mov r8, rdi
cmp rcx, 5
jb 0x1400fc049
mov rcx, qword [rax]
mov r8, rax
test rcx, rcx
je 0x1400fc010
dec rcx
mov qword [r8], rcx
jmp 0x1400fc010
jae 0x1400fc08b
lea rax, [r8 + rax*8]
lea rcx, [r8 + rcx*8]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x40]
mov rcx, rsi
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 rax, qword [rsp + 0x20]
or rax, qword [rsp + 0x28]
je 0x1400fc11b
mov r8, qword [rdi]
cmp r8, 4
jbe 0x1400fc0f7
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
lea rdx, [rsi + 8]
jmp 0x1400fc107
mov r11, r10
cmp rdi, 3
jb 0x1400fc1b9
nop
mov r10, qword [rcx + r11*8]
xor qword [rax + r11*8], r10
mov r10, qword [rcx + r11*8 + 8]
xor qword [rax + r11*8 + 8], r10
mov r10, qword [rcx + r11*8 + 0x10]
xor qword [rax + r11*8 + 0x10], r10
mov r10, qword [rcx + r11*8 + 0x18]
xor qword [rax + r11*8 + 0x18], r10
lea r10, [r11 + 4]
mov r11, r10
cmp r9, r10
jne 0x1400fc0c0
jmp 0x1400fc1b9
lea rcx, [rsi + 8]
mov rax, r8
mov rdx, rdi
mov r8d, 4
cmp rax, r8
je 0x1400fc2a5
mov qword [rcx + rax*8], 1
inc qword [rdx]
mov byte [rsi + 0x30], 0
lea rax, [rsi + 8]
mov rdx, qword [rsi + 0x10]
nop word [rax + rax]
mov rcx, qword [rdi]
mov r8, rax
mov r9, rcx
cmp rcx, 5
jb 0x1400fc145
mov r9, qword [rax]
mov r8, rdx
test r9, r9
je 0x1400fc26e
cmp qword [r8 + r9*8 - 8], 0
jne 0x1400fc26e
mov r8, rdi
cmp rcx, 5
jb 0x1400fc169
mov rcx, qword [rax]
mov r8, rax
test rcx, rcx
je 0x1400fc130
dec rcx
mov qword [r8], rcx
jmp 0x1400fc130
mov r10, r9
and r10, 0xfffffffffffffffc
xor r11d, r11d
movups xmm0, xmmword [rcx + r11*8]
movups xmm1, xmmword [rcx + r11*8 + 0x10]
movups xmm2, xmmword [rax + r11*8]
xorps xmm2, xmm0
movups xmm0, xmmword [rax + r11*8 + 0x10]
xorps xmm0, xmm1
movups xmmword [rax + r11*8], xmm2
movups xmmword [rax + r11*8 + 0x10], xmm0
add r11, 4
cmp r10, r11
jne 0x1400fc180
cmp r9, r10
jne 0x1400fbcfa
lea rdi, [rsi + 0x28]
mov rax, rdx
cmp rdx, 5
jb 0x1400fc1da
mov rax, qword [r8 + 8]
mov rcx, qword [rdi]
cmp rcx, 5
jae 0x1400fc1e3
cmp rax, rcx
ja 0x1400fc1ec
jmp 0x1400fc21c
mov rcx, qword [rdi]
cmp rcx, 5
jb 0x1400fc1d3
mov rcx, qword [rsi + 8]
cmp rax, rcx
jbe 0x1400fc21c
cmp rdx, 5
jb 0x1400fc1fc
mov rdx, qword [r8 + 8]
mov r8, qword [r8 + 0x10]
jmp 0x1400fc200
add r8, 8
cmp rdx, rcx
jb 0x1400fc2be
lea rax, [r8 + rcx*8]
lea r8, [r8 + rdx*8]
mov rcx, rsi
mov rdx, rax
call fcn.1401096f0
lea rax, [rsi + 8]
mov rdx, qword [rsi + 0x10]
nop word cs:[rax + rax]
mov rcx, qword [rdi]
mov r8, rax
mov r9, rcx
cmp rcx, 5
jb 0x1400fc245
mov r9, qword [rax]
mov r8, rdx
test r9, r9
je 0x1400fc26e
cmp qword [r8 + r9*8 - 8], 0
jne 0x1400fc26e
mov r8, rdi
cmp rcx, 5
jb 0x1400fc261
mov rcx, qword [rax]
mov r8, rax
test rcx, rcx
je 0x1400fc230
dec rcx
mov qword [r8], rcx
jmp 0x1400fc230
cmp rcx, 5
jb 0x1400fc277
mov rcx, qword [rax]
test rcx, rcx
jne 0x1400fc280
mov byte [rsi + 0x30], 1
add rsp, 0x60
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov rcx, rsi
call sym.smallvec::SmallVec_A_::reserve_one_unchecked::h24a18260af9eefde
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
lea rdx, [rsi + 8]
jmp 0x1400fbd4c
mov rcx, rsi
call sym.smallvec::SmallVec_A_::reserve_one_unchecked::h24a18260af9eefde
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
lea rdx, [rsi + 8]
jmp 0x1400fc110
lea r8, [0x140205ed0]
call dbg.slice_start_index_len_fail
ud2