Function at 0x1400fd1d0
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 rdi, rcx
mov r15d, 0xf
test r8, r8
je 0x1400fd322
cmp byte [rdx], 0
je 0x1400fd32b
mov qword [rsp + 0x30], r9
lea rbp, [r8 + 7]
mov r12d, 8
mov r14d, 8
cmp rbp, 8
jb 0x1400fd24b
test rbp, rbp
js 0x1400fd78f
mov r13, rdx
mov rsi, r8
mov rbx, rbp
and rbx, 0xfffffffffffffff8
mov ecx, 8
mov rdx, rbx
call fcn.14018e330
test rax, rax
je 0x1400fd794
mov r14, rax
mov r8, rsi
mov rdx, r13
mov rbx, rbp
shr rbx, 3
xor r13d, r13d
mov eax, r8d
and eax, 7
setne r13b
cmovne r12, rax
mov rax, r8
shr rax, 3
add r13, rax
cmp r13, rbx
ja 0x1400fd35f
cmp rbp, 8
jb 0x1400fd2b2
mov rax, rbp
and rax, 0xfffffffffffffff8
mov rcx, r14
mov rsi, rdx
xor edx, edx
mov qword [rsp + 0x38], rdi
mov rdi, rbx
mov rbx, r14
mov r14, r8
mov r8, rax
call sub.msvcrt.dll_memset
mov rdx, rsi
mov r8, r14
mov r14, rbx
mov rbx, rdi
mov rdi, qword [rsp + 0x38]
test r13, r13
je 0x1400fd334
lea rcx, [r13 - 1]
cmp rcx, rbx
jae 0x1400fd663
mov cl, 1
xor eax, eax
xor r9d, r9d
cmp rax, r8
jae 0x1400fd316
lea r10, [r9 + 1]
dec r12
xor r11d, r11d
nop
movzx esi, byte [rdx + rax]
inc rax
shl r11, 8
or r11, rsi
sub r12, 1
jb 0x1400fd2fb
cmp r8, rax
jne 0x1400fd2e0
jmp 0x1400fd316
not r9
add r9, r13
mov qword [r14 + r9*8], r11
mov r12d, 8
mov r9, r10
cmp r10, r13
setb cl
jne 0x1400fd2cf
test cl, 1
jne 0x1400fd35f
cmp rax, r8
je 0x1400fd33b
jmp 0x1400fd35f
lea rbx, [0x140261ecf]
jmp 0x1400fd37d
lea rbx, [0x140261ede]
jmp 0x1400fd37d
xor eax, eax
cmp rax, r8
jne 0x1400fd35f
cmp rbp, 0x407
jbe 0x1400fd353
mov r15d, 8
lea rbx, [0x140261f6a]
jmp 0x1400fd36c
cmp rbp, 0x20
jae 0x1400fd39d
mov r15d, 0xf
lea rbx, [0x140261ecf]
cmp rbp, 8
jb 0x1400fd37d
mov rcx, qword [0x1402f3170]
xor edx, edx
mov r8, r14
call fcn.1401d7c44
mov qword [rdi + 8], rbx
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, r14
mov rdx, rbx
call fcn.1401e7ed0
test rax, rax
je 0x1400fd3bc
mov r15d, 0x10
lea rbx, [0x140261f5a]
jmp 0x1400fd36c
mov edx, 3
mov rcx, r14
mov r8, rbx
call fcn.1401e8070
test rax, rax
je 0x1400fd3e0
mov r15d, 0xf
lea rbx, [0x140261ecf]
jmp 0x1400fd36c
mov rcx, qword [r14]
call fcn.1401ea4d0
mov rsi, rax
mov rcx, r14
mov rdx, rbx
call fcn.1400fd9b0
mov r13, rax
mov rax, qword [rsp + 0xd8]
cmp rax, 0x3ff
jbe 0x1400fd7a1
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 0x1400fd43d
lea rbx, str.TooSmallassertion_failed:_digest_alg.block_len_____digest_alg.output_len___home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_ring_0.17.8_src_hkdf.rs
jmp 0x1400fd44e
cmp r13, qword [rsp + 0xe0]
jbe 0x1400fd46a
lea rbx, [0x140261f6a]
mov rcx, qword [0x1402f3170]
xor edx, edx
mov r8, r14
call fcn.1401d7c44
mov r15d, 8
jmp 0x1400fd37d
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], r13
and ebp, 0x7f8
mov ecx, 8
mov rdx, rbp
call fcn.14018e330
test rax, rax
je 0x1400fd7bb
mov r15, rax
lea r12, [rsp + 0x50]
mov eax, ebx
and eax, 0xfc
xor ecx, ecx
pcmpeqd xmm0, xmm0
movdqu xmm1, xmmword [r14 + rcx*8]
movdqu xmm2, xmmword [r14 + 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 0x1400fd4b8
cmp rbx, rax
je 0x1400fd4ff
mov rcx, qword [r14 + rax*8]
not rcx
mov qword [r15 + rax*8], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp rbx, rcx
jne 0x1400fd4e8
mov rbp, rbx
shl rbp, 6
or byte [r15], 1
sub rbp, r13
je 0x1400fd53f
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, r14
mov r9, rbx
call fcn.1401e8260
dec rbp
jne 0x1400fd529
lea rbp, [rbx + 1]
dec rbp
je 0x1400fd55b
mov rcx, r15
mov rdx, r15
mov r8, r14
mov r9, rbx
call fcn.1401e8260
jmp 0x1400fd543
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov rcx, r15
mov rdx, r15
mov r8, r15
mov r9, r14
call fcn.1401bcd80
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov rcx, r15
mov rdx, r15
mov r8, r15
mov r9, r14
call fcn.1401bcd80
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov rcx, r15
mov rdx, r15
mov r8, r15
mov r9, r14
call fcn.1401bcd80
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov rcx, r15
mov rdx, r15
mov r8, r15
mov r9, r14
call fcn.1401bcd80
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov rcx, r15
mov rdx, r15
mov r8, r15
mov r9, r14
call fcn.1401bcd80
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov rcx, r15
mov rdx, r15
mov r8, r15
mov r9, r14
call fcn.1401bcd80
lea rax, [0x140261f6a]
mov rcx, qword [rsp + 0xd0]
cmp rcx, 5
jbe 0x1400fd620
mov r8, rax
mov r9d, 8
jmp 0x1400fd731
mov r9d, 0xf
lea r8, [0x140261ede]
test rcx, rcx
je 0x1400fd731
mov rcx, qword [rsp + 0x30]
cmp byte [rcx], 0
je 0x1400fd731
mov r11, rdi
mov r10, r14
movzx edx, byte [rcx]
mov r9, qword [rsp + 0xd0]
cmp r9, 1
jne 0x1400fd686
mov rcx, rdx
jmp 0x1400fd6e3
dec r12
dec r8
cmp r12, r8
ja 0x1400fd35f
lea r8, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_ring_0.17.8_src_limb.rs
mov rdx, rbx
call fcn.14002d5f0
jmp 0x1400fd7c8
movzx r8d, byte [rcx + 1]
shl edx, 8
mov rcx, rdx
or rcx, r8
cmp r9, 2
jne 0x1400fd69f
mov rdx, r8
jmp 0x1400fd6e3
mov rdx, qword [rsp + 0x30]
movzx edx, byte [rdx + 2]
shl ecx, 8
or rcx, rdx
cmp qword [rsp + 0xd0], 3
je 0x1400fd6e3
mov rdx, qword [rsp + 0x30]
movzx edx, byte [rdx + 3]
shl ecx, 8
or rcx, rdx
cmp qword [rsp + 0xd0], 4
je 0x1400fd6e3
mov rdx, qword [rsp + 0x30]
movzx edx, byte [rdx + 4]
shl rcx, 8
or rcx, rdx
lea r8, str.TooSmallassertion_failed:_digest_alg.block_len_____digest_alg.output_len___home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_ring_0.17.8_src_hkdf.rs
test rcx, rcx
je 0x1400fd725
cmp rcx, qword [rsp + 0xe8]
jb 0x1400fd725
mov r8, rcx
shr r8, 0x21
mov r8, rax
mov r9d, 8
mov r14, r10
mov rdi, r11
jne 0x1400fd731
test dl, 1
jne 0x1400fd767
mov r9d, 0x10
lea r8, [0x140261f5a]
jmp 0x1400fd72b
mov r9d, 8
mov r14, r10
mov rdi, r11
mov qword [rdi + 8], r8
mov qword [rdi + 0x10], r9
mov qword [rdi], 0
mov rcx, qword [0x1402f3170]
xor edx, edx
mov r8, r14
call fcn.1401d7c44
mov rcx, qword [0x1402f3170]
xor edx, edx
mov r8, r15
call fcn.1401d7c44
jmp 0x1400fd38c
mov qword [r11], r10
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], 0
mov qword [r11 + 0x20], r13
mov qword [r11 + 0x28], r15
mov qword [r11 + 0x30], rbx
mov qword [r11 + 0x38], rcx
jmp 0x1400fd38c
call fcn.140023ef0
mov ecx, 8
mov rdx, rbx
call fcn.140023ed0
lea rcx, [0x14026411e]
lea r8, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_ring_0.17.8_src_rsa_public_modulus.rsassertion_failed:_min_bits___MIN_BITS
mov edx, 0x26
call fcn.14002e2c0
jmp 0x1400fd7c8
mov ecx, 8
mov rdx, rbp
call fcn.140023ed0
ud2