Function at 0x1400054dd
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov rcx, qword [rcx]
jmp 0x1400051fe
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
mov rax, qword [0x1402023b8]
mov al, byte [rax]
cmp al, 1
jne 0x140005236
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x1400054dd
mov qword [rsp + 0x30], rcx
mov rdi, qword [rdx]
mov rbp, qword [rdx + 8]
mov rsi, qword [rdx + 0x10]
mov rax, qword [rdx + 0x18]
mov qword [rsp + 0x20], rax
shr rax, 2
mov qword [rsp + 0x28], rax
xor r13d, r13d
lea rbx, [rsp + 0xd8]
lea r14, [rsp + 0x40]
lea r15, [rsp + 0x80]
cmp qword [rsp + 0x28], r13
je 0x14000537a
mov rcx, rbx
call fcn.14000cf48
mov rcx, r14
call fcn.14000cf48
xor r12d, r12d
cmp r12, 0x40
je 0x1400052b3
mov rcx, r15
mov rdx, rdi
call fcn.140005bca
movups xmm0, xmmword [rsp + 0x80]
movups xmmword [rsp + r12 + 0x40], xmm0
add r12, 0x10
jmp 0x14000528e
mov r12, r13
shl r12, 6
mov rcx, rbx
mov rdx, qword [rsp + 0x30]
mov r8, r14
call fcn.14000da9f
movups xmm0, xmmword [rbp + r12]
movups xmm1, xmmword [rbp + r12 + 0x10]
movups xmm2, xmmword [rbp + r12 + 0x20]
movups xmm3, xmmword [rbp + r12 + 0x30]
movaps xmmword [rsp + 0xb0], xmm3
movaps xmmword [rsp + 0xa0], xmm2
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
mov rcx, r14
call fcn.14000cf48
mov rax, r14
mov rcx, rbx
mov rdx, r15
xor r8d, r8d
cmp r8, 4
je 0x140005347
xor r9d, r9d
cmp r9, 0x10
je 0x140005336
mov r10b, byte [rcx + r9]
xor r10b, byte [rdx + r9]
mov byte [rax + r9], r10b
inc r9
jmp 0x14000531f
inc r8
add rdx, 0x10
add rcx, 0x10
add rax, 0x10
jmp 0x140005316
inc r13
movups xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rsp + 0x50]
movups xmm2, xmmword [rsp + 0x60]
movups xmm3, xmmword [rsp + 0x70]
movups xmmword [rsi + r12 + 0x30], xmm3
movups xmmword [rsi + r12 + 0x20], xmm2
movups xmmword [rsi + r12 + 0x10], xmm1
movups xmmword [rsi + r12], xmm0
jmp 0x140005270
mov rbx, qword [rsp + 0x20]
mov r15d, ebx
and r15d, 3
lea r14, [rsp + 0xd8]
mov rcx, r14
call fcn.14000cf48
mov edx, 4
mov rcx, r14
mov qword [rsp + 0x38], r15
mov r8, r15
call fcn.1400050cb
cmp rdx, 4
jae 0x1400054c3
mov r15, rax
shl rbx, 4
and rbx, 0xffffffffffffffc0
add rbp, rbx
add rsi, rbx
mov qword [rsp + 0x20], rdx
shl rdx, 4
mov qword [rsp + 0x28], rdx
xor ebx, ebx
lea r13, [rsp + 0x80]
cmp qword [rsp + 0x28], rbx
je 0x140005431
lea r12, [r15 + rbx]
lea r14, [rsp + 0xc8]
mov rcx, r14
mov rdx, rdi
call fcn.140005bca
mov rcx, r13
call fcn.14000cf48
mov rcx, r13
mov rdx, r14
call fcn.140002dac
lea rcx, [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
mov r8, r13
call fcn.14000da9f
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [r12], xmm0
add rbx, 0x10
jmp 0x1400053de
xor eax, eax
lea rdi, [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov r13, qword [rsp + 0x20]
cmp rax, r12
je 0x14000549b
cmp rax, r13
je 0x1400054af
lea rbx, [rax + 1]
shl rax, 4
lea r14, [rsi + rax]
movups xmm0, xmmword [rbp + rax]
movaps xmmword [rsp + 0x80], xmm0
mov rcx, rdi
call fcn.14000c690
xor eax, eax
cmp rax, 0x10
je 0x140005489
mov cl, byte [r15 + rax]
xor cl, byte [rsp + rax + 0x80]
mov byte [rsp + rax + 0x40], cl
inc rax
jmp 0x14000546f
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [r14], xmm0
add r15, 0x10
mov rax, rbx
jmp 0x140005442
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.C:Users55779.cargo_registry_srcindex.crates.io_6f17d22bba15001fcipher_0.4.4_src_stream_core.rs
mov rcx, r13
mov rdx, r13
call fcn.140149680
ud2
lea rcx, str.assertion_failed:_blocks.len_____Self::ParBlocksSize::USIZE
lea r8, str.C:Users55779.cargo_registry_srcindex.crates.io_6f17d22bba15001fcipher_0.4.4_src_stream_core.rs
mov edx, 0x3b
call fcn.1401495e0
ud2
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2e8
movaps xmmword [rsp + 0x2d0], xmm15
movaps xmmword [rsp + 0x2c0], xmm14
movaps xmmword [rsp + 0x2b0], xmm13
movaps xmmword [rsp + 0x2a0], xmm12
movaps xmmword [rsp + 0x290], xmm11
movaps xmmword [rsp + 0x280], xmm10
movaps xmmword [rsp + 0x270], xmm9
movaps xmmword [rsp + 0x260], xmm8
movaps xmmword [rsp + 0x250], xmm7
movaps xmmword [rsp + 0x240], xmm6
mov rbx, qword [rdx]
mov rax, qword [rdx + 8]
mov qword [rsp + 0x28], rax
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x20], rax
mov rsi, qword [rdx + 0x18]
mov rdi, rsi
shr rsi, 3
movaps xmm0, xmmword [rcx]
movaps xmmword [rsp + 0x110], xmm0
movdqa xmm0, xmmword [rcx + 0x10]
movdqa xmm1, xmmword [rcx + 0x20]
movaps xmm2, xmmword [rcx + 0x30]
movaps xmmword [rsp + 0xe0], xmm2
movaps xmm2, xmmword [rcx + 0x40]
movaps xmmword [rsp + 0xd0], xmm2
movdqa xmm11, xmmword [rcx + 0x50]
movdqa xmm12, xmmword [rcx + 0x60]
movdqa xmm13, xmmword [rcx + 0x70]
movdqa xmm14, xmmword [rcx + 0x80]
movdqa xmm15, xmmword [rcx + 0x90]
movdqa xmm6, xmmword [rcx + 0xa0]
movdqa xmm7, xmmword [rcx + 0xb0]
movdqa xmm8, xmmword [rcx + 0xc0]
movdqa xmm9, xmmword [rcx + 0xd0]
mov qword [rsp + 0xc8], rcx
movdqa xmm10, xmmword [rcx + 0xe0]
xor r14d, r14d
lea rbp, [rsp + 0x1c0]
lea r15, [rsp + 0x140]
lea r12, [rsp + 0x30]
movdqa xmmword [rsp + 0x100], xmm0
movdqa xmmword [rsp + 0xf0], xmm1
cmp rsi, r14
je 0x140005a0d
mov rcx, rbp
call fcn.140002d04
mov rcx, r15
call fcn.140002d04
xor r13d, r13d
cmp r13, 0x80
je 0x14000565c
mov rcx, r12
mov rdx, rbx
call fcn.140005bca
movdqu xmm0, xmmword [rsp + 0x30]
movdqu xmmword [rsp + r13 + 0x140], xmm0
add r13, 0x10
jmp 0x140005632
movaps xmm0, xmmword [rsp + 0x140]
movaps xmm1, xmmword [rsp + 0x110]
xorps xmm0, xmm1
movaps xmmword [rsp + 0x30], xmm0
movaps xmm0, xmmword [rsp + 0x150]
xorps xmm0, xmm1
movaps xmmword [rsp + 0x40], xmm0
movaps xmm0, xmmword [rsp + 0x160]
xorps xmm0, xmm1
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x170]
xorps xmm0, xmm1
movaps xmmword [rsp + 0x60], xmm0
movaps xmm0, xmmword [rsp + 0x180]
xorps xmm0, xmm1
movaps xmmword [rsp + 0x70], xmm0
movaps xmm0, xmmword [rsp + 0x190]
xorps xmm0, xmm1
movaps xmmword [rsp + 0x80], xmm0
movaps xmm0, xmmword [rsp + 0x1a0]
xorps xmm0, xmm1
movaps xmmword [rsp + 0x90], xmm0
movaps xmm0, xmmword [rsp + 0x1b0]
xorps xmm0, xmm1
movaps xmmword [rsp + 0xa0], xmm0
xor eax, eax
movdqa xmm1, xmmword [rsp + 0x100]
cmp rax, 0x80
je 0x140005717
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm1
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x1400056f8
xor eax, eax
movdqa xmm1, xmmword [rsp + 0xf0]
cmp rax, 0x80
je 0x140005741
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm1
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x140005722
xor eax, eax
movdqa xmm1, xmmword [rsp + 0xe0]
cmp rax, 0x80
je 0x14000576b
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm1
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x14000574c
xor eax, eax
movdqa xmm1, xmmword [rsp + 0xd0]
cmp rax, 0x80
je 0x140005795
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm1
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x140005776
xor eax, eax
cmp rax, 0x80
je 0x1400057b7
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm11
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x140005797
xor eax, eax
cmp rax, 0x80
je 0x1400057d9
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm12
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x1400057b9
xor eax, eax
cmp rax, 0x80
je 0x1400057fb
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm13
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x1400057db
xor eax, eax
cmp rax, 0x80
je 0x14000581d
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm14
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x1400057fd
xor eax, eax
cmp rax, 0x80
je 0x14000583f
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm15
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x14000581f
xor eax, eax
cmp rax, 0x80
je 0x140005860
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm6
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x140005841
xor eax, eax
cmp rax, 0x80
je 0x140005881
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm7
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x140005862
xor eax, eax
cmp rax, 0x80
je 0x1400058a3
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm8
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x140005883
xor eax, eax
cmp rax, 0x80
je 0x1400058c5
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm9
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x1400058a5
xor eax, eax
cmp rax, 0x80
je 0x1400058e7
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenclast xmm0, xmm10
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x1400058c7
mov r13, r14
shl r13, 7
mov rax, qword [rsp + 0x28]
lea rdx, [rax + r13]
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x130], xmm0
movdqa xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movaps xmm3, xmmword [rsp + 0x60]
movaps xmm4, xmmword [rsp + 0x70]
movaps xmm5, xmmword [rsp + 0x80]
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x120], xmm0
movaps xmm0, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x1c0], xmm0
movdqa xmmword [rsp + 0x1d0], xmm1
movaps xmmword [rsp + 0x1e0], xmm2
movaps xmmword [rsp + 0x1f0], xmm3
movaps xmmword [rsp + 0x200], xmm4
movaps xmmword [rsp + 0x210], xmm5
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x220], xmm0
movdqa xmm0, xmmword [rsp + 0x120]
movdqa xmmword [rsp + 0x230], xmm0
mov r8d, 0x80
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r12
call fcn.140002d04
mov rax, r12
mov rcx, rbp
mov rdx, r15
xor r8d, r8d
cmp r8, 8
je 0x1400059ef
xor r9d, r9d
cmp r9, 0x10
je 0x1400059de
mov r10b, byte [rcx + r9]
xor r10b, byte [rdx + r9]
mov byte [rax + r9], r10b
inc r9
jmp 0x1400059c7
inc r8
add rdx, 0x10
add rcx, 0x10
add rax, 0x10
jmp 0x1400059be
add r13, qword [rsp + 0x20]
inc r14
mov r8d, 0x80
mov rcx, r13
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
jmp 0x140005616
mov rax, rdi
and rax, 0xfffffffffffffff8
mov qword [rsp + 0xb0], rax
and edi, 7
lea r14, [rsp + 0x30]
mov rcx, r14
call fcn.140002d04
mov edx, 8
mov rcx, r14
mov rsi, rdi
mov r8, rdi
call fcn.1400050cb
mov r15, rax
mov rbp, rdx
mov r14, rdx
shl r14, 4
lea r12, [rsp + 0x140]
mov r13, rax
test r14, r14
je 0x140005a87
lea rdi, [r13 + 0x10]
mov rcx, r12
mov rdx, rbx
call fcn.140005bca
mov rcx, qword [rsp + 0xc8]
mov rdx, r12
mov r8, r13
call fcn.140005054
add r14, 0xfffffffffffffff0
mov r13, rdi
jmp 0x140005a57
mov rax, qword [rsp + 0xb0]
shl rax, 4
mov r12, qword [rsp + 0x28]
add r12, rax
mov r13, qword [rsp + 0x20]
add r13, rax
xor eax, eax
lea rdi, [rsp + 0x140]
cmp rax, rsi
je 0x140005b14
cmp rax, rbp
je 0x140005b80
lea rbx, [rax + 1]
shl rax, 4
lea r14, [rax + r13]
movdqu xmm0, xmmword [r12 + rax]
movdqa xmmword [rsp + 0x1c0], xmm0
mov rcx, rdi
call fcn.14000c690
xor eax, eax
cmp rax, 0x10
je 0x140005afd
mov cl, byte [r15 + rax]
xor cl, byte [rsp + rax + 0x1c0]
mov byte [rsp + rax + 0x140], cl
inc rax
jmp 0x140005ae0
movdqu xmm0, xmmword [rsp + 0x140]
movdqu xmmword [r14], xmm0
add r15, 0x10
mov rax, rbx
jmp 0x140005aad
movaps xmm6, xmmword [rsp + 0x240]
movaps xmm7, xmmword [rsp + 0x250]
movaps xmm8, xmmword [rsp + 0x260]
movaps xmm9, xmmword [rsp + 0x270]
movaps xmm10, xmmword [rsp + 0x280]
movaps xmm11, xmmword [rsp + 0x290]
movaps xmm12, xmmword [rsp + 0x2a0]
movaps xmm13, xmmword [rsp + 0x2b0]
movaps xmm14, xmmword [rsp + 0x2c0]
movaps xmm15, xmmword [rsp + 0x2d0]
add rsp, 0x2e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.C:Users55779.cargo_registry_srcindex.crates.io_6f17d22bba15001fcipher_0.4.4_src_stream_core.rs
mov rcx, rbp
mov rdx, rbp
call fcn.140149680
ud2