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

Disassembly:
mov rcx, qword [rcx]
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
stmxcsr dword [rsp]
mov dword [rsp + 4], 0x5f80
ldmxcsr dword [rsp + 4]
mov rax, qword [rcx + 0x30]
mov r9, rcx
xor rax, qword [rcx + 0x10]
mov ebp, 0x80000
mov r8, qword [rcx + 0x20]
xor r8, qword [rcx]
mov r11, qword [rcx + 0x28]
mov r10, r8
mov rdx, qword [rcx + 0x38]
movq xmm3, rax
xor rdx, qword [rcx + 0x18]
xor r11, qword [rcx + 8]
mov rbx, qword [rcx + 0xe0]
mov rax, qword [r9 + 0x50]
xor rax, qword [r9 + 0x40]
movq xmm0, rdx
mov rcx, qword [rcx + 0x58]
xor rcx, qword [r9 + 0x48]
mov rdi, qword [r9 + 0x68]
and r10d, 0x1ffff0
movaps xmmword [rsp + 0x30], xmm6
movq xmm4, rax
movaps xmmword [rsp + 0x20], xmm7
movaps xmmword [rsp + 0x10], xmm8
xorps xmm8, xmm8
mov ax, 0x3ff
shl rax, 0x34
movq xmm7, rax
mov r15, qword [r9 + 0x60]
punpcklqdq xmm3, xmm0
movq xmm0, rcx
punpcklqdq xmm4, xmm0
nop dword [rax]
movdqa xmm5, xmmword [r10 + rbx]
movq xmm6, r8
pinsrq xmm6, r11, 1
lea rdx, [r10 + rbx]
lea r9, [rdi + rdi]
shl rdi, 0x20
mov ecx, r10d
mov eax, r10d
xor ecx, 0x10
xor eax, 0x20
xor r10d, 0x30
aesenc xmm5, xmm6
movdqa xmm2, xmmword [rcx + rbx]
movdqa xmm1, xmmword [rax + rbx]
movdqa xmm0, xmmword [r10 + rbx]
paddq xmm2, xmm3
paddq xmm1, xmm6
paddq xmm0, xmm4
movdqa xmmword [rcx + rbx], xmm0
movdqa xmmword [rax + rbx], xmm2
movdqa xmmword [r10 + rbx], xmm1
movaps xmm1, xmm8
mov rsi, r15
xor rsi, rdi
mov edi, 0x3ff
shl rdi, 0x34
movq r14, xmm5
pextrq rax, xmm5, 1
movdqa xmm0, xmm5
pxor xmm0, xmm3
mov r10, r14
and r10d, 0x1ffff0
movdqa xmmword [rdx], xmm0
xor rsi, qword [r10 + rbx]
lea r12, [r10 + rbx]
mov r13, qword [r10 + rbx + 8]
add r9d, r14d
or r9d, 0x80000001
xor edx, edx
div r9
mov eax, eax
shl rdx, 0x20
lea r15, [rax + rdx]
lea rax, [r14 + r15]
shr rax, 0xc
add rax, rdi
movq xmm0, rax
sqrtsd xmm1, xmm0
movq rdi, xmm1
test rdi, 0x7ffff
je 0x1408c30a1
shr rdi, 0x13
mov rax, rsi
mul r14
movq xmm1, rax
movq xmm0, rdx
punpcklqdq xmm0, xmm1
mov r9d, r10d
mov ecx, r10d
xor r9d, 0x10
xor ecx, 0x20
xor r10d, 0x30
movdqa xmm1, xmmword [rcx + rbx]
xor rdx, qword [rcx + rbx]
xor rax, qword [rcx + rbx + 8]
movdqa xmm2, xmmword [r9 + rbx]
pxor xmm2, xmm0
paddq xmm4, xmmword [r10 + rbx]
paddq xmm2, xmm3
paddq xmm1, xmm6
movdqa xmmword [r9 + rbx], xmm4
movdqa xmmword [rcx + rbx], xmm2
movdqa xmmword [r10 + rbx], xmm1
movdqa xmm4, xmm3
add r8, rdx
add r11, rax
mov qword [r12], r8
xor r8, rsi
mov qword [r12 + 8], r11
mov r10, r8
xor r11, r13
and r10d, 0x1ffff0
movdqa xmm3, xmm5
dec ebp
jne 0x1408c2f00
ldmxcsr dword [rsp]
movaps xmm6, xmmword [rsp + 0x30]
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm7, xmmword [rsp + 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
jmp 0x1408c30de
movq r9, xmm5
add r9, r15
dec rdi
mov edx, 0xfffffc02
shl rdx, 0x20
mov rax, rdi
shr rdi, 0x13
shr rax, 0x14
mov rcx, rdi
sub rcx, rax
lea rcx, [rcx + rdx + 1]
add rax, rdx
imul rcx, rax
sub rcx, r9
adc rdi, 0
jmp 0x1408c2fe4
ret