Function at 0x14002e7f0
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 0x14002e85d
mov rax, qword [rcx + 8]
cmp rax, 3
jbe 0x14002ed1d
cmp rax, 7
jbe 0x14002ed31
cmp rax, 0xb
jbe 0x14002ed45
cmp rax, 0xf
jbe 0x14002ed59
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 0x14002e8ac
mov r8, qword [rcx + 0x10]
cmp r8, 3
jbe 0x14002ed6d
cmp r8, 7
jbe 0x14002ed84
cmp r8, 0xb
jbe 0x14002ed9b
cmp r8, 0xf
jbe 0x14002edb2
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, [0x140059de0]
mov r11d, dword [rsi + rax*4]
lea r10, [0x1400599e0]
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, [0x1400591e0]
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, [0x1400595e0]
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 0x14002eb11
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, [0x140059de0]
mov r10d, dword [r9 + r8*4]
lea r14, [0x1400599e0]
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, [0x1400591e0]
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, [0x1400595e0]
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 0x14002e8f0
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 4
mov edx, 4
call fcn.140051b80
lea r15, [0x1400591e0]
lea r11, [0x1400599e0]
lea rdi, [0x140059de0]
cmp qword [rsp + 0x48], 8
je 0x14002ecbd
mov r10, qword [rsp + 0x58]
cmp r10, 3
jbe 0x14002eccd
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 0x14002ece1
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 0x14002ecf5
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 0x14002ed09
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.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
xor ecx, ecx
xor edx, edx
call fcn.140051b80
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 4
mov rdx, r10
call fcn.140051f70
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 8
mov rdx, r10
call fcn.140051f70
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 0xc
mov rdx, r10
call fcn.140051f70
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 0x10
mov rdx, r10
call fcn.140051f70
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 4
mov rdx, rax
call fcn.140051f70
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 8
mov rdx, rax
call fcn.140051f70
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 0xc
mov rdx, rax
call fcn.140051f70
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 0x10
mov rdx, rax
call fcn.140051f70
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 4
mov rdx, r8
mov r8, rax
call fcn.140051f70
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 8
mov rdx, r8
mov r8, rax
call fcn.140051f70
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 0xc
mov rdx, r8
mov r8, rax
call fcn.140051f70
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001flibaes_0.7.0_srclib.rs
mov ecx, 0x10
mov rdx, r8
mov r8, rax
call fcn.140051f70
int3