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

Disassembly:
movdqa xmm5, xmm2
mov rdx, r12
movq xmm9, r12
movq xmm6, rbp
mov rax, rbp
and edx, 0x1ffff0
and eax, 0x1ffff0
movhps xmm9, qword [rsp + 0x30]
mov dword [rsp + 0xc0], r12d
lea r10, [rbx + rdx]
mov r8, rdx
lea r9, [rsi + rax]
mov rdi, rdx
xor rdx, 0x30
xor r8, 0x10
xor rdi, 0x20
movdqu xmm1, xmmword [r10]
add rdx, rbx
add r8, rbx
mov rcx, rdi
movdqu xmm7, xmmword [r9]
movdqu xmm2, xmmword [rdx]
movdqu xmm10, xmmword [r8]
add rcx, rbx
mov rdi, rax
movdqu xmm8, xmmword [rcx]
aesenc xmm1, xmm9
xor rdi, 0x10
movhps xmm6, qword [rsp + 0x28]
movdqa xmm11, xmm2
pxor xmm2, xmm10
aesenc xmm7, xmm6
movd dword [rsp + 0xc8], xmm0
paddq xmm11, xmm4
pxor xmm1, xmm8
movups xmmword [r8], xmm11
movdqa xmm11, xmm10
pxor xmm2, xmm1
movdqa xmm1, xmm0
paddq xmm11, xmm0
pxor xmm1, xmm2
mov r8d, dword [rsp + 0x40]
movq qword [rsp + 0x60], xmm2
movups xmmword [rcx], xmm11
movdqa xmm11, xmm8
mov rcx, rdi
paddq xmm11, xmm9
add rcx, rsi
movups xmmword [rdx], xmm11
mov rdx, rax
xor rax, 0x30
add rax, rsi
movups xmmword [r10], xmm1
xor rdx, 0x20
movdqu xmm10, xmmword [rcx]
movdqu xmm1, xmmword [rax]
add rdx, rsi
mov r10d, dword [rsp + 0x44]
movdqu xmm8, xmmword [rdx]
movdqa xmm11, xmm1
pxor xmm1, xmm10
paddq xmm11, xmm3
pxor xmm7, xmm8
movups xmmword [rcx], xmm11
movdqa xmm11, xmm10
pxor xmm1, xmm7
movdqa xmm7, xmm5
paddq xmm11, xmm5
pxor xmm7, xmm1
movups xmmword [rdx], xmm11
movdqa xmm11, xmm8
paddq xmm11, xmm6
movups xmmword [rax], xmm11
movq rax, xmm2
mov r11, rax
movups xmmword [r9], xmm7
mov r9d, dword [rsp + 0x48]
movdqa xmm7, xmm4
and r11d, 0x1ffff0
psrldq xmm7, 8
lea r15, [rbx + r11 + 8]
lea edx, [r13 + r9]
mov rdi, qword [r15]
lea r14, [rbx + r11]
mov qword [rsp + 0x58], rdi
lea edi, [r8 + r10]
shl rdi, 0x20
or rdi, rdx
mov edx, dword [rsp + 0x30]
xor rdi, qword [r14]
mov dword [rsp + 0xc4], edx
mov edx, dword [rsp + 0x38]
movd dword [rsp + 0x38], xmm0
mov dword [rsp + 0xcc], edx
movd dword [rsp + 0xd0], xmm7
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
mov dword [rsp + 0xb0], r13d
mov dword [rsp + 0xb4], r9d
mov dword [rsp + 0xb8], r10d
mov dword [rsp + 0xbc], r8d
call fcn.1400f4810
mov r10, r11
mov r9, r11
xor r11, 0x30
add r11, rbx
xor r10, 0x10
mov rax, qword [rsp + 0x60]
xor r9, 0x20
movdqu xmm8, xmmword [r11]
add r10, rbx
add r9, rbx
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0xb4]
movdqu xmm10, xmmword [r10]
mov dword [rsp + 0xf0], ebp
paddq xmm4, xmm8
movdqu xmm7, xmmword [r9]
xor r12, qword [rsp + 0xb8]
movd dword [rsp + 0xf8], xmm5
mov dword [rsp + 0x48], edx
mov edx, dword [rsp + 0xb8]
movups xmmword [r10], xmm4
movdqa xmm4, xmm10
xor rcx, qword [rsp + 0xb0]
mov r10d, dword [rsp + 0x3c]
mov dword [rsp + 0x44], edx
mov edx, dword [rsp + 0xbc]
paddq xmm4, xmm0
movups xmmword [r9], xmm4
movdqa xmm4, xmm9
mov r9d, dword [rsp + 0x54]
mov r13d, dword [rsp + 0xb0]
mov dword [rsp + 0x40], edx
mul rdi
paddq xmm4, xmm7
pxor xmm7, xmm2
movups xmmword [r11], xmm4
movq r11, xmm1
movdqa xmm2, xmm3
movdqa xmm4, xmm0
psrldq xmm2, 8
movdqa xmm0, xmm8
add rdx, r12
mov r8, rax
lea eax, [r10 + r9]
mov qword [r14], rdx
xor rdx, rdi
mov rdi, qword [rsp + 0x58]
add rcx, r8
mov qword [r15], rcx
mov r8d, dword [rsp + 0x50]
mov r12, rdx
pxor xmm0, xmm10
xor rdi, rcx
and r11d, 0x1ffff0
mov edx, dword [rsp + 0x4c]
pxor xmm0, xmm7
lea r15, [rsi + r11 + 8]
mov qword [rsp + 0x30], rdi
lea r14, [rsi + r11]
mov rdi, qword [r15]
mov qword [rsp + 0x58], rdi
lea edi, [rdx + r8]
shl rdi, 0x20
or rdi, rax
mov eax, dword [rsp + 0x28]
xor rdi, qword [r14]
mov dword [rsp + 0xf4], eax
movd dword [rsp + 0xfc], xmm3
mov rcx, qword [rsp + 0x80]
mov dword [rsp + 0xec], edx
mov rdx, qword [rsp + 0x88]
mov dword [rsp + 0xe0], r10d
mov dword [rsp + 0xe4], r9d
mov dword [rsp + 0xe8], r8d
movd dword [rsp + 0x100], xmm2
call fcn.1400f4810
mov r10, r11
mov r9, r11
xor r11, 0x30
add r11, rsi
xor r10, 0x10
xor r9, 0x20
mov rcx, qword [rsp + 0x28]
movdqu xmm8, xmmword [r11]
add r10, rsi
movq rax, xmm1
add r9, rsi
mov edx, dword [rsp + 0xe0]
movdqu xmm2, xmmword [r10]
movdqu xmm7, xmmword [r9]
paddq xmm3, xmm8
xor rbp, qword [rsp + 0xe8]
mov dword [rsp + 0x3c], edx
mov edx, dword [rsp + 0xe4]
movups xmmword [r10], xmm3
movdqa xmm3, xmm2
paddq xmm6, xmm7
xor rcx, qword [rsp + 0xe0]
mov dword [rsp + 0x54], edx
mov edx, dword [rsp + 0xe8]
paddq xmm3, xmm5
pxor xmm7, xmm1
movups xmmword [r9], xmm3
pxor xmm2, xmm8
movdqa xmm3, xmm5
mov dword [rsp + 0x50], edx
mov edx, dword [rsp + 0xec]
pxor xmm2, xmm7
movups xmmword [r11], xmm6
mov dword [rsp + 0x4c], edx
mul rdi
add rdx, rbp
mov r8, rax
mov qword [r14], rdx
xor rdx, rdi
mov rdi, qword [rsp + 0x58]
add rcx, r8
mov qword [r15], rcx
mov rbp, rdx
xor rdi, rcx
sub qword [rsp + 0x68], 1
mov qword [rsp + 0x28], rdi
jne 0x1404d2120
mov r15, qword [rsp + 0xa8]
cmp byte [0x1407c43c0], 0
mov r12, qword [rsp + 0x98]
mov r14, qword [rsp + 0xa0]
mov rcx, qword [r15]
je 0x1404d262e
mov rdx, qword [r15 + 8]
xor r9d, r9d
mov r8d, 0x200000
call fcn.1400ffa50
mov rcx, r12
mov edx, 0x18
lea rbx, [0x140657d40]
call fcn.140005110
mov rcx, r14
mov edx, 0x18
call fcn.140005110
mov rcx, qword [r15]
mov edx, 0xc8
mov rsi, qword [rsp + 0x90]
movzx eax, byte [rcx]
mov r8, rsi
and eax, 3
call qword [rbx + rax*8]
mov rcx, qword [r15 + 8]
lea r8, [rsi + 0x20]
mov edx, 0xc8
movups xmm6, xmmword [rsp + 0x1110]
movups xmm7, xmmword [rsp + 0x1120]
movups xmm8, xmmword [rsp + 0x1130]
movzx eax, byte [rcx]
movups xmm9, xmmword [rsp + 0x1140]
movups xmm10, xmmword [rsp + 0x1150]
movups xmm11, xmmword [rsp + 0x1160]
and eax, 3
mov rax, qword [rbx + rax*8]
add rsp, 0x1178
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp rax
call fcn.1400f3500
mov rcx, qword [r15 + 8]
call fcn.1400f3500
jmp 0x1404d257d