Function at 0x140054be0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
movdqa xmmword [rsp + 0x70], xmm6
mov rsi, rcx
test r8, r8
je 0x140054d2d
cmp byte [rdx], 0
je 0x140054d43
lea r13, [r8 + 7]
mov r14d, 8
mov edi, 8
cmp r13, 8
jb 0x140054c5e
test r13, r13
js 0x1400551c1
mov r15, rdx
mov r12, r8
mov rbp, r9
mov rbx, r13
and rbx, 0xfffffffffffffff8
mov ecx, 8
mov rdx, rbx
call fcn.1400baaa0
mov rdi, rax
test rax, rax
mov r9, rbp
mov r8, r12
mov rdx, r15
je 0x1400551c6
mov rbx, r13
shr rbx, 3
xor r15d, r15d
mov eax, r8d
and eax, 7
setne r15b
cmovne r14, rax
mov rax, r8
shr rax, 3
add r15, rax
cmp r15, rbx
ja 0x140054d8e
cmp r13, 8
mov qword [rsp + 0x38], rdi
jb 0x140054cbf
mov rax, r13
and rax, 0xfffffffffffffff8
mov rcx, rdi
mov r12, rdx
xor edx, edx
mov rbp, r8
mov r8, rax
mov rdi, r9
call sub.VCRUNTIME140.dll_memset
mov rdx, r12
mov r8, rbp
mov r9, rdi
mov rdi, qword [rsp + 0x38]
test r15, r15
je 0x140054d6a
lea rcx, [r15 - 1]
cmp rcx, rbx
jae 0x1400550a0
mov cl, 1
xor eax, eax
xor r10d, r10d
cmp rax, r8
jae 0x140054d5e
lea r11, [r10 + 1]
dec r14
xor r12d, r12d
nop dword [rax + rax]
movzx edi, byte [rdx + rax]
inc rax
shl r12, 8
or r12, rdi
sub r14, 1
jb 0x140054d0b
cmp r8, rax
jne 0x140054cf0
jmp 0x140054d59
not r10
add r10, r15
mov rdi, qword [rsp + 0x38]
mov qword [rdi + r10*8], r12
mov r14d, 8
mov r10, r11
cmp r11, r15
setb cl
jne 0x140054cdc
jmp 0x140054d5e
mov eax, 0xf
movq xmm6, rax
lea rbx, str.UnexpectedErrorInvalidEncodingC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.17.8_src_arithmetic_bigintmodulus.rsInvalidComponentTooLarge
jmp 0x140054dff
mov eax, 0xf
movq xmm6, rax
lea rbx, [0x140106dbf]
jmp 0x140054dff
mov rdi, qword [rsp + 0x38]
test cl, 1
jne 0x140054d8e
cmp rax, r8
je 0x140054d71
jmp 0x140054d8e
xor eax, eax
cmp rax, r8
jne 0x140054d8e
cmp r13, 0x407
jbe 0x140054d88
mov eax, 8
lea rbx, [0x140106e54]
jmp 0x140054de9
cmp r13, 0x20
jae 0x140054da7
mov eax, 0xf
movq xmm6, rax
lea rbx, str.UnexpectedErrorInvalidEncodingC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.17.8_src_arithmetic_bigintmodulus.rsInvalidComponentTooLarge
cmp r13, 8
jae 0x140054ded
jmp 0x140054dff
mov rbp, r9
mov rcx, rdi
mov rdx, rbx
call fcn.1400eb6b0
test rax, rax
je 0x140054dc8
mov eax, 0x10
lea rbx, [0x140106e44]
jmp 0x140054de9
mov edx, 3
mov rcx, rdi
mov r8, rbx
call fcn.1400eb840
test rax, rax
je 0x140054e2c
mov eax, 0xf
lea rbx, str.UnexpectedErrorInvalidEncodingC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.17.8_src_arithmetic_bigintmodulus.rsInvalidComponentTooLarge
movd xmm6, eax
mov rcx, qword [0x1401521d8]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
movq rax, xmm6
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], rax
mov qword [rsi], 0
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r14, qword [rsp + 0xf8]
mov rcx, qword [rdi]
call fcn.1400ed4a0
mov r12, rax
mov rcx, rdi
mov rdx, rbx
call fcn.140055350
cmp r14, 0x400
jb 0x1400551d3
mov r15, rax
shr eax, 2
mov ecx, r15d
shr ecx, 1
or ecx, eax
or ecx, r15d
and ecx, 1
lea rax, [r15 + rcx*8]
and rax, 0xfffffffffffffff8
cmp rax, r14
jae 0x140054e80
lea rbx, str.TooSmallassertion_failed:_digest_alg.block_len_____digest_alg.output_len__C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.17.8_srchkdf.rs
jmp 0x140054e91
cmp r15, qword [rsp + 0x100]
jbe 0x140054ead
lea rbx, [0x140106e54]
mov rcx, qword [0x1401521d8]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov eax, 8
jmp 0x140054e04
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], r15
and r13d, 0x7f8
mov ecx, 8
mov rdx, r13
call fcn.1400baaa0
test rax, rax
je 0x1400551eb
mov r12, rax
lea r14, [rsp + 0x58]
mov eax, ebx
and eax, 0xfc
xor ecx, ecx
pcmpeqd xmm0, xmm0
movdqu xmm1, xmmword [rdi + rcx*8]
movdqu xmm2, xmmword [rdi + rcx*8 + 0x10]
pxor xmm1, xmm0
pxor xmm2, xmm0
movdqu xmmword [r12 + rcx*8], xmm1
movdqu xmmword [r12 + rcx*8 + 0x10], xmm2
add rcx, 4
cmp rax, rcx
jne 0x140054f01
cmp rbx, rax
je 0x140054f46
mov rcx, qword [rdi + rax*8]
not rcx
mov qword [r12 + rax*8], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp rbx, rcx
jne 0x140054f2f
mov r13, rbx
shl r13, 6
or byte [r12], 1
sub r13, r15
je 0x140054f88
mov rax, qword [r12 + rbx*8 - 8]
mov ecx, r13d
shl rax, cl
shr rax, cl
mov qword [r12 + rbx*8 - 8], rax
cmp r13, 1
adc r13, 0
mov rcx, r12
mov rdx, r12
mov r8, rdi
mov r9, rbx
call fcn.1400eb970
dec r13
jne 0x140054f72
cmp rbx, 1
mov r13, rbx
adc r13, 0
mov rcx, r12
mov rdx, r12
mov r8, rdi
mov r9, rbx
call fcn.1400eb970
dec r13
jne 0x140054f93
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r14
mov rcx, r12
mov rdx, r12
mov r8, r12
mov r9, rdi
call fcn.1400d7700
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r14
mov rcx, r12
mov rdx, r12
mov r8, r12
mov r9, rdi
call fcn.1400d7700
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r14
mov rcx, r12
mov rdx, r12
mov r8, r12
mov r9, rdi
call fcn.1400d7700
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r14
mov rcx, r12
mov rdx, r12
mov r8, r12
mov r9, rdi
call fcn.1400d7700
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r14
mov rcx, r12
mov rdx, r12
mov r8, r12
mov r9, rdi
call fcn.1400d7700
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r14
mov rcx, r12
mov rdx, r12
mov r8, r12
mov r9, rdi
call fcn.1400d7700
lea rax, [0x140106e54]
mov r10, qword [rsp + 0xf0]
cmp r10, 5
jbe 0x14005506e
mov r8, rax
mov r9d, 8
jmp 0x140055158
mov r9d, 0xf
lea r8, [0x140106dbf]
test r10, r10
je 0x140055158
cmp byte [rbp], 0
je 0x140055158
mov rcx, rbp
movzx edx, byte [rbp]
cmp r10, 1
jne 0x1400550be
mov rcx, rdx
jmp 0x14005510c
dec r14
dec r8
cmp r14, r8
ja 0x140054d8e
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.17.8_srclimb.rs
mov rdx, rbx
call fcn.1400efb30
movzx r8d, byte [rcx + 1]
shl edx, 8
mov rcx, rdx
or rcx, r8
cmp r10, 2
jne 0x1400550d7
mov rdx, r8
jmp 0x14005510c
movzx edx, byte [rbp + 2]
shl ecx, 8
or rcx, rdx
cmp qword [rsp + 0xf0], 3
je 0x14005510c
movzx edx, byte [rbp + 3]
shl ecx, 8
or rcx, rdx
cmp qword [rsp + 0xf0], 4
je 0x14005510c
movzx edx, byte [rbp + 4]
shl rcx, 8
or rcx, rdx
lea r8, str.TooSmallassertion_failed:_digest_alg.block_len_____digest_alg.output_len__C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.17.8_srchkdf.rs
test rcx, rcx
je 0x14005514d
cmp rcx, qword [rsp + 0x108]
jb 0x14005514d
mov r8, rcx
shr r8, 0x21
mov r8, rax
mov r9d, 8
mov rdi, qword [rsp + 0x38]
jne 0x140055158
test dl, 1
jne 0x14005518f
mov r9d, 0x10
lea r8, [0x140106e44]
jmp 0x140055153
mov r9d, 8
mov rdi, qword [rsp + 0x38]
mov qword [rsi + 8], r8
mov qword [rsi + 0x10], r9
mov qword [rsi], 0
mov rcx, qword [0x1401521d8]
mov rsi, qword [sym.imp.kernel32.dll_HeapFree]
xor edx, edx
mov r8, rdi
call rsi
mov rcx, qword [0x1401521d8]
xor edx, edx
mov r8, r12
call rsi
jmp 0x140054e13
mov rax, qword [rsp + 0x38]
mov qword [rsi], rax
mov qword [rsi + 8], rbx
mov rax, qword [rsp + 0x40]
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], 0
mov qword [rsi + 0x20], r15
mov qword [rsi + 0x28], r12
mov qword [rsi + 0x30], rbx
mov qword [rsi + 0x38], rcx
jmp 0x140054e13
call fcn.140036c60
mov ecx, 8
mov rdx, rbx
call fcn.1400ef8e0
lea rcx, [0x140109197]
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.17.8_src_rsapublic_modulus.rsassertion_failed:_min_bits___MIN_BITS
mov edx, 0x26
call fcn.1400efbc0
mov ecx, 8
mov rdx, r13
call fcn.1400ef8e0
int3