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

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
xor eax, eax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov rax, qword [rbp + 0x28]
mov ebx, dword [rbp + 0x10]
cmp ebx, 0xf
jae 0x49333e
mov rsi, qword [rbp + 0x18]
shl ebx, 4
mov eax, dword [rax]
xor eax, dword [rsi + rbx]
mov dword [rbp - 0x20], eax
mov rax, qword [rbp + 0x28]
mov ebx, dword [rbp + 0x10]
cmp ebx, 0xf
jae 0x493340
mov rsi, qword [rbp + 0x18]
shl ebx, 4
mov eax, dword [rax + 4]
xor eax, dword [rsi + rbx + 4]
mov dword [rbp - 0x1c], eax
mov rax, qword [rbp + 0x28]
mov ebx, dword [rbp + 0x10]
cmp ebx, 0xf
jae 0x493342
mov rsi, qword [rbp + 0x18]
shl ebx, 4
mov eax, dword [rax + 8]
xor eax, dword [rsi + rbx + 8]
mov dword [rbp - 0x18], eax
mov rax, qword [rbp + 0x28]
mov ebx, dword [rbp + 0x10]
cmp ebx, 0xf
jae 0x493344
mov rsi, qword [rbp + 0x18]
shl ebx, 4
mov eax, dword [rax + 0xc]
xor eax, dword [rsi + rbx + 0xc]
mov dword [rbp - 0x14], eax
mov rax, qword [rbp + 0x20]
xor ebx, ebx
mov qword [rax], rbx
mov qword [rax + 8], rbx
movzx eax, byte [rbp - 0x20]
cmp eax, 0x100
jae 0x493346
movzx ebx, byte [rbp - 0x13]
cmp ebx, 0x100
jae 0x493346
mov eax, dword [rax*4 + 0x7131f0]
xor eax, dword [rbx*4 + 0x7135f0]
movzx ebx, byte [rbp - 0x16]
cmp ebx, 0x100
jae 0x493346
xor eax, dword [rbx*4 + 0x7139f0]
movzx ebx, byte [rbp - 0x19]
cmp ebx, 0x100
jae 0x493346
xor eax, dword [rbx*4 + 0x713df0]
mov rbx, qword [rbp + 0x20]
mov dword [rbx], eax
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x1c]
cmp ebx, 0x100
jae 0x493348
movzx esi, byte [rbp - 0x1f]
cmp esi, 0x100
jae 0x493348
mov ebx, dword [rbx*4 + 0x7131f0]
xor ebx, dword [rsi*4 + 0x7135f0]
movzx esi, byte [rbp - 0x12]
cmp esi, 0x100
jae 0x493348
xor ebx, dword [rsi*4 + 0x7139f0]
movzx esi, byte [rbp - 0x15]
cmp esi, 0x100
jae 0x493348
xor ebx, dword [rsi*4 + 0x713df0]
mov dword [rax + 4], ebx
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x18]
cmp ebx, 0x100
jae 0x49334a
movzx esi, byte [rbp - 0x1b]
cmp esi, 0x100
jae 0x49334a
mov ebx, dword [rbx*4 + 0x7131f0]
xor ebx, dword [rsi*4 + 0x7135f0]
movzx esi, byte [rbp - 0x1e]
cmp esi, 0x100
jae 0x49334a
xor ebx, dword [rsi*4 + 0x7139f0]
movzx esi, byte [rbp - 0x11]
cmp esi, 0x100
jae 0x49334a
xor ebx, dword [rsi*4 + 0x713df0]
mov dword [rax + 8], ebx
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x14]
cmp ebx, 0x100
jae 0x49334c
movzx esi, byte [rbp - 0x17]
cmp esi, 0x100
jae 0x49334c
mov ebx, dword [rbx*4 + 0x7131f0]
xor ebx, dword [rsi*4 + 0x7135f0]
movzx esi, byte [rbp - 0x1a]
cmp esi, 0x100
jae 0x49334c
xor ebx, dword [rsi*4 + 0x7139f0]
movzx esi, byte [rbp - 0x1d]
cmp esi, 0x100
jae 0x49334c
xor ebx, dword [rsi*4 + 0x713df0]
mov dword [rax + 0xc], ebx
mov eax, dword [rbp + 0x10]
dec eax
mov dword [rbp - 4], eax
jmp 0x4930d8
mov rax, qword [rbp + 0x20]
mov ebx, dword [rbp - 4]
cmp ebx, 0xf
jae 0x49334e
mov rsi, qword [rbp + 0x18]
shl ebx, 4
mov eax, dword [rax]
xor eax, dword [rsi + rbx]
mov dword [rbp - 0x20], eax
mov rax, qword [rbp + 0x20]
mov ebx, dword [rbp - 4]
cmp ebx, 0xf
jae 0x493350
mov rsi, qword [rbp + 0x18]
shl ebx, 4
mov eax, dword [rax + 4]
xor eax, dword [rsi + rbx + 4]
mov dword [rbp - 0x1c], eax
mov rax, qword [rbp + 0x20]
mov ebx, dword [rbp - 4]
cmp ebx, 0xf
jae 0x493352
mov rsi, qword [rbp + 0x18]
shl ebx, 4
mov eax, dword [rax + 8]
xor eax, dword [rsi + rbx + 8]
mov dword [rbp - 0x18], eax
mov rax, qword [rbp + 0x20]
mov ebx, dword [rbp - 4]
cmp ebx, 0xf
jae 0x493354
mov rsi, qword [rbp + 0x18]
shl ebx, 4
mov eax, dword [rax + 0xc]
xor eax, dword [rsi + rbx + 0xc]
mov dword [rbp - 0x14], eax
movzx eax, byte [rbp - 0x20]
cmp eax, 0x100
jae 0x493356
movzx ebx, byte [rbp - 0x13]
cmp ebx, 0x100
jae 0x493356
mov eax, dword [rax*4 + 0x7131f0]
xor eax, dword [rbx*4 + 0x7135f0]
movzx ebx, byte [rbp - 0x16]
cmp ebx, 0x100
jae 0x493356
xor eax, dword [rbx*4 + 0x7139f0]
movzx ebx, byte [rbp - 0x19]
cmp ebx, 0x100
jae 0x493356
xor eax, dword [rbx*4 + 0x713df0]
mov rbx, qword [rbp + 0x20]
mov dword [rbx], eax
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x1c]
cmp ebx, 0x100
jae 0x493358
movzx esi, byte [rbp - 0x1f]
cmp esi, 0x100
jae 0x493358
mov ebx, dword [rbx*4 + 0x7131f0]
xor ebx, dword [rsi*4 + 0x7135f0]
movzx esi, byte [rbp - 0x12]
cmp esi, 0x100
jae 0x493358
xor ebx, dword [rsi*4 + 0x7139f0]
movzx esi, byte [rbp - 0x15]
cmp esi, 0x100
jae 0x493358
xor ebx, dword [rsi*4 + 0x713df0]
mov dword [rax + 4], ebx
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x18]
cmp ebx, 0x100
jae 0x49335a
movzx esi, byte [rbp - 0x1b]
cmp esi, 0x100
jae 0x49335a
mov ebx, dword [rbx*4 + 0x7131f0]
xor ebx, dword [rsi*4 + 0x7135f0]
movzx esi, byte [rbp - 0x1e]
cmp esi, 0x100
jae 0x49335a
xor ebx, dword [rsi*4 + 0x7139f0]
movzx esi, byte [rbp - 0x11]
cmp esi, 0x100
jae 0x49335a
xor ebx, dword [rsi*4 + 0x713df0]
mov dword [rax + 8], ebx
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x14]
cmp ebx, 0x100
jae 0x49335c
movzx esi, byte [rbp - 0x17]
cmp esi, 0x100
jae 0x49335c
mov ebx, dword [rbx*4 + 0x7131f0]
xor ebx, dword [rsi*4 + 0x7135f0]
movzx esi, byte [rbp - 0x1a]
cmp esi, 0x100
jae 0x49335c
xor ebx, dword [rsi*4 + 0x7139f0]
movzx esi, byte [rbp - 0x1d]
cmp esi, 0x100
jae 0x49335c
xor ebx, dword [rsi*4 + 0x713df0]
mov dword [rax + 0xc], ebx
dec dword [rbp - 4]
cmp dword [rbp - 4], 1
jg 0x492ec8
mov rax, qword [rbp + 0x20]
mov rbx, qword [rbp + 0x18]
mov eax, dword [rax]
xor eax, dword [rbx + 0x10]
mov dword [rbp - 0x20], eax
mov rax, qword [rbp + 0x20]
mov rbx, qword [rbp + 0x18]
mov eax, dword [rax + 4]
xor eax, dword [rbx + 0x14]
mov dword [rbp - 0x1c], eax
mov rax, qword [rbp + 0x20]
mov rbx, qword [rbp + 0x18]
mov eax, dword [rax + 8]
xor eax, dword [rbx + 0x18]
mov dword [rbp - 0x18], eax
mov rax, qword [rbp + 0x20]
mov rbx, qword [rbp + 0x18]
mov eax, dword [rax + 0xc]
xor eax, dword [rbx + 0x1c]
mov dword [rbp - 0x14], eax
movzx eax, byte [rbp - 0x20]
cmp eax, 0x100
jae 0x49335e
movzx eax, byte [rax + 0x7141f0]
mov rbx, qword [rbp + 0x20]
mov byte [rbx], al
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x13]
cmp ebx, 0x100
jae 0x493360
movzx ebx, byte [rbx + 0x7141f0]
mov byte [rax + 1], bl
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x16]
cmp ebx, 0x100
jae 0x493362
movzx ebx, byte [rbx + 0x7141f0]
mov byte [rax + 2], bl
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x19]
cmp ebx, 0x100
jae 0x493364
movzx ebx, byte [rbx + 0x7141f0]
mov byte [rax + 3], bl
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x1c]
cmp ebx, 0x100
jae 0x493366
movzx ebx, byte [rbx + 0x7141f0]
mov byte [rax + 4], bl
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x1f]
cmp ebx, 0x100
jae 0x493368
movzx ebx, byte [rbx + 0x7141f0]
mov byte [rax + 5], bl
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x12]
cmp ebx, 0x100
jae 0x49336a
movzx ebx, byte [rbx + 0x7141f0]
mov byte [rax + 6], bl
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x15]
cmp ebx, 0x100
jae 0x49336c
movzx ebx, byte [rbx + 0x7141f0]
mov byte [rax + 7], bl
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x18]
cmp ebx, 0x100
jae 0x49336e
movzx ebx, byte [rbx + 0x7141f0]
mov byte [rax + 8], bl
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x1b]
cmp ebx, 0x100
jae 0x493370
movzx ebx, byte [rbx + 0x7141f0]
mov byte [rax + 9], bl
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x1e]
cmp ebx, 0x100
jae 0x493372
movzx ebx, byte [rbx + 0x7141f0]
mov byte [rax + 0xa], bl
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x11]
cmp ebx, 0x100
jae 0x493374
movzx ebx, byte [rbx + 0x7141f0]
mov byte [rax + 0xb], bl
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x14]
cmp ebx, 0x100
jae 0x493376
movzx ebx, byte [rbx + 0x7141f0]
mov byte [rax + 0xc], bl
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x17]
cmp ebx, 0x100
jae 0x493378
movzx ebx, byte [rbx + 0x7141f0]
mov byte [rax + 0xd], bl
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x1a]
cmp ebx, 0x100
jae 0x49337a
movzx ebx, byte [rbx + 0x7141f0]
mov byte [rax + 0xe], bl
mov rax, qword [rbp + 0x20]
movzx ebx, byte [rbp - 0x1d]
cmp ebx, 0x100
jae 0x49337c
movzx ebx, byte [rbx + 0x7141f0]
mov byte [rax + 0xf], bl
mov rax, qword [rbp + 0x18]
mov rbx, qword [rbp + 0x20]
mov eax, dword [rax]
xor dword [rbx], eax
mov rax, qword [rbp + 0x20]
mov rbx, qword [rbp + 0x18]
mov ebx, dword [rbx + 4]
xor dword [rax + 4], ebx
mov rax, qword [rbp + 0x20]
mov rbx, qword [rbp + 0x18]
mov ebx, dword [rbx + 8]
xor dword [rax + 8], ebx
mov rax, qword [rbp + 0x20]
mov rbx, qword [rbp + 0x18]
mov ebx, dword [rbx + 0xc]
xor dword [rax + 0xc], ebx
leave
ret 0x20
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5