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

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x40
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x20], rax
cmp dword [rbp + 0x20], 0x10
sete al
cmp dword [rbp + 0x20], 0x18
sete bl
or al, bl
cmp dword [rbp + 0x20], 0x20
sete bl
or al, bl
test al, al
je 0x48ab36
mov eax, dword [rbp + 0x20]
sar eax, 2
add eax, 6
mov dword [rbp - 4], eax
mov rcx, qword [rbp + 0x10]
mov edx, 0xf4
sub rsp, 0x20
call qword [sym.imp.KERNEL32.DLL_RtlZeroMemory]
add rsp, 0x20
mov rax, qword [rbp + 0x10]
mov ebx, dword [rbp - 4]
mov dword [rax + 0xf0], ebx
mov eax, dword [rbp - 4]
sub eax, 6
mov dword [rbp - 8], eax
xor eax, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
mov eax, dword [rbp - 8]
dec eax
mov dword [rbp - 0xc], eax
jmp 0x48a7cd
mov eax, dword [rbp - 0xc]
cmp eax, 8
jae 0x48ab38
mov ebx, dword [rbp - 0xc]
shl ebx, 2
cmp ebx, dword [rbp + 0x20]
jae 0x48ab38
mov rsi, qword [rbp + 0x18]
mov ebx, dword [rsi + rbx]
mov dword [rbp + rax*4 - 0x40], ebx
dec dword [rbp - 0xc]
cmp dword [rbp - 0xc], 0
jge 0x48a7a4
mov dword [rbp - 0x10], 0
mov dword [rbp - 0x14], 0
mov dword [rbp - 0xc], 0
jmp 0x48a846
jmp 0x48a828
mov eax, dword [rbp - 0x10]
cmp eax, 0xf
jae 0x48ab3a
mov rbx, qword [rbp - 0x20]
shl eax, 4
mov esi, dword [rbp - 0x14]
cmp esi, 4
jae 0x48ab3a
lea rax, [rbx + rax]
mov ebx, dword [rbp - 0xc]
cmp ebx, 8
jae 0x48ab3a
mov ebx, dword [rbp + rbx*4 - 0x40]
mov dword [rax + rsi*4], ebx
inc dword [rbp - 0xc]
inc dword [rbp - 0x14]
mov eax, dword [rbp - 0xc]
cmp eax, dword [rbp - 8]
jge 0x48a836
cmp dword [rbp - 0x14], 4
jl 0x48a7ec
cmp dword [rbp - 0x14], 4
jne 0x48a846
inc dword [rbp - 0x10]
mov dword [rbp - 0x14], 0
mov eax, dword [rbp - 0xc]
cmp eax, dword [rbp - 8]
jge 0x48a856
mov eax, dword [rbp - 0x10]
cmp eax, dword [rbp - 4]
jle 0x48a7ea
mov dword [rbp - 0x18], 0
jmp 0x48ab26
mov eax, dword [rbp - 8]
dec eax
cmp eax, 8
jae 0x48ab3c
movzx eax, byte [rbp + rax*4 - 0x3f]
cmp eax, 0x100
jae 0x48ab3c
movzx eax, byte [rax + str.cw]
xor byte [rbp - 0x40], al
mov eax, dword [rbp - 8]
dec eax
cmp eax, 8
jae 0x48ab3e
movzx eax, byte [rbp + rax*4 - 0x3e]
cmp eax, 0x100
jae 0x48ab3e
movzx eax, byte [rax + str.cw]
xor byte [rbp - 0x3f], al
mov eax, dword [rbp - 8]
dec eax
cmp eax, 8
jae 0x48ab40
movzx eax, byte [rbp + rax*4 - 0x3d]
cmp eax, 0x100
jae 0x48ab40
movzx eax, byte [rax + str.cw]
xor byte [rbp - 0x3e], al
mov eax, dword [rbp - 8]
dec eax
cmp eax, 8
jae 0x48ab42
movzx eax, byte [rbp + rax*4 - 0x40]
cmp eax, 0x100
jae 0x48ab42
movzx eax, byte [rax + str.cw]
xor byte [rbp - 0x3d], al
mov eax, dword [rbp - 0x18]
inc dword [rbp - 0x18]
cmp eax, 0x1e
jae 0x48ab44
movzx eax, byte [rax + 0x710d90]
xor byte [rbp - 0x40], al
cmp dword [rbp - 8], 8
je 0x48a960
mov dword [rbp - 0xc], 1
jmp 0x48a953
mov eax, dword [rbp - 0xc]
cmp eax, 8
jae 0x48ab46
mov ebx, dword [rbp - 0xc]
dec ebx
cmp ebx, 8
jae 0x48ab46
mov ebx, dword [rbp + rbx*4 - 0x40]
xor dword [rbp + rax*4 - 0x40], ebx
inc dword [rbp - 0xc]
mov eax, dword [rbp - 0xc]
cmp eax, dword [rbp - 8]
jl 0x48a92e
jmp 0x48aab9
mov dword [rbp - 0xc], 1
jmp 0x48a98e
mov eax, dword [rbp - 0xc]
cmp eax, 8
jae 0x48ab48
mov ebx, dword [rbp - 0xc]
dec ebx
cmp ebx, 8
jae 0x48ab48
mov ebx, dword [rbp + rbx*4 - 0x40]
xor dword [rbp + rax*4 - 0x40], ebx
inc dword [rbp - 0xc]
mov eax, dword [rbp - 8]
sar eax, 1
cmp eax, dword [rbp - 0xc]
jg 0x48a969
mov eax, dword [rbp - 8]
sar eax, 1
cmp eax, 8
jae 0x48ab4a
mov ebx, dword [rbp - 8]
sar ebx, 1
dec ebx
cmp ebx, 8
jae 0x48ab4a
movzx ebx, byte [rbp + rbx*4 - 0x40]
cmp ebx, 0x100
jae 0x48ab4a
movzx ebx, byte [rbx + str.cw]
xor byte [rbp + rax*4 - 0x40], bl
mov eax, dword [rbp - 8]
sar eax, 1
cmp eax, 8
jae 0x48ab4c
mov ebx, dword [rbp - 8]
sar ebx, 1
dec ebx
cmp ebx, 8
jae 0x48ab4c
movzx ebx, byte [rbp + rbx*4 - 0x3f]
cmp ebx, 0x100
jae 0x48ab4c
movzx ebx, byte [rbx + str.cw]
xor byte [rbp + rax*4 - 0x3f], bl
mov eax, dword [rbp - 8]
sar eax, 1
cmp eax, 8
jae 0x48ab4e
mov ebx, dword [rbp - 8]
sar ebx, 1
dec ebx
cmp ebx, 8
jae 0x48ab4e
movzx ebx, byte [rbp + rbx*4 - 0x3e]
cmp ebx, 0x100
jae 0x48ab4e
movzx ebx, byte [rbx + str.cw]
xor byte [rbp + rax*4 - 0x3e], bl
mov eax, dword [rbp - 8]
sar eax, 1
cmp eax, 8
jae 0x48ab50
mov ebx, dword [rbp - 8]
sar ebx, 1
dec ebx
cmp ebx, 8
jae 0x48ab50
movzx ebx, byte [rbp + rbx*4 - 0x3d]
cmp ebx, 0x100
jae 0x48ab50
movzx ebx, byte [rbx + str.cw]
xor byte [rbp + rax*4 - 0x3d], bl
mov eax, dword [rbp - 8]
sar eax, 1
inc eax
mov dword [rbp - 0xc], eax
jmp 0x48aab1
mov eax, dword [rbp - 0xc]
cmp eax, 8
jae 0x48ab52
mov ebx, dword [rbp - 0xc]
dec ebx
cmp ebx, 8
jae 0x48ab52
mov ebx, dword [rbp + rbx*4 - 0x40]
xor dword [rbp + rax*4 - 0x40], ebx
inc dword [rbp - 0xc]
mov eax, dword [rbp - 0xc]
cmp eax, dword [rbp - 8]
jl 0x48aa8c
mov dword [rbp - 0xc], 0
jmp 0x48ab16
jmp 0x48aaf8
mov eax, dword [rbp - 0x10]
cmp eax, 0xf
jae 0x48ab54
mov rbx, qword [rbp - 0x20]
shl eax, 4
mov esi, dword [rbp - 0x14]
cmp esi, 4
jae 0x48ab54
lea rax, [rbx + rax]
mov ebx, dword [rbp - 0xc]
cmp ebx, 8
jae 0x48ab54
mov ebx, dword [rbp + rbx*4 - 0x40]
mov dword [rax + rsi*4], ebx
inc dword [rbp - 0xc]
inc dword [rbp - 0x14]
mov eax, dword [rbp - 0xc]
cmp eax, dword [rbp - 8]
jge 0x48ab06
cmp dword [rbp - 0x14], 4
jl 0x48aac4
cmp dword [rbp - 0x14], 4
jne 0x48ab16
inc dword [rbp - 0x10]
mov dword [rbp - 0x14], 0
mov eax, dword [rbp - 0xc]
cmp eax, dword [rbp - 8]
jge 0x48ab26
mov eax, dword [rbp - 0x10]
cmp eax, dword [rbp - 4]
jle 0x48aac2
mov eax, dword [rbp - 0x10]
cmp eax, dword [rbp - 4]
jle 0x48a862
leave
ret 0x18
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