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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
movaps xmmword [rsp + 0x120], xmm6
mov rcx, qword [rcx]
mov rax, qword [0x1401476c0]
mov al, byte [rax]
cmp al, 1
jne 0x140017da2
movaps xmm6, xmmword [rsp + 0x120]
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x1400181dd
mov qword [rsp + 0x38], rcx
mov rdi, qword [rdx]
mov rbx, qword [rdx + 8]
mov r14, qword [rdx + 0x10]
mov rbp, qword [rdx + 0x18]
mov qword [rsp + 0x28], rbp
shr rbp, 2
mov qword [rsp + 0x30], rbp
xor r13d, r13d
xorps xmm6, xmm6
lea r15, [rsp + 0x90]
cmp qword [rsp + 0x30], r13
je 0x140017f11
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0xf0], xmm6
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xd0], xmm6
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm6
xor esi, esi
cmp rsi, 0x40
je 0x140017e37
mov rcx, r15
mov rdx, rdi
call fcn.1400188b1
movups xmm0, xmmword [rsp + 0x90]
movups xmmword [rsp + rsi + 0x40], xmm0
add rsi, 0x10
jmp 0x140017e13
mov r12, r13
shl r12, 6
lea rsi, [rsp + 0xd0]
mov rcx, rsi
mov rdx, qword [rsp + 0x38]
lea rbp, [rsp + 0x40]
mov r8, rbp
call fcn.140001e7f
movups xmm0, xmmword [rbx + r12]
movups xmm1, xmmword [rbx + r12 + 0x10]
movups xmm2, xmmword [rbx + r12 + 0x20]
movups xmm3, xmmword [rbx + r12 + 0x30]
movaps xmmword [rsp + 0xc0], xmm3
movaps xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm6
mov rdx, r15
xor r8d, r8d
cmp r8, 4
je 0x140017ede
xor r9d, r9d
cmp r9, 0x10
je 0x140017ecd
mov r10b, byte [rsi + r9]
xor r10b, byte [rdx + r9]
mov byte [rbp + r9], r10b
inc r9
jmp 0x140017eb5
inc r8
add rdx, 0x10
add rsi, 0x10
add rbp, 0x10
jmp 0x140017eac
inc r13
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movaps xmm3, xmmword [rsp + 0x70]
movups xmmword [r14 + r12 + 0x30], xmm3
movups xmmword [r14 + r12 + 0x20], xmm2
movups xmmword [r14 + r12 + 0x10], xmm1
movups xmmword [r14 + r12], xmm0
jmp 0x140017dd2
mov rsi, qword [rsp + 0x28]
mov r8d, esi
and r8d, 3
xorps xmm6, xmm6
lea rcx, [rsp + 0xd0]
movaps xmmword [rcx + 0x30], xmm6
movaps xmmword [rcx + 0x20], xmm6
movaps xmmword [rcx + 0x10], xmm6
movaps xmmword [rcx], xmm6
mov edx, 4
mov qword [rsp + 0x88], r8
call fcn.140017d2f
cmp rdx, 4
jae 0x140018082
mov r15, rax
shl rsi, 4
and rsi, 0xffffffffffffffc0
add rbx, rsi
add r14, rsi
mov qword [rsp + 0x28], rdx
mov rbp, rdx
shl rbp, 4
mov qword [rsp + 0x30], rbp
xor esi, esi
cmp qword [rsp + 0x30], rsi
je 0x140017fea
lea r12, [r15 + rsi]
lea r13, [rsp + 0x110]
mov rcx, r13
mov rdx, rdi
call fcn.1400188b1
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm6
lea rbp, [rsp + 0x90]
mov rcx, rbp
mov rdx, r13
call fcn.14001898c
lea rcx, [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
mov r8, rbp
call fcn.140001e7f
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [r12], xmm0
add rsi, 0x10
jmp 0x140017f77
xor ecx, ecx
xorps xmm0, xmm0
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0x28]
cmp rcx, r9
je 0x140018052
cmp rcx, r10
je 0x14001806e
lea rax, [rcx + 1]
shl rcx, 4
lea rdx, [r14 + rcx]
movups xmm1, xmmword [rbx + rcx]
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x40], xmm0
xor ecx, ecx
cmp rcx, 0x10
je 0x140018041
mov r8b, byte [r15 + rcx]
xor r8b, byte [rsp + rcx + 0x90]
mov byte [rsp + rcx + 0x40], r8b
inc rcx
jmp 0x140018025
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [rdx], xmm1
add r15, 0x10
mov rcx, rax
jmp 0x140017ffc
movaps xmm6, xmmword [rsp + 0x120]
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str..cargo_registry_srcindex.crates.io_6f17d22bba15001fcipher_0.4.4_src_stream_core.rs
mov rcx, r10
mov rdx, r10
call fcn.140008da0
ud2
lea rcx, str.assertion_failed:_blocks.len_____Self::ParBlocksSize::USIZE
lea r8, str..cargo_registry_srcindex.crates.io_6f17d22bba15001fcipher_0.4.4_src_stream_core.rs
mov edx, 0x3b
call fcn.140008cb0
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 rbp, qword [rdx + 8]
mov rsi, qword [rdx + 0x10]
mov rax, qword [rdx + 0x18]
mov qword [rsp + 0x28], rax
shr rax, 3
mov qword [rsp + 0xd8], rax
movaps xmm0, xmmword [rcx]
movaps xmmword [rsp + 0x120], xmm0
movdqa xmm0, xmmword [rcx + 0x10]
movdqa xmm1, xmmword [rcx + 0x20]
movaps xmm2, xmmword [rcx + 0x30]
movaps xmmword [rsp + 0xf0], xmm2
movaps xmm2, xmmword [rcx + 0x40]
movaps xmmword [rsp + 0xe0], 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 + 0xd0], rcx
movdqa xmm10, xmmword [rcx + 0xe0]
xor r14d, r14d
lea rdi, [rsp + 0x1c0]
lea r15, [rsp + 0x140]
lea r12, [rsp + 0x30]
movdqa xmmword [rsp + 0x110], xmm0
movdqa xmmword [rsp + 0x100], xmm1
cmp qword [rsp + 0xd8], r14
je 0x140018711
mov r13, rdi
mov rcx, rdi
call fcn.140018908
mov rcx, r15
call fcn.140018908
xor edi, edi
cmp rdi, 0x80
je 0x140018362
mov rcx, r12
mov rdx, rbx
call fcn.1400188b1
movdqu xmm0, xmmword [rsp + 0x30]
movdqu xmmword [rsp + rdi + 0x140], xmm0
add rdi, 0x10
jmp 0x140018339
movaps xmm0, xmmword [rsp + 0x140]
movaps xmm1, xmmword [rsp + 0x120]
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 + 0x110]
mov rdi, r13
cmp rax, 0x80
je 0x140018420
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm1
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x140018401
xor eax, eax
movdqa xmm1, xmmword [rsp + 0x100]
cmp rax, 0x80
je 0x14001844a
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm1
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x14001842b
xor eax, eax
movdqa xmm1, xmmword [rsp + 0xf0]
cmp rax, 0x80
je 0x140018474
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm1
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x140018455
xor eax, eax
movdqa xmm1, xmmword [rsp + 0xe0]
cmp rax, 0x80
je 0x14001849e
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm1
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x14001847f
xor eax, eax
cmp rax, 0x80
je 0x1400184c0
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm11
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x1400184a0
xor eax, eax
cmp rax, 0x80
je 0x1400184e2
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm12
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x1400184c2
xor eax, eax
cmp rax, 0x80
je 0x140018504
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm13
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x1400184e4
xor eax, eax
cmp rax, 0x80
je 0x140018526
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm14
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x140018506
xor eax, eax
cmp rax, 0x80
je 0x140018548
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm15
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x140018528
xor eax, eax
cmp rax, 0x80
je 0x140018569
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm6
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x14001854a
xor eax, eax
cmp rax, 0x80
je 0x14001858a
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm7
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x14001856b
xor eax, eax
cmp rax, 0x80
je 0x1400185ac
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm8
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x14001858c
xor eax, eax
cmp rax, 0x80
je 0x1400185ce
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm9
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x1400185ae
xor eax, eax
cmp rax, 0x80
je 0x1400185f0
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenclast xmm0, xmm10
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x1400185d0
mov r13, r14
shl r13, 7
mov rdx, rbp
add rdx, r13
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0xb0], 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 + 0xc0], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x130], xmm0
movaps xmm0, xmmword [rsp + 0xb0]
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 + 0xc0]
movaps xmmword [rsp + 0x220], xmm0
movdqa xmm0, xmmword [rsp + 0x130]
movdqa xmmword [rsp + 0x230], xmm0
mov r8d, pe_nt_image_headers64
mov rcx, r15
call sub.msvcrt.dll_memcpy
mov rcx, r12
call fcn.140018908
mov rax, r12
mov rcx, rdi
mov rdx, r15
xor r8d, r8d
cmp r8, 8
je 0x1400186f5
xor r9d, r9d
cmp r9, 0x10
je 0x1400186e4
mov r10b, byte [rcx + r9]
xor r10b, byte [rdx + r9]
mov byte [rax + r9], r10b
inc r9
jmp 0x1400186cd
inc r8
add rdx, 0x10
add rcx, 0x10
add rax, 0x10
jmp 0x1400186c4
inc r14
add r13, rsi
mov r8d, pe_nt_image_headers64
mov rcx, r13
mov rdx, r12
call sub.msvcrt.dll_memcpy
jmp 0x140018316
mov rdi, qword [rsp + 0x28]
mov rax, rdi
and rax, 0xfffffffffffffff8
mov qword [rsp + 0xb0], rax
and edi, 7
lea r14, [rsp + 0x30]
mov rcx, r14
call fcn.140018908
mov edx, 8
mov rcx, r14
mov qword [rsp + 0x28], rdi
mov r8, rdi
call fcn.140017d2f
mov r15, rax
mov r14, rdx
mov qword [rsp + 0xc0], rdx
shl r14, 4
lea r12, [rsp + 0x140]
mov r13, rax
test r14, r14
je 0x1400187a3
mov rdi, rsi
mov rsi, rbp
lea rbp, [r13 + 0x10]
mov rcx, r12
mov rdx, rbx
call fcn.1400188b1
mov rcx, qword [rsp + 0xd0]
mov rdx, r12
mov r8, r13
call fcn.140017cb8
add r14, 0xfffffffffffffff0
mov r13, rbp
mov rbp, rsi
mov rsi, rdi
jmp 0x140018767
mov rax, qword [rsp + 0xb0]
shl rax, 4
add rbp, rax
add rsi, rax
xor ecx, ecx
pxor xmm0, xmm0
mov r9, qword [rsp + 0x28]
mov r10, qword [rsp + 0xc0]
cmp rcx, r9
je 0x140018831
cmp rcx, r10
je 0x14001889d
lea rax, [rcx + 1]
shl rcx, 4
lea rdx, [rsi + rcx]
movdqu xmm1, xmmword [rbp + rcx]
movdqa xmmword [rsp + 0x1c0], xmm1
movdqa xmmword [rsp + 0x140], xmm0
xor ecx, ecx
cmp rcx, 0x10
je 0x14001881b
mov r8b, byte [r15 + rcx]
xor r8b, byte [rsp + rcx + 0x1c0]
mov byte [rsp + rcx + 0x140], r8b
inc rcx
jmp 0x1400187fc
movdqa xmm1, xmmword [rsp + 0x140]
movdqu xmmword [rdx], xmm1
add r15, 0x10
mov rcx, rax
jmp 0x1400187c8
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..cargo_registry_srcindex.crates.io_6f17d22bba15001fcipher_0.4.4_src_stream_core.rs
mov rcx, r10
mov rdx, r10
call fcn.140008da0
ud2