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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x40
mov r10, rcx
cmp dword [r8 + 0x1e4], 0
jne 0x1401eaaf6
mov qword [rsp + 0x30], rdx
mov r9d, dword [r8 + 0x1e0]
mov eax, dword [r10]
bswap eax
xor eax, dword [r8]
mov ecx, dword [r10 + 4]
bswap ecx
xor ecx, dword [r8 + 4]
mov edx, dword [r10 + 8]
bswap edx
xor edx, dword [r8 + 8]
mov ebx, dword [r10 + 0xc]
bswap ebx
xor ebx, dword [r8 + 0xc]
sar r9d, 1
mov qword [rsp + 0x18], r9
dec r9d
shl r9, 5
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x10], r8
mov r13d, eax
movzx r8d, al
mov qword [rsp + 8], r8
movzx esi, ah
mov qword [rsp], rsi
shr eax, 0x10
movzx eax, al
movzx r15d, bl
movzx ebp, bh
mov r8d, ebx
shr ebx, 0x18
lea r10, [0x1405f5d80]
mov eax, dword [r10 + rax*4]
lea r9, [0x1405f5980]
xor eax, dword [r9 + rbx*4]
shr r13d, 0x18
mov ebx, ecx
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [r10 + rbx*4]
xor ebx, dword [r9 + r13*4]
movzx esi, dh
lea r14, [0x1405f6180]
xor ebx, dword [r14 + rsi*4]
mov esi, ecx
movzx r13d, cl
movzx edi, ch
shr esi, 0x18
mov ecx, edx
shr ecx, 0x10
movzx ecx, cl
mov r11d, edx
movzx r12d, dl
mov ecx, dword [r10 + rcx*4]
xor ecx, dword [r9 + rsi*4]
xor ecx, dword [r14 + rbp*4]
shr r11d, 0x18
shr r8d, 0x10
movzx edx, r8b
mov edx, dword [r10 + rdx*4]
xor edx, dword [r9 + r11*4]
mov r8, qword [rsp]
xor edx, dword [r14 + r8*4]
xor eax, dword [r14 + rdi*4]
lea r8, [0x1405f6580]
xor ebx, dword [r8 + r15*4]
mov r9, qword [rsp + 0x10]
xor ebx, dword [r9 + 0x10]
mov r10, qword [rsp + 8]
xor ecx, dword [r8 + r10*4]
xor ecx, dword [r9 + 0x14]
xor edx, dword [r8 + r13*4]
xor edx, dword [r9 + 0x18]
xor eax, dword [r8 + r12*4]
xor eax, dword [r9 + 0x1c]
lea r14, [r9 + 0x20]
mov r8, qword [rsp + 0x18]
dec r8d
je 0x1401ea9f9
mov qword [rsp + 0x18], r8
mov ebp, ebx
movzx r8d, bl
mov qword [rsp + 8], r8
movzx esi, bh
mov qword [rsp], rsi
shr ebx, 0x10
movzx r8d, bl
movzx r11d, al
movzx esi, ah
mov edi, eax
shr eax, 0x18
lea r10, [0x1405f5d80]
mov ebx, dword [r10 + r8*4]
lea r13, [0x1405f5980]
xor ebx, dword [r13 + rax*4]
shr ebp, 0x18
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov eax, dword [r10 + rax*4]
xor eax, dword [r13 + rbp*4]
movzx ebp, dh
lea r8, [0x1405f6180]
mov qword [rsp + 0x38], r14
mov r14, r8
xor eax, dword [r8 + rbp*4]
mov r8d, ecx
movzx r15d, cl
movzx ebp, ch
shr r8d, 0x18
mov ecx, edx
shr ecx, 0x10
movzx ecx, cl
mov r12d, edx
movzx r9d, dl
mov ecx, dword [r10 + rcx*4]
xor ecx, dword [r13 + r8*4]
xor ecx, dword [r14 + rsi*4]
shr r12d, 0x18
shr edi, 0x10
movzx edx, dil
mov edx, dword [r10 + rdx*4]
xor edx, dword [r13 + r12*4]
mov r8, qword [rsp]
xor edx, dword [r14 + r8*4]
xor ebx, dword [r14 + rbp*4]
lea r8, [0x1405f6580]
xor eax, dword [r8 + r11*4]
mov r10, qword [rsp + 0x10]
xor eax, dword [r10 + 0x20]
mov r11, qword [rsp + 8]
xor ecx, dword [r8 + r11*4]
xor ecx, dword [r10 + 0x24]
xor edx, dword [r8 + r15*4]
xor edx, dword [r10 + 0x28]
xor ebx, dword [r8 + r9*4]
xor ebx, dword [r10 + 0x2c]
mov r8, qword [rsp + 0x38]
jmp 0x1401ea81c
mov r8d, ebx
shr r8d, 0x18
lea r9, [0x1405f6980]
mov r10d, ecx
shr r10d, 0x10
movzx r11d, r10b
lea r10, [0x1405f6d80]
mov edi, dword [r10 + r11*4]
xor edi, dword [r9 + r8*4]
movzx esi, dh
lea r11, [0x1405f7180]
xor edi, dword [r11 + rsi*4]
movzx r8d, al
lea rsi, [0x1405f7580]
xor edi, dword [rsi + r8*4]
xor edi, dword [r14]
bswap edi
mov r14, qword [rsp + 0x30]
mov dword [r14], edi
mov r8d, ecx
shr r8d, 0x18
mov edi, edx
shr edi, 0x10
movzx edi, dil
mov edi, dword [r10 + rdi*4]
xor edi, dword [r9 + r8*4]
movzx ebp, ah
xor edi, dword [r11 + rbp*4]
movzx r8d, bl
xor edi, dword [rsi + r8*4]
mov r15, qword [rsp + 0x28]
mov r12, qword [rsp + 0x20]
xor edi, dword [r15 + r12 + 0x24]
bswap edi
mov dword [r14 + 4], edi
mov r8d, edx
shr r8d, 0x18
mov edi, eax
shr edi, 0x10
movzx edi, dil
mov edi, dword [r10 + rdi*4]
xor edi, dword [r9 + r8*4]
movzx ebp, bh
xor edi, dword [r11 + rbp*4]
shr ebx, 0x10
movzx r8d, bl
movzx ebx, cl
xor edi, dword [rsi + rbx*4]
xor edi, dword [r15 + r12 + 0x28]
bswap edi
mov dword [r14 + 8], edi
shr eax, 0x18
mov r8d, dword [r10 + r8*4]
xor r8d, dword [r9 + rax*4]
movzx eax, ch
xor r8d, dword [r11 + rax*4]
movzx eax, dl
xor r8d, dword [rsi + rax*4]
xor r8d, dword [r15 + r12 + 0x2c]
bswap r8d
mov dword [r14 + 0xc], r8d
xor eax, eax
add rsp, 0x40
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r10
add rsp, 0x40
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x1401ebef0
add r8, 0xf
and r8, 0xfffffffffffffff0
movdqu xmm0, xmmword [rcx]
pxor xmm0, xmmword [r8]
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 [rdx], xmm0
xor eax, eax
ret