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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, r9
call sym.libaes::aes_set_encrypt_key::h97c131057eb0918e
movzx ecx, byte [rsi + 0xf0]
shl ecx, 2
lea rdx, [rsi + 0xc]
xor r8d, r8d
cmp r8, rcx
jae 0x140016b02
cmp r8, 0x3c
jae 0x140016cad
cmp rcx, 0x3c
jae 0x140016cb6
mov eax, dword [rdx + r8*4 - 0xc]
mov r9d, dword [rdx + rcx*4 - 0xc]
mov dword [rdx + r8*4 - 0xc], r9d
mov dword [rdx + rcx*4 - 0xc], eax
lea rax, [rcx + 1]
cmp rax, 0x3c
jae 0x140016cbf
mov eax, dword [rdx + r8*4 - 8]
mov r9d, dword [rdx + rcx*4 - 8]
mov dword [rdx + r8*4 - 8], r9d
mov dword [rdx + rcx*4 - 8], eax
lea rax, [rcx + 2]
cmp rax, 0x3c
jae 0x140016cd5
mov eax, dword [rdx + r8*4 - 4]
mov r9d, dword [rdx + rcx*4 - 4]
mov dword [rdx + r8*4 - 4], r9d
mov dword [rdx + rcx*4 - 4], eax
lea rax, [rcx + 3]
cmp rax, 0x3c
jae 0x140016cde
mov eax, dword [rdx + r8*4]
mov r9d, dword [rdx + rcx*4]
mov dword [rdx + r8*4], r9d
mov dword [rdx + rcx*4], eax
add r8, 4
add rcx, 0xfffffffffffffffc
jmp 0x140016a66
mov al, byte [rsi + 0xf0]
mov byte [rsp + 0x27], al
mov r8d, 0x3c
mov bpl, 1
lea r14, [0x1400b7540]
lea r15, [0x1400b7c48]
lea r12, [0x1400b8060]
mov r13d, 0xff
lea rdi, [0x1400b8460]
lea rbx, [0x1400b8860]
cmp bpl, byte [rsp + 0x27]
jae 0x140016c9c
mov ecx, 4
mov rdx, rsi
lea r9, str.C:Users1.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
call sym._ZN110__LT_core..ops..range..RangeFrom_LT_usize_GT__u20_as_u20_core..slice..index..SliceIndex_LT__u5b_T_u5d__GT__GT_9index_mut
test rdx, rdx
je 0x140016cf2
mov rsi, rax
mov r8, rdx
mov eax, dword [rax]
mov ecx, eax
shr ecx, 0x18
movzx ecx, byte [r14 + rcx*4]
mov edx, eax
shr edx, 0xe
and edx, 0x3fc
movzx edx, byte [rdx + r14]
mov edx, dword [r12 + rdx*4]
xor edx, dword [r15 + rcx*4]
mov ecx, eax
shr ecx, 8
and ecx, r13d
movzx ecx, byte [r14 + rcx*4]
xor edx, dword [rdi + rcx*4]
and eax, r13d
movzx eax, byte [r14 + rax*4]
xor edx, dword [rbx + rax*4]
mov dword [rsi], edx
cmp r8, 1
je 0x140016d02
mov eax, dword [rsi + 4]
mov ecx, eax
shr ecx, 0x18
movzx ecx, byte [r14 + rcx*4]
mov edx, eax
shr edx, 0xe
and edx, 0x3fc
movzx edx, byte [rdx + r14]
mov edx, dword [r12 + rdx*4]
xor edx, dword [r15 + rcx*4]
mov ecx, eax
shr ecx, 8
and ecx, r13d
movzx ecx, byte [r14 + rcx*4]
xor edx, dword [rdi + rcx*4]
and eax, r13d
movzx eax, byte [r14 + rax*4]
xor edx, dword [rbx + rax*4]
mov dword [rsi + 4], edx
cmp r8, 2
jbe 0x140016d18
mov eax, dword [rsi + 8]
mov ecx, eax
shr ecx, 0x18
movzx ecx, byte [r14 + rcx*4]
mov edx, eax
shr edx, 0xe
and edx, 0x3fc
movzx edx, byte [rdx + r14]
mov edx, dword [r12 + rdx*4]
xor edx, dword [r15 + rcx*4]
mov ecx, eax
shr ecx, 8
and ecx, r13d
movzx ecx, byte [r14 + rcx*4]
xor edx, dword [rdi + rcx*4]
and eax, r13d
movzx eax, byte [r14 + rax*4]
xor edx, dword [rbx + rax*4]
mov dword [rsi + 8], edx
cmp r8, 3
je 0x140016d2e
mov eax, dword [rsi + 0xc]
mov ecx, eax
shr ecx, 0x18
movzx ecx, byte [r14 + rcx*4]
mov edx, eax
shr edx, 0xe
and edx, 0x3fc
movzx edx, byte [rdx + r14]
mov edx, dword [r12 + rdx*4]
xor edx, dword [r15 + rcx*4]
mov ecx, eax
shr ecx, 8
and ecx, r13d
movzx ecx, byte [r14 + rcx*4]
xor edx, dword [rdi + rcx*4]
and eax, r13d
movzx eax, byte [r14 + rax*4]
xor edx, dword [rbx + rax*4]
mov dword [rsi + 0xc], edx
inc bpl
jmp 0x140016b3e
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.C:Users1.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
jmp 0x140016cc6
lea r8, str.C:Users1.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
jmp 0x140016ccb
lea r8, str.C:Users1.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 0x3c
mov edx, 0x3c
call sym.core::panicking::panic_bounds_check::h646967d06236d449
lea r8, str.C:Users1.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
jmp 0x140016ce5
lea r8, str.C:Users1.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov edx, 0x3c
mov rcx, rax
call sym.core::panicking::panic_bounds_check::h646967d06236d449
lea r8, str.C:Users1.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
xor ecx, ecx
xor edx, edx
call sym.core::panicking::panic_bounds_check::h646967d06236d449
lea r8, str.C:Users1.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 1
mov edx, 1
call sym.core::panicking::panic_bounds_check::h646967d06236d449
lea r8, str.C:Users1.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 2
mov edx, 2
call sym.core::panicking::panic_bounds_check::h646967d06236d449
lea r8, str.C:Users1.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 3
mov edx, 3
call sym.core::panicking::panic_bounds_check::h646967d06236d449
int3