Function at 0x140032969
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, 0x358
vmovaps xmmword [rsp + 0x340], xmm15
vmovaps xmmword [rsp + 0x330], xmm14
vmovaps xmmword [rsp + 0x320], xmm13
vmovaps xmmword [rsp + 0x310], xmm12
vmovaps xmmword [rsp + 0x300], xmm11
vmovaps xmmword [rsp + 0x2f0], xmm10
vmovaps xmmword [rsp + 0x2e0], xmm9
vmovaps xmmword [rsp + 0x2d0], xmm8
vmovaps xmmword [rsp + 0x2c0], xmm7
vmovaps xmmword [rsp + 0x2b0], xmm6
mov rbx, qword [rdx]
mov rax, qword [rdx + 8]
mov qword [rsp + 0xb8], rax
mov rdi, qword [rdx + 0x10]
mov r15, qword [rdx + 0x18]
mov qword [rsp + 0xb0], r15
shr r15, 3
vmovaps xmm0, xmmword [rcx]
vmovaps xmmword [rsp + 0xc0], xmm0
vmovdqa xmm0, xmmword [rcx + 0x10]
vmovdqa xmm1, xmmword [rcx + 0x20]
vmovaps xmm2, xmmword [rcx + 0x30]
vmovaps xmmword [rsp + 0x170], xmm2
vmovaps xmm2, xmmword [rcx + 0x40]
vmovaps xmmword [rsp + 0x160], xmm2
vmovdqa xmm11, xmmword [rcx + 0x50]
vmovdqa xmm12, xmmword [rcx + 0x60]
vmovdqa xmm13, xmmword [rcx + 0x70]
vmovdqa xmm14, xmmword [rcx + 0x80]
vmovdqa xmm15, xmmword [rcx + 0x90]
vmovdqa xmm6, xmmword [rcx + 0xa0]
vmovdqa xmm7, xmmword [rcx + 0xb0]
vmovdqa xmm8, xmmword [rcx + 0xc0]
vmovdqa xmm9, xmmword [rcx + 0xd0]
mov qword [rsp + 0xd8], rcx
vmovdqa xmm10, xmmword [rcx + 0xe0]
xor ebp, ebp
lea r13, [rsp + 0xe0]
lea r14, [rsp + 0x20]
vmovdqa xmmword [rsp + 0x190], xmm0
vmovdqa xmmword [rsp + 0x180], xmm1
cmp r15, rbp
je 0x140032fb4
and qword [rsp + 0xa0], 0
xor esi, esi
lea rcx, [rsp + rsi]
add rcx, 0x20
vzeroupper
call fcn.14013970a
inc qword [rsp + 0xa0]
add rsi, 0x10
cmp rsi, 0x80
jne 0x140032ab0
vmovdqu ymm0, ymmword [rsp + 0x20]
vmovdqu ymm1, ymmword [rsp + 0x40]
vmovups ymm2, ymmword [rsp + 0x60]
vmovups ymm3, ymmword [rsp + 0x80]
vmovups ymmword [rsp + 0x210], ymm3
vmovups ymmword [rsp + 0x1f0], ymm2
vmovdqu ymmword [rsp + 0x1d0], ymm1
vmovdqu ymmword [rsp + 0x1b0], ymm0
and qword [rsp + 0xa0], 0
xor esi, esi
lea rcx, [rsp + rsi]
add rcx, 0x20
vzeroupper
call fcn.14013970a
inc qword [rsp + 0xa0]
add rsi, 0x10
cmp rsi, 0x80
jne 0x140032b1f
vmovups ymm0, ymmword [rsp + 0x20]
vmovdqu ymm1, ymmword [rsp + 0x40]
vmovups ymm2, ymmword [rsp + 0x60]
vmovups ymm3, ymmword [rsp + 0x80]
vmovups ymmword [rsp + 0x140], ymm3
vmovups ymmword [rsp + 0x120], ymm2
vmovdqu ymmword [rsp + 0x100], ymm1
vmovups ymmword [rsp + 0xe0], ymm0
xor esi, esi
cmp rsi, 0x80
je 0x140032bb1
mov rcx, r14
mov rdx, rbx
vzeroupper
call fcn.140059db0
vmovdqu xmm0, xmmword [rsp + 0x20]
vmovdqu xmmword [rsp + rsi + 0xe0], xmm0
add rsi, 0x10
jmp 0x140032b85
vmovaps xmm2, xmmword [rsp + 0xc0]
vxorps xmm0, xmm2, xmmword [rsp + 0xe0]
vmovaps xmmword [rsp + 0x20], xmm0
vxorps xmm0, xmm2, xmmword [rsp + 0xf0]
vmovaps xmmword [rsp + 0x30], xmm0
vxorps xmm0, xmm2, xmmword [rsp + 0x100]
vmovaps xmmword [rsp + 0x40], xmm0
vxorps xmm0, xmm2, xmmword [rsp + 0x110]
vxorps xmm1, xmm2, xmmword [rsp + 0x120]
vmovaps xmmword [rsp + 0x50], xmm0
vmovaps xmmword [rsp + 0x60], xmm1
vxorps xmm0, xmm2, xmmword [rsp + 0x130]
vmovaps xmmword [rsp + 0x70], xmm0
vxorps xmm0, xmm2, xmmword [rsp + 0x140]
vmovaps xmmword [rsp + 0x80], xmm0
vxorps xmm0, xmm2, xmmword [rsp + 0x150]
vmovaps xmmword [rsp + 0x90], xmm0
xor eax, eax
vmovdqa xmm1, xmmword [rsp + 0x190]
cmp rax, 0x80
je 0x140032c62
vmovdqa xmm0, xmmword [rsp + rax + 0x20]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rsp + rax + 0x20], xmm0
add rax, 0x10
jmp 0x140032c43
xor eax, eax
vmovdqa xmm1, xmmword [rsp + 0x180]
cmp rax, 0x80
je 0x140032c8c
vmovdqa xmm0, xmmword [rsp + rax + 0x20]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rsp + rax + 0x20], xmm0
add rax, 0x10
jmp 0x140032c6d
xor eax, eax
vmovdqa xmm1, xmmword [rsp + 0x170]
cmp rax, 0x80
je 0x140032cb6
vmovdqa xmm0, xmmword [rsp + rax + 0x20]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rsp + rax + 0x20], xmm0
add rax, 0x10
jmp 0x140032c97
xor eax, eax
vmovdqa xmm1, xmmword [rsp + 0x160]
cmp rax, 0x80
je 0x140032ce0
vmovdqa xmm0, xmmword [rsp + rax + 0x20]
vaesenc xmm0, xmm0, xmm1
vmovdqa xmmword [rsp + rax + 0x20], xmm0
add rax, 0x10
jmp 0x140032cc1
xor eax, eax
cmp rax, 0x80
je 0x140032d01
vmovdqa xmm0, xmmword [rsp + rax + 0x20]
vaesenc xmm0, xmm0, xmm11
vmovdqa xmmword [rsp + rax + 0x20], xmm0
add rax, 0x10
jmp 0x140032ce2
xor eax, eax
cmp rax, 0x80
je 0x140032d22
vmovdqa xmm0, xmmword [rsp + rax + 0x20]
vaesenc xmm0, xmm0, xmm12
vmovdqa xmmword [rsp + rax + 0x20], xmm0
add rax, 0x10
jmp 0x140032d03
xor eax, eax
cmp rax, 0x80
je 0x140032d43
vmovdqa xmm0, xmmword [rsp + rax + 0x20]
vaesenc xmm0, xmm0, xmm13
vmovdqa xmmword [rsp + rax + 0x20], xmm0
add rax, 0x10
jmp 0x140032d24
xor eax, eax
cmp rax, 0x80
je 0x140032d64
vmovdqa xmm0, xmmword [rsp + rax + 0x20]
vaesenc xmm0, xmm0, xmm14
vmovdqa xmmword [rsp + rax + 0x20], xmm0
add rax, 0x10
jmp 0x140032d45
xor eax, eax
cmp rax, 0x80
je 0x140032d85
vmovdqa xmm0, xmmword [rsp + rax + 0x20]
vaesenc xmm0, xmm0, xmm15
vmovdqa xmmword [rsp + rax + 0x20], xmm0
add rax, 0x10
jmp 0x140032d66
xor eax, eax
cmp rax, 0x80
je 0x140032da6
vmovdqa xmm0, xmmword [rsp + rax + 0x20]
vaesenc xmm0, xmm0, xmm6
vmovdqa xmmword [rsp + rax + 0x20], xmm0
add rax, 0x10
jmp 0x140032d87
xor eax, eax
cmp rax, 0x80
je 0x140032dc7
vmovdqa xmm0, xmmword [rsp + rax + 0x20]
vaesenc xmm0, xmm0, xmm7
vmovdqa xmmword [rsp + rax + 0x20], xmm0
add rax, 0x10
jmp 0x140032da8
xor eax, eax
cmp rax, 0x80
je 0x140032de8
vmovdqa xmm0, xmmword [rsp + rax + 0x20]
vaesenc xmm0, xmm0, xmm8
vmovdqa xmmword [rsp + rax + 0x20], xmm0
add rax, 0x10
jmp 0x140032dc9
xor eax, eax
cmp rax, 0x80
je 0x140032e09
vmovdqa xmm0, xmmword [rsp + rax + 0x20]
vaesenc xmm0, xmm0, xmm9
vmovdqa xmmword [rsp + rax + 0x20], xmm0
add rax, 0x10
jmp 0x140032dea
xor eax, eax
cmp rax, 0x80
je 0x140032e2a
vmovdqa xmm0, xmmword [rsp + rax + 0x20]
vaesenclast xmm0, xmm0, xmm10
vmovdqa xmmword [rsp + rax + 0x20], xmm0
add rax, 0x10
jmp 0x140032e0b
mov r12, rbp
shl r12, 7
vmovups ymm0, ymmword [rsp + 0x20]
vmovups ymm1, ymmword [rsp + 0x40]
vmovups ymm2, ymmword [rsp + 0x60]
vmovups ymm3, ymmword [rsp + 0x80]
vmovups ymmword [rsp + 0x1b0], ymm0
vmovups ymmword [rsp + 0x1d0], ymm1
vmovups ymmword [rsp + 0x1f0], ymm2
vmovups ymmword [rsp + 0x210], ymm3
mov rax, qword [rsp + 0xb8]
vmovdqu ymm0, ymmword [rax + r12]
vmovdqu ymm1, ymmword [rax + r12 + 0x20]
vmovups ymm2, ymmword [rax + r12 + 0x40]
vmovups ymm3, ymmword [rax + r12 + 0x60]
vmovups ymmword [rsp + 0x290], ymm3
vmovups ymmword [rsp + 0x270], ymm2
vmovdqu ymmword [rsp + 0x250], ymm1
vmovdqu ymmword [rsp + 0x230], ymm0
and qword [rsp + 0xa0], 0
xor esi, esi
lea rcx, [rsp + rsi]
add rcx, 0x20
vzeroupper
call fcn.14013970a
inc qword [rsp + 0xa0]
add rsi, 0x10
cmp rsi, 0x80
jne 0x140032ec2
vmovdqu ymm0, ymmword [rsp + 0x20]
vmovdqu ymm1, ymmword [rsp + 0x40]
vmovups ymm2, ymmword [rsp + 0x60]
vmovups ymm3, ymmword [rsp + 0x80]
vmovups ymmword [rsp + 0x140], ymm3
vmovups ymmword [rsp + 0x120], ymm2
vmovdqu ymmword [rsp + 0x100], ymm1
vmovdqu ymmword [rsp + 0xe0], ymm0
mov rax, r13
lea rcx, [rsp + 0x1b0]
lea rdx, [rsp + 0x230]
xor r8d, r8d
cmp r8, 8
je 0x140032f6d
xor r9d, r9d
cmp r9, 0x10
je 0x140032f5c
mov r10b, byte [rcx + r9]
xor r10b, byte [rdx + r9]
mov byte [rax + r9], r10b
inc r9
jmp 0x140032f45
inc r8
add rdx, 0x10
add rcx, 0x10
add rax, 0x10
jmp 0x140032f3c
inc rbp
vmovdqu ymm0, ymmword [rsp + 0xe0]
vmovdqu ymm1, ymmword [rsp + 0x100]
vmovups ymm2, ymmword [rsp + 0x120]
vmovups ymm3, ymmword [rsp + 0x140]
vmovups ymmword [rdi + r12 + 0x60], ymm3
vmovups ymmword [rdi + r12 + 0x40], ymm2
vmovdqu ymmword [rdi + r12 + 0x20], ymm1
vmovdqu ymmword [rdi + r12], ymm0
jmp 0x140032a9c
and qword [rsp + 0xa0], 0
xor esi, esi
lea rcx, [rsp + rsi]
add rcx, 0x20
vzeroupper
call fcn.14013970a
inc qword [rsp + 0xa0]
add rsi, 0x10
cmp rsi, 0x80
jne 0x140032fbf
mov r8, qword [rsp + 0xb0]
mov rax, r8
and rax, 0xfffffffffffffff8
mov qword [rsp + 0xc0], rax
and r8d, 7
lea rax, [rsp + 0x20]
vmovups ymm0, ymmword [rax]
vmovups ymm1, ymmword [rax + 0x20]
vmovups ymm2, ymmword [rax + 0x40]
vmovups ymm3, ymmword [rax + 0x60]
lea rcx, [rsp + 0xe0]
vmovups ymmword [rcx + 0x60], ymm3
vmovups ymmword [rcx + 0x40], ymm2
vmovups ymmword [rcx + 0x20], ymm1
vmovups ymmword [rcx], ymm0
mov edx, 8
mov qword [rsp + 0xb0], r8
vzeroupper
call fcn.140026bc4
mov r15, rax
mov rsi, rdx
mov r14, rdx
shl r14, 4
lea r13, [rsp + 0x1a0]
mov rbp, rax
test r14, r14
je 0x1400330a0
lea r12, [rbp + 0x10]
lea rcx, [rsp + 0x20]
mov rdx, rbx
call fcn.140059db0
vmovaps xmm0, xmmword [rsp + 0x20]
vmovaps xmmword [rsp + 0x1a0], xmm0
mov rcx, qword [rsp + 0xd8]
mov rdx, r13
mov r8, rbp
call fcn.14001a17c
add r14, 0xfffffffffffffff0
mov rbp, r12
jmp 0x14003305f
mov rax, qword [rsp + 0xc0]
shl rax, 4
mov r13, qword [rsp + 0xb8]
add r13, rax
add rdi, rax
xor eax, eax
lea rbx, [rsp + 0x20]
mov rbp, qword [rsp + 0xb0]
cmp rax, rbp
je 0x14003312b
cmp rax, rsi
je 0x140033199
lea r12, [rax + 1]
shl rax, 4
lea r14, [rdi + rax]
vmovups xmm0, xmmword [r13 + rax]
vmovaps xmmword [rsp + 0x230], xmm0
mov rcx, rbx
call fcn.14013970a
xor eax, eax
cmp rax, 0x10
je 0x140033117
mov cl, byte [r15 + rax]
xor cl, byte [rsp + rax + 0x230]
mov byte [rsp + rax + 0x20], cl
inc rax
jmp 0x1400330fd
vmovups xmm0, xmmword [rsp + 0x20]
vmovups xmmword [r14], xmm0
add r15, 0x10
mov rax, r12
jmp 0x1400330c9
vmovaps xmm6, xmmword [rsp + 0x2b0]
vmovaps xmm7, xmmword [rsp + 0x2c0]
vmovaps xmm8, xmmword [rsp + 0x2d0]
vmovaps xmm9, xmmword [rsp + 0x2e0]
vmovaps xmm10, xmmword [rsp + 0x2f0]
vmovaps xmm11, xmmword [rsp + 0x300]
vmovaps xmm12, xmmword [rsp + 0x310]
vmovaps xmm13, xmmword [rsp + 0x320]
vmovaps xmm14, xmmword [rsp + 0x330]
vmovaps xmm15, xmmword [rsp + 0x340]
add rsp, 0x358
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_cipher_0.4.4_src_stream_core.rs
mov rcx, rsi
mov rdx, rsi
call fcn.1400b2f30
ud2