Function at 0x140093970
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x140
mov r15, r9
mov r12, r8
mov r14, rdx
mov rsi, rcx
movzx ecx, byte [0x14020cc24]
call fcn.1400c1d70
cmp al, 2
jne 0x140093c15
lea rdi, [rsi + 0x50]
movzx ecx, byte [0x14020cc24]
call fcn.1400c1d70
cmp al, 2
jne 0x140093c26
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmm2, xmmword [r14 + 0x20]
movups xmm3, xmmword [r14 + 0x30]
movups xmmword [rdi + 0x30], xmm3
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
mov qword [rsi + 0x90], 0
mov qword [rsi + 0x98], r14
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmm2, xmmword [r14 + 0x20]
movups xmm3, xmmword [r14 + 0x30]
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x30], xmm3
mov qword [rsi + 0x40], 0
mov qword [rsi + 0x48], r14
mov rbx, qword [r14 + 0x50]
cmp rbx, r15
jae 0x140093a57
lea r13, [rsp + 0xf8]
mov rcx, r13
mov rdx, r14
mov r8, r12
mov r9, r15
call fcn.140095d20
mov rax, qword [rsp + 0x138]
mov r15, qword [rax + 0x40]
cmp r15, 0x41
jae 0x140093d5f
mov r12, r13
movaps xmm0, xmmword [str.6666666666666666jjjjjjjjjjjjjjjjassertion_failed:_mid___self.len__called__Result::unwrap____on_an__Err__value]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
cmp rbx, 0x81
jae 0x140093d16
cmp rbx, r15
cmovb r15, rbx
test r15, r15
je 0x140093b55
cmp r15, 8
jae 0x140093abc
xor eax, eax
jmp 0x140093b40
cmp r15, 0x20
jae 0x140093ac6
xor eax, eax
jmp 0x140093b09
mov rax, r15
and rax, 0xffffffffffffffe0
xor ecx, ecx
nop
movups xmm0, xmmword [r12 + rcx]
movups xmm1, xmmword [r12 + rcx + 0x10]
movups xmm2, xmmword [rsp + rcx + 0x40]
xorps xmm2, xmm0
movups xmm0, xmmword [rsp + rcx + 0x50]
xorps xmm0, xmm1
movups xmmword [rsp + rcx + 0x40], xmm2
movups xmmword [rsp + rcx + 0x50], xmm0
add rcx, 0x20
cmp rax, rcx
jne 0x140093ad0
cmp r15, rax
je 0x140093b55
test r15b, 0x18
je 0x140093b40
mov rcx, rax
mov rax, r15
and rax, 0xfffffffffffffff8
nop word cs:[rax + rax]
mov rdx, qword [r12 + rcx]
xor qword [rsp + rcx + 0x40], rdx
add rcx, 8
cmp rax, rcx
jne 0x140093b20
cmp r15, rax
je 0x140093b55
nop word [rax + rax]
movzx ecx, byte [r12 + rax]
xor byte [rsp + rax + 0x40], cl
lea rcx, [rax + 1]
mov rax, rcx
cmp r15, rcx
jne 0x140093b40
test rbx, rbx
je 0x140093ce2
lea r15, [rsp + 0x40]
mov r8d, 1
mov rcx, rsi
mov rdx, r15
call qword [r14 + 0x60]
mov rax, qword [rsi + 0x40]
inc rax
je 0x140093cfc
mov qword [rsi + 0x40], rax
cmp rbx, 8
jb 0x140093c3f
cmp rbx, 0x20
jae 0x140093b98
xor eax, eax
jmp 0x140093be1
mov rax, rbx
and rax, 0xffffffffffffffe0
xor ecx, ecx
movaps xmm0, xmmword [0x140179e30]
nop dword [rax + rax]
movups xmm1, xmmword [rsp + rcx + 0x40]
movups xmm2, xmmword [rsp + rcx + 0x50]
xorps xmm1, xmm0
xorps xmm2, xmm0
movups xmmword [rsp + rcx + 0x40], xmm1
movups xmmword [rsp + rcx + 0x50], xmm2
add rcx, 0x20
cmp rax, rcx
jne 0x140093bb0
cmp rbx, rax
je 0x140093c5c
test bl, 0x18
je 0x140093c37
mov rcx, rbx
and rcx, 0xfffffffffffffff8
lea r15, [rsp + rcx]
add r15, 0x40
movabs rdx, 0x6a6a6a6a6a6a6a6a
nop word [rax + rax]
xor qword [rsp + rax + 0x40], rdx
add rax, 8
cmp rcx, rax
jne 0x140093c00
cmp rbx, rcx
jne 0x140093c3f
jmp 0x140093c5c
lea rcx, [0x14020cc24]
call fcn.14014c4e0
jmp 0x1400939a2
lea rcx, [0x14020cc24]
call fcn.14014c4e0
jmp 0x1400939ba
lea r15, [rsp + rax]
add r15, 0x40
lea rax, [rsp + rbx]
add rax, 0x40
nop word [rax + rax]
xor byte [r15], 0x6a
inc r15
cmp r15, rax
jne 0x140093c50
mov r9, qword [rsi + 0x98]
mov rcx, qword [r9 + 0x50]
test rcx, rcx
je 0x140093ce2
mov rax, rbx
or rax, rcx
shr rax, 0x20
je 0x140093c85
mov rax, rbx
xor edx, edx
div rcx
mov r14, rax
jmp 0x140093c8e
mov eax, ebx
xor edx, edx
div ecx
mov r14d, eax
mov rax, r14
imul rax, rcx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rbx
cmp rax, rbx
jne 0x140093d2c
cmp rcx, rbx
ja 0x140093ccc
lea rdx, [rsp + 0x40]
mov rcx, rdi
mov r8, r14
call qword [r9 + 0x60]
add r14, qword [rsi + 0x90]
jb 0x140093cfc
mov qword [rsi + 0x90], r14
mov rax, rsi
add rsp, 0x140
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x140179f90]
lea r8, [0x140179f70]
mov edx, 0x19
call fcn.14014e870
ud2
lea rcx, [0x140179fc8]
lea r8, [0x140179ff8]
mov edx, 0x2b
call fcn.14014e870
ud2
lea r8, str..cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.17.7_srchmac.rs
mov edx, 0x80
mov rcx, rbx
call fcn.14014ed40
ud2
mov qword [rsp + 0xd8], 0
lea rax, [0x140179fb0]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x38]
lea r9, [rsp + 0xc8]
xor ecx, ecx
call fcn.14014c400
ud2
lea r8, [0x14017a088]
mov edx, 0x40
mov rcx, r15
call fcn.14014ed40
ud2