Function at 0x14002537e
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1c8
mov rbx, r9
mov r15, r8
mov rdi, rdx
mov rsi, rcx
lea r14, [rdx + 0x30]
movups xmm0, xmmword [rdx + 0x30]
movups xmm1, xmmword [rdx + 0x40]
movups xmm2, xmmword [rdx + 0x50]
movups xmm3, xmmword [rdx + 0x60]
movaps xmmword [rsp + 0x60], xmm3
movaps xmmword [rsp + 0x50], xmm2
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
mov al, byte [0x140532320]
cmp al, 2
jne 0x140025657
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movaps xmm3, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x180], xmm3
movaps xmmword [rsp + 0x170], xmm2
movaps xmmword [rsp + 0x160], xmm1
movaps xmmword [rsp + 0x150], xmm0
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmm2, xmmword [r14 + 0x20]
movups xmm3, xmmword [r14 + 0x30]
movaps xmmword [rsp + 0x100], xmm3
movaps xmmword [rsp + 0xf0], xmm2
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0xd0], xmm0
mov al, byte [0x140532320]
cmp al, 2
jne 0x140025661
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmm1, xmmword [rsp + 0xe0]
movaps xmm2, xmmword [rsp + 0xf0]
movaps xmm3, xmmword [rsp + 0x100]
movups xmmword [rsp + 0xb8], xmm3
movups xmmword [rsp + 0xa8], xmm2
movups xmmword [rsp + 0x98], xmm1
movups xmmword [rsp + 0x88], xmm0
mov qword [rsp + 0x30], rdi
movaps xmm0, xmmword [rsp + 0x150]
movaps xmm1, xmmword [rsp + 0x160]
movaps xmm2, xmmword [rsp + 0x170]
movaps xmm3, xmmword [rsp + 0x180]
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x48], xmm1
movups xmmword [rsp + 0x58], xmm2
movups xmmword [rsp + 0x68], xmm3
xor eax, eax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0xc8], rax
mov r14, qword [rdi + 0x20]
cmp r14, rbx
jae 0x140025511
lea r12, [rsp + 0x150]
mov rcx, r12
mov rdx, rdi
mov r8, r15
mov r9, rbx
call fcn.1400236d8
mov rax, qword [r12]
mov rbx, qword [rax + 0x10]
cmp rbx, 0x41
jae 0x1400256d4
lea r15, [rsp + 0x158]
movaps xmm0, xmmword [str.6666666666666666]
movaps xmmword [rsp + 0x140], xmm0
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x120], xmm0
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0x100], xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
cmp r14, 0x81
jae 0x14002569b
cmp r14, rbx
cmovb rbx, r14
test rbx, rbx
je 0x14002558a
xor eax, eax
mov cl, byte [r15 + rax]
xor byte [rsp + rax + 0xd0], cl
lea rcx, [rax + 1]
mov rax, rcx
cmp rbx, rcx
jne 0x140025573
test r14, r14
je 0x14002566b
lea rbx, [rsp + 0x38]
lea rdx, [rsp + 0xd0]
mov r8d, 1
mov rcx, rbx
call qword [rdi]
mov rax, qword [rbx + 0x40]
inc rax
je 0x140025683
lea rcx, [rsp + 0x88]
mov qword [rcx - 0x10], rax
xor eax, eax
xor byte [rsp + rax + 0xd0], 0x6a
inc rax
cmp r14, rax
jne 0x1400255c6
mov r9, qword [rsp + 0x80]
mov r8, qword [r9 + 0x20]
test r8, r8
je 0x14002566b
mov rax, r14
xor edx, edx
div r8
mov rdi, rax
imul rax, r8
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r14
cmp rax, r14
jne 0x1400256af
cmp r8, r14
ja 0x140025632
lea rdx, [rsp + 0xd0]
mov r8, rdi
call qword [r9]
add rdi, qword [rsp + 0xc8]
jb 0x140025683
mov qword [rsp + 0xc8], rdi
lea rdx, [rsp + 0x30]
mov r8d, 0xa0
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
nop
add rsp, 0x1c8
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
call fcn.1400d9b47
jmp 0x1400253d0
call fcn.1400d9b47
jmp 0x140025445
lea rcx, str.attempt_to_divide_by_zero
lea r8, str.C:UsersDevelopUser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.17.7_srcdigest.rs
mov edx, 0x19
call fcn.1400d9150
lea rcx, [0x1404e3b7a]
lea r8, str.C:UsersDevelopUser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.17.7_srcdigest.rs
mov edx, 0x2b
call fcn.1400d9150
lea r8, str.C:UsersDevelopUser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.17.7_srchmac.rs
mov edx, 0x80
mov rcx, r14
call fcn.1400d90d0
lea r8, [rsp + 0x198]
mov qword [r8], 0
lea r9, str.C:UsersDevelopUser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.17.7_srcdigest.rs
lea rcx, [rsp + 0x20]
lea rdx, [rsp + 0x28]
call fcn.1400d9b13
lea r8, str.C:UsersDevelopUser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.17.7_srcdigest.rs
mov edx, 0x40
mov rcx, rbx
call fcn.1400d90d0
int3