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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x2a269dcfa
push rbp
mov rbp, rsp
sub rsp, 0x30
mov qword [rsp + 0x80], r11
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rax
mov rcx, r11
mov rax, r9
mov ebx, 4
nop
call fcn.2a264b3e0
mov dword [rsp + 0x2c], eax
mov rcx, qword [rsp + 0x80]
lea rdx, [rcx - 4]
mov rsi, rdx
neg rdx
sar rdx, 0x3f
and edx, 4
mov rdi, qword [rsp + 0x70]
add rdx, rdi
mov ebx, 4
mov rax, rdx
mov rcx, rsi
call fcn.2a264b3e0
mov dword [rsp + 0x28], eax
mov rcx, qword [rsp + 0x80]
lea rdx, [rcx - 8]
mov rsi, rdx
neg rdx
sar rdx, 0x3f
and edx, 8
mov rdi, qword [rsp + 0x70]
add rdx, rdi
mov ebx, 4
mov rax, rdx
mov rcx, rsi
call fcn.2a264b3e0
mov dword [rsp + 0x24], eax
mov rcx, qword [rsp + 0x80]
add rcx, 0xfffffffffffffff4
mov rdx, rcx
neg rdx
sar rdx, 0x3f
and edx, 0xc
mov rsi, qword [rsp + 0x70]
add rdx, rsi
mov ebx, 4
mov rax, rdx
nop dword [rax]
call fcn.2a264b3e0
mov rdx, qword [rsp + 0x48]
shr rdx, 2
mov esi, dword [rsp + 0x2c]
mov rdi, qword [rsp + 0x40]
xor esi, dword [rdi]
mov r8d, dword [rsp + 0x28]
xor r8d, dword [rdi + 4]
mov r9d, dword [rsp + 0x24]
xor r9d, dword [rdi + 8]
xor eax, dword [rdi + 0xc]
add rdx, 0xfffffffffffffffe
xor ecx, ecx
xor ebx, ebx
xor r10d, r10d
xor r11d, r11d
mov r12d, 4
jmp 0x2a269db0c
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x24], r9d
mov r13d, esi
shr esi, 0x18
movzx r15d, sil
mov ecx, r13d
lea r13, [0x2a27a6ea0]
mov esi, dword [r13 + r15*4]
xor esi, dword [rdi + r12*4]
mov r15d, eax
shr eax, 0x10
movzx eax, al
mov ebx, r15d
lea r15, [0x2a27a72a0]
xor esi, dword [r15 + rax*4]
mov eax, r9d
shr r9d, 8
movzx r9d, r9b
lea r15, [0x2a27a76a0]
xor esi, dword [r15 + r9*4]
movzx r9d, r8b
mov r10d, r8d
shr r8d, 0x18
movzx r8d, r8b
mov r11d, dword [r13 + r8*4]
xor r11d, dword [rdi + r12*4 + 4]
mov r8d, ecx
shr ecx, 0x10
movzx ecx, cl
lea r13, [0x2a27a72a0]
xor r11d, dword [r13 + rcx*4]
mov ecx, ebx
shr ebx, 8
movzx ebx, bl
xor r11d, dword [r15 + rbx*4]
movzx ebx, al
shr eax, 0x18
movzx eax, al
lea r15, [0x2a27a6ea0]
mov eax, dword [r15 + rax*4]
xor eax, dword [rdi + r12*4 + 8]
shr r10d, 0x10
movzx r10d, r10b
xor eax, dword [r13 + r10*4]
mov r10d, r8d
shr r8d, 8
movzx r8d, r8b
lea r13, [0x2a27a76a0]
xor eax, dword [r13 + r8*4]
movzx r8d, cl
shr ecx, 0x18
movzx ecx, cl
mov ecx, dword [r15 + rcx*4]
xor ecx, dword [rdi + r12*4 + 0xc]
mov r15d, dword [rsp + 0x24]
shr r15d, 0x10
movzx r15d, r15b
lea r13, [0x2a27a72a0]
xor ecx, dword [r13 + r15*4]
mov r15d, dword [rsp + 0x28]
shr r15d, 8
movzx r15d, r15b
lea r13, [0x2a27a76a0]
xor ecx, dword [r13 + r15*4]
movzx r15d, r10b
dec rdx
lea r13, [0x2a27a7aa0]
xor esi, dword [r13 + r9*4]
xor r11d, dword [r13 + rbx*4]
xor eax, dword [r13 + r8*4]
xor ecx, dword [r13 + r15*4]
add r12, 4
mov r9d, eax
mov r8d, r11d
mov ebx, ecx
mov r10d, r9d
mov eax, ebx
mov ecx, esi
test rdx, rdx
jg 0x2a269d9c7
mov edx, ecx
shr ecx, 0x18
lea rsi, [0x2a27a3dc0]
movzx r8d, byte [rsi + rcx]
shl r8d, 0x18
mov r9d, ebx
shr ebx, 0x10
movzx r13d, bl
movzx r13d, byte [r13 + rsi]
shl r13d, 0x10
or r8d, r13d
mov r13d, r10d
shr r10d, 8
movzx r10d, r10b
movzx r10d, byte [r10 + rsi]
shl r10d, 8
or r10d, r8d
movzx r8d, r11b
movzx r8d, byte [r8 + rsi]
or r8d, r10d
mov r10d, r11d
shr r11d, 0x18
movzx r11d, byte [r11 + rsi]
shl r11d, 0x18
mov r15d, edx
shr edx, 0x10
movzx edx, dl
movzx edx, byte [rdx + rsi]
shl edx, 0x10
or r11d, edx
mov edx, r9d
shr r9d, 8
movzx r9d, r9b
movzx r9d, byte [r9 + rsi]
shl r9d, 8
or r9d, r11d
movzx r11d, r13b
movzx r11d, byte [r11 + rsi]
or r11d, r9d
mov r9d, r13d
shr r13d, 0x18
movzx r13d, byte [r13 + rsi]
shl r13d, 0x18
mov eax, r10d
shr r10d, 0x10
movzx r10d, r10b
movzx r10d, byte [r10 + rsi]
shl r10d, 0x10
or r13d, r10d
mov r10d, r15d
shr r15d, 8
movzx r15d, r15b
movzx r15d, byte [r15 + rsi]
shl r15d, 8
or r15d, r13d
movzx r13d, dl
movzx r13d, byte [r13 + rsi]
or r13d, r15d
shr edx, 0x18
movzx edx, byte [rsi + rdx]
shl edx, 0x18
shr r9d, 0x10
movzx r9d, r9b
movzx r9d, byte [r9 + rsi]
shl r9d, 0x10
or r9d, edx
shr eax, 8
movzx edx, al
movzx edx, byte [rdx + rsi]
shl edx, 8
or edx, r9d
movzx r9d, r10b
movzx esi, byte [r9 + rsi]
or esi, edx
xor r8d, dword [rdi + r12*4]
xor r11d, dword [rdi + r12*4 + 4]
mov dword [rsp + 0x28], r11d
xor r13d, dword [rdi + r12*4 + 8]
mov dword [rsp + 0x24], r13d
xor esi, dword [rdi + r12*4 + 0xc]
mov dword [rsp + 0x20], esi
mov rax, qword [rsp + 0x58]
mov ebx, 4
mov rcx, qword [rsp + 0x68]
mov edi, r8d
call fcn.2a264b400
mov rcx, qword [rsp + 0x68]
lea rdx, [rcx - 4]
mov rsi, rdx
neg rdx
sar rdx, 0x3f
and edx, 4
mov r8, qword [rsp + 0x58]
lea rax, [r8 + rdx]
mov ebx, 4
mov edi, dword [rsp + 0x28]
mov rcx, rsi
call fcn.2a264b400
mov rcx, qword [rsp + 0x68]
lea rdx, [rcx - 8]
mov rsi, rdx
neg rdx
sar rdx, 0x3f
and edx, 8
mov r8, qword [rsp + 0x58]
lea rax, [r8 + rdx]
mov ebx, 4
mov edi, dword [rsp + 0x24]
mov rcx, rsi
call fcn.2a264b400
mov rcx, qword [rsp + 0x68]
add rcx, 0xfffffffffffffff4
mov rdx, rcx
neg rdx
sar rdx, 0x3f
and edx, 0xc
mov rsi, qword [rsp + 0x58]
lea rax, [rsi + rdx]
mov ebx, 4
mov edi, dword [rsp + 0x20]
call fcn.2a264b400
add rsp, 0x30
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x48], r11
call fcn.2a25eee80
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov r11, qword [rsp + 0x48]
jmp fcn.2a269d8a0