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

Disassembly:
sub rsp, 0x28
mov qword [rsp + 0x20], rbp
lea rbp, [rsp + 0x20]
mov rcx, qword [rsp + 0x68]
cmp rcx, 0xf
jbe 0x4acdf6
nop
nop
nop
nop
mov rdx, qword [rsp + 0x60]
mov ebx, dword [rdx]
mov esi, dword [rdx + 4]
mov edi, dword [rdx + 8]
mov edx, dword [rdx + 0xc]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
jbe 0x4acdef
bswap ebx
mov r8, qword [rsp + 0x30]
xor ebx, dword [r8]
cmp rcx, 1
jbe 0x4acde5
bswap esi
xor esi, dword [r8 + 4]
nop dword [rax]
cmp rcx, 2
jbe 0x4acddb
bswap edi
xor edi, dword [r8 + 8]
cmp rcx, 3
jbe 0x4acdd1
bswap edx
xor edx, dword [r8 + 0xc]
mov r9, rcx
shr rcx, 2
lea r10, [rcx - 2]
xor eax, eax
xor ecx, ecx
xor r11d, r11d
xor r12d, r12d
xor r13d, r13d
mov r14d, 4
nop
jmp 0x4acae3
inc rax
shr r11d, 0x18
movzx r15d, r11b
mov r11d, dword [r12 + r15*4]
xor r11d, dword [r8 + r14*4 + 0xc]
shr ebx, 0x10
movzx r15d, bl
lea rbx, [0x00574760]
xor r11d, dword [rbx + r15*4]
mov r15d, dword [rsp + 0x18]
shr r15d, 8
movzx r15d, r15b
xor r11d, dword [r10 + r15*4]
mov r15d, dword [rsp + 0x1c]
movzx r15d, r15b
xor r11d, dword [rdx + r15*4]
add r14, 4
mov r15d, dword [rsp + 0x10]
mov r10, rcx
mov ebx, r15d
mov edx, r11d
mov edi, r13d
mov ecx, ebx
mov r12d, edi
mov r13d, esi
cmp r10, rax
jle 0x4acbf5
cmp r9, r14
jbe 0x4acdc6
mov dword [rsp + 0x14], edi
mov r11d, ebx
shr ebx, 0x18
movzx ebx, bl
lea r12, [0x00574360]
mov ebx, dword [r12 + rbx*4]
xor ebx, dword [r8 + r14*4]
mov r13d, edx
shr edx, 0x10
movzx edx, dl
lea r15, [0x00574760]
xor ebx, dword [r15 + rdx*4]
shr edi, 8
movzx edi, dil
mov rcx, r10
lea r10, [0x00574b60]
xor ebx, dword [r10 + rdi*4]
movzx edi, sil
lea rdx, [0x00574f60]
xor ebx, dword [rdx + rdi*4]
lea rdi, [r14 + 1]
cmp rdi, r9
jae 0x4acdbb
mov dword [rsp + 0x10], ebx
mov dword [rsp + 0x1c], r11d
mov edi, esi
shr esi, 0x18
movzx esi, sil
mov esi, dword [r12 + rsi*4]
xor esi, dword [r8 + r14*4 + 4]
shr r11d, 0x10
movzx r11d, r11b
xor esi, dword [r15 + r11*4]
mov r11d, r13d
shr r13d, 8
movzx r13d, r13b
xor esi, dword [r10 + r13*4]
mov r13d, dword [rsp + 0x14]
movzx ebx, r13b
xor esi, dword [rdx + rbx*4]
lea rbx, [r14 + 2]
nop dword [rax + rax]
cmp rbx, r9
jae 0x4acdb0
mov dword [rsp + 0x18], edi
mov ebx, r13d
shr r13d, 0x18
movzx r13d, r13b
mov r13d, dword [r12 + r13*4]
xor r13d, dword [r8 + r14*4 + 8]
shr edi, 0x10
movzx edi, dil
xor r13d, dword [r15 + rdi*4]
mov edi, dword [rsp + 0x1c]
shr edi, 8
movzx edi, dil
xor r13d, dword [r10 + rdi*4]
movzx edi, r11b
xor r13d, dword [rdx + rdi*4]
lea rdi, [r14 + 3]
cmp rdi, r9
jb 0x4aca82
jmp 0x4acda5
mov edx, ecx
shr ecx, 0x18
lea rbx, [0x0056f180]
movzx esi, byte [rbx + rcx]
shl esi, 0x18
mov edi, r11d
shr r11d, 0x10
movzx r10d, r11b
movzx r10d, byte [r10 + rbx]
shl r10d, 0x10
or esi, r10d
mov r10d, r12d
shr r12d, 8
movzx r11d, r12b
movzx r11d, byte [r11 + rbx]
shl r11d, 8
or esi, r11d
movzx r11d, r13b
movzx r11d, byte [r11 + rbx]
or r11d, esi
mov esi, r13d
shr r13d, 0x18
movzx r12d, byte [rbx + r13]
shl r12d, 0x18
mov r13d, edx
shr edx, 0x10
movzx edx, dl
movzx edx, byte [rdx + rbx]
shl edx, 0x10
or r12d, edx
mov edx, edi
shr edi, 8
movzx edi, dil
movzx edi, byte [rdi + rbx]
shl edi, 8
or r12d, edi
movzx edi, r10b
movzx edi, byte [rdi + rbx]
or edi, r12d
mov r12d, r10d
shr r10d, 0x18
movzx r10d, byte [rbx + r10]
shl r10d, 0x18
mov r15d, esi
shr esi, 0x10
movzx esi, sil
movzx esi, byte [rsi + rbx]
shl esi, 0x10
or r10d, esi
mov esi, r13d
shr r13d, 8
movzx r13d, r13b
movzx r13d, byte [r13 + rbx]
shl r13d, 8
or r13d, r10d
movzx r10d, dl
movzx r10d, byte [r10 + rbx]
or r10d, r13d
shr edx, 0x18
movzx edx, byte [rdx + rbx]
shl edx, 0x18
shr r12d, 0x10
movzx r12d, r12b
movzx r12d, byte [r12 + rbx]
shl r12d, 0x10
or edx, r12d
shr r15d, 8
movzx r12d, r15b
movzx r12d, byte [r12 + rbx]
shl r12d, 8
or edx, r12d
movzx esi, sil
movzx ebx, byte [rsi + rbx]
or ebx, edx
cmp r9, r14
jbe 0x4acd95
xor r11d, dword [r8 + r14*4]
lea rax, [r14 + 1]
cmp rax, r9
jae 0x4acd8d
xor edi, dword [r8 + r14*4 + 4]
lea rax, [r14 + 2]
cmp rax, r9
jae 0x4acd85
xor r10d, dword [r8 + r14*4 + 8]
lea rax, [r14 + 3]
cmp rax, r9
jae 0x4acd7c
xor ebx, dword [r8 + r14*4 + 0xc]
mov rcx, qword [rsp + 0x50]
cmp rcx, 0xf
jbe 0x4acd72
nop
bswap r11d
mov rax, qword [rsp + 0x48]
mov dword [rax], r11d
nop
bswap edi
mov dword [rax + 4], edi
nop
bswap r10d
mov dword [rax + 8], r10d
bswap ebx
mov dword [rax + 0xc], ebx
mov rbp, qword [rsp + 0x20]
add rsp, 0x28
ret
mov eax, 0xf
call fcn.00465560
mov rcx, r9
nop
call fcn.00465560
mov rcx, r9
call fcn.00465560
mov rcx, r9
call fcn.00465560
mov rax, r14
mov rcx, r9
nop dword [rax + rax]
call fcn.00465560
mov rax, rdi
mov rcx, r9
call fcn.00465560
mov rax, rbx
mov rcx, r9
call fcn.00465560
mov rax, rdi
mov rcx, r9
call fcn.00465560
mov rax, r14
mov rcx, r9
call fcn.00465560
mov eax, 3
call fcn.00465560
mov eax, 2
call fcn.00465560
mov eax, 1
call fcn.00465560
xor eax, eax
call fcn.00465560
mov eax, 0xf
nop dword [rax + rax]
call fcn.00465560
nop
int3