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

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov rax, qword [rbp + 0x18]
mov ecx, dword [rax]
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x1c]
mov eax, eax
add rax, 2
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x10]
add rax, rdx
mov edx, dword [rax]
lea rax, [rbp - 0x20]
xor edx, ecx
mov dword [rax], edx
mov rax, qword [rbp + 0x18]
add rax, 4
mov ecx, dword [rax]
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x1c]
mov eax, eax
shl rax, 4
lea rdx, [rax + 0x24]
mov rax, qword [rbp + 0x10]
add rax, rdx
mov edx, dword [rax]
lea rax, [rbp - 0x20]
add rax, 4
xor edx, ecx
mov dword [rax], edx
mov rax, qword [rbp + 0x18]
add rax, 8
mov ecx, dword [rax]
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x1c]
mov eax, eax
shl rax, 4
lea rdx, [rax + 0x28]
mov rax, qword [rbp + 0x10]
add rax, rdx
mov edx, dword [rax]
lea rax, [rbp - 0x20]
add rax, 8
xor edx, ecx
mov dword [rax], edx
mov rax, qword [rbp + 0x18]
add rax, 0xc
mov ecx, dword [rax]
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x1c]
mov eax, eax
shl rax, 4
lea rdx, [rax + 0x2c]
mov rax, qword [rbp + 0x10]
add rax, rdx
mov edx, dword [rax]
lea rax, [rbp - 0x20]
add rax, 0xc
xor edx, ecx
mov dword [rax], edx
movzx eax, byte [rbp - 0x20]
movzx eax, al
cdqe
lea rdx, [rax*4]
lea rax, [0x2090914a0]
add rax, rdx
mov edx, dword [rax]
movzx eax, byte [rbp - 0x13]
movzx eax, al
cdqe
lea rcx, [rax*4]
lea rax, [0x2090918a0]
add rax, rcx
mov eax, dword [rax]
xor edx, eax
movzx eax, byte [rbp - 0x16]
movzx eax, al
cdqe
lea rcx, [rax*4]
lea rax, [0x209091ca0]
add rax, rcx
mov eax, dword [rax]
xor edx, eax
movzx eax, byte [rbp - 0x19]
movzx eax, al
cdqe
lea rcx, [rax*4]
lea rax, [0x2090920a0]
add rax, rcx
mov eax, dword [rax]
xor edx, eax
mov rax, qword [rbp + 0x20]
mov dword [rax], edx
movzx eax, byte [rbp - 0x1c]
movzx eax, al
cdqe
lea rdx, [rax*4]
lea rax, [0x2090914a0]
add rax, rdx
mov edx, dword [rax]
movzx eax, byte [rbp - 0x1f]
movzx eax, al
cdqe
lea rcx, [rax*4]
lea rax, [0x2090918a0]
add rax, rcx
mov eax, dword [rax]
xor edx, eax
movzx eax, byte [rbp - 0x12]
movzx eax, al
cdqe
lea rcx, [rax*4]
lea rax, [0x209091ca0]
add rax, rcx
mov eax, dword [rax]
mov ecx, edx
xor ecx, eax
movzx eax, byte [rbp - 0x15]
movzx eax, al
cdqe
lea rdx, [rax*4]
lea rax, [0x2090920a0]
add rax, rdx
mov edx, dword [rax]
mov rax, qword [rbp + 0x20]
add rax, 4
xor edx, ecx
mov dword [rax], edx
movzx eax, byte [rbp - 0x18]
movzx eax, al
cdqe
lea rdx, [rax*4]
lea rax, [0x2090914a0]
add rax, rdx
mov edx, dword [rax]
movzx eax, byte [rbp - 0x1b]
movzx eax, al
cdqe
lea rcx, [rax*4]
lea rax, [0x2090918a0]
add rax, rcx
mov eax, dword [rax]
xor edx, eax
movzx eax, byte [rbp - 0x1e]
movzx eax, al
cdqe
lea rcx, [rax*4]
lea rax, [0x209091ca0]
add rax, rcx
mov eax, dword [rax]
mov ecx, edx
xor ecx, eax
movzx eax, byte [rbp - 0x11]
movzx eax, al
cdqe
lea rdx, [rax*4]
lea rax, [0x2090920a0]
add rax, rdx
mov edx, dword [rax]
mov rax, qword [rbp + 0x20]
add rax, 8
xor edx, ecx
mov dword [rax], edx
movzx eax, byte [rbp - 0x14]
movzx eax, al
cdqe
lea rdx, [rax*4]
lea rax, [0x2090914a0]
add rax, rdx
mov edx, dword [rax]
movzx eax, byte [rbp - 0x17]
movzx eax, al
cdqe
lea rcx, [rax*4]
lea rax, [0x2090918a0]
add rax, rcx
mov eax, dword [rax]
xor edx, eax
movzx eax, byte [rbp - 0x1a]
movzx eax, al
cdqe
lea rcx, [rax*4]
lea rax, [0x209091ca0]
add rax, rcx
mov eax, dword [rax]
mov ecx, edx
xor ecx, eax
movzx eax, byte [rbp - 0x1d]
movzx eax, al
cdqe
lea rdx, [rax*4]
lea rax, [0x2090920a0]
add rax, rdx
mov edx, dword [rax]
mov rax, qword [rbp + 0x20]
add rax, 0xc
xor edx, ecx
mov dword [rax], edx
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x1c]
sub eax, 1
mov dword [rbp - 4], eax
jmp 0x20901b47a
mov rax, qword [rbp + 0x20]
mov ecx, dword [rax]
mov eax, dword [rbp - 4]
cdqe
add rax, 2
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x10]
add rax, rdx
mov edx, dword [rax]
lea rax, [rbp - 0x20]
xor edx, ecx
mov dword [rax], edx
mov rax, qword [rbp + 0x20]
add rax, 4
mov ecx, dword [rax]
mov eax, dword [rbp - 4]
cdqe
shl rax, 4
lea rdx, [rax + 0x24]
mov rax, qword [rbp + 0x10]
add rax, rdx
mov edx, dword [rax]
lea rax, [rbp - 0x20]
add rax, 4
xor edx, ecx
mov dword [rax], edx
mov rax, qword [rbp + 0x20]
add rax, 8
mov ecx, dword [rax]
mov eax, dword [rbp - 4]
cdqe
shl rax, 4
lea rdx, [rax + 0x28]
mov rax, qword [rbp + 0x10]
add rax, rdx
mov edx, dword [rax]
lea rax, [rbp - 0x20]
add rax, 8
xor edx, ecx
mov dword [rax], edx
mov rax, qword [rbp + 0x20]
add rax, 0xc
mov ecx, dword [rax]
mov eax, dword [rbp - 4]
cdqe
shl rax, 4
lea rdx, [rax + 0x2c]
mov rax, qword [rbp + 0x10]
add rax, rdx
mov edx, dword [rax]
lea rax, [rbp - 0x20]
add rax, 0xc
xor edx, ecx
mov dword [rax], edx
movzx eax, byte [rbp - 0x20]
movzx eax, al
cdqe
lea rdx, [rax*4]
lea rax, [0x2090914a0]
add rax, rdx
mov edx, dword [rax]
movzx eax, byte [rbp - 0x13]
movzx eax, al
cdqe
lea rcx, [rax*4]
lea rax, [0x2090918a0]
add rax, rcx
mov eax, dword [rax]
xor edx, eax
movzx eax, byte [rbp - 0x16]
movzx eax, al
cdqe
lea rcx, [rax*4]
lea rax, [0x209091ca0]
add rax, rcx
mov eax, dword [rax]
xor edx, eax
movzx eax, byte [rbp - 0x19]
movzx eax, al
cdqe
lea rcx, [rax*4]
lea rax, [0x2090920a0]
add rax, rcx
mov eax, dword [rax]
xor edx, eax
mov rax, qword [rbp + 0x20]
mov dword [rax], edx
movzx eax, byte [rbp - 0x1c]
movzx eax, al
cdqe
lea rdx, [rax*4]
lea rax, [0x2090914a0]
add rax, rdx
mov edx, dword [rax]
movzx eax, byte [rbp - 0x1f]
movzx eax, al
cdqe
lea rcx, [rax*4]
lea rax, [0x2090918a0]
add rax, rcx
mov eax, dword [rax]
xor edx, eax
movzx eax, byte [rbp - 0x12]
movzx eax, al
cdqe
lea rcx, [rax*4]
lea rax, [0x209091ca0]
add rax, rcx
mov eax, dword [rax]
mov ecx, edx
xor ecx, eax
movzx eax, byte [rbp - 0x15]
movzx eax, al
cdqe
lea rdx, [rax*4]
lea rax, [0x2090920a0]
add rax, rdx
mov edx, dword [rax]
mov rax, qword [rbp + 0x20]
add rax, 4
xor edx, ecx
mov dword [rax], edx
movzx eax, byte [rbp - 0x18]
movzx eax, al
cdqe
lea rdx, [rax*4]
lea rax, [0x2090914a0]
add rax, rdx
mov edx, dword [rax]
movzx eax, byte [rbp - 0x1b]
movzx eax, al
cdqe
lea rcx, [rax*4]
lea rax, [0x2090918a0]
add rax, rcx
mov eax, dword [rax]
xor edx, eax
movzx eax, byte [rbp - 0x1e]
movzx eax, al
cdqe
lea rcx, [rax*4]
lea rax, [0x209091ca0]
add rax, rcx
mov eax, dword [rax]
mov ecx, edx
xor ecx, eax
movzx eax, byte [rbp - 0x11]
movzx eax, al
cdqe
lea rdx, [rax*4]
lea rax, [0x2090920a0]
add rax, rdx
mov edx, dword [rax]
mov rax, qword [rbp + 0x20]
add rax, 8
xor edx, ecx
mov dword [rax], edx
movzx eax, byte [rbp - 0x14]
movzx eax, al
cdqe
lea rdx, [rax*4]
lea rax, [0x2090914a0]
add rax, rdx
mov edx, dword [rax]
movzx eax, byte [rbp - 0x17]
movzx eax, al
cdqe
lea rcx, [rax*4]
lea rax, [0x2090918a0]
add rax, rcx
mov eax, dword [rax]
xor edx, eax
movzx eax, byte [rbp - 0x1a]
movzx eax, al
cdqe
lea rcx, [rax*4]
lea rax, [0x209091ca0]
add rax, rcx
mov eax, dword [rax]
mov ecx, edx
xor ecx, eax
movzx eax, byte [rbp - 0x1d]
movzx eax, al
cdqe
lea rdx, [rax*4]
lea rax, [0x2090920a0]
add rax, rdx
mov edx, dword [rax]
mov rax, qword [rbp + 0x20]
add rax, 0xc
xor edx, ecx
mov dword [rax], edx
sub dword [rbp - 4], 1
cmp dword [rbp - 4], 1
jg 0x20901b1b9
mov rax, qword [rbp + 0x20]
mov ecx, dword [rax]
mov rax, qword [rbp + 0x10]
add rax, 0x30
mov edx, dword [rax]
lea rax, [rbp - 0x20]
xor edx, ecx
mov dword [rax], edx
mov rax, qword [rbp + 0x20]
add rax, 4
mov ecx, dword [rax]
mov rax, qword [rbp + 0x10]
add rax, 0x34
mov edx, dword [rax]
lea rax, [rbp - 0x20]
add rax, 4
xor edx, ecx
mov dword [rax], edx
mov rax, qword [rbp + 0x20]
add rax, 8
mov ecx, dword [rax]
mov rax, qword [rbp + 0x10]
add rax, 0x38
mov edx, dword [rax]
lea rax, [rbp - 0x20]
add rax, 8
xor edx, ecx
mov dword [rax], edx
mov rax, qword [rbp + 0x20]
add rax, 0xc
mov ecx, dword [rax]
mov rax, qword [rbp + 0x10]
add rax, 0x3c
mov edx, dword [rax]
lea rax, [rbp - 0x20]
add rax, 0xc
xor edx, ecx
mov dword [rax], edx
movzx eax, byte [rbp - 0x20]
movzx eax, al
cdqe
lea rdx, [0x2090924a0]
movzx edx, byte [rax + rdx]
mov rax, qword [rbp + 0x20]
mov byte [rax], dl
movzx eax, byte [rbp - 0x13]
movzx eax, al
mov rdx, qword [rbp + 0x20]
add rdx, 1
cdqe
lea rcx, [0x2090924a0]
movzx eax, byte [rax + rcx]
mov byte [rdx], al
movzx eax, byte [rbp - 0x16]
movzx eax, al
mov rdx, qword [rbp + 0x20]
add rdx, 2
cdqe
lea rcx, [0x2090924a0]
movzx eax, byte [rax + rcx]
mov byte [rdx], al
movzx eax, byte [rbp - 0x19]
movzx eax, al
mov rdx, qword [rbp + 0x20]
add rdx, 3
cdqe
lea rcx, [0x2090924a0]
movzx eax, byte [rax + rcx]
mov byte [rdx], al
movzx eax, byte [rbp - 0x1c]
movzx eax, al
mov rdx, qword [rbp + 0x20]
add rdx, 4
cdqe
lea rcx, [0x2090924a0]
movzx eax, byte [rax + rcx]
mov byte [rdx], al
movzx eax, byte [rbp - 0x1f]
movzx eax, al
mov rdx, qword [rbp + 0x20]
add rdx, 5
cdqe
lea rcx, [0x2090924a0]
movzx eax, byte [rax + rcx]
mov byte [rdx], al
movzx eax, byte [rbp - 0x12]
movzx eax, al
mov rdx, qword [rbp + 0x20]
add rdx, 6
cdqe
lea rcx, [0x2090924a0]
movzx eax, byte [rax + rcx]
mov byte [rdx], al
movzx eax, byte [rbp - 0x15]
movzx eax, al
mov rdx, qword [rbp + 0x20]
add rdx, 7
cdqe
lea rcx, [0x2090924a0]
movzx eax, byte [rax + rcx]
mov byte [rdx], al
movzx eax, byte [rbp - 0x18]
movzx eax, al
mov rdx, qword [rbp + 0x20]
add rdx, 8
cdqe
lea rcx, [0x2090924a0]
movzx eax, byte [rax + rcx]
mov byte [rdx], al
movzx eax, byte [rbp - 0x1b]
movzx eax, al
mov rdx, qword [rbp + 0x20]
add rdx, 9
cdqe
lea rcx, [0x2090924a0]
movzx eax, byte [rax + rcx]
mov byte [rdx], al
movzx eax, byte [rbp - 0x1e]
movzx eax, al
mov rdx, qword [rbp + 0x20]
add rdx, 0xa
cdqe
lea rcx, [0x2090924a0]
movzx eax, byte [rax + rcx]
mov byte [rdx], al
movzx eax, byte [rbp - 0x11]
movzx eax, al
mov rdx, qword [rbp + 0x20]
add rdx, 0xb
cdqe
lea rcx, [0x2090924a0]
movzx eax, byte [rax + rcx]
mov byte [rdx], al
movzx eax, byte [rbp - 0x14]
movzx eax, al
mov rdx, qword [rbp + 0x20]
add rdx, 0xc
cdqe
lea rcx, [0x2090924a0]
movzx eax, byte [rax + rcx]
mov byte [rdx], al
movzx eax, byte [rbp - 0x17]
movzx eax, al
mov rdx, qword [rbp + 0x20]
add rdx, 0xd
cdqe
lea rcx, [0x2090924a0]
movzx eax, byte [rax + rcx]
mov byte [rdx], al
movzx eax, byte [rbp - 0x1a]
movzx eax, al
mov rdx, qword [rbp + 0x20]
add rdx, 0xe
cdqe
lea rcx, [0x2090924a0]
movzx eax, byte [rax + rcx]
mov byte [rdx], al
movzx eax, byte [rbp - 0x1d]
movzx eax, al
mov rdx, qword [rbp + 0x20]
add rdx, 0xf
cdqe
lea rcx, [0x2090924a0]
movzx eax, byte [rax + rcx]
mov byte [rdx], al
mov rax, qword [rbp + 0x20]
mov edx, dword [rax]
mov rax, qword [rbp + 0x10]
add rax, 0x20
mov eax, dword [rax]
xor edx, eax
mov rax, qword [rbp + 0x20]
mov dword [rax], edx
mov rax, qword [rbp + 0x20]
add rax, 4
mov ecx, dword [rax]
mov rax, qword [rbp + 0x10]
add rax, 0x24
mov edx, dword [rax]
mov rax, qword [rbp + 0x20]
add rax, 4
xor edx, ecx
mov dword [rax], edx
mov rax, qword [rbp + 0x20]
add rax, 8
mov ecx, dword [rax]
mov rax, qword [rbp + 0x10]
add rax, 0x28
mov edx, dword [rax]
mov rax, qword [rbp + 0x20]
add rax, 8
xor edx, ecx
mov dword [rax], edx
mov rax, qword [rbp + 0x20]
add rax, 0xc
mov ecx, dword [rax]
mov rax, qword [rbp + 0x10]
add rax, 0x2c
mov edx, dword [rax]
mov rax, qword [rbp + 0x20]
add rax, 0xc
xor edx, ecx
mov dword [rax], edx
nop
add rsp, 0x20
pop rbp
ret