Function at 0x1400078b0
Capabilities:
Encrypt data using aes

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov r9, qword [rcx]
test r9, r9
je 0x14000791d
mov rax, qword [rcx + 8]
cmp rax, 3
jbe 0x140007de9
cmp rax, 7
jbe 0x140007dff
cmp rax, 0xb
jbe 0x140007e15
cmp rax, 0xf
jbe 0x140007e2b
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x50], rax
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x58], rax
mov eax, dword [r9]
bswap eax
mov rcx, rdx
xor eax, dword [rdx]
mov r15d, dword [r9 + 4]
bswap r15d
xor r15d, dword [rdx + 4]
jmp 0x14000796c
mov r8, qword [rcx + 0x10]
cmp r8, 3
jbe 0x140007e41
cmp r8, 7
jbe 0x140007e5a
cmp r8, 0xb
jbe 0x140007e73
cmp r8, 0xf
jbe 0x140007e8c
mov qword [rsp + 0x58], r8
mov r9, qword [rcx + 8]
mov eax, dword [r9]
bswap eax
mov rcx, rdx
xor eax, dword [rdx]
mov r15d, dword [r9 + 4]
bswap r15d
xor r15d, dword [rdx + 4]
mov qword [rsp + 0x50], r9
mov ecx, dword [r9 + 8]
mov r10d, dword [r9 + 0xc]
bswap ecx
bswap r10d
xor ecx, dword [rdx + 8]
xor r10d, dword [rdx + 0xc]
movzx r8d, byte [rdx + 0xf0]
shr r8b, 1
mov byte [rsp + 0x27], r8b
add rdx, 0x2c
mov qword [rsp + 0x28], rdx
mov edx, 0x3c
mov qword [rsp + 0x48], rdx
nop word cs:[rax + rax]
mov r13d, eax
movzx edx, al
mov qword [rsp + 0x40], rdx
movzx edx, ah
mov qword [rsp + 0x38], rdx
shr eax, 0x10
movzx eax, al
mov rbx, r10
movzx edx, bl
mov qword [rsp + 0x30], rdx
movzx edx, bh
mov qword [rsp + 0x60], rdx
mov r9d, ebx
shr ebx, 0x18
lea rsi, [0x140122eb8]
mov r11d, dword [rsi + rax*4]
lea r10, [0x140122ab8]
xor r11d, dword [r10 + rbx*4]
shr r13d, 0x18
mov edx, r15d
mov ebx, r15d
shr ebx, 0x10
movzx ebx, bl
mov eax, dword [rsi + rbx*4]
xor eax, dword [r10 + r13*4]
movzx ebp, ch
lea r14, [0x1401222b8]
xor eax, dword [r14 + rbp*4]
mov r13d, r15d
movzx ebp, dl
movzx edi, dh
mov rdx, r11
shr r13d, 0x18
mov r8d, ecx
shr r8d, 0x10
movzx r12d, r8b
mov r11d, ecx
movzx r8d, cl
mov ecx, dword [rsi + r12*4]
xor ecx, dword [r10 + r13*4]
lea r12, [0x1401226b8]
mov rbx, qword [rsp + 0x60]
xor ecx, dword [r14 + rbx*4]
shr r11d, 0x18
shr r9d, 0x10
movzx r9d, r9b
mov ebx, dword [rsi + r9*4]
xor ebx, dword [r10 + r11*4]
mov r9, qword [rsp + 0x38]
xor ebx, dword [r14 + r9*4]
xor edx, dword [r14 + rdi*4]
mov r9, qword [rsp + 0x30]
xor eax, dword [r12 + r9*4]
mov r9, qword [rsp + 0x28]
xor eax, dword [r9 - 0x1c]
mov r10, qword [rsp + 0x40]
xor ecx, dword [r12 + r10*4]
xor ecx, dword [r9 - 0x18]
xor ebx, dword [r12 + rbp*4]
xor ebx, dword [r9 - 0x14]
xor edx, dword [r12 + r8*4]
xor edx, dword [r9 - 0x10]
movzx r8d, byte [rsp + 0x27]
dec r8b
je 0x140007bd3
mov byte [rsp + 0x27], r8b
mov r13d, eax
movzx r8d, al
mov qword [rsp + 0x40], r8
movzx esi, ah
mov qword [rsp + 0x38], rsi
shr eax, 0x10
movzx r8d, al
movzx eax, dl
mov qword [rsp + 0x30], rax
movzx esi, dh
mov r12d, edx
shr edx, 0x18
lea r9, [0x140122eb8]
mov r10d, dword [r9 + r8*4]
lea r14, [0x140122ab8]
xor r10d, dword [r14 + rdx*4]
shr r13d, 0x18
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov r8d, ecx
movzx edi, cl
movzx ebp, ch
mov eax, dword [r9 + rax*4]
xor eax, dword [r14 + r13*4]
movzx ecx, bh
lea r11, [0x1401222b8]
xor eax, dword [r11 + rcx*4]
shr r8d, 0x18
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
mov r13d, ebx
mov rdx, qword [rsp + 0x28]
movzx ebx, bl
mov r15d, dword [r9 + rcx*4]
xor r15d, dword [r14 + r8*4]
xor r15d, dword [r11 + rsi*4]
shr r13d, 0x18
shr r12d, 0x10
movzx ecx, r12b
mov ecx, dword [r9 + rcx*4]
xor ecx, dword [r14 + r13*4]
mov r9, qword [rsp + 0x48]
lea r8, [0x1401226b8]
mov rsi, qword [rsp + 0x38]
xor ecx, dword [r11 + rsi*4]
xor r10d, dword [r11 + rbp*4]
mov r11, qword [rsp + 0x30]
xor eax, dword [r8 + r11*4]
xor eax, dword [rdx - 0xc]
mov r11, qword [rsp + 0x40]
xor r15d, dword [r8 + r11*4]
xor r15d, dword [rdx - 8]
xor ecx, dword [r8 + rdi*4]
xor ecx, dword [rdx - 4]
xor r10d, dword [r8 + rbx*4]
xor r10d, dword [rdx]
add r9, 0xfffffffffffffff8
lea r8, [rdx + 0x20]
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x48], r9
cmp r9, 4
ja 0x1400079b0
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.6.5_src_lib.rs
mov ecx, 4
mov edx, 4
call dbg.panic_bounds_check
ud2
lea r15, [0x1401222b8]
lea r11, [0x140122ab8]
lea rdi, [0x140122eb8]
cmp qword [rsp + 0x48], 8
je 0x140007d7f
mov r10, qword [rsp + 0x58]
cmp r10, 3
jbe 0x140007d91
mov r8d, eax
shr r8d, 0x18
movzx r8d, byte [r15 + r8*4 + 3]
shl r8d, 0x18
mov r9d, ecx
shr r9d, 0x10
movzx r9d, r9b
movzx r9d, byte [r12 + r9*4 + 2]
shl r9d, 0x10
or r9d, r8d
movzx esi, bh
mov r14, r11
movzx r8d, byte [r11 + rsi*4 + 1]
shl r8d, 8
or r8d, r9d
movzx r9d, dl
movzx r9d, byte [rdi + r9*4]
or r9d, r8d
mov r8, qword [rsp + 0x28]
xor r9d, dword [r8 - 0xc]
bswap r9d
mov r11, qword [rsp + 0x50]
mov dword [r11], r9d
cmp r10, 7
jbe 0x140007da7
mov r8d, ecx
shr r8d, 0x18
movzx r8d, byte [r15 + r8*4 + 3]
shl r8d, 0x18
mov r9d, ebx
shr r9d, 0x10
movzx r9d, r9b
movzx r9d, byte [r12 + r9*4 + 2]
shl r9d, 0x10
or r9d, r8d
movzx esi, dh
movzx r8d, byte [r14 + rsi*4 + 1]
shl r8d, 8
or r8d, r9d
movzx r9d, al
movzx r9d, byte [rdi + r9*4]
or r9d, r8d
mov r8, qword [rsp + 0x28]
xor r9d, dword [r8 - 8]
bswap r9d
mov dword [r11 + 4], r9d
cmp r10, 0xb
jbe 0x140007dbd
mov r8d, ebx
shr r8d, 0x18
movzx r8d, byte [r15 + r8*4 + 3]
shl r8d, 0x18
mov r9d, edx
shr r9d, 0x10
movzx r9d, r9b
movzx r9d, byte [r12 + r9*4 + 2]
shl r9d, 0x10
or r9d, r8d
movzx esi, ah
movzx r8d, byte [r14 + rsi*4 + 1]
shl r8d, 8
or r8d, r9d
movzx r9d, cl
movzx r9d, byte [rdi + r9*4]
or r9d, r8d
mov r8, qword [rsp + 0x28]
xor r9d, dword [r8 - 4]
bswap r9d
mov dword [r11 + 8], r9d
cmp r10, 0xf
jbe 0x140007dd3
shr edx, 0x18
movzx edx, byte [r15 + rdx*4 + 3]
shr eax, 0x10
movzx r8d, al
movzx ecx, ch
movzx r9d, bl
shl edx, 0x18
movzx r8d, byte [r12 + r8*4 + 2]
shl r8d, 0x10
or r8d, edx
movzx eax, byte [r14 + rcx*4 + 1]
shl eax, 8
or eax, r8d
movzx ecx, byte [rdi + r9*4]
or ecx, eax
mov rax, qword [rsp + 0x28]
xor ecx, dword [rax]
bswap ecx
mov dword [r11 + 0xc], ecx
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str._root_.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
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.6.5_src_lib.rs
mov ecx, 4
mov rdx, r10
call dbg.slice_end_index_len_fail
ud2
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.6.5_src_lib.rs
mov ecx, 8
mov rdx, r10
call dbg.slice_end_index_len_fail
ud2
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.6.5_src_lib.rs
mov ecx, 0xc
mov rdx, r10
call dbg.slice_end_index_len_fail
ud2
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.6.5_src_lib.rs
mov ecx, 0x10
mov rdx, r10
call dbg.slice_end_index_len_fail
ud2
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.6.5_src_lib.rs
mov ecx, 4
mov rdx, rax
call dbg.slice_end_index_len_fail
ud2
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.6.5_src_lib.rs
mov ecx, 8
mov rdx, rax
call dbg.slice_end_index_len_fail
ud2
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.6.5_src_lib.rs
mov ecx, 0xc
mov rdx, rax
call dbg.slice_end_index_len_fail
ud2
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.6.5_src_lib.rs
mov ecx, 0x10
mov rdx, rax
call dbg.slice_end_index_len_fail
ud2
lea rax, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.6.5_src_lib.rs
mov ecx, 4
mov rdx, r8
mov r8, rax
call dbg.slice_end_index_len_fail
ud2
lea rax, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.6.5_src_lib.rs
mov ecx, 8
mov rdx, r8
mov r8, rax
call dbg.slice_end_index_len_fail
ud2
lea rax, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.6.5_src_lib.rs
mov ecx, 0xc
mov rdx, r8
mov r8, rax
call dbg.slice_end_index_len_fail
ud2
lea rax, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.6.5_src_lib.rs
mov ecx, 0x10
mov rdx, r8
mov r8, rax
call dbg.slice_end_index_len_fail
ud2