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

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rsi, r9
call sym.libaes::aes_set_encrypt_key::hef9c143ba19e0c85
movzx ecx, byte [rsi + 0xf0]
test rcx, rcx
je 0x14000781b
shl rcx, 2
xor edx, edx
nop dword [rax]
cmp rdx, 0x3c
jae 0x14000782a
cmp rcx, 0x3c
jae 0x140007842
mov eax, dword [rsi + rdx*4]
mov r8d, dword [rsi + rcx*4]
mov dword [rsi + rdx*4], r8d
mov dword [rsi + rcx*4], eax
lea rax, [rcx + 1]
cmp rax, 0x3c
jae 0x140007855
mov eax, dword [rsi + rdx*4 + 4]
mov r8d, dword [rsi + rcx*4 + 4]
mov dword [rsi + rdx*4 + 4], r8d
mov dword [rsi + rcx*4 + 4], eax
lea rax, [rcx + 2]
cmp rax, 0x3c
jae 0x14000786d
mov eax, dword [rsi + rdx*4 + 8]
mov r8d, dword [rsi + rcx*4 + 8]
mov dword [rsi + rdx*4 + 8], r8d
mov dword [rsi + rcx*4 + 8], eax
lea rax, [rcx + 3]
cmp rax, 0x3c
jae 0x140007883
mov eax, dword [rsi + rdx*4 + 0xc]
mov r8d, dword [rsi + rcx*4 + 0xc]
mov dword [rsi + rdx*4 + 0xc], r8d
mov dword [rsi + rcx*4 + 0xc], eax
add rdx, 4
add rcx, 0xfffffffffffffffc
cmp rdx, rcx
jb 0x140007640
movzx r15d, byte [rsi + 0xf0]
cmp r15b, 2
jb 0x14000781b
dec r15b
mov ecx, 7
lea rdx, [0x1414db518]
lea r8, [0x1414db9e0]
lea r9, [0x1414dbdf8]
lea r10, [0x1414dc1f8]
lea r11, [0x1414dc5f8]
cmp rcx, 0x3f
je 0x140007899
mov ebx, dword [rsi + rcx*4 - 0xc]
mov edi, ebx
mov r14d, ebx
shr r14d, 0x18
movzx r14d, byte [rdx + r14*4]
shr edi, 0x10
movzx edi, dil
movzx edi, byte [rdx + rdi*4]
mov edi, dword [r9 + rdi*4]
xor edi, dword [r8 + r14*4]
movzx ebp, bh
movzx r14d, byte [rdx + rbp*4]
xor edi, dword [r10 + r14*4]
movzx ebx, bl
movzx ebx, byte [rdx + rbx*4]
xor edi, dword [r11 + rbx*4]
mov ebx, dword [rsi + rcx*4 - 8]
mov ebp, ebx
movzx eax, bh
mov r14d, ebx
shr r14d, 0x18
movzx r14d, byte [rdx + r14*4]
shr ebp, 0x10
movzx r12d, bpl
movzx r12d, byte [rdx + r12*4]
mov ebp, dword [r9 + r12*4]
xor ebp, dword [r8 + r14*4]
movzx ebx, bl
movzx eax, byte [rdx + rax*4]
xor ebp, dword [r10 + rax*4]
mov dword [rsi + rcx*4 - 0xc], edi
movzx eax, byte [rdx + rbx*4]
xor ebp, dword [r11 + rax*4]
mov dword [rsi + rcx*4 - 8], ebp
mov ebx, dword [rsi + rcx*4 - 4]
mov eax, ebx
mov edi, ebx
shr edi, 0x18
movzx edi, byte [rdx + rdi*4]
shr eax, 0x10
movzx eax, al
movzx eax, byte [rdx + rax*4]
mov eax, dword [r9 + rax*4]
xor eax, dword [r8 + rdi*4]
movzx edi, bh
movzx edi, byte [rdx + rdi*4]
xor eax, dword [r10 + rdi*4]
movzx edi, bl
movzx edi, byte [rdx + rdi*4]
xor eax, dword [r11 + rdi*4]
mov dword [rsi + rcx*4 - 4], eax
mov ebx, dword [rsi + rcx*4]
mov eax, ebx
mov edi, ebx
shr edi, 0x18
movzx edi, byte [rdx + rdi*4]
shr eax, 0x10
movzx eax, al
movzx eax, byte [rdx + rax*4]
mov eax, dword [r9 + rax*4]
xor eax, dword [r8 + rdi*4]
movzx edi, bh
movzx edi, byte [rdx + rdi*4]
xor eax, dword [r10 + rdi*4]
movzx edi, bl
movzx edi, byte [rdx + rdi*4]
xor eax, dword [r11 + rdi*4]
mov dword [rsi + rcx*4], eax
add rcx, 4
dec r15b
jne 0x140007710
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea r8, [0x1414dc9f8]
mov ecx, 0x3c
mov edx, 0x3c
call dbg.panic_bounds_check
ud2
lea r8, [0x1414dca10]
mov edx, 0x3c
call dbg.panic_bounds_check
ud2
lea r8, [0x1414dca28]
mov ecx, 0x3c
mov edx, 0x3c
call dbg.panic_bounds_check
ud2
lea r8, [0x1414dca40]
mov edx, 0x3c
mov rcx, rax
call dbg.panic_bounds_check
ud2
lea r8, [0x1414dca58]
mov edx, 0x3c
mov rcx, rax
call dbg.panic_bounds_check
ud2
lea r8, [0x1414dbde0]
xor ecx, ecx
xor edx, edx
call dbg.panic_bounds_check
ud2