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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4d7726
sub rsp, 0x38
mov qword [rsp + 0x30], rbp
lea rbp, [rsp + 0x30]
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rdi
mov rdx, rbx
shr rbx, 2
mov qword [rsp + 0x28], rbx
xor r8d, r8d
jmp 0x4d7583
mov qword [rsp + 0x18], r8
shl r8, 2
sub rcx, r8
mov rbx, rdx
sub rbx, r8
mov r9, rcx
neg rcx
sar rcx, 0x3f
and r8, rcx
add r8, rax
mov rcx, r9
mov rax, r8
call fcn.004d3800
mov rdx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x58]
mov dword [rdi + rdx*4], eax
lea r8, [rdx + 1]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x60]
mov r9, qword [rsp + 0x70]
cmp r8, rbx
jl 0x4d7527
jmp 0x4d75a0
mov rdx, r8
sub r8, rbx
xor ecx, dword [rdi + r8*4]
mov dword [rdi + rdx*4], ecx
lea r8, [rdx + 1]
nop dword [rax + rax]
cmp rsi, r8
jle 0x4d7651
mov ecx, dword [rdi + r8*4 - 4]
test rbx, rbx
je 0x4d771b
mov qword [rsp + 0x18], r8
mov rax, r8
nop
cmp rbx, 0xffffffffffffffff
je 0x4d75cd
cqo
idiv rbx
jmp 0x4d75d2
neg rax
xor edx, edx
test rdx, rdx
je 0x4d760a
cmp rbx, 6
jle 0x4d758a
nop dword [rax]
cmp rdx, 4
jne 0x4d758a
mov eax, ecx
call fcn.004d7480
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x18]
mov r9, qword [rsp + 0x70]
mov ecx, eax
jmp 0x4d758a
mov qword [rsp + 0x20], rax
mov eax, ecx
call fcn.004d74c0
call fcn.004d7480
lea rcx, [0x007a3960]
mov rdx, qword [rsp + 0x20]
movzx edx, byte [rdx + rcx - 1]
shl edx, 0x18
xor edx, eax
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x18]
mov r9, qword [rsp + 0x70]
mov ecx, edx
jmp 0x4d758a
test r9, r9
je 0x4d765a
xor eax, eax
jmp 0x4d766b
mov rbp, qword [rsp + 0x30]
add rsp, 0x38
ret
add rax, 4
mov rsi, rcx
cmp rsi, rax
jle 0x4d767a
mov rcx, rsi
sub rsi, rax
xor edx, edx
jmp 0x4d768f
mov rbp, qword [rsp + 0x30]
add rsp, 0x38
ret
lea r8, [rdx + rax]
mov dword [r9 + r8*4], ebx
inc rdx
cmp rdx, 4
jge 0x4d7664
lea rbx, [rdx + rsi]
lea rbx, [rbx - 4]
mov ebx, dword [rdi + rbx*4]
test rax, rax
jle 0x4d7684
lea r8, [rax + 4]
cmp rcx, r8
jle 0x4d7684
mov r8d, ebx
shr ebx, 0x18
lea r10, str.cw
movzx r11d, byte [rbx + r10]
lea r12, [0x007b0d20]
mov ebx, dword [r12 + r11*4]
mov r11d, r8d
shr r8d, 0x10
movzx r8d, r8b
movzx r8d, byte [r8 + r10]
lea r13, [0x007b1120]
xor ebx, dword [r13 + r8*4]
mov r8d, r11d
shr r11d, 8
movzx r11d, r11b
movzx r11d, byte [r11 + r10]
lea r15, [0x007b1520]
xor ebx, dword [r15 + r11*4]
movzx r8d, r8b
movzx r8d, byte [r8 + r10]
lea r11, [0x007b1920]
xor ebx, dword [r11 + r8*4]
jmp 0x4d7684
nop dword [rax + rax]
call fcn.004356e0
nop
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.0045f280
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.004d74e0