Function at 0x140007580
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::h64228c227831ab65
movzx ecx, byte [rsi + 0xf0]
test rcx, rcx
je 0x14000778b
shl rcx, 2
xor edx, edx
nop dword [rax]
cmp rdx, 0x3c
jae 0x14000779a
cmp rcx, 0x3c
jae 0x1400077b2
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 0x1400077c5
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 0x1400077dd
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 0x1400077f3
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 0x1400075b0
movzx r15d, byte [rsi + 0xf0]
cmp r15b, 2
jb 0x14000778b
dec r15b
mov ecx, 7
lea rdx, [0x140147410]
lea r8, [0x1401478d8]
lea r9, [0x140147cf0]
lea r10, [0x1401480f0]
lea r11, [0x1401484f0]
cmp rcx, 0x3f
je 0x140007809
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 0x140007680
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea r8, str._Users_mrx_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.6.5_src_lib.rs
mov ecx, 0x3c
mov edx, 0x3c
call dbg.panic_bounds_check
ud2
lea r8, str._Users_mrx_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.6.5_src_lib.rs
mov edx, 0x3c
call dbg.panic_bounds_check
ud2
lea r8, str._Users_mrx_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.6.5_src_lib.rs
mov ecx, 0x3c
mov edx, 0x3c
call dbg.panic_bounds_check
ud2
lea r8, str._Users_mrx_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.6.5_src_lib.rs
mov edx, 0x3c
mov rcx, rax
call dbg.panic_bounds_check
ud2
lea r8, str._Users_mrx_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.6.5_src_lib.rs
mov edx, 0x3c
mov rcx, rax
call dbg.panic_bounds_check
ud2
lea r8, str._Users_mrx_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.6.5_src_lib.rs
xor ecx, ecx
xor edx, edx
call dbg.panic_bounds_check
ud2