Function at 0x140002a60
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
push rbx
push r12
push r13
push r14
sub rsp, 0x48
xor eax, eax
mov r12, rdx
cmp dword [0x14002d008], 2
mov r9, rcx
mov r13, rcx
jl 0x140002aa0
movdqu xmm0, xmmword [rcx + rax*4]
pshufb xmm0, xmmword [0x140029cb0]
movdqu xmmword [rsp + rax*4], xmm0
add rax, 4
cmp rax, 8
jl 0x140002a80
jmp 0x140002ab2
mov ecx, dword [r9 + rax*4]
bswap ecx
mov dword [rsp + rax*4], ecx
inc rax
cmp rax, 8
jl 0x140002aa0
mov ebx, dword [rsp + 0x1c]
lea r8, [0x140029070]
mov eax, ebx
mov qword [rsp + 0x78], rbp
shr eax, 0x10
add r9, 0x20
movzx ecx, al
mov eax, ebx
shr eax, 8
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], rdi
movzx r14d, byte [rcx + r8]
movzx ecx, al
xor r14d, 1
shl r14d, 8
mov qword [rsp + 0x40], r15
movzx eax, byte [rcx + r8]
xor r14d, eax
movzx eax, bl
shl r14d, 8
movzx ecx, byte [rax + r8]
mov eax, ebx
shr rax, 0x18
xor r14d, ecx
shl r14d, 8
movzx eax, byte [rax + r8]
xor r14d, eax
mov eax, dword [r9]
xor r14d, dword [rsp]
bswap eax
cmp r14d, eax
jne 0x140002c94
mov eax, dword [rsp + 0x10]
lea r15, [0x140028f40]
mov ebp, dword [rsp + 0x18]
mov edi, dword [rsp + 0x14]
mov r11d, dword [rsp + 0xc]
mov esi, dword [rsp + 8]
mov r10d, dword [rsp + 4]
mov dword [rsp + 0x70], eax
mov eax, dword [r9 + 4]
lea rcx, [0x140028f5c]
bswap eax
xor r10d, r14d
cmp r10d, eax
jne 0x140002c94
mov eax, dword [r9 + 8]
xor esi, r10d
bswap eax
cmp esi, eax
jne 0x140002c94
mov eax, dword [r9 + 0xc]
xor r11d, esi
bswap eax
cmp r11d, eax
jne 0x140002c94
add r15, 4
cmp r15, rcx
je 0x140002cc0
mov edx, r11d
ror edx, 8
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx r8d, byte [rcx + r8]
movzx ecx, al
lea rax, [0x140029070]
shl r8d, 8
movzx eax, byte [rcx + rax]
lea rcx, [0x140029070]
xor r8d, eax
movzx eax, dl
shl r8d, 8
movzx ecx, byte [rax + rcx]
xor r8d, ecx
mov eax, edx
shr rax, 0x18
lea rcx, [0x140029070]
shl r8d, 8
movzx eax, byte [rax + rcx]
xor r8d, eax
mov eax, dword [r9 + 0x10]
xor r8d, dword [rsp + 0x70]
bswap eax
mov dword [rsp + 0x70], r8d
cmp r8d, eax
jne 0x140002c94
mov eax, dword [r9 + 0x14]
xor edi, r8d
bswap eax
cmp edi, eax
jne 0x140002c94
mov eax, dword [r9 + 0x18]
xor ebp, edi
bswap eax
cmp ebp, eax
jne 0x140002c94
mov eax, dword [r9 + 0x1c]
xor ebx, ebp
bswap eax
cmp ebx, eax
jne 0x140002c94
lea r8, [0x140029070]
mov eax, ebx
shr eax, 0x10
add r9, 0x20
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx edx, byte [rcx + r8]
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + r8]
xor edx, eax
movzx eax, bl
shl edx, 8
movzx ecx, byte [rax + r8]
mov eax, ebx
shr rax, 0x18
xor edx, ecx
shl edx, 8
movzx eax, byte [rax + r8]
xor edx, eax
mov eax, dword [r9]
xor edx, dword [r15]
xor r14d, edx
bswap eax
cmp r14d, eax
je 0x140002b58
xor al, al
mov r15, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x78]
add rsp, 0x48
pop r14
pop r13
pop r12
pop rbx
ret
mov eax, dword [r13]
mov dword [r12], eax
mov eax, dword [r13 + 4]
mov dword [r12 + 4], eax
mov eax, dword [r13 + 8]
mov dword [r12 + 8], eax
mov eax, dword [r13 + 0xc]
mov dword [r12 + 0xc], eax
mov eax, dword [r13 + 0x10]
mov dword [r12 + 0x10], eax
mov eax, dword [r13 + 0x14]
mov dword [r12 + 0x14], eax
mov eax, dword [r13 + 0x18]
mov dword [r12 + 0x18], eax
mov eax, dword [r13 + 0x1c]
mov dword [r12 + 0x1c], eax
mov al, 1
jmp 0x140002c96