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

Disassembly:
mov r11, rsp
push rbp
push rbx
lea rbp, [r11 - 0x5f]
sub rsp, 0xa8
mov rax, qword [0x1800eb008]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov qword [r11 + 0x18], rsi
mov rax, r9
mov qword [r11 - 0x38], r15
mov rsi, rdx
xor edx, edx
mov qword [rbp - 0x29], rax
mov r15d, r8d
mov qword [rbp - 0x20], rdx
shr r15d, 4
xor ebx, ebx
mov qword [rbp - 0x31], rcx
mov byte [rbp + 7], 0
mov qword [rbp + 8], rdx
mov dword [rbp + 0x10], edx
mov word [rbp + 0x14], dx
mov byte [rbp + 0x16], dl
mov dword [rbp - 0x18], edx
mov word [rbp - 0x14], dx
mov byte [rbp - 0x12], dl
mov qword [rbp - 0x21], rax
mov dword [rbp - 0x39], r15d
test r15d, r15d
je 0x18005f55e
mov qword [r11 - 0x18], rdi
mov r8d, 0x20
mov qword [r11 - 0x20], r12
mov qword [r11 - 0x28], r13
lea r13, [rcx + 0xf4]
mov qword [r11 - 0x30], r14
mov r14d, dword [0x1800ec414]
mov qword [rbp - 0x39], r13
mov dword [rbp - 0x11], r8d
nop dword [rax]
movzx r9d, byte [r13 + 0xf0]
lea rdi, [rbp + 7]
cmp r15d, 0x20
mov qword [rbp + 7], rax
mov r12d, r15d
mov qword [rbp + 0xf], rbx
cmova r12d, r8d
mov r8, r13
lea eax, [r9 + 0x60]
test al, 0x9f
jne 0x18005f489
test r9b, r9b
je 0x18005f489
test r14d, r14d
jns 0x18005f3d5
xor ecx, ecx
mov eax, 1
cpuid
mov r14d, ecx
mov dword [rbp - 9], eax
and r14d, 0x2000000
mov dword [rbp - 5], ebx
mov dword [0x1800ec414], r14d
test r14d, r14d
mov dword [rbp - 1], ecx
mov dword [rbp + 3], edx
jne 0x18005f3e9
lea rdx, [rbp + 7]
lea rcx, [rbp + 7]
call fcn.18006f1d0
jmp 0x18005f485
movdqu xmm0, xmmword [rbp + 7]
movzx ecx, r9b
pxor xmm0, xmmword [r13]
sub ecx, 0xa0
je 0x18005f431
sub ecx, 0x20
je 0x18005f41f
cmp ecx, 0x20
jne 0x18005f480
aesenc xmm0, xmmword [r13 + 0x10]
lea r8, [r13 + 0x10]
add r8, 0x10
aesenc xmm0, xmmword [r8]
aesenc xmm0, xmmword [r8 + 0x10]
aesenc xmm0, xmmword [r8 + 0x20]
add r8, 0x20
aesenc xmm0, xmmword [r8 + 0x10]
aesenc xmm0, xmmword [r8 + 0x20]
aesenc xmm0, xmmword [r8 + 0x30]
aesenc xmm0, xmmword [r8 + 0x40]
aesenc xmm0, xmmword [r8 + 0x50]
aesenc xmm0, xmmword [r8 + 0x60]
aesenc xmm0, xmmword [r8 + 0x70]
aesenc xmm0, xmmword [r8 + 0x80]
aesenc xmm0, xmmword [r8 + 0x90]
aesenclast xmm0, xmmword [r8 + 0xa0]
movdqu xmmword [rbp + 7], xmm0
mov rcx, qword [rbp - 0x31]
test r12d, r12d
je 0x18005f515
lea r14, [rcx + 0x1e8]
mov ebx, r12d
mov r13d, 0x87
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdi]
mov r8, r14
xor qword [rsi], rax
mov rdx, rsi
mov rax, qword [rdi + 8]
mov rcx, rsi
xor qword [rsi + 8], rax
call fcn.18006f0b0
mov rax, qword [rdi]
xor ecx, ecx
xor qword [rsi], rax
mov rax, qword [rdi + 8]
xor qword [rsi + 8], rax
add rsi, 0x10
test rax, rax
cmovs ecx, r13d
add rax, rax
mov qword [rdi + 8], rax
mov rax, qword [rdi]
test rax, rax
jns 0x18005f4fb
or qword [rdi + 8], 1
add rax, rax
mov qword [rdi], rax
xor byte [rbp + 7], cl
sub rbx, 1
jne 0x18005f4b0
mov r14d, dword [0x1800ec414]
mov r13, qword [rbp - 0x39]
mov rax, qword [rbp - 0x29]
mov ebx, 0
mov rcx, qword [rbp - 0x31]
inc rax
mov qword [rbp - 0x29], rax
mov qword [rbp - 0x21], rax
lea r8d, [rbx + 0x20]
sub r15d, r12d
jne 0x18005f370
mov r14, qword [rsp + 0x88]
mov r13, qword [rsp + 0x90]
mov r12, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
mov dword [rbp - 0x39], r15d
mov r15, qword [rsp + 0x80]
lea rcx, [rbp + 7]
mov rsi, qword [rsp + 0xd0]
mov edx, 2
nop word [rax + rax]
mov qword [rcx], rbx
lea rcx, [rcx + 8]
sub edx, 1
jne 0x18005f580
lea eax, [rdx + 1]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.180072920
add rsp, 0xa8
pop rbx
pop rbp
ret