Function at 0x140045420
Capabilities:
Decrypt data using aes via x86 extensions
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
movaps xmmword [rsp + 0xb0], xmm7
movaps xmmword [rsp + 0xa0], xmm6
mov rsi, rcx
mov rax, qword [str.0___]
movzx eax, byte [rax]
cmp al, 1
jne 0x14004547f
mov rcx, rsi
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x140045610
mov r14, qword [rdx + 0x18]
test r14, r14
je 0x1400454f5
mov r15, qword [rdx]
mov r12, qword [rdx + 8]
mov r13, qword [rdx + 0x10]
lea rbp, [rsp + 0x30]
xor edi, edi
xorps xmm6, xmm6
lea rbx, [rsp + 0x20]
nop word cs:[rax + rax]
movups xmm7, xmmword [r12 + rdi]
movups xmmword [rbp + 0x20], xmm6
movups xmmword [rbp + 0x10], xmm6
movups xmmword [rbp], xmm6
movups xmmword [rsp + 0x20], xmm7
lea rcx, [rsp + 0x60]
mov rdx, rsi
mov r8, rbx
call fcn.1400cffa0
movups xmm0, xmmword [r15]
xorps xmm0, xmmword [rsp + 0x60]
xorps xmm7, xmm0
movups xmmword [r15], xmm7
movups xmmword [r13 + rdi], xmm0
add rdi, 0x10
dec r14
jne 0x1400454b0
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
sub rsp, 0xc8
movdqa xmmword [rsp + 0xb0], xmm15
movdqa xmmword [rsp + 0xa0], xmm14
movdqa xmmword [rsp + 0x90], xmm13
movdqa xmmword [rsp + 0x80], xmm12
movdqa xmmword [rsp + 0x70], xmm11
movdqa xmmword [rsp + 0x60], xmm10
movdqa xmmword [rsp + 0x50], xmm9
movdqa xmmword [rsp + 0x40], xmm8
movdqa xmmword [rsp + 0x30], xmm7
movdqa xmmword [rsp + 0x20], xmm6
mov rax, qword [rdx + 0x18]
test rax, rax
je 0x140045790
mov r8, qword [rdx]
mov r9, qword [rdx + 8]
mov rdx, qword [rdx + 0x10]
movaps xmm0, xmmword [rcx + 0x1d0]
movaps xmmword [rsp + 0x10], xmm0
movdqa xmm0, xmmword [rcx + 0x1c0]
movdqa xmmword [rsp], xmm0
movdqa xmm2, xmmword [rcx + 0x1b0]
movdqa xmm3, xmmword [rcx + 0x1a0]
movdqa xmm4, xmmword [rcx + 0x190]
movdqa xmm5, xmmword [rcx + 0x180]
movdqa xmm6, xmmword [rcx + 0x170]
movdqa xmm7, xmmword [rcx + 0x160]
movdqa xmm8, xmmword [rcx + 0x150]
movdqa xmm9, xmmword [rcx + 0x140]
movdqa xmm10, xmmword [rcx + 0x130]
movdqa xmm11, xmmword [rcx + 0xf0]
movdqa xmm12, xmmword [rcx + 0x100]
movdqa xmm13, xmmword [rcx + 0x110]
movdqa xmm14, xmmword [rcx + 0x120]
xor ecx, ecx
nop dword [rax]
movdqu xmm15, xmmword [r9 + rcx]
movdqa xmm0, xmmword [rsp + 0x10]
pxor xmm0, xmm15
aesdec xmm0, xmmword [rsp]
aesdec xmm0, xmm2
aesdec xmm0, xmm3
aesdec xmm0, xmm4
aesdec xmm0, xmm5
aesdec xmm0, xmm6
aesdec xmm0, xmm7
aesdec xmm0, xmm8
aesdec xmm0, xmm9
aesdec xmm0, xmm10
aesdec xmm0, xmm14
aesdec xmm0, xmm13
aesdec xmm0, xmm12
aesdeclast xmm0, xmm11
movdqu xmm1, xmmword [r8]
pxor xmm1, xmm0
pxor xmm15, xmm1
movdqu xmmword [r8], xmm15
movdqu xmmword [rdx + rcx], xmm1
add rcx, 0x10
dec rax
jne 0x140045710
movaps xmm6, xmmword [rsp + 0x20]
movaps xmm7, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x40]
movaps xmm9, xmmword [rsp + 0x50]
movaps xmm10, xmmword [rsp + 0x60]
movaps xmm11, xmmword [rsp + 0x70]
movaps xmm12, xmmword [rsp + 0x80]
movaps xmm13, xmmword [rsp + 0x90]
movaps xmm14, xmmword [rsp + 0xa0]
movaps xmm15, xmmword [rsp + 0xb0]
add rsp, 0xc8
ret