Function at 0x18000a769
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 [0x18013abd0]
mov al, byte [rax]
cmp al, 1
jne 0x18000a3c0
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 0x18000a769
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 0x18000a52f
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 0x18000a455
mov rcx, r15
mov rdx, rdi
call fcn.18000ae3c
movups xmm0, xmmword [rsp + 0x90]
movups xmmword [rsp + rsi + 0x40], xmm0
add rsi, 0x10
jmp 0x18000a431
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.180001d2f
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 0x18000a4fc
xor r9d, r9d
cmp r9, 0x10
je 0x18000a4eb
mov r10b, byte [rsi + r9]
xor r10b, byte [rdx + r9]
mov byte [rbp + r9], r10b
inc r9
jmp 0x18000a4d3
inc r8
add rdx, 0x10
add rsi, 0x10
add rbp, 0x10
jmp 0x18000a4ca
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 0x18000a3f0
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.18000a2bf
cmp rdx, 4
jae 0x18000a69e
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 0x18000a608
lea r12, [r15 + rsi]
lea r13, [rsp + 0x110]
mov rcx, r13
mov rdx, rdi
call fcn.18000ae3c
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.18000af17
lea rcx, [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
mov r8, rbp
call fcn.180001d2f
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [r12], xmm0
add rsi, 0x10
jmp 0x18000a595
xor ecx, ecx
xorps xmm0, xmm0
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0x28]
cmp rcx, r9
je 0x18000a670
cmp rcx, r10
je 0x18000a68c
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 0x18000a65f
mov r8b, byte [r15 + rcx]
xor r8b, byte [rsp + rcx + 0x90]
mov byte [rsp + rcx + 0x40], r8b
inc rcx
jmp 0x18000a643
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [rdx], xmm1
add r15, 0x10
mov rcx, rax
jmp 0x18000a61a
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.180004e90
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.180004d40
int3
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 0x18000ac9d
mov r13, rdi
mov rcx, rdi
call fcn.18000ae9e
mov rcx, r15
call fcn.18000ae9e
xor edi, edi
cmp rdi, 0x80
je 0x18000a8ee
mov rcx, r12
mov rdx, rbx
call fcn.18000ae3c
movdqu xmm0, xmmword [rsp + 0x30]
movdqu xmmword [rsp + rdi + 0x140], xmm0
add rdi, 0x10
jmp 0x18000a8c5
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 0x18000a9ac
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm1
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x18000a98d
xor eax, eax
movdqa xmm1, xmmword [rsp + 0x100]
cmp rax, 0x80
je 0x18000a9d6
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm1
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x18000a9b7
xor eax, eax
movdqa xmm1, xmmword [rsp + 0xf0]
cmp rax, 0x80
je 0x18000aa00
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm1
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x18000a9e1
xor eax, eax
movdqa xmm1, xmmword [rsp + 0xe0]
cmp rax, 0x80
je 0x18000aa2a
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm1
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x18000aa0b
xor eax, eax
cmp rax, 0x80
je 0x18000aa4c
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm11
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x18000aa2c
xor eax, eax
cmp rax, 0x80
je 0x18000aa6e
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm12
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x18000aa4e
xor eax, eax
cmp rax, 0x80
je 0x18000aa90
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm13
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x18000aa70
xor eax, eax
cmp rax, 0x80
je 0x18000aab2
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm14
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x18000aa92
xor eax, eax
cmp rax, 0x80
je 0x18000aad4
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm15
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x18000aab4
xor eax, eax
cmp rax, 0x80
je 0x18000aaf5
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm6
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x18000aad6
xor eax, eax
cmp rax, 0x80
je 0x18000ab16
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm7
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x18000aaf7
xor eax, eax
cmp rax, 0x80
je 0x18000ab38
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm8
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x18000ab18
xor eax, eax
cmp rax, 0x80
je 0x18000ab5a
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenc xmm0, xmm9
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x18000ab3a
xor eax, eax
cmp rax, 0x80
je 0x18000ab7c
movdqa xmm0, xmmword [rsp + rax + 0x30]
aesenclast xmm0, xmm10
movdqa xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
jmp 0x18000ab5c
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.18000ae9e
mov rax, r12
mov rcx, rdi
mov rdx, r15
xor r8d, r8d
cmp r8, 8
je 0x18000ac81
xor r9d, r9d
cmp r9, 0x10
je 0x18000ac70
mov r10b, byte [rcx + r9]
xor r10b, byte [rdx + r9]
mov byte [rax + r9], r10b
inc r9
jmp 0x18000ac59
inc r8
add rdx, 0x10
add rcx, 0x10
add rax, 0x10
jmp 0x18000ac50
inc r14
add r13, rsi
mov r8d, pe_nt_image_headers64
mov rcx, r13
mov rdx, r12
call sub.msvcrt.dll_memcpy
jmp 0x18000a8a2
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.18000ae9e
mov edx, 8
mov rcx, r14
mov qword [rsp + 0x28], rdi
mov r8, rdi
call fcn.18000a2bf
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 0x18000ad2f
mov rdi, rsi
mov rsi, rbp
lea rbp, [r13 + 0x10]
mov rcx, r12
mov rdx, rbx
call fcn.18000ae3c
mov rcx, qword [rsp + 0xd0]
mov rdx, r12
mov r8, r13
call fcn.18000a248
add r14, 0xfffffffffffffff0
mov r13, rbp
mov rbp, rsi
mov rsi, rdi
jmp 0x18000acf3
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 0x18000adbd
cmp rcx, r10
je 0x18000ae29
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 0x18000ada7
mov r8b, byte [r15 + rcx]
xor r8b, byte [rsp + rcx + 0x1c0]
mov byte [rsp + rcx + 0x140], r8b
inc rcx
jmp 0x18000ad88
movdqa xmm1, xmmword [rsp + 0x140]
movdqu xmmword [rdx], xmm1
add r15, 0x10
mov rcx, rax
jmp 0x18000ad54
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.180004e90
int3