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

Disassembly:
movups xmmword [rsp + 0x40], xmm9
movups xmmword [rsp + 0x30], xmm11
movups xmmword [rsp + 0x30], xmm11
movups xmmword [rsp + 0x80], xmm3
movups xmmword [rsp + 0x50], xmm8
mov rcx, r14
mov r8, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x78]
mov rax, r11
and ecx, 0x1ffff0
and eax, 0x1ffff0
mov rdx, rbp
and esi, 0x1ffff0
mov r9, rcx
mov r10, rcx
lea r12, [r8 + rcx]
xor rcx, 0x30
xor r10, 0x20
xor r9, 0x10
lea r14, [rdi + rax]
mov rdi, qword [rsp + 0x28]
add r9, r8
mov r8, r10
mov r10, qword [rsp + 0x60]
movdqu xmm0, xmmword [r12]
and edx, 0x1ffff0
and ebx, 0x1ffff0
lea r11, [rdi + rsi]
movdqu xmm8, xmmword [r14]
add rcx, r10
add r8, r10
lea rbp, [r15 + rdx]
movdqu xmm5, xmmword [r11]
movdqu xmm11, xmmword [rcx]
lea rdi, [r13 + rbx]
movdqu xmm9, xmmword [rbp]
movdqa xmm3, xmm0
movdqu xmm4, xmmword [rdi]
movdqu xmm2, xmmword [r9]
aesenc xmm3, xmm6
aesenc xmm8, xmm10
paddq xmm11, xmm7
movdqu xmm0, xmmword [r8]
aesenc xmm9, xmm15
aesenc xmm5, xmm14
movups xmmword [r9], xmm11
aesenc xmm4, xmm13
movdqu xmm11, xmmword [rsp + 0x80]
paddq xmm0, xmm6
paddq xmm2, xmm11
movups xmmword [r8], xmm2
mov r8, rdx
movups xmmword [rcx], xmm0
movdqa xmm0, xmm11
mov rcx, rdx
xor rdx, 0x30
add rdx, r15
pxor xmm0, xmm3
movdqa xmm11, xmm9
xor r8, 0x10
movups xmmword [r12], xmm0
movdqu xmm9, xmmword [rdx]
xor rcx, 0x20
add r8, r15
add rcx, r15
movdqu xmm2, xmmword [r8]
movq r9, xmm11
paddq xmm9, xmm1
movdqu xmm0, xmmword [rcx]
movups xmmword [r8], xmm9
movdqu xmm9, xmmword [rsp + 0x30]
mov r8, qword [rsp + 0x78]
paddq xmm0, xmm15
paddq xmm2, xmm9
mov r12, r8
movups xmmword [rcx], xmm2
mov rcx, rax
movups xmmword [rdx], xmm0
movdqa xmm0, xmm9
mov rdx, rax
xor rax, 0x30
add rax, r8
pxor xmm0, xmm11
xor rcx, 0x10
xor rdx, 0x20
movups xmmword [rbp], xmm0
movdqa xmm9, xmm8
add rcx, r8
add rdx, r8
movdqu xmm2, xmmword [rcx]
movdqu xmm0, xmmword [rdx]
movq r8, xmm9
movdqu xmm8, xmmword [rsp + 0x90]
paddq xmm8, xmmword [rax]
paddq xmm0, xmm10
movups xmmword [rcx], xmm8
movdqu xmm8, xmmword [rsp + 0x40]
paddq xmm2, xmm8
movups xmmword [rdx], xmm2
mov rdx, rsi
mov rcx, qword [rsp + 0x28]
movdqa xmm2, xmm8
movups xmmword [rax], xmm0
mov rax, qword [rsp + 0x28]
xor rdx, 0x10
pxor xmm2, xmm9
movups xmmword [r14], xmm2
movdqa xmm8, xmm5
movq r14, xmm3
movdqu xmm5, xmmword [rsp + 0xa0]
add rdx, rax
mov rax, rsi
xor rsi, 0x30
add rsi, rcx
xor rax, 0x20
movdqu xmm2, xmmword [rdx]
paddq xmm5, xmmword [rsi]
add rax, rcx
movdqu xmm0, xmmword [rax]
movups xmmword [rdx], xmm5
movdqu xmm5, xmmword [rsp + 0x50]
mov rdx, rbx
paddq xmm0, xmm14
xor rdx, 0x10
paddq xmm2, xmm5
add rdx, r13
movups xmmword [rax], xmm2
mov rax, rbx
movups xmmword [rsi], xmm0
xor rax, 0x20
movdqa xmm0, xmm5
movdqa xmm5, xmm12
add rax, r13
pxor xmm0, xmm8
xor rbx, 0x30
movups xmmword [r11], xmm0
add rbx, r13
movdqu xmm2, xmmword [rdx]
movdqu xmm0, xmmword [rax]
movdqa xmm12, xmm4
mov r11, r9
movdqu xmm4, xmmword [rsp + 0xb0]
paddq xmm4, xmmword [rbx]
paddq xmm2, xmm5
paddq xmm0, xmm13
and r11d, 0x1ffff0
movups xmmword [rdx], xmm4
movdqa xmm4, xmm12
movups xmmword [rax], xmm2
pxor xmm4, xmm5
movups xmmword [rbx], xmm0
mov rbx, r14
movdqa xmm0, xmm3
and ebx, 0x1ffff0
movups xmmword [rdi], xmm4
psrldq xmm0, 8
lea rbp, [r10 + rbx]
mov r10, r8
movq rax, xmm0
mov rdi, qword [rbp + 8]
and r10d, 0x1ffff0
mov qword [rsp + 0x1e0], rdi
lea rdi, [r15 + r11]
mov rsi, qword [rdi]
mov rcx, qword [rdi + 8]
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0x1e8], rsi
lea rsi, [r12 + r10]
mov rdx, qword [rsi + 8]
mov qword [rsp + 0x1f0], rcx
mov rcx, qword [rsi]
mov qword [rsp + 0x100], rsi
movq rsi, xmm8
mov qword [rsp + 0x1d0], rcx
mov rcx, rsi
mov qword [rsp + 0x1d8], rdx
mov rdi, qword [rsp + 0x28]
and ecx, 0x1ffff0
mov qword [rsp + 0x1b0], rcx
mov rsi, qword [rsp + 0x110]
movq qword [rsp + 0xd0], xmm8
lea rdx, [rdi + rcx]
mov rdi, qword [rdx]
mov rcx, qword [rdx + 8]
mov qword [rsp + 0xf0], rdx
movq rdx, xmm12
movq qword [rsp + 0xd8], xmm12
and edx, 0x1ffff0
mov qword [rsp + 0x1c8], rcx
lea rcx, [r13 + rdx]
mov qword [rsp + 0x108], rdx
mov rdx, qword [rsp + 0x160]
mov qword [rsp + 0x1c0], rdi
mov rdi, qword [rcx]
movq xmm4, qword [rcx + 8]
mov qword [rsp + 0xe0], rcx
lea ecx, [r14 + rdx*2]
mov qword [rsp + 0x1b8], rdi
or ecx, 0x80000001
mov rdi, rdx
xor edx, edx
div rcx
shl rdi, 0x20
xor rsi, rdi
mov rdi, qword [rbp]
xor rdi, rsi
mov r12, rdi
shl rdx, 0x20
mov eax, eax
add rdx, rax
movabs rax, 0xfffffc0200000001
movq xmm0, rdx
add rdx, r14
mov rdi, rdx
movups xmmword [rsp + 0x110], xmm0
shr rdi, 0xc
movq xmm0, rdi
paddq xmm0, xmmword [0x140658e60]
movq xmm0, xmm0
sqrtsd xmm0, xmm0
movq rcx, xmm0
mov rdi, rcx
shr rcx, 0x13
shr rdi, 0x14
add rax, rcx
sub rax, rdi
mov rsi, rdi
movabs rdi, 0xfffffc0200000000
add rsi, rdi
mov rdi, qword [rsp + 0x70]
imul rax, rsi
sub rax, rdx
mov qword [rdi], rax
mov edi, 0
mov rax, r12
mov rsi, qword [rsp + 0x68]
adc rcx, rdi
mul r14
mov r14, rbx
mov qword [rsi], rcx
movq xmm0, rcx
xor r14, 0x10
movups xmmword [rsp + 0x160], xmm0
mov rsi, rax
mov qword [rsp + 0xc8], rdx
mov rax, qword [rsp + 0x60]
mov rcx, rdx
mov qword [rsp + 0xc0], rsi
mov rdi, qword [rsp + 0xc0]
movq xmm0, rdx
mov rdx, rbx
xor rdx, 0x20
xor rbx, 0x30
add r14, rax
mov qword [rsp + 0xe8], r12
mov qword [rsp + 0x1f8], rdi
add rbx, rax
mov rsi, rdx
lea rdx, [rax + rdx]
movabs rdi, 0xfffffc0200000000
movhps xmm0, qword [rsp + 0x1f8]
pxor xmm0, xmmword [r14]
movdqu xmm2, xmmword [rdx]
paddq xmm7, xmmword [rbx]
xor rcx, qword [rdx]
mov r12, qword [rsp + 0xc0]
xor r12, qword [rax + rsi + 8]
paddq xmm2, xmm6
movups xmmword [r14], xmm7
movdqu xmm7, xmmword [rsp + 0x80]
paddq xmm0, xmm7
movups xmmword [rdx], xmm0
movq xmm0, rcx
mov rdx, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x120]
movups xmmword [rbx], xmm2
movq xmm2, r12
punpcklqdq xmm0, xmm2
lea ebx, [r9 + rdx*2]
paddq xmm0, xmm6
or ebx, 0x80000001
movq xmm6, qword [rsp + 0xe8]
movups xmmword [rbp], xmm0
mov rbp, rdx
xor edx, edx
movhps xmm6, qword [rsp + 0x1e0]
shl rbp, 0x20
pxor xmm6, xmm0
movdqa xmm0, xmm11
xor rcx, rbp
mov rbp, qword [rsp + 0x1e8]
psrldq xmm0, 8
movq r14, xmm6
movq rax, xmm0
xor rcx, rbp
div rbx
shl rdx, 0x20
mov eax, eax
add rdx, rax
movq xmm0, rdx
add rdx, r9
mov rbp, rdx
movups xmmword [rsp + 0x120], xmm0
shr rbp, 0xc
movq xmm0, rbp
paddq xmm0, xmmword [0x140658e60]
movq xmm0, xmm0
sqrtsd xmm0, xmm0
movq rax, xmm0
mov rbp, rax
shr rax, 0x13
shr rbp, 0x14
mov rsi, rbp
movabs rbp, 0xfffffc0200000001
lea rbx, [rax + rbp]
mov rbp, qword [rsp + 0x70]
sub rbx, rsi
add rsi, rdi
imul rbx, rsi
sub rbx, rdx
mov qword [rbp], rbx
mov ebp, 0
mov rdi, qword [rsp + 0x68]
mov rbx, r11
adc rax, rbp
xor rbx, 0x10
mov r12, rbp
mov qword [rdi], rax
movq xmm0, rax
mov rax, r9
add rbx, r15
mul rcx
movups xmmword [rsp + 0x170], xmm0
mov qword [rsp + 0x80], rax
mov rax, r11
mov r9, rdx
mov rdi, qword [rsp + 0x80]
xor rax, 0x20
xor r11, 0x30
movq xmm0, rdx
add r11, r15
lea rdx, [r15 + rax]
mov qword [rsp + 0xc0], rdi
xor r9, qword [rdx]
paddq xmm1, xmmword [r11]
mov rbp, r9
mov r9, qword [r15 + rax + 8]
movdqu xmm2, xmmword [rdx]
movhps xmm0, qword [rsp + 0xc0]
pxor xmm0, xmmword [rbx]
movups xmmword [rbx], xmm1
paddq xmm0, xmmword [rsp + 0x30]
xor r9, rdi
paddq xmm2, xmm15
movabs rdi, 0xfffffc0200000000
movups xmmword [rdx], xmm0
movq xmm1, r9
movq xmm0, rbp
mov rdx, qword [rsp + 0x180]
punpcklqdq xmm0, xmm1
movups xmmword [r11], xmm2
mov r11, qword [rsp + 0xf8]
paddq xmm0, xmm15
movq xmm15, rcx
lea r9d, [r8 + rdx*2]
mov rcx, qword [rsp + 0x150]
movhps xmm15, qword [rsp + 0x1f0]
movups xmmword [r11], xmm0
or r9d, 0x80000001
mov r11, rdx
pxor xmm15, xmm0
movdqa xmm0, xmm9
xor edx, edx
shl r11, 0x20
psrldq xmm0, 8
xor rcx, r11
mov r11, qword [rsp + 0x1d0]
movq rbp, xmm15
movq rax, xmm0
div r9
movabs r9, 0xfffffc0200000001
xor rcx, r11
mov eax, eax
shl rdx, 0x20
add rdx, rax
movq xmm0, rdx
add rdx, r8
mov r11, rdx
movups xmmword [rsp + 0x150], xmm0
shr r11, 0xc
movq xmm0, r11
paddq xmm0, xmmword [0x140658e60]
movq xmm0, xmm0
sqrtsd xmm0, xmm0
movq rax, xmm0
mov r11, rax
shr rax, 0x13
shr r11, 0x14
add r9, rax
sub r9, r11
add r11, rdi
movabs rdi, 0xfffffc0200000000
imul r9, r11
mov r11, qword [rsp + 0x70]
sub r9, rdx
mov qword [r11], r9
mov r9, qword [rsp + 0x68]
adc rax, r12
mov r11, r10
movq xmm0, rax
xor r11, 0x20
mov qword [r9], rax
mov rax, r8
mov r9, r10
xor r10, 0x30
mul rcx
xor r9, 0x10
movups xmmword [rsp + 0x180], xmm0
movdqu xmm2, xmmword [rsp + 0x90]
mov rsi, rax
mov rax, qword [rsp + 0x78]
mov r8, rdx
movq xmm0, rdx
mov qword [rsp + 0x80], rsi
lea rdx, [rax + r11]
add r9, rax
add r10, rax
xor r8, qword [rdx]
movdqu xmm1, xmmword [rdx]
mov rbx, r8
mov r8, qword [rax + r11 + 8]
paddq xmm2, xmmword [r10]
movhps xmm0, qword [rsp + 0x80]
pxor xmm0, xmmword [r9]
paddq xmm0, xmmword [rsp + 0x40]
paddq xmm1, xmm10
xor r8, rsi
movups xmmword [r9], xmm2
movups xmmword [rdx], xmm0
movq xmm0, rbx
movups xmmword [r10], xmm1
movq xmm1, r8
mov r8, qword [rsp + 0x100]
punpcklqdq xmm0, xmm1
paddq xmm0, xmm10
movq xmm10, rcx
movhps xmm10, qword [rsp + 0x1d8]
movups xmmword [r8], xmm0
mov rdx, qword [rsp + 0x190]
mov rsi, qword [rsp + 0xd0]
pxor xmm10, xmm0
movdqa xmm0, xmm8
mov r10, qword [rsp + 0x1c0]
lea ecx, [rsi + rdx*2]
psrldq xmm0, 8
movq r11, xmm10
mov r8, rdx
shl r8, 0x20
or ecx, 0x80000001
xor edx, edx
mov rax, r8
mov r8, qword [rsp + 0x140]
xor r8, rax
movq rax, xmm0
div rcx
xor r8, r10
shl rdx, 0x20
mov eax, eax
add rdx, rax
movq xmm0, rdx
add rdx, rsi
mov r10, rdx
movups xmmword [rsp + 0x140], xmm0
shr r10, 0xc
movq xmm0, r10
paddq xmm0, xmmword [0x140658e60]
movq xmm0, xmm0
sqrtsd xmm0, xmm0
movq rcx, xmm0
mov r10, rcx
shr rcx, 0x13
shr r10, 0x14
mov r9, r10
movabs r10, 0xfffffc0200000001
lea rax, [rcx + r10]
sub rax, r9
add r9, rdi
imul rax, r9
mov r9, qword [rsp + 0x70]
sub rax, rdx
mov qword [r9], rax
mov r10, qword [rsp + 0x68]
adc rcx, r12
mov rax, rsi
mul r8
movq xmm0, rcx
mov qword [r10], rcx
mov rsi, qword [rsp + 0x1b0]
mov rbx, qword [rsp + 0x28]
movups xmmword [rsp + 0x190], xmm0
movdqu xmm2, xmmword [rsp + 0xa0]
mov r9, rsi
mov r10, rsi
mov rcx, rdx
xor rsi, 0x30
xor r9, 0x10
xor r10, 0x20
movq xmm0, rdx
mov qword [rsp + 0x80], rax
add r9, rbx
mov rax, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x80]
lea rdx, [rax + r10]
mov qword [rsp + 0x90], rbx
mov rax, rbx
mov rbx, qword [rsp + 0x28]
movdqu xmm1, xmmword [rdx]
xor rcx, qword [rdx]
xor rax, qword [rbx + r10 + 8]
mov r10, rsi
mov rsi, qword [rsp + 0xf0]
add r10, rbx
movhps xmm0, qword [rsp + 0x90]
pxor xmm0, xmmword [r9]
paddq xmm2, xmmword [r10]
paddq xmm0, xmmword [rsp + 0x50]
paddq xmm1, xmm14
movups xmmword [r9], xmm2
movups xmmword [rdx], xmm0
movq xmm0, rcx
movups xmmword [r10], xmm1
movq xmm1, rax
movabs r10, 0xfffffc0200000001
punpcklqdq xmm0, xmm1
paddq xmm0, xmm14
movq xmm14, r8
movhps xmm14, qword [rsp + 0x1c8]
movups xmmword [rsi], xmm0
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x130]
mov rbx, qword [rsp + 0xd8]
pxor xmm14, xmm0
movdqa xmm0, xmm12
mov r8, rdx
psrldq xmm0, 8
movq rsi, xmm14
shl r8, 0x20
movq rax, xmm0
xor rcx, r8
mov r8, qword [rsp + 0x1b8]
xor rcx, r8
lea r8d, [rbx + rdx*2]
xor edx, edx
or r8d, 0x80000001
div r8
shl rdx, 0x20
mov eax, eax
add rdx, rax
movq xmm0, rdx
add rdx, rbx
mov r8, rdx
movups xmmword [rsp + 0x130], xmm0
shr r8, 0xc
movq xmm0, r8
paddq xmm0, xmmword [0x140658e60]
movq xmm0, xmm0
sqrtsd xmm0, xmm0
movq rax, xmm0
mov r8, rax
shr rax, 0x13
shr r8, 0x14
mov r9, r8
lea r8, [rax + r10]
sub r8, r9
add r9, rdi
imul r8, r9
mov r9, qword [rsp + 0x70]
sub r8, rdx
mov qword [r9], r8
mov r10, qword [rsp + 0x68]
adc rax, r12
movq xmm0, rax
mov qword [r10], rax
mov rax, rbx
mov rbx, qword [rsp + 0x108]
mul rcx
movups xmmword [rsp + 0x1a0], xmm0
movdqu xmm2, xmmword [rsp + 0xb0]
mov r9, rbx
mov r10, rbx
xor rbx, 0x30
movups xmmword [rsp + 0xb0], xmm5
xor r10, 0x20
xor r9, 0x10
mov qword [rsp + 0x80], rax
add r9, r13
mov rax, qword [r13 + r10 + 8]
mov r8, rdx
mov rdi, qword [rsp + 0x80]
mov qword [rsp + 0x88], rdx
movq xmm0, rdx
lea rdx, [r13 + r10]
mov r10, rbx
movdqu xmm1, xmmword [rdx]
xor r8, qword [rdx]
mov qword [rsp + 0x90], rdi
add r10, r13
xor rax, rdi
paddq xmm2, xmmword [r10]
paddq xmm1, xmm13
movhps xmm0, qword [rsp + 0x90]
pxor xmm0, xmmword [r9]
movups xmmword [r9], xmm2
movdqu xmm2, xmmword [rsp + 0x40]
paddq xmm0, xmm5
movdqu xmm5, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movq xmm0, r8
movups xmmword [r10], xmm1
movq xmm1, rax
mov rax, qword [rsp + 0xe0]
punpcklqdq xmm0, xmm1
movups xmmword [rsp + 0xa0], xmm5
paddq xmm0, xmm13
movq xmm13, rcx
movups xmmword [rax], xmm0
punpcklqdq xmm13, xmm4
movups xmmword [rsp + 0x90], xmm2
pxor xmm13, xmm0
movdqu xmm1, xmmword [rsp + 0x30]
sub qword [rsp + 0x200], 1
movq rbx, xmm13
jne 0x1404c1ba0
mov r12, qword [rsp + 0x320]
mov rbp, qword [rsp + 0x208]
lea rbx, case.0x1404d2618.0
lea rsi, [r12 + 0xa0]
mov rcx, qword [rbp]
add rbp, 8
call fcn.1400f3500
mov rcx, qword [rbp - 8]
mov edx, 0x18
call fcn.140005110
mov rcx, qword [rbp - 8]
mov r8, r12
add r12, 0x20
mov edx, 0xc8
movzx eax, byte [rcx]
and eax, 3
call qword [rbx + rax*8]
cmp rsi, r12
jne 0x1404c2769
movups xmm6, xmmword [rsp + 0x220]
movups xmm7, xmmword [rsp + 0x230]
movups xmm8, xmmword [rsp + 0x240]
movups xmm9, xmmword [rsp + 0x250]
movups xmm10, xmmword [rsp + 0x260]
movups xmm11, xmmword [rsp + 0x270]
movups xmm12, xmmword [rsp + 0x280]
movups xmm13, xmmword [rsp + 0x290]
movups xmm14, xmmword [rsp + 0x2a0]
movups xmm15, xmmword [rsp + 0x2b0]
add rsp, 0x2c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret