Function at 0x14011dd00
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov r14, r9
mov r15, r8
mov r12, rdx
mov rdi, rcx
test r8, r8
je 0x14011dd2c
cmp byte [r12], 0
je 0x14011de33
mov rbp, r15
add rbp, 8
jb 0x14011e121
dec rbp
mov esi, 8
cmp rbp, 8
jb 0x14011dd70
test rbp, rbp
js 0x14011e28a
mov rbx, rbp
and rbx, 0xfffffffffffffff8
mov ecx, 8
mov rdx, rbx
call fcn.1401860d0
test rax, rax
je 0x14011e28f
mov rsi, rax
mov qword [rsp + 0x38], r14
test r15, r15
je 0x14011de65
mov rbx, rbp
shr rbx, 3
xor r13d, r13d
mov eax, r15d
and eax, 7
setne r13b
mov r14d, 8
cmovne r14, rax
mov rax, r15
shr rax, 3
add r13, rax
cmp r13, rbx
ja 0x14011de65
cmp rbp, 8
jb 0x14011ddc6
mov r8, rbp
and r8, 0xfffffffffffffff8
mov rcx, rsi
xor edx, edx
call sub.msvcrt.dll_memset
test r13, r13
je 0x14011de42
lea rcx, [r13 - 1]
cmp rcx, rbx
jae 0x14011e16a
mov cl, 1
xor eax, eax
xor edx, edx
cmp rax, r15
jae 0x14011de27
lea r8, [rdx + 1]
dec r14
xor r9d, r9d
nop dword [rax]
movzx r10d, byte [r12 + rax]
inc rax
shl r9, 8
or r9, r10
sub r14, 1
jb 0x14011de0c
cmp r15, rax
jne 0x14011ddf0
jmp 0x14011de27
not rdx
add rdx, r13
mov qword [rsi + rdx*8], r9
mov r14d, 8
mov rdx, r8
cmp r8, r13
setb cl
jne 0x14011ddde
test cl, 1
jne 0x14011de65
cmp rax, r15
je 0x14011de49
jmp 0x14011de65
mov r15d, 0xf
lea r12, [0x14026731f]
jmp 0x14011de89
xor eax, eax
cmp rax, r15
jne 0x14011de65
mov r15d, 8
lea r12, [0x1402673ad]
cmp rbp, 0x407
ja 0x14011de78
cmp rbp, 0x20
jae 0x14011dea9
mov r15d, 0xf
lea r12, str.UnexpectedErrorInvalidEncodingC:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.17.8_src_arithmetic_bigintmodulus.rsInvalidComponentTooLarge
cmp rbp, 8
jb 0x14011de89
mov rcx, qword [0x1402f90f8]
xor edx, edx
mov r8, rsi
call fcn.1401d02bc
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], r15
mov qword [rdi], 0
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rsi
mov rdx, rbx
call fcn.1401e0780
test rax, rax
je 0x14011dec8
mov r15d, 0x10
lea r12, [0x14026739d]
jmp 0x14011de78
mov edx, 3
mov rcx, rsi
mov r8, rbx
call fcn.1401e0950
test rax, rax
je 0x14011deec
mov r15d, 0xf
lea r12, str.UnexpectedErrorInvalidEncodingC:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.17.8_src_arithmetic_bigintmodulus.rsInvalidComponentTooLarge
jmp 0x14011de78
mov rcx, qword [rsi]
call fcn.1401e2f50
mov r14, rax
mov rcx, rsi
mov rdx, rbx
call fcn.14011e470
mov r13, rax
mov rax, qword [rsp + 0xd8]
cmp rax, 0x3ff
jbe 0x14011e2b8
mov ecx, r13d
shr ecx, 2
mov edx, r13d
shr edx, 1
or edx, ecx
or edx, r13d
and edx, 1
lea rcx, [rdx*8]
add rcx, r13
and rcx, 0xfffffffffffffff8
cmp rcx, rax
jae 0x14011df4c
lea r12, str.TooSmallassertion_failed:_digest_alg.block_len_____digest_alg.output_len__
jmp 0x14011de78
cmp r13, qword [rsp + 0xe0]
ja 0x14011de78
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], r13
and ebp, 0x7f8
mov ecx, 8
mov rdx, rbp
call fcn.1401860d0
test rax, rax
je 0x14011e2d2
mov r15, rax
lea r12, [rsp + 0x50]
mov eax, ebx
and eax, 0xfc
xor ecx, ecx
pcmpeqd xmm0, xmm0
movdqu xmm1, xmmword [rsi + rcx*8]
movdqu xmm2, xmmword [rsi + rcx*8 + 0x10]
pxor xmm1, xmm0
pxor xmm2, xmm0
movdqu xmmword [r15 + rcx*8], xmm1
movdqu xmmword [r15 + rcx*8 + 0x10], xmm2
add rcx, 4
cmp rax, rcx
jne 0x14011dfa8
cmp rbx, rax
je 0x14011dfed
mov rcx, qword [rsi + rax*8]
not rcx
mov qword [r15 + rax*8], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp rbx, rcx
jne 0x14011dfd6
mov rbp, rbx
shl rbp, 6
or byte [r15], 1
sub rbp, r13
jb 0x14011e29c
je 0x14011e03d
cmp rbp, 0x40
jae 0x14011e2aa
mov rax, qword [r15 + rbx*8 - 8]
mov ecx, ebp
shl rax, cl
shr rax, cl
mov qword [r15 + rbx*8 - 8], rax
cmp rbp, 1
adc rbp, 0
mov rcx, r15
mov rdx, r15
mov r8, rsi
mov r9, rbx
call fcn.1401e0bd0
dec rbp
jne 0x14011e027
mov rbp, r14
lea r14, [rbx + 1]
dec r14
je 0x14011e05c
mov rcx, r15
mov rdx, r15
mov r8, rsi
mov r9, rbx
call fcn.1401e0bd0
jmp 0x14011e044
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov rcx, r15
mov rdx, r15
mov r8, r15
mov r9, rsi
call fcn.1401b5500
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov rcx, r15
mov rdx, r15
mov r8, r15
mov r9, rsi
call fcn.1401b5500
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov rcx, r15
mov rdx, r15
mov r8, r15
mov r9, rsi
call fcn.1401b5500
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov rcx, r15
mov rdx, r15
mov r8, r15
mov r9, rsi
call fcn.1401b5500
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov rcx, r15
mov rdx, r15
mov r8, r15
mov r9, rsi
call fcn.1401b5500
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov rcx, r15
mov rdx, r15
mov r8, r15
mov r9, rsi
call fcn.1401b5500
lea rax, [0x1402673ad]
mov rcx, qword [rsp + 0xd0]
cmp rcx, 5
jbe 0x14011e12d
mov r8, rax
mov r9d, 8
jmp 0x14011e22c
lea rcx, [0x1402672f8]
call fcn.14002f520
mov r9d, 0xf
lea r8, [0x14026731f]
test rcx, rcx
je 0x14011e22c
mov rcx, qword [rsp + 0x38]
cmp byte [rcx], 0
je 0x14011e22c
movzx edx, byte [rcx]
mov r9, qword [rsp + 0xd0]
cmp r9, 1
jne 0x14011e18d
mov rcx, rdx
jmp 0x14011e1ea
dec r14
dec r15
cmp r14, r15
ja 0x14011de65
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.17.8_srclimb.rs
mov rdx, rbx
call fcn.140028700
jmp 0x14011e2df
movzx r8d, byte [rcx + 1]
shl edx, 8
mov rcx, rdx
or rcx, r8
cmp r9, 2
jne 0x14011e1a6
mov rdx, r8
jmp 0x14011e1ea
mov rdx, qword [rsp + 0x38]
movzx edx, byte [rdx + 2]
shl ecx, 8
or rcx, rdx
cmp qword [rsp + 0xd0], 3
je 0x14011e1ea
mov rdx, qword [rsp + 0x38]
movzx edx, byte [rdx + 3]
shl ecx, 8
or rcx, rdx
cmp qword [rsp + 0xd0], 4
je 0x14011e1ea
mov rdx, qword [rsp + 0x38]
movzx edx, byte [rdx + 4]
shl rcx, 8
or rcx, rdx
lea r8, str.TooSmallassertion_failed:_digest_alg.block_len_____digest_alg.output_len__
test rcx, rcx
je 0x14011e116
cmp rcx, qword [rsp + 0xe8]
jb 0x14011e116
mov r8, rcx
shr r8, 0x21
mov r8, rax
mov r9d, 8
jne 0x14011e22c
test dl, 1
jne 0x14011e262
mov r9d, 0x10
lea r8, [0x14026739d]
mov qword [rdi + 8], r8
mov qword [rdi + 0x10], r9
mov qword [rdi], 0
mov rcx, qword [0x1402f90f8]
xor edx, edx
mov r8, rsi
call fcn.1401d02bc
mov rcx, qword [0x1402f90f8]
xor edx, edx
mov r8, r15
call fcn.1401d02bc
jmp 0x14011de98
mov qword [rdi], rsi
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], rbp
mov qword [rdi + 0x18], 0
mov qword [rdi + 0x20], r13
mov qword [rdi + 0x28], r15
mov qword [rdi + 0x30], rbx
mov qword [rdi + 0x38], rcx
jmp 0x14011de98
call fcn.1400257e0
mov ecx, 8
mov rdx, rbx
call fcn.1400257c0
lea rcx, [0x140267400]
call fcn.14002f560
jmp 0x14011e2df
lea rcx, str..s_
call fcn.14002f620
jmp 0x14011e2df
lea rcx, [0x1402699e0]
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.17.8_src_rsapublic_modulus.rsassertion_failed:_min_bits___MIN_BITS
mov edx, 0x26
call fcn.1400293d0
jmp 0x14011e2df
mov ecx, 8
mov rdx, rbp
call fcn.1400257c0
ud2